|
首先說一下DAC和PWM的關(guān)系:
- DAC是通過電阻分壓+開關(guān)組合直接湊出想要的電壓,輸出是直流恒定電壓量,比如1024級(jí)的DAC,輸出512,就是0.5個(gè)VCC直流。
- PWM是通過振蕩占空比得到想要電壓,比如比如1024級(jí)的PWM,輸出512,就是50%時(shí)間高電平VCC,50%時(shí)間低電平0。產(chǎn)生能量剛好是0.5個(gè)VCC一樣的能量。
- LED調(diào)光,電機(jī)調(diào)速,更適合使用PWM。
- 產(chǎn)生模擬音頻,產(chǎn)生指定直流電壓,控制儀表等更適合使用DAC
TM8211(PT8211)是一片輸出分辨率有16bit(65536級(jí)電壓值),兩通道輸出的DAC。非常廉價(jià),淘寶零售價(jià)大概在0.4元一片左右,而專門用做數(shù)字DAC的芯片比如TLC5615(10bit),MAX515(10bit)之類的都需要2元以上甚至更高
medium_563dc751e604c74df9d762372fce26d4.jpg (7.28 KB, 下載次數(shù): 224)
下載附件
2016-4-18 03:46 上傳
下面是轉(zhuǎn)載的介紹:
TM8211是兩路16位數(shù)模轉(zhuǎn)換集成電路,可廣泛應(yīng)用于數(shù)字音頻、多媒體系統(tǒng)。芯片采用CMOS工藝設(shè)計(jì),內(nèi)部電路結(jié)構(gòu)基于R-2R電阻網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計(jì),并在全電源電壓范圍內(nèi)實(shí)現(xiàn)16bit的動(dòng)態(tài)范圍。 TM8211可通過采用數(shù)字串行總線數(shù)據(jù)輸入,采用快速R-2R網(wǎng)絡(luò)結(jié)構(gòu)來支持8X的過采樣音頻信號(hào)處理。TM8211 支持較寬范圍的采樣頻率,并與PT8211、TDA1311兼容,輸入采用LSBJ (Least Significant Bit Justified ) 格式, 數(shù)字編碼格式采用MSB在前的補(bǔ)碼格式。 TM8211 采用8-pin SOP or DIP封裝。
此音頻DAC比起數(shù)字DAC輸出電壓范圍不夠?qū)拸V,線性不如數(shù)字DAC好。抖動(dòng)也比較大。不過價(jià)格低廉,在要求低的時(shí)候可以當(dāng)做普通數(shù)字DAC使用。
硬件連接:
根據(jù)官方PDF的標(biāo)準(zhǔn)電路,隨便找三個(gè)arduino的IO口接BCK/WS/DIN即可。
161844xejhhdd7me1kd67c.png (33.6 KB, 下載次數(shù): 257)
下載附件
2016-4-18 03:46 上傳
軟件編寫:
- //定義引腳,可以自行修改引腳對(duì)應(yīng)
- int BCK = 10, WS = 9, DIN = 8;
- unsigned int cnt = 0;
-
- //TM8211驅(qū)動(dòng)函數(shù),
- void TM8211(unsigned int wr_dat8211)
- {
- for(int i = 16; i > 0; i--)
- {
- digitalWrite(BCK, LOW);
- digitalWrite(DIN, (wr_dat8211 >> i) & 0x01);
- digitalWrite(BCK, HIGH);
- }
- }
-
- void setup()
- {
- //所有引腳都是輸出方式
- pinMode(BCK, OUTPUT);
- pinMode(WS, OUTPUT);
- pinMode(DIN, OUTPUT);
- }
-
- void loop()
- {
- //cnt是DA值
- if(cnt > 0xFFF0)
- {
- cnt = 0;
- }
- //WS是通道選擇,這段代碼是兩個(gè)通道LCH/RCH同時(shí)輸出cnt,也可以分開LCH/RCH控制的,具體看pdf
- digitalWrite(WS, LOW);
- TM8211(cnt);
- digitalWrite(WS, HIGH);
- digitalWrite(WS, LOW);
- delay(1);
- cnt += 0x0F; //每次輸出增加16個(gè)等級(jí)
- }
復(fù)制代碼
代碼輸出的是一個(gè)鋸齒波,輸出電平0x0000-0xFFFF。1毫秒上升0x0F個(gè)等級(jí)
接一個(gè)LED在輸出端即可看到漸亮效果。
由于LED亮起電壓1.8v,本例是0-5v掃描,在0-1.8v掃描時(shí)候可能看不到LED亮起,請(qǐng)留意,這不是程序問題,是正常現(xiàn)象
|
|