欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 20261|回復: 10
收起左側

Arduino學習18-連接TM8211(PT8211)廉價16bit音頻DAC

[復制鏈接]
ID:114115 發表于 2016-4-18 03:45 | 顯示全部樓層 |閱讀模式
首先說一下DAC和PWM的關系:
  • DAC是通過電阻分壓+開關組合直接湊出想要的電壓,輸出是直流恒定電壓量,比如1024級的DAC,輸出512,就是0.5個VCC直流。
  • PWM是通過振蕩占空比得到想要電壓,比如比如1024級的PWM,輸出512,就是50%時間高電平VCC,50%時間低電平0。產生能量剛好是0.5個VCC一樣的能量。

  • LED調光,電機調速,更適合使用PWM。
  • 產生模擬音頻,產生指定直流電壓,控制儀表等更適合使用DAC


TM8211(PT8211)是一片輸出分辨率有16bit(65536級電壓值),兩通道輸出的DAC。非常廉價,淘寶零售價大概在0.4元一片左右,而專門用做數字DAC的芯片比如TLC5615(10bit),MAX515(10bit)之類的都需要2元以上甚至更高
medium_563dc751e604c74df9d762372fce26d4.jpg
下面是轉載的介紹:
TM8211是兩路16位數模轉換集成電路,可廣泛應用于數字音頻、多媒體系統。芯片采用CMOS工藝設計,內部電路結構基于R-2R電阻網絡結構設計,并在全電源電壓范圍內實現16bit的動態范圍。 TM8211可通過采用數字串行總線數據輸入,采用快速R-2R網絡結構來支持8X的過采樣音頻信號處理。TM8211 支持較寬范圍的采樣頻率,并與PT8211、TDA1311兼容,輸入采用LSBJ (Least Significant Bit Justified ) 格式, 數字編碼格式采用MSB在前的補碼格式。 TM8211 采用8-pin SOP or DIP封裝。

此音頻DAC比起數字DAC輸出電壓范圍不夠寬廣,線性不如數字DAC好。抖動也比較大。不過價格低廉,在要求低的時候可以當做普通數字DAC使用。

硬件連接:
根據官方PDF的標準電路,隨便找三個arduino的IO口接BCK/WS/DIN即可。
161844xejhhdd7me1kd67c.png

軟件編寫:
  1.     //定義引腳,可以自行修改引腳對應
  2.     int BCK = 10, WS = 9, DIN = 8;
  3.     unsigned int cnt = 0;
  4.      
  5.     //TM8211驅動函數,
  6.     void TM8211(unsigned int wr_dat8211)
  7.     {
  8.         for(int i = 16; i > 0; i--)
  9.         {
  10.             digitalWrite(BCK, LOW);
  11.             digitalWrite(DIN, (wr_dat8211 >> i) & 0x01);
  12.             digitalWrite(BCK, HIGH);
  13.         }
  14.     }
  15.      
  16.     void setup()
  17.     {
  18.         //所有引腳都是輸出方式
  19.         pinMode(BCK, OUTPUT);
  20.         pinMode(WS, OUTPUT);
  21.         pinMode(DIN, OUTPUT);
  22.     }
  23.      
  24.     void loop()
  25.     {
  26.         //cnt是DA值
  27.         if(cnt > 0xFFF0)
  28.         {
  29.             cnt = 0;
  30.         }
  31.         //WS是通道選擇,這段代碼是兩個通道LCH/RCH同時輸出cnt,也可以分開LCH/RCH控制的,具體看pdf
  32.         digitalWrite(WS, LOW);
  33.         TM8211(cnt);
  34.         digitalWrite(WS, HIGH);
  35.         digitalWrite(WS, LOW);
  36.         delay(1);
  37.         cnt += 0x0F;    //每次輸出增加16個等級
  38.     }
復制代碼

代碼輸出的是一個鋸齒波,輸出電平0x0000-0xFFFF。1毫秒上升0x0F個等級
接一個LED在輸出端即可看到漸亮效果。

由于LED亮起電壓1.8v,本例是0-5v掃描,在0-1.8v掃描時候可能看不到LED亮起,請留意,這不是程序問題,是正常現象
回復

使用道具 舉報

無效樓層,該帖已經被刪除
無效樓層,該帖已經被刪除
無效樓層,該帖已經被刪除
5#
無效樓層,該帖已經被刪除
ID:183188 發表于 2017-3-24 22:34 | 顯示全部樓層
樓主的這個程序能使PT8211輸出0~5V嗎?我調試的時候發現PT8211只能輸出1.22V到3.7V。(電源電壓=5V)
波形如下:
{I6DPKGS5ARCR5`G{%}SKI2.jpg


問了廠家,他們說5V供電的時候是輸出1.25V~3.75V這個范圍。

如果樓主能輸出0~5V,請教是怎么實現的?
回復

使用道具 舉報

ID:183796 發表于 2017-3-27 14:07 | 顯示全部樓層
我的最愛
回復

使用道具 舉報

ID:230361 發表于 2017-9-8 10:28 | 顯示全部樓層
怎么沒有找到相關的時序圖的資料啊
回復

使用道具 舉報

ID:187624 發表于 2019-6-26 15:29 | 顯示全部樓層
請問這個有源代碼么?
回復

使用道具 舉報

ID:585672 發表于 2020-3-17 14:30 | 顯示全部樓層
為什么我寫單通道,但是兩個通道同時輸出!怎么可以單通道輸出,求告知謝謝!
回復

使用道具 舉報

ID:688905 發表于 2023-3-19 21:25 來自觸屏版 | 顯示全部樓層
取名困難戶 發表于 2020-3-17 14:30
為什么我寫單通道,但是兩個通道同時輸出!怎么可以單通道輸出,求告知謝謝!

這里好像有相關參考信息:搜索文章"利用16位或者24位音頻DA制作高精度數控電源的設想"
回復

使用道具 舉報

ID:688905 發表于 2023-3-19 21:27 來自觸屏版 | 顯示全部樓層
zhihong0105 發表于 2017-3-24 22:34
樓主的這個程序能使PT8211輸出0~5V嗎?我調試的時候發現PT8211只能輸出1.22V到3.7V。(電源電壓=5V)
波形 ...

如果供電低于5v,輸出電壓范圍會是多少呢?
回復

使用道具 舉報

ID:705187 發表于 2023-4-11 22:30 來自觸屏版 | 顯示全部樓層
兩個通道同時輸出的時候電壓會降低是什么原因,原來最高可以輸出3.8。但是兩個通道同時輸出最高后兩個通道都只有2.5v
回復

使用道具 舉報

ID:1088263 發表于 2023-7-12 21:16 | 顯示全部樓層
大佬 Arduino驅動Wii攝像頭的電器板能分享一下嘛,我去打板
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表