基于DSP的高速AD采集系統(tǒng)設計與實現(xiàn)
摘要:在某綜合控制計算機系統(tǒng)中為了實現(xiàn)對多路AD信號實時高精度采集,采用了以TMS320C6713B為核心,與AD7656芯片相組合的高精度、實時A/D數(shù)據(jù)采集砹計實現(xiàn)方案。重點分析硬件接口電路的設計、PCB設計中應注意的問題和軟件設計實現(xiàn)流程。通過系統(tǒng)聯(lián)試等多方驗證,該設計方案實時性強,精度高,滿足某綜合控制計算機系統(tǒng)的性能指標要求。
關鍵詞:TMS320C6713B;AD7656;接口電路
0 引言
為實現(xiàn)對某綜合控制計算機對整個綜合控制系統(tǒng)工作狀態(tài)的實時狀態(tài)監(jiān)控以及故障檢測,在設計中考慮到綜合控制系統(tǒng)對監(jiān)測信號精度和實時性要求較高,模擬量采集模塊設計中采用了AD7656作為模/數(shù)轉(zhuǎn)換芯片,該芯片支持6路通道,可同步進行模數(shù)轉(zhuǎn)換,A/D轉(zhuǎn)換輸出可達到16位。數(shù)據(jù)處理和控制采用TI公司的TMS320C6000系列的高速32位浮點DSP芯片TMS320C6713B,該芯片通過EMIF總線接口實現(xiàn)對AD7656訪問。
1 芯片介紹
1.1 TMS320C6713B主要特點
TMS320C6713是美國德州儀器公司(TI)推出的一款浮點32位DSP芯片,基于高性能、先進的VelociTI超長指令字體系結(jié)構(gòu),該芯片的內(nèi)部結(jié)構(gòu)包括如下特點:
(1)處理速度快,工作主頻最高可達到200MHz,峰值運算能力為1800MIPS/1350MFLOPS450MMACS;
(2)具有8個功能單元的高級VLIW體系結(jié)構(gòu)CPU,集成2個乘法器和6個ALU,指令打包減少代碼數(shù)量;
(3)集成了32×32比特的乘法器,其結(jié)果可為32bit;
(4)片內(nèi)存儲器采用兩級高速緩存結(jié)構(gòu),包括4KB的第一級高速程序緩存器(L1P)、4KB第一級高速數(shù)據(jù)緩存(L1D),第二級共256KB內(nèi)存儲容量(64KB的L2統(tǒng)一緩存/映射RAM,192KB的附加L2RAM);
(5)32位外部存儲器接口(EMIF總線接口),無縫接口到SRAM、EPROM、FLASH、SBSRAM和SDRAM。
1.2 AD7656模數(shù)轉(zhuǎn)換器
1.2.1 AD7656特點
AD7656是美國模擬器件公司(ADI)公司推出的一款采用iCMOS工藝制造的高集成度、6通道16位SAR型ADC,該器件具有4LSB(INL),每通道達250kSPS的采樣速率,內(nèi)置一個2.5V內(nèi)部基準電壓源和基準緩沖器。該芯片功耗僅為160mW。AD7656特點如下:1)供電電源電壓:5V,±15V;2)可通過配置選擇模擬量輸入電壓范圍-10V~10V或-5V~5V;3)片內(nèi)集成2.5V基準電壓源和基準緩沖器;4)通道可同步采樣,采樣速率可達250kSPS;5)支持并行和高速串行接口訪問。
1.2.2 AD7656的原理及結(jié)構(gòu)
AD7656的內(nèi)部結(jié)構(gòu)見圖1所示,AD7656內(nèi)置時鐘電路,外部模擬量信號從VI引腳輸入,經(jīng)過一個高帶寬的線性跟隨器(T/H)單元進行采樣,保證滿量程的輸入正弦波時轉(zhuǎn)換精度達到16位。AD7656處理的最高頻率為8MHz;經(jīng)過AD7656中心單元16位SAR轉(zhuǎn)換,將模擬信號轉(zhuǎn)換為數(shù)字信號,通過控制邏輯單元,將數(shù)字信號輸出驅(qū)動。
AD7656的模擬信號輸入采取了單端輸入方式,輸入信號的電平范圍為兩種±10V和±5V,可通過兩種方式選擇輸入信號電平范圍,硬件上通過RANGE管腳設置,軟件上通過配置控制寄存器的RNGX位來選擇。
AD7656的轉(zhuǎn)換后輸出的數(shù)據(jù)格式見圖2所示,分辨率與輸入信號的范圍設置有關,具體分辨率值見表1所示。
2 模擬轉(zhuǎn)換電路設計
2.1 AD7656前端調(diào)理電路
由于在綜合控制計算機采集的信號源與AD7656要求的輸入信號不匹配,所以對信號源的信號進行前端調(diào)理電路調(diào)整,在AD7656前端調(diào)理電路設計主要考慮了如下因素:
(1)阻抗匹配。由于輸入信號的信號源不一定是低阻抗,AD7656的輸入端很可能會對信號源信號分壓,從而影響采集轉(zhuǎn)換信號的精度。在AD7656前級輸入采用運算放大緩沖器解決該問題,因為運算放大緩沖器具有很高的輸入阻抗,因此不會對信號源分壓,同時它的低輸出阻抗適合驅(qū)動AD7656的輸入端;
(2)減小容性負載的影響。AD7656輸入端具有容性負載特性,通常需要一個電阻和電容組成外部補償電路,采用該電路給信號源增加了容性負載。
AD7656前端調(diào)理電路設計見圖3所示。AD7656前端調(diào)理電路采用的運算放大緩沖器為ADI公司的OP177FS,其具有低輸入失調(diào)電壓(25μV),失調(diào)電壓時間漂移最大0.1 μV/℃,開環(huán)增益最小12V/μV,電源電流2.0mA。
2.2 AD7656與TMS320C6713B接口電路設計
AD7656與TMS320C6713B接口電路采取并行接口設計。在電路設計時將AD7656的“SER/PAR”管腳設置為并行接口方式,“W/B”管腳設置為字方式,“H/S SEL”管腳設置為硬件啟動轉(zhuǎn)換方式。TMS320C6713B通過外部存儲器接口(EMIF)總線實現(xiàn)對AD7656訪問,啟動對AD7656轉(zhuǎn)換,讀取轉(zhuǎn)換結(jié)果數(shù)據(jù),接口電路結(jié)構(gòu)圖見圖4所示。
TMS320C6713B通過CPLD實現(xiàn)對AD7656控制邏輯譯碼,來滿足AD7656的訪問時信號的邏輯要求,AD7656訪問時序圖見圖5所示。
AD7656包括6通道ADC轉(zhuǎn)換,可實現(xiàn)6通道ADC同步轉(zhuǎn)換,減少了多路ADC轉(zhuǎn)換采樣時間。在CPLD邏輯設計中采用同時控制“CONVSTA”
“CONVSTB”“CONVSTC”管腳輸出有效完成6通道ADC通道同步轉(zhuǎn)換。
根據(jù)圖5所示AD76565通過“CONVSTA,B,C”信號的上升沿啟動ADC轉(zhuǎn)換,ADC轉(zhuǎn)換過程中,“BUSY”信號為邏輯“高”標識,ADC正在轉(zhuǎn)換過程中,ADC轉(zhuǎn)換時鐘由內(nèi)部時鐘產(chǎn)生,從“CONVSTA,B,C”信號的上升沿啟動轉(zhuǎn)換3 μs后ADC轉(zhuǎn)換結(jié)束,“BUSY”信號為邏輯“低”表示ADC轉(zhuǎn)換結(jié)束。TMS320C6713B通過EMIF總線接口完成對轉(zhuǎn)換結(jié)果的讀取。對AD7656芯片轉(zhuǎn)換結(jié)果讀取,通過“CS”片選信號和“RD”讀信號控制,6個通道轉(zhuǎn)換結(jié)束后,TMS320C6713B控制“CS”為有效和6個“RD”讀有效信號,完成對模擬量輸入“V1”信號、“V2”信號、“V3”信號、“V4”信號、“V5”信號、“V6”信號轉(zhuǎn)換結(jié)果的讀取。
2.3 AD7656設計中應注意問題
2.3.1 電壓基準電路設計
由于AD7656轉(zhuǎn)換的精度與參考電壓基準電壓的精度有很大關系,參考電壓基準輸出電壓值用來確定數(shù)據(jù)轉(zhuǎn)換系統(tǒng)的滿量程輸入范圍,同時參考電壓基準電壓的任何誤差都會嚴重影響ADC的線性和無雜散動態(tài)范圍。
由于AD7656內(nèi)部集成的電壓基準參數(shù)精度低,一般在對于分辨率大于12位的ADC應用中采用高精密外部電壓基準,本設計采用高精密外部電壓基準AD780BR作為AD7656轉(zhuǎn)換的電壓基準。通過表2對兩種電壓基準參數(shù)比較,看出外部高精密電壓基準精度高,具有更低的溫度系數(shù)、熱遲滯和長期漂移。
3 PCB設計
3.1 數(shù)\模區(qū)域分割
在高速AD采集電路的設計中,達到高精度與PCB設計是密不可分的,所以進行PCB設計過程中,按照電路實現(xiàn)的功能可以簡單地劃分為數(shù)字電路和模擬電路兩部分,將數(shù)字區(qū)域與模擬區(qū)域進行分割,形成每個區(qū)域的獨立電源和地,這樣可以有效抑制干涉的傳導和RF能量的輻射。
AD7656芯片在管腳定義時將模擬量和數(shù)字量信號按區(qū)域定義,有利于PCB設計中數(shù)字量和模擬量區(qū)域分割,布線時注意模擬信號區(qū)域布模擬信號線,數(shù)字信號區(qū)域布數(shù)字信號線,不要將數(shù)字信號線和模擬信號線并行布線。
在本系統(tǒng)中模擬地和數(shù)字地采用一個電勢參考點,所以模擬地和數(shù)字地采用單點共地,共地點盡可能地靠近AD7656。
3.2 電源去耦設計
由于AD7656芯片存在多個電源管腳,在每個電源管腳需要連接去耦電容。去耦電容的設計中采用并聯(lián)100nF和10 μF電容。電容選擇時可選用具有小等效串聯(lián)電感(ESL)瓷介質(zhì)電容。AD7656的去耦電容設計見圖6所示。
4 AD采集軟件設計實現(xiàn)
TI公司提供良好的C/C++編譯器,在TMS320C6713B軟件開放過程中支持C/C++語言設計。并且提供的良好的庫函數(shù)(DSPLIB),支持TMS3 20C6713B的數(shù)學運算和矢量運行。
采集軟件設計采用了模塊化設計,主要包括初始化函數(shù)、AD7656轉(zhuǎn)換啟動函數(shù)和AD7656轉(zhuǎn)換結(jié)果讀取函數(shù)。
初始化函數(shù)實現(xiàn)對TMS320C6713B系統(tǒng)時鐘、EMIF總線時鐘配置,EMIF總線接口訪問時序的配置。通過該初始化函數(shù)配置,配置CS(片選)RD讀信號相對時序關系,滿足AD7656訪問時序關系。
AD7656轉(zhuǎn)換啟動函數(shù)實現(xiàn)啟動AD7656的AD轉(zhuǎn)換,該函數(shù)控制AD7656轉(zhuǎn)換啟動信號CONVSTA,B,C為有效狀態(tài),同步6路AD轉(zhuǎn)換。
AD7656轉(zhuǎn)換結(jié)束標識查詢函數(shù)實現(xiàn)對AD7656轉(zhuǎn)換狀態(tài)標識信號BUSY查詢,判斷AD7656內(nèi)部ADC轉(zhuǎn)換是否結(jié)束。
AD7656轉(zhuǎn)換結(jié)果讀取函數(shù)實現(xiàn)檔查詢到AD轉(zhuǎn)換結(jié)束標識后,讀取AD轉(zhuǎn)換結(jié)果。該函數(shù)通過連續(xù)的6次讀操作,讀取6路AD同步轉(zhuǎn)換結(jié)果。 AD采集軟件流程見圖7所示。
5 結(jié)束語
針對要求高精度、多路信號監(jiān)測和實時采集,本設計選用了AD7656和TMS320C6713B相結(jié)合作為某控制系統(tǒng)工作狀態(tài)實時監(jiān)控以及故障檢測系統(tǒng)方案,本設計接口電路設計簡單,采集精度高、速度快,可同時完成對多路信號的采集。系統(tǒng)聯(lián)試證明,本系統(tǒng)完全滿足某控制系統(tǒng)對工作狀態(tài)監(jiān)控以及故障檢測信號的采集精度和實時性的要求。