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