前面簡單介紹了ADC和DAC的基本結構,今天來看看ADC和DAC使用中要注意的要點:
根據項目需要的性能進行選型
選擇適合你項目的器件是第一步,因此你首先要知道都有哪些可供選擇,僅僅依賴搜索引擎是不夠的,你必須對主要的器件結構、參數、廠商有全面的了解,一個簡單的辦法就是到www.mouser.cn或www.digikey.com.cn按照分類進行查看,如下圖,可以看到Mouser官網上的主要ADC、DAC的類別、供應商以及按照關鍵參數進行過濾得到的主要的器件型號。通過折騰這個選型表,你可以快速了解到ADC、DAC的大致情況。
半導體行業做ADC、DAC比較強的幾家公司的網站要經常去溜達一下,看看他們都有啥,有什么新的器件出現等等。幸運的是隨著不斷的收購、整合,現在已經沒剩下幾家了,但你至少應該知道ADI、TI、美信(Maxim Integrated)、ST、Microchip等。
選型的時候需要考慮的幾個要點:
模擬帶寬和采樣率(ADC)或轉換率(DAC),時鐘的類型 - 單端、差分?
分辨率,也就是用多少位的轉換器件。前面我專門講述了根據系統的要求以及信噪比、失真等對ADC位數和前端模擬鏈路的綜合平衡設計,DAC的位數選擇也是一樣的原則,不是位數越高性能就越好,到了一定的程度就受限于板子上的噪聲和器件的失真了
數據接口方式 - 高速轉換器才用并行接口還是串行接口?一般低速的轉換器基本都采用SPI或I2C的串行接口方式,高速的器件采用并行接口以及高速串行接口
供電 - 5V?3.3V?1.8V?等,要根據自己系統的供電情況選用合適供電電壓的器件
一旦選定了器件就進入了設計部分,我們以一顆串行的ADC(LTC2366)和一顆高速并行的DAC(AD9760)來簡單看一下設計中要注意的一些事宜:
先通過框圖閱讀一下器件:
串行ADC - LTC2366:3Msps、12位取樣ADC
單端模擬信號輸入 - 輸入電壓范圍為0-Vref(參考電壓)
在簡單的使用場景,參考電壓管腳直接連接在器件的供電電壓管腳上,當然也可以外接參考電壓源 - 增加成本,但可以帶來靈活性
SPI串行數據接口,要注意的是SPI的時鐘頻率和器件的轉換率是兩個概念,器件能夠以3Msps的速率轉換,SPI要把這3Msps、12bit的數據傳輸出來,至少要48MHz的時鐘頻率
供電電壓范圍比較寬,設計的從2.35V到3.6V之間都可以正常工作,也就是我們常用的2.5V、3V和3.3V供電系統都可以使用
關鍵的管腳上都要有去偶電容,由于模擬信號的頻率比較低,使用的電容一般為4.7uF - 10uF的鉭電容(注意是有極性的)
并行DAC - AD9760:
10位并行數據接口、時鐘為單端輸入
模擬信號為差分輸出,在輸出端需要差分轉單端模擬電路
+5V電壓供電 - 數字電源DVDD、模擬電源AVDD,數字地DCOM、模擬地ACOM
內部1.2V參考電壓并通過外界的Rset來設定比較電流,可以通過改變Rset調節模擬輸出的電流大小
幾個重要的管腳接有0.1uF去偶電容,上面的低速串行ADC的去偶電容選用比較大的值,在這個高速的DAC電路里則選用0.1uF的陶瓷電容,最好是0603或更小的封裝
數據接口的時序以及時鐘的選用:
前面我們講過低速串行的器件一般采用I2C或SPI,在LTC2366中采用的是SPI接口,在數據手冊中一定要查看其時序圖,了解其SPI的工作模式 - 4種模式種的哪一種?從這個時序圖可以看出傳輸一次取樣的數據至少需要16個SPI的時鐘周期,也就是如果你的ADC轉換率為3Msps,SPI的時鐘周期至少要在48MHz以上,要保留一定的保護時間,最好選擇在50MHz以上,如果SPI的時鐘受限,不能工作到較高的速率,比如最高只能到30MHz,那么ADC的采樣率也就要相應降低,以確保轉換完的數據都能夠傳遞出來。
AD9760的時序圖如下,可以看出數據的轉換是由時鐘的上升沿來驅動的,因此在連接AD9760的前方邏輯電路中一定要注意時鐘上升沿的跳變要在10根數據穩定了以后才行,如果時鐘的上升沿與數據的改變同時發生,DAC器件就會瘋掉,出來的數據全部亂掉。ts是個很重要的指標,如果你前面的邏輯輸出信號經過PCB上較長的走線到達DAC導致有的數據線和時鐘之間的ts不能滿足器件數據手冊的要求,轉換就會出現錯誤。因此并行傳輸的DAC在布線的時候數據、時鐘線一定要滿足時序的要求。
參考電壓的使用
無論ADC還是DAC都是通過跟一個基準(電壓或電流)進行比較而得到相應的結果的,如果基準發生了偏差,那結果自然也就是錯誤的,因此在電路中要確保你基準電壓或電流的準確性、穩定性,轉換的結果也要根據具體的基準值來進行標定。
如下圖,LTC2366的Vref同3V的電源電壓連接在一起,意味著能夠轉換的模擬電壓滿量程為3V(最小采樣精度為3V/4096 ~ 0.73mV),因此可以通過改變Vref的值來改變被測模擬信號的精度,比如選用1.5V做Vref測量信號的精度將提高一倍(0.36mV),如果3V的供電電壓上有1%的紋波,意味著ADC的參考電壓也有這1%的波動,12位的ADC實際上還達到7位的準確度。要能夠對0.73mV的電壓都能分辨,要求3V上的紋波一定也要低于0.73mV。
AD9760的參考電壓可以外接,也可以直接使用內部的1.2V的參考電壓,DAC轉換的時候是以Vref/Rset得到的電流為基準,因此在同樣的數字值的情況下,通過調節Vref或Rset就可以改變轉換后的模擬量。很多DDS任意信號發生器都通過調節這兩個值來對輸出電平進行程控調節,有些DAC器件還可以通過SPI接口配置內部的控制寄存器從而改變參考電流的大小,進而改變輸出模擬信號的大小。
要注意的是參考電壓管腳一定要加去偶電容電容,LTC2366加10uF的鉭電容濾除比較低頻率的電源噪聲,AD9760則由0.1uF的陶瓷電容實現干擾噪聲的高頻旁路。
高速DAC的模擬差分輸出:
就像其它高速DAC一樣,AD9760轉換后的模擬信號采用差分電流(IoutA、IoutB)輸出的方式,因此在DAC之后需要由差分轉換為單端的電路,有以下的方式可供選擇:
通過1:1射頻變壓器實現,要注意的是一定要保證變壓器的帶寬滿足輸出模擬信號帶寬的要求,變壓器的有點是“無源”也就是不需要供電電壓,結構非常簡單,缺點就是體積比較大,尤其是高度,在有些場合使用起來比較突兀。
通過運算放大器 - 要注意運算放大器的模擬帶寬、擺率能滿足輸出信號帶寬的要求,運放的好處是體積比較小,缺點是必須提供非常低紋波的供電電壓,尤其是雙軌的電壓,為此還要設計線性穩壓的雙路供電電路,電路變得復雜起來。
如果你實在不想在板子上折騰出一個負電壓(比如-5V或-3V),只想使用板子上的單路正電壓,可以使用下面的連接方式。
布局布線中的考慮
ADC和DAC都是連接模擬和數字的橋梁,注定了它們都是模數混合的器件,它們都分模擬部分和數字部分。
細心的工程師可能已經發現 - LTC2366的供電電壓和地只有一個,也就是說沒有區分模擬和數字,why?一個原因是這種器件定位的就是“小”,管腳盡可能“少”,只要不影響系統的性能,將模擬和數字合并在一起也沒有問題。畢竟低速的ADC或DAC內部的轉換邏輯速率都很低,由此產生的開關噪聲也相對低很多,只要注意在電源上做比較好的去偶,也能夠保證轉換的性能。當然在布局布線的時候也是要盡可能注意去偶電容的擺放位置以及地平面的分割,參見下面的LTC2366的參考Layout圖。
對于AD9760由于數據接口速率以及轉換速率非常高,達到了100M,因此模擬電源、地和數字電源、地都是分隔開的,中間用磁珠進行了隔離,我們前面的文章中已經專門介紹過磁珠的應用。注意在模擬電源部分使用了3個容值不同的去偶電容
100uF的電解電容用于極低頻率的噪聲抑制
10~22uF的鉭電容用于較低頻率的開關噪聲抑制,一般由板子上的開關電源噪聲導致
0.1uF的陶瓷電容用于較高頻率的噪聲抑制,比如其它數字開關電路導致的噪聲等
很多MCU內部都集成了ADC和DAC,使用起來更方便,但要注意的是雖然這些器件標稱的轉換率比較高,但由于MCU工作于多任務的情況下沒有可能實時處理轉換完的數據,因此需要內部有一定的存儲,如果沒有存儲或者可供轉換數據的存儲RAM空間很小,實際的轉換頻率會大打折扣,比如ESP32這個器件其標稱的ADC轉換率和實際使用中能夠真正達到的轉換率相差好幾個數量級,原因就是處理器的主營業務是做其它的調度,根本沒有時間來理你,偶爾來讓你查看一下外部的模擬電壓值而已,即便你能跑的很快,但多數時間是讓你在那里站著。
因此多數情況下就需要選用獨立的ADC、DAC,并通過FPGA配以適當容量的RAM來進行存儲,在MCU的眼里ADC、DAC永遠都是偶爾處理一下的外設,給你一次被臨幸的機會,你就要讓它一次吞吐個夠。
-
轉換器
+關注
關注
27文章
8707瀏覽量
147236 -
adc
+關注
關注
98文章
6501瀏覽量
544741
原文標題:ADC/DAC(4)- 設計中須注意的要點
文章出處:【微信號:xiaojiaoyafpga,微信公眾號:電子森林】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論