MC1408 DAC egyszerű bekötése

Van egy 8 bites TTL kimenetem, amit szeretnék hanggá alakítani, és ehhez van egy MC1408L8-as DAC IC-m, valamint egyetlen +5V-os tápfeszültségem.

Egyelőre nem sikerült elérnem, hogy a 8 bemeneti bit függvényében bármilyen kimeneti jelet is tudjak produkálni. Mivel konkrétan erre a típusra nem találtam lábkiosztást, még azt is csak remélni merem, hogy a szabvány kiosztást használja.

Jelenleg a következő módon kötöttem be:

1,2,3,15-as láb: GND
4: 2k-val a GND-re kötve, így a 4-es lábon mérném a kimenő jelet.
5-12: A bemenő jel bitjei
13: +5V
14: 5k-val a +5V-ra
16: 100pF-dal a GND-re kötve. Próbáltam 100nF-dal is.

Nem kell profi output, csak legyen rajta változó analóg jel, amit -  ha jól tudom - egy erősítőn keresztül kell majd a hangszóróra vezetnem.

Lehet, van erre a célra jobb DAC, amit egyszerűbben lehet használni?

Vagy jobban járnék egyszerűen 8 megfelelő értékű ellenállással? (Ha igen, milyen értékűekkel?)

Hozzászólások

15-ös 1k-n keresztül megy a GND-re, 14 pedig potméterrel állíthatóan 1k körüli értékkel megy a +5 V-ra. A 100 nF-ot komolyan gondoltad frekvencia kompenzálásnak? :) A gyártó ajánlása 15 pF. Továbbá a 3-as láb nem GND, hanem -15 V-ra kell kötni.

Esetleg ha letöltenéd a katalóguslapját, az sokat segítene. :)
 

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

Az AI nem szakember, s innen látszik a veszélyessége. Simán elhiszed, amit mond? Remélem, életbevágó kérdésekben nem fordulsz hozzá! Nézd meg a vázlatot. Valami áramgenerátorhoz kell, márpedig nulla feszültségből nem tudja beinjektálni az áramot.

A 100 pF miatt hiányzani fognak a magas hangjaid szerintem.

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

Nem biztos. Az R-2R létre rafinált jószág. Azt a látszatot kelti, ha nem gondolkodsz el a működésén, hogy sokbites D/A-t lehet így csinálni, de nem. 8 bit esetén a 0x7f, 0x80 váltásnál ugyanúgy a teljes alsó blokk súlya kiesik onnan, megjelenik a felső, ami csak egy LSB-vel nagyobb súlyú, mint ami addig volt.

Szóval egyrészt nagyon százaléktalan ellenállásokból kell összerakni, másrészt a meghajtó impedancia nulla kell legyen, harmadrészt halál pontosan vagy GND, vagy Vref. Azaz minden bit meghajtásához műveleti erősítő kell, nem fog menni a digitális kapu kimenet meghajtásnak, mert ellenkező esetben nem, hogy ökörhugyozásszerű kimenetet kapunk, de még az is lehet, hogy nem lesz szigorúan monoton.

Amúgy javasolnék egy PIC18F26Q71-et, amiben van egy 10 bites és két 8 bites DAC. Igaz, csak ezek egyikét lehet a kimenetre kihozni, bár van benne két műveleti erősítő, azok elhasználásával akár mindhármat is. Elfogadható sebességű MCU 64 MHz-ről, olcsó, 28 lábú, C-ben remekül programozható. Elég neki egyetlen +5 V.

Ott sorba kötöttek egy rakás ellenállást, azok kötési pontjaira megy egy hatalmas analóg multiplexer, így a szigorú monotonitás biztosítva van.

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

Ez az igény: "Nem kell profi output". Mellesleg ha nem LS szériás TTL-el hajtja, hanem HCT szériással, akkor a minőség jobb lesz mint kellene. High-End R2R DAC-okban is használják a HCT szeriát. A PIC ide ágyúval verébre.

„Az összeomlás elkerülhetetlen, a katasztrófa valószínű, a kihalás lehetséges.” (Jem Bendell)

A HCT-nek is van csatornaellenállása, ami hozzáadódik az ellenálláshoz, s innen vége. Mondom, a 0x80 csak egy LSB-vel nagobb a 0x7f-nél, több bitnél meg még érzékenyebb ez. Ha jól becsülöm, 8 bit esetén az ellenállás 0.4 %-os hibája, ideértve a meghajtás additív impedanciáját is, már akár a szigorú monotonitást is elronthatja.

A PIC lehet ágyúval verébre, de hamar írható rá olyan kód, hogy amit a lábain beolvas, azt a DAC-ra küldi, szóval olcsón csinálható belőle DAC hangfrekvenciára.

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

Egyetértek azzal amit írsz, de szerintem itt nem ez a minőség a cél.

Egyébként a PIC-re sem triviális a program, főleg egy kezdőnek. Ha korrektül akarod megcsinálni, akkor emulálni kell azt az IC-is ami az adatot adja (valószínűleg valami 373). Emuláció nélkül sima loop-al lehet nagyobb torzítása lesz mint a R2R DAC-nak.

Mindegy, majd plt eldönti. Annak idején gyártottam sztereó COVOX hangkártyát LS373-al, teljesen elfogadható volt. A HCT-vel csak jobb lehet.

„Az összeomlás elkerülhetetlen, a katasztrófa valószínű, a kihalás lehetséges.” (Jem Bendell)

Az elején le van írva, hogy output voltage swing +0.4 V to -5.0 V, másfelől, ha a range control GND, akkor nagyjából a +0.4 V ... -0.6 V tartomány használható.

Szóval semmiképp sem jön ki az AI hazugsága.

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

Jelenleg végre sikerült konverzióra bírnom az MC1408-as IC-t, a következő módon:

- 1: nincs bekötve
- 2: nincs bekötve
- 3: GND
- 4: jelenleg 5k ellenállással a földre van kötve, hogy mérni tudjam
- 5-12: adatbitek
- 13: +5V
- 14: 2k ellenállással a +5V-ra
- 15: GND
- 16: 2.5k-val a +5V-ra, 2.5k-val a GND-re (5k potméter)

Így a 4-es lábon 0-200mV közötti jeleket tudok kicsiholni.

Gondolom, ez finomítható lenne, ha az 1-es, 2-es lábakat bekötném, de ezeket még nem értem. Valamint a 14-es lábra sem biztos, hogy a 2k a legjobb választás, mint ahogy a potméter sem biztos, hogy jól van beállítva ehhez.

Tehát finomítási tippeket elfogadok.

(Amúgy az eredeti kapcsolás egy zn425E IC-t tartalmaz, ezt szeretném helyettesíteni valami költséghatékonyabbal. Mellesleg az sem hátrány, ha picit jobban megértem, hogyan kell egy digitális jelet analógra konvertálni.)