Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
DIY 24(3x8) bit 768 kHz R-2R DAC
#1
Nisam bio siguran da li da otvorim temu u ovom forumu ili u  "Predstavite radove", ali ajde ovde, nije toliko lose ispalo Smile

O cemu se radi? 

Pala mi je na pamet jedna meni zanimljiva ideja za R-2R D/A konvertor od ne toliko preciznih otpornika koju sam opisao ovde, ali me je iskreno mrzelo da pisem ikakve kodove, toga imam dovoljno i na poslu, a i ne bi mogle da se postignu neke velike brzine sa mikrokontrolerom. Pa sam odlucio da probam nesto drugo, a to je povezivanje 8-bitnih R-2R segmenata sa otpornicima tolerancije 0,1%, sto je vise nego dovoljno za monotonost na 8 bita, u jedan DAC vece rezolucije.

Tehnika postizanja vece rezolucije D/A konvertora kombinovanjem razlicitih tipova i razlicitih rezolucija odavno je poznata, vise o tome moze se naci na sledecim linkovima

Basic DAC Architectures I: String DACs and Thermometer (Fully Decoded) DACs
https://www.analog.com/media/en/training...MT-014.pdf

Basic DAC Architectures II: Binary DACs
https://www.analog.com/media/ru/training...MT-015.pdf

Basic DAC Architectures III: Segmented DACs
https://www.analog.com/media/cn/training...MT-016.pdf

Cak je to nimalo neobican pristup kojom se prave i moderni integrisani DAC cipovi. Ni cuveni TDA1541A nije cist R-2R, kao sto ni svi "sigma-delta" nisu potpuno sigma-delta. Iz nekog razloga u DIY zajednici nisam uspeo da nadjem DAC koji je sastavljan od vise manje "bitnih", pa sam morao sam da probam Smile

Da bi se resenje razlikovalo jos vise, odlucio sam se i za strujnu varijantu R-2R mreze umesto cesce naponske



sto se kasnije pokazalo kao, necu reci pogresan, ali tezi put. Prednost je sto referentni napon moze da bude dosta veci, sto popravlja odnos signal-sum, i struja koju mreza vuce iz izvora referentnog napona ne zavisi od trenutnog koda, uvek je ista, pa je potreba za filtriranjem reference smanjena.


Sta je problem?

Ono o cemu u tom trenutku nisam toliko razmisljao, a sto srecu znatno kvari, je "charge injection". Otpornici u mrezi spojeni su ili na masu jednim krajem, ili na ulaz I/V pretvaraca. Ono sto pravi problem je kapacitivnost izmedju gejta i sorsa tranzistora kroz koju se diferencira napon gejta, sto sa brzim promenama napona nije zanemarljivo. Tim gore kada postoji 24 takva tranzistora na ulazu I/V pretvaraca. U zavisnosti od koda, ta smetnja moze da se potire u nekoj meri, neki se ukljucuju dok se drugi iskljucuju, ali je najgore bas tamo gde se najlakse primeti, kada se signal menja oko nule, tj. oko pola opsega, kada N-1 tranzistora prelaze u isto stanje, i svaki upumpa svoj doprinos. Svaka promena stanja pracena je visokim kratkotrajnim impulsom, posebno pri minimalnim nivoima signala. Rekao sam tezi put, jer bi naponska izvedba R-2R mreze imala ucesce tog impulsa srazmerno tezini bita (mislim), a tzv. "sign-magnitude" resenje, kakvo je u PCM1704, smanjilo broj tranzistora koji menjaju stanje u najkriticnijem delu opsega (i dvostruko povecalo broj potrebnih preciznih otpornika i tranzistora), pri malim nivoima signala.

Rezultat toga je da pri 0 dBFS (2Vrms) signala drugi i treci harmonik su bili na oko -40 dB, i dok je visih bilo mnostvo, samo malo slabiji.
Prvo poboljsanje dalo je postavljanje dodatnih kapacitivnosti jednakih ulaznoj kapacitivnosti MOSFET-a izmedju gejta njegovog parnjaka koji radi suprotno, i izlaza, tako da se impulsi potiru. Tada je drugi harmonik po nivou dosta opao, na oko -60 dB, treci za njim, dok su visi harmonici manje-vise ostali nepromenjeni. THD na 1kHz je bio oko -55 dB. 

Da se isfiltrira niskopropusnim filtrom ne moze, samo se "razmazu" glicevi. 

To izgleda ovako bez pojacanog filtriranja, i sa dodatnim filtriranjem:

.bmp   SDS00038.BMP (Size: 329,12 KB / Downloads: 20)   
.bmp   SDS00037.BMP (Size: 329,12 KB / Downloads: 16)

Jedino resenje bilo je dodavanje sample-and-hold kola, koje ce zadrzati stanje pre glitcha dok ovaj ne prodje. Tu se opet otvaraju drugi problemi, jer ni sample and hold kola, ako hocemo da dostignemo performanse potrebne za audio dobrog kvaliteta, nisu jednostavna kao sto je jednostavan princip rada. I tu postoji charge-injection problem, samo od jednog tranzistora ali i to nije zanemarljivo, i jitter, i brzina semplovanja, i druge stvari.

