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