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?)
- 331 megtekintés
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
- A hozzászóláshoz be kell jelentkezni
Az adatlap megvan, de -15V-om nincs, csak +5V. Az AI azt mondta, hogy -15V csak akkor kell, ha bipoláris kimenetet akarok. Hát, én nem akarok, elég a pozitív kimenet. A 100nF csak próba volt, most 100pF van rajta.
- A hozzászóláshoz be kell jelentkezni
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
- A hozzászóláshoz be kell jelentkezni
> Az AI azt mondta
Akkor hülyeség.
- A hozzászóláshoz be kell jelentkezni
A -15V hiánya miatt jobban jársz R2R megoldással, pl.:
„Az összeomlás elkerülhetetlen, a katasztrófa valószínű, a kihalás lehetséges.” (Jem Bendell)
- A hozzászóláshoz be kell jelentkezni
Köszönöm. Reméltem, hogy egy IC-vel egyszerűbb lesz, de úgy tűnik, ez az egyszerűbb út.
- A hozzászóláshoz be kell jelentkezni
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
- A hozzászóláshoz be kell jelentkezni
És olyan cél-IC, amit nem kell programozni, csak 5V-ra rákötni, olyan nincs? Gondolnám, hogy a 8 bites digitális jel analógraváltása nem egy ritka igény.
- A hozzászóláshoz be kell jelentkezni
AD558 esetleg?
- A hozzászóláshoz be kell jelentkezni
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 hozzászóláshoz be kell jelentkezni
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
- A hozzászóláshoz be kell jelentkezni
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)
- A hozzászóláshoz be kell jelentkezni
Nyilván nem egy szabadonfutó loop kell, hanem állandó mintavételi frekvencia. De akár valami handshake meg bufferelés is lehet a port felől.
Amúgy meg igen, egyetértek. :)
tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE
- A hozzászóláshoz be kell jelentkezni
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
- A hozzászóláshoz be kell jelentkezni
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.)
- A hozzászóláshoz be kell jelentkezni
Erre már rátaláltál?
- A hozzászóláshoz be kell jelentkezni
Igen, köszönöm, megvannak.
- A hozzászóláshoz be kell jelentkezni