Sample-and-Hold Amplifiers
https://www.analog.com/media/cn/training...MT-090.pdf

Specifications and Architectures of Sample-and-Hold Amplifiers
https://www.ti.com/lit/an/snoa223/snoa223.pdf

Moze se naci dovoljno dobro integrisano sample-and-hold kolo, ali za 30 evra komad (+carina, pdv, i dostava), sto mi se nije svidelo. Sample and hold kolo koje sam izabrao da pravim trebalo bi da daje dobre rezultate, ali hoce da radi kao oscilator. Izgleda priblizno kao prikazano u semi u temi

Pomoc oko sample-and-hold kola, osciluje
https://forum.yu3ma.net/thread-2518.html Hvala svima koji su imali volju da pomognu. Kasnije sam to resio.


Da se vratim na pocetak...
Ideja je bila napraviti na plocici 10x10cm (tih dimenzija moze vrlo povoljno da se dobije 4-slojna stampana ploca) prototip koji bi imao I2S ulaz, i audio izlaze za dva kanala, sa I/V pretvaracem i niskopropusnim filtrom. 24-bitni DAC od tri 8-bitna segmenta sa finim podesavanjem reference za grupu bit<8:15> i bit<16:24>, kako da bi se postigla najbolja linearnost. Uradjeno, nije dalo zeljene rezultate zbog gliceva, i izgledalo je ovako. Morao sam jos po jedan shift registar da dodam odozdo naknadno, prevideo sam da 24-bita podatka idu kao 32 i 8 koji se ne koriste.

Ploca bez dodataka, odozgo i odozdo

 


Sledeci korak je bio dodavanje sample and hold kola koje bi izbacilo gliceve, i to vec dosta menja situaciju. Protototip na stolu izgleda ovako:



I daje sledece rezultate:

 


Ne dozvoljava forum da napravim stavim vise od 10 priloga, ali je skoro potpuno identicno i na drugom kanalu.

THD+N od -80dB sa otpornicima 0,1% mislim da je sasvim prihvatljiv rezultat.  Najbolje je na oko -10 dbFS, i to je oko -80dB THD+N. Na 0 dBFS je neki decibel manje, -77, -78. Linearno je do oko -85 dB, a ispod -95  vise ni signal, ni njegovi harmonici ne smanjuju nivo ka pragu suma, kao sto se vidi na grafiku. Sign-magnitude bi se i tu pretpostavljam bolje pokazao.
Harmonici levo i desno od osnovnog su +/-50 Hz

Levi kanal je u pocetku bio losiji od desnog, nije prelazio -73dB THD+N, i ustanovio sam da je jedan od otpornika, treci po tezini, bio blize granici tolerancije nego ostali. Kada sam ga malo "potkajlao" sa jos 10M u paraleli, pao je na -81dB. Razlika koja je postojala vidi se na slici, mereno pri -30dB




Otpornici su svi sa iste trake, i vecinom su dosta upareniji od deklarisanih 0,1%


Zvucno...meni to ne zvuci lose Smile


Semu sam prakticno precrtao ponovo sa svim izmenama i doradama, moguce da mi se neka greska potkrala. Evo je u prilogu


Attached Files
.pdf   r-2r.pdf (Size: 444,68 KB / Downloads: 23)
Reply
#2
Bane, svaka čast na inovativnosti i upornosti!

Voleo bih da čujem kako zvuči, nadam se već ove godine na nekom druženju u KG ili gdegod...
Reply
#3
Hvala Smile I ja bih voleo da jos neko cuje i da kaze svoje misljenje. Moze i negativno, da uzmem u obzir za sledeci projekat Smile

Primetio sam sada da ima greska na semi. R18, R46, i R74 su visak
Reply
#4
nemam blage veze 😀 šta je konkretno Bane ovde napisao,ali rekao bi da prepoznajem inženjersko razmišljanje baš poput Bracinog. sve u tančine i sa razlogom,od samog početka,preko razrade pa do (trenutnog) zaključka. zagrada je tu jer posao nije na kraju-gotovo je sigurno da će tu biti još "what if..."
svaka čast enaB!
"Pretpostavka je majka zajeba..." : D.V. - Dude
Reply
#5
Hvala! Svakako ce biti jos isprobavanja, ako nista makar sa boljim napajanjem, mada ima jos sta da se proba.
Malo mi je neprijatno od ovakvog poredjenja Shy , Braca je inzenjer-naucnik, a ja...ja sam samo vagabundo 24

P.S.
U prilogu sema sa izbacena tri otpornika koja su greskom ucrtana, ne mogu vise da promenim u prvoj poruci.


