實時數據采集與處理技術在許多領域得到廣泛應用。在圖像處理、瞬態信號檢測、軟件無線電、雷達信號分析、醫用成像設備和工業現場控制方面,需要對連續變化的模擬信號進行同步數據采集,因此,對運動過程中變化的信號高速A/D采集是十分重要的。本文介紹一種基于TI公司的TMS320F2812 DSP芯片(以下簡稱F2812)與A/D轉換芯片ADS8364構成的同步高精度的數據采集系統,解決了大型曲面鋼板結構參數測量機器人系統中傳感器信號采集的關鍵問題。 1 系統原理 本采集系統結構框圖如圖1所示,由前端的系統(包括電流信號取樣、信號調理模塊、A/D轉換模塊、DSP處理器控制模塊、CAN總線網絡)以及上位機、PC104機、上位機CAN適配器幾部分組成。其中前端系統的核心部分是A/D轉換模塊和F2812,A/D轉換將模擬信號轉換成數字信號,A/D接收控制芯片F2812指令,設定A/D轉換部分的采樣率,控制A/D轉換,進行數據預處理。數據就緒后,通過ADS8364的EOC信號通知F2812,由F2812將數據讀出并且進行計算處理。DSP通過控制CPLD在合適的時候采樣并讀取采樣數據,在空閑的時候做數據處理。 系統主要完成的任務為:DSP接收上位機通過CAN總線上發送的命令,完成系統工作參數的設置,并通過模擬地址/數據總線與CPLD進行通信,向CPLD發送控制命令;對外部的多路模擬量輸入進行信號調理,在CPLD控制下進行單通道A/D轉換,將采集到的數據存儲在1片Flash芯片中,并經過CAN總線實時傳送給上位PC104主機。 2 系統硬件 系統硬件包括信號調理模塊、A/D轉換模塊、DSP 處理器模塊、CPLD 邏輯控制模塊以及CAN總線通信模塊。DSP、CPLD、ADS8364之間的接口設計如圖2所示。 2.1 信號調理模塊的設計 激光位移傳感器輸出的模擬量電流輸入信號的范圍為4~20 mA。ADS8364待轉換的模擬輸入電壓范圍應保持在AGND-0.3 V和AVDD+0.3 V之間。通過1個250 Ω精密取樣電阻,將電流信號轉換為1~5 V電壓信號。通過運放跟隨電路提高輸入阻抗,增強系統的抗干擾能力。電路中取樣電阻非常關鍵,它們影響著輸入信號的變換精度,因此必須采用溫漂較小的精密電阻。 2.2 DSP處理器與A/D轉換模塊設計 本采集系統要求對激光位移傳感器的模擬信號進行采集,鑒于測量精度要求較高,選擇TI公司的高精度ADS8364作為A/D轉換芯片,它是TI公司新推出的高速、低功耗、6通道同步采樣16位模數轉換器,采用+5 V工作電壓,最大采樣吞吐率可高達5 MHz; 帶有80 dB共模抑制的全差分輸入通道以及6個4 s連續近似的模數轉換器、6個差分采樣放大器;片上還帶有+2.5 V參考電壓以及高速并行接口。 DSP主要負責通過CAN總線與上位機交換數據、以地址/數據總線的方式與CPLD 通信, 實現對數據采集的控制以及對采樣后的數據進行前端數字信號處理(數字低通濾波)。這里選用TI公司的32位定點DSP TMS320F2812芯片,它采用1.8 V 的內核電壓, 具有3.3 V 的外圍接口電壓,最高頻率150 MHz,片內有18 KB的RAM, 128 KB的高速Flash。 在本系統中,上電后由硬件復位ADS8364,ADS8364的CLK時鐘由外部獨立的有源晶振提供,頻率為4 MHz。A/D轉換完成后產生轉換結束信號EOC。將ADS8364的BYTE引腳接低電平,使轉換結果以16位的方式輸出。地址/模式信號(A0,A1,A2)決定ADS8364 的數據讀取方式,可以選擇的方式包括單通道、周期或FIFO模式。將ADD引腳置為高電平, 使得讀出的數據中包含轉換通道信息?紤]到數據采集處理系統的采樣頻率一般較高,如果用DSP直接控制ADS8364的訪問,將占用DSP較多的資源, 同時對DSP的實時性要求也較高。因此在本系統設計中, 用CPLD實現ADS8364的接口控制電路。DSP的GPIO與ADS8364的HOLDA、HOLDB、HOLDC信號相連,控制6個ADC的采樣/保持。EOC連接到F2812的XINT1。 2.3 CPLD邏輯控制模塊設計 在該數據采集處理系統中, CPLD是一個重要的組成部分。由CPLD 組成的邏輯控制模塊接收DSP傳送過來的動作命令, 控制A/D 轉換模塊進行數據采集。這里選用Altera公司的MAX II系列芯片 EPM1270, 它包含1 270個LE相當于40 000門數,980個等效宏單元數,8 KB用戶可用Flash。116個用戶可用I/O口,擴展方便。 CPLD 作為一個單獨的控制執行結構,通過編寫相應的Verilog HDL代碼, 即可生成相應的操作電路, 實現對各種輸入信號的鎖存、判斷、處理以及對各種命令信號的執行和輸出信號的控制。 2.4 CAN通信模塊設計 由于所選的TMS320F2812 DSP 內部含有CAN控制器,只需加1個CAN收發器芯片即可實現CAN總線網絡。CAN通信模塊的功能是將采集系統的采樣結果及運行參數實時上傳到總線,提供給上位機存儲及處理。 3 系統軟件設計 軟件程序運行于硬件平臺之上,實現采樣系統的采集、濾波以及后期處理,是測量裝置的靈魂。本裝置軟件設計主要由主程序和子程序組成。為了實現準確、快速、實時的測量功能,采用C 語言和匯編語言混合編程。 3.1 DSP 程序設計 DSP編程的主要任務是初始化、管理板上的資源和實現前端數字信號處理的算法。這里以TI公司提供的功能強大的CCS(Code Composer Studio) 為集成開發環境。系統上電復位后, 首先完成F2812 自身的初始化, 包括配置RAM塊、設置I/O 模式、定時器模式、中斷等; 然后程序進入循環狀態,等待上位機CAN指令的到來。在F2812的程序存儲器中存儲常用的數字信號處理算法,F2812在收到上位機通過CAN總線發送的控制指令后,在中斷函數中選擇某種處理算法,同時向CPLD發出動作命令,控制A/D轉換模塊完成信號的采集并將采集到的數據存入SRAM中。當采樣點數達到設定點數時,DSP程序實現對部分采樣數據的讀取,在主循環程序中根據上位機選定的處理算法完成數據的前端處理,然后將數據打包,通過CAN總線傳輸給上位機。F2812主程序流程圖如圖3所示。 3.2 數據采集子程序流程 數據采集子程序流程如圖4所示。首先,在外部時鐘信號的作用下,F2812要提供ADS8364所需的HOLD保持信號,啟動轉換。待ADS8364轉換完成時,產生EOC中斷信號給F2812,F2812接收到EOC信號后,對所需的通道結果寄存器進行讀操作,只要保證CS和RD同時為低50 ns以上,就可將轉換完的數據讀出。由于測量系統采樣時刻由數控系統運動狀態來決定,因此,對于采樣時刻的確定要在測量機構運動過程中的空閑時間進行。保證空閑時間遠大于2 ms并且保證采樣時刻對應其他各軸的坐標反映了測量目標的真實形狀數據。由于ADS8364的轉換速度很快,在啟動A/D轉換之后,只需等待5 μs即可讀取轉換結果,因此可采用等待方式,等待時間大于5 μs即可讀取數據。在實際工作時,智能測量節點將采集到的數據發送到中心處理主機進行存儲、處理。中心處理主機采用PC104總線的嵌人式CPU,通過CAN接口卡PCI5121和智能節點通信。 本文將TMS320F2812與ADS8364相結合,設計了一套數據采集系統。該系統采用CAN總線與上位機通信, 充分發揮了CAN2.0方便、快捷的優點?紤]到對實時性的要求,將某些特定的數字信號處理算法放到數據采集處理卡上由DSP快速完成。該系統采集精度高, 速度快,并且可同時采集多路信號。該數據采集處理系統已經用于大型曲面鋼板的結構參數測量中,實踐證明, 運行穩定可靠。 |