摘 要: 提出一種基于TMS320C5402和AD7705的信號(hào)采集系統(tǒng)設(shè)計(jì)方案。系統(tǒng)采用TMS320C5402為主控芯片,以16位低功耗、高性能的AD7705為模/數(shù)轉(zhuǎn)換器,通過SPI接口進(jìn)行通訊。基于AD7705的結(jié)構(gòu)和原理,重點(diǎn)介紹了AD7705與TMS320C5402的接口電路和接口程序設(shè)計(jì)。實(shí)驗(yàn)結(jié)果表明,實(shí)現(xiàn)了AD7705的高精度數(shù)據(jù)采集。
關(guān)鍵詞: TMS320C5402;AD7705;信號(hào)采集;高精度
在智能儀器儀表的應(yīng)用中,需要將傳感器輸出的模擬信號(hào)轉(zhuǎn)換為數(shù)字信號(hào),以實(shí)現(xiàn)微機(jī)的控制。數(shù)據(jù)采集是智能測(cè)試的重要環(huán)節(jié),其采集的數(shù)據(jù)精度和穩(wěn)定性對(duì)智能測(cè)試有重要的意義。測(cè)試技術(shù)的進(jìn)步要求數(shù)據(jù)采集系統(tǒng)的精度更高、功能更強(qiáng)、成本低廉、體積更小。近年來興起的Σ-Δ A/D轉(zhuǎn)換技術(shù)能以較低的成本獲取極高的分辨率。AD公司的AD7705/06以及AD7707為比較典型的一種16位A/D轉(zhuǎn)換芯片,它集放大、濾波及A/D轉(zhuǎn)換單元于一體[1]。而TI公司的DSP芯片TMS320C5402具有高速度、低功耗、功能強(qiáng)、接口方便等特點(diǎn),是一款性價(jià)比較高的微處理器。本文所介紹的數(shù)據(jù)采集系統(tǒng)即以TMS320C5402為微處理器,AD7705為A/D轉(zhuǎn)換芯片,兩者通過SPI接口通信構(gòu)成高精度低頻微小信號(hào)數(shù)據(jù)采集系統(tǒng)。
1 模數(shù)轉(zhuǎn)換器AD7705
AD7705是AD公司新推出的16位Σ-Δ A/D轉(zhuǎn)換器,能直接將傳感器測(cè)量到的多路微小信號(hào)進(jìn)行A/D轉(zhuǎn)換。這種器件還具有高分辨率、寬動(dòng)態(tài)范圍、自校準(zhǔn)、優(yōu)良的抗噪聲性能以及低電壓低功耗等特點(diǎn),非常適合儀表測(cè)量、工業(yè)控制等領(lǐng)域的應(yīng)用。它采用三線串行接口,有2個(gè)全差分輸入通道,能達(dá)到0.003%非線性的16位無誤碼數(shù)據(jù)輸出,其增益和數(shù)據(jù)輸出更新率均可編程設(shè)定,還可選擇輸入模擬緩沖器以及自校準(zhǔn)和系統(tǒng)校準(zhǔn)方式[2]。AD7705工作電壓為3 V或5 V。3 V電壓時(shí),最大功耗為1 mW,等待模式下電源電流僅為8 μA。
1.1 內(nèi)部結(jié)構(gòu)
圖1為AD7705內(nèi)部結(jié)構(gòu)框圖[1]。AD7705芯片是帶有自校正功能的Σ-Δ的A/D轉(zhuǎn)換器,其內(nèi)部由多路模擬開關(guān)、緩沖器、可編程增益放大器(PGA)、Σ-Δ調(diào)制器、數(shù)字濾波器、基準(zhǔn)電壓輸入、時(shí)鐘電路及串行接口組成。其中串行接口包括寄存器組,它由通信寄存器、設(shè)置寄存器、時(shí)鐘寄存器、數(shù)據(jù)輸出寄存器、零點(diǎn)校正寄存器和滿程校正寄存器等組成。
AD7705的PGA可通過指令設(shè)定,對(duì)不同幅度的輸入信號(hào)實(shí)現(xiàn)1、2、4、8、16、32、64和128倍的放大,因此,AD7705芯片既可接收從傳感器送來的低電平輸入信號(hào),又可接收高電平信號(hào)。
1.2 片內(nèi)寄存器
AD7705片內(nèi)包括8個(gè)寄存器,均通過器件串行口訪問。限于篇幅,這里主要介紹以下寄存器的作用,寄存器的位功能可以查閱相關(guān)手冊(cè)。
(1)通信寄存器。它的內(nèi)容決定下一次操作是對(duì)哪一個(gè)寄存器進(jìn)行讀操作還是寫操作,并控制對(duì)哪一個(gè)輸入通道進(jìn)行采樣。所有與器件的通信都必須先寫通信寄存器。上電或復(fù)位后,器件默認(rèn)狀態(tài)為等待指令數(shù)據(jù)寫入通信寄存器。通信寄存器各位的說明如表1所示,它的寄存器選擇位RS2~RS0確定下次操作訪問哪一個(gè)寄存器,而輸入通道選擇位CH1、CH0則決定對(duì)哪一個(gè)輸入通道進(jìn)行A/D轉(zhuǎn)換或訪問校準(zhǔn)數(shù)據(jù)。
(2)設(shè)置寄存器:是一個(gè)可讀/寫的8位寄存器,用于設(shè)置工作模式、校準(zhǔn)方式、增益等。
(3)時(shí)鐘寄存器:它也是一個(gè)可讀/寫的8位寄存器,用于設(shè)置有關(guān)AD7705運(yùn)行頻率參數(shù)和A/D轉(zhuǎn)換輸出更新速率。
(4)數(shù)據(jù)寄存器:是一個(gè)16位只讀寄存器,存放AD7705最新的轉(zhuǎn)換結(jié)果。值得注意的是,數(shù)據(jù)手冊(cè)上雖然說明它是一個(gè)16位的寄存器,但實(shí)際上它是由2個(gè)8位的存儲(chǔ)單元組成的,輸出時(shí)MSB在前,如果接收微控制器則需要LSB在前,例如8051系列,讀取時(shí)應(yīng)該分2次讀,每次讀出8位分別倒序,而不是整個(gè)16位倒序。
其他的寄存器分別是測(cè)試寄存器、零標(biāo)度校準(zhǔn)寄存器、 滿標(biāo)度校準(zhǔn)寄存器等,用于測(cè)試和存放校準(zhǔn)數(shù)據(jù),可用來分析噪聲和轉(zhuǎn)換誤差。
1.3 校準(zhǔn)功能
為提高A/D轉(zhuǎn)換質(zhì)量,AD7705提供自校準(zhǔn)和系統(tǒng)校準(zhǔn)2種功能選擇,向設(shè)置寄存器的MD1和MD0寫入相應(yīng)的值來選擇自校準(zhǔn)還是系統(tǒng)校準(zhǔn)。每當(dāng)環(huán)境溫度和工作電壓發(fā)生變化,或者器件的工作狀態(tài)改變(如輸入通道切換)、增益或數(shù)字濾波器陷波頻率變動(dòng)、信號(hào)輸入范圍變化等任一項(xiàng)發(fā)生時(shí),必須進(jìn)行1次校準(zhǔn)。對(duì)于自校準(zhǔn)方式,校準(zhǔn)過程在器件內(nèi)部1次完成。AD7705內(nèi)部設(shè)置AIN(+)端和AIN(-)端為相同的偏置電壓,以校準(zhǔn)零標(biāo)度。滿標(biāo)度校準(zhǔn)是在一個(gè)內(nèi)部產(chǎn)生的VREF電壓和選定的增益條件下進(jìn)行的。系統(tǒng)校準(zhǔn)則是對(duì)整個(gè)系統(tǒng)增益誤差和偏移誤差,包括器件內(nèi)部誤差進(jìn)行校準(zhǔn)。在選定的增益下,先后在外部給AIN(+)端施加零標(biāo)度電壓和滿標(biāo)度電壓,先校準(zhǔn)零標(biāo)度點(diǎn),然后校準(zhǔn)滿標(biāo)度點(diǎn)。根據(jù)零標(biāo)度和滿標(biāo)度的校準(zhǔn)數(shù)據(jù),片內(nèi)的微控制器計(jì)算出轉(zhuǎn)換器的輸入輸出轉(zhuǎn)換函數(shù)的偏移和增益斜率,對(duì)誤差進(jìn)行補(bǔ)償。
1.4 數(shù)字濾波和輸出更新速率
模擬信號(hào)由Σ-Δ調(diào)制器變換為占空比被模擬電壓調(diào)制(調(diào)寬)的數(shù)字脈沖串,然后在片內(nèi)使用低通數(shù)字濾波器將其解釋成16位二進(jìn)制碼并濾去噪聲,以完成A/D轉(zhuǎn)換。低通數(shù)字濾波器的振幅頻率特性如下:
式中,N為調(diào)制速率與輸出更新速率之比。
需要指出的是,器件產(chǎn)生的噪聲源主要來自半導(dǎo)體噪聲和量化噪聲,PGA放大量和濾波器第一陷波頻率越低,則輸出的半導(dǎo)體噪聲和量化噪聲越小,A/D轉(zhuǎn)換器的實(shí)際分辨率越高。
2 信號(hào)采集系統(tǒng)的實(shí)現(xiàn)
AD7705靈活的串行接口使得其能與大多數(shù)微計(jì)算機(jī)和微處理器很容易地進(jìn)行接口,目前,用得最多的是與單片機(jī)進(jìn)行接口。本系統(tǒng)是以DSP芯片TMS320C5402為微處理器組成數(shù)據(jù)采集系統(tǒng),主要是借助DSP的強(qiáng)大功能,使采集信號(hào)的后續(xù)處理(如轉(zhuǎn)換、顯示、打印)更加方便。
2.1 系統(tǒng)硬件設(shè)計(jì)
圖2為系統(tǒng)硬件接口電路,TMS320C5402作為主設(shè)備提供時(shí)鐘信號(hào)并控制數(shù)據(jù)傳輸過程。TMS320C5402的McBSP串口工作在時(shí)鐘停止模式時(shí)與SPI協(xié)議兼容。McBSP可以作為SPI設(shè)備的主設(shè)備或者從設(shè)備,在這種模式下,接收時(shí)鐘信號(hào)BCLKR和接收幀同步信號(hào)BFSR將不進(jìn)行連接,因?yàn)樗鼈冊(cè)趦?nèi)部分別與BCLKX和BFSX相連接[3]。
AD7705的串行數(shù)據(jù)接口包括5個(gè)接口,其中片選輸入CS、串行時(shí)鐘輸入SCLK、數(shù)據(jù)輸入DIN、轉(zhuǎn)換數(shù)據(jù)輸出口DOUT用于傳輸數(shù)據(jù),狀態(tài)信號(hào)輸出口用于指示什么時(shí)候輸出數(shù)據(jù)寄存器的數(shù)據(jù)準(zhǔn)備就緒。當(dāng)為低電平時(shí),轉(zhuǎn)換數(shù)據(jù)可用;當(dāng)為高電平時(shí),輸出寄存器正在更新數(shù)據(jù),不能讀取數(shù)據(jù)。本系統(tǒng)中,輸出線與TMS320C5402的管腳相連,通過查詢可知AD7705的狀態(tài)。器件的A/D轉(zhuǎn)換過程是按設(shè)定的數(shù)據(jù)輸出更新速率連續(xù)進(jìn)行的。任何操作都需要對(duì)相應(yīng)片內(nèi)寄存器送入新的編程指令。
2.2 系統(tǒng)軟件設(shè)計(jì)
軟件設(shè)計(jì)主要考慮以下4個(gè)方面:
(1)TMS320VC5402串口的初始化。首先將DSP串口0復(fù)位,再對(duì)串口0的寄存器進(jìn)行編程,使DSP串口工作在以下狀態(tài):以SPI模式運(yùn)行,每幀1相,每相1個(gè)字,每字16位,幀同步脈沖低電平有效,并且?guī)叫盘?hào)和移位時(shí)鐘信號(hào)由內(nèi)部產(chǎn)生。
(2)AD7705的初始化和配置。上電或復(fù)位后,器件默認(rèn)狀態(tài)為等待指令數(shù)據(jù)寫入通信寄存器。它的寄存器選擇位RS2~RS0確定下次操作訪問哪一個(gè)寄存器,而輸入通道選擇位CH1、CH0則決定對(duì)哪一個(gè)輸入通道進(jìn)行A/D轉(zhuǎn)換或訪問校準(zhǔn)數(shù)據(jù)。
(3)雖然AD7705的通信寄存器、時(shí)鐘寄存器都是8位的,數(shù)據(jù)寄存器是16位的,但訪問前面3個(gè)寄存器時(shí)可以將前后2次寫操作成功連接起來,使讀寫操作都是16位數(shù)據(jù)傳輸處理,這樣剛好與16位的TMS320C5402匹配。例如:寫時(shí)鐘寄存器時(shí),TMS320C5402往AD7705寫入的字為2005H。
綜合以上考慮,系統(tǒng)程序流程圖如圖3所示。程序代碼(這里只給出讀寫AD7705的程序代碼)如下:
STM #3FFFH,IFR
STM #2005H,DXR10 ;寫時(shí)鐘寄存器
IDLE 1
STM #3FFFH,IFR
STM #1070H,DXR10 ;寫設(shè)置寄存器
IDLE 1
WAIT: STM #3FFFH,IFR
BC WAIT,NBIO ;等待BIO為零
STM #3FFFH,IFR
STM #0038H,DXR10 ;設(shè)置下次讀數(shù)據(jù)寄存器
IDLE 1
STM #3FFFH,IFR
LDM DRR10,A 讀數(shù)據(jù)寄存器;
結(jié)果存累加器A中
STM #3FFFH,IFR
3 系統(tǒng)的制作與調(diào)試
AD7705的印制板電路必須按規(guī)格設(shè)計(jì),以確保模擬區(qū)和數(shù)字區(qū)分開并各自限定在電路板上的一定區(qū)域。利用接地平面將它們分開,可達(dá)到最好的屏蔽性能,并在一個(gè)地方將模擬和數(shù)字接地平面連接在一起,以避免出現(xiàn)接地環(huán)路;避免在元器件下面走數(shù)字線,否則會(huì)造成片內(nèi)噪聲成倍增加;AD7705的電源線應(yīng)足夠粗,以降低線路阻抗,減少電源供電的尖峰信號(hào)的影響;時(shí)鐘信號(hào)不能在模擬輸入信號(hào)附近通過,模擬信號(hào)和數(shù)字信號(hào)之間避免相互交叉;所有的模擬電源都用1個(gè)10 μF電容并聯(lián)1個(gè)0.1 μF的陶瓷電容器接地去耦[4]。
在調(diào)試系統(tǒng)時(shí),采用Sensym公司的BP01測(cè)壓計(jì),壓力傳感器構(gòu)成半差動(dòng)電橋,在它的OUT+和OUT-端輸出1個(gè)差分輸出電壓。電橋的轉(zhuǎn)換系數(shù)為3 mV/V,電橋激勵(lì)電壓為5 V,因此傳感器的滿度輸出電壓為15 mV。電橋激勵(lì)電壓還用來為AD7705產(chǎn)生基準(zhǔn)電壓,因此,激勵(lì)電壓的變化不會(huì)造成系統(tǒng)內(nèi)的誤差。圖2中AD7705產(chǎn)生的基準(zhǔn)電壓為1.92 V,AD7705具有128的可編程增益時(shí),AD7705的滿度輸入為15 mV。AD7705的第2個(gè)通道可以作為一個(gè)輔助通道測(cè)量另一個(gè)變化量,如溫度。
本文所介紹的高精度信號(hào)采集系統(tǒng)接口電路簡(jiǎn)單、編程方便,系統(tǒng)程序代碼已經(jīng)在CCS3.1開發(fā)環(huán)境上得到驗(yàn)證,并且將制作的AD7705板與DSP實(shí)驗(yàn)箱上的MS320C5402的McBSP串口連接,獲得成功地通信和數(shù)據(jù)采集。本信號(hào)采集系統(tǒng)具有一定的推廣應(yīng)用價(jià)值。
參考文獻(xiàn)
[1] 高廷正,何道清,劉雷.基于PIC18F458和AD7705的信號(hào)采集系統(tǒng)[J].儀器儀表用戶,2008(6):67-69.
[2] 劉紅玲.基于AVR和AD7705的信號(hào)采集系統(tǒng)[J].現(xiàn)代電子技術(shù),2008(6):47-48.
[3] 李利.DSP原理及應(yīng)用實(shí)用技[M].北京:中國(guó)水利水電出版社,2004:200-210.
[4] 許廣賓,孫林,程瑞涵.AD7705在智能數(shù)字儀表中的應(yīng)用[J].科技信息,2008(17):413-454.