Attached Files
.pdf   r-2r.pdf (Size: 442,32 KB / Downloads: 13)
Reply
#6
dobro,on je iskusna kajla- ali svakako imate zajedničkih crta,i ideš u pravom smeru da i o tebi tako budu pričali! 😀
"Pretpostavka je majka zajeba..." : D.V. - Dude
Reply
#7
Malo sam se se zanimao minimalnim nivoom signala koji se vidi na slici u prvoj poruci, da ne ide ispod oko -90 dB ma koliko manji signal trebao da bude. Prvo sam mislio da je do neuparenosti otpornika, ali suvise je lepo uskladjeno sa drugim kanalom da bi bilo do otpornika. I onda ostaje da je do offseta izmedju ulaza I/V konvertora koji je tipicno 50 uV za AD844. Od punog izlaza 2V, to su dodje 20*log(0.000050/2) = -92 dB! Cak se i slaze sa izmerenim.



[Image: attachment.php?aid=35208]


Da bih to testirao, dodao sam potenciometar za podesavanje napona na "+" ulazu I/V konvertora koji je bio vezan direktno na masu, i video da se korekcijom ofseta, signal koji je bio nikad manji od -90 dB moze dovesti do nivoa suma, samo sto ga je tesko tu zadrzati jer mi izvor napajanja nije toliko stabilan da podeseni ofset ostane u okviru nekoliko mikrovolti dok sve podesim i izmerim. U svakom slucaju, to je detalj na kom dalje treba raditi

[Image: attachment.php?aid=35259]


Attached Files Thumbnail(s)

Reply
#8
Jos sam se malo zanimao ovim delom od -10 dBFS do 0 dBFS gde se videlo na prethodnim graficima da THD raste.

Zadovoljicu se dobijenim rezultatom



(Zvucna kartica koju imam je upotrebljiva do -85 dB THD)
Reply
#9
Posle mesec dana slusanja i poredjenja, na dodam jos koju rec o zvuku.
Nisam audiofil i nemam tu sposobnost da detaljno opisem kako nesto zvuci samo za sebe, ako nemam sa cime da uporedim pa primetim razlike. A sigurno ni ne cujem neke stvari koje bi iskusni audiofil primetio.
U mom slucaju u testovima ucestvuju:

1. CDP: CD plejer, SONY CDP-710 (TDA1541A, NE5532, Mundorf Mcap MKP na izlazu)
2. DAC1: Moj prethodni DAC (PCM1794A, LME49710, FKP kondenzatori u filtru)
3. DAC2_1: R-2R sa NE5534, FKP u S/H i filtru
    DAC2_2: R-2R sa OPA1611

Posle svega idu cevi kroz celo pretpojacalo i do pola pojacala. Isti snimci su pustani, sve na 176.4k i 192k, izlazni nivoi ujednaceni na 1 kHz.


R-2R sa NE5534, u odnosu na CDP, zvuk je po mom misljenju bio tonalno izbalansiraniji, jer CDP kao da malo pojaca neki deo u spektru sto se najbolje cuje u vokalu. Nazvacu to prezentnoscu. Tu bih prednost dao DAC2_1, iako i CDP zvuci lepo, ali lakse bih mogao da poistovetim zvuk sa glasom zivog coveka ispred sebe preko DAC2_1 i DAC1 nego sa CDP.

U odnosu na DAC1, u boji zvuka nijsam primetio neku razliku, samo je malo falilo prezentnosti. Basa je bilo mozda vise ali kao da mu fali malo cvrstine, a sibilanti, na snimcima gde ih ima, su ispucavani ostrije (slicnije CDP-u). Stekao sam utisak i da DAC1 ima vise ambijentalnosti u odjeku, ne u sirini i dubini ispred slusaoca, nego nekako dijagonalno iza zvucnika. Prednost dajem DAC1

R-2R sa zamenjenim NE5534 na oba mesta (S/H kolo i filtar) za OPA1611, u odnosu na DAC1 dobio je vise prezentnosti i zivosti, vise nego DAC1. Bojom zvuka sada mozda slicnije CDP-u nego DAC1. Bas se definisao rekao bih, ostrina u sibilantima se izgubila, mozda cak i bolje zvuce nego sa DAC1, jedino i dalje imam utisak da se sa DAC1 jasnije cuje sta se desava u prostoru na pravcu jednog zvucnika, iza u pozadini. U visokim tonovima ne primecujem da nesto fali. Ne bih dao prednost nikome ovde, stvar je snimka na cemu sta lepse zvuci.
Sa nekim trecim operacionim bi verovatno zvucalo na neki treci nacin...


I dalje je R-2R prikljucen na staro ISKRA napajanje, referentni napon je za Vf plave LED diode snizen u odnosu na +15V VCC... Mozda bi se boljim napajanjem dobilo nesto, sve u svemu, zadovoljan sam dobijenim rezultatima, merenim i zvucnim. Javnost ce imati priliku da cuje i da ocenu na sledecem okupljanju ako bude pre nego sto zamirise gulas, jer posle vise od slusanja nema nista Smile


Ajd, pa tako....
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)