高廣波(廈門大學現代電路研究所,福建 廈門 361005)
?
基于MicroZed的高速多路實時信號采集系統設計
高廣波
(廈門大學現代電路研究所,福建 廈門 361005)
摘 要:針對工業制造領域中對實時采集傳輸多路傳感器數據的需要,提出一種基于MicroZed 的多路信號實時采集傳輸系統。系統包含兩路最高采樣率1 MSPS的采集端口和16路最高采樣率200kSPS的采集端口,對外提供多電壓電源接口,適應性強,使用靈活,具有一定的實用價值。
關鍵詞:MicroZed;多路信號采集;實時傳輸
隨著電子技術、計算機技術的發展,信號采集傳輸在工業控制、測量、工業制造等領域有著非常廣泛的應用[1],這些領域需要實時采集傳輸數據,不同領域的需要的供電電壓及輸出的信號頻率不同,作為系統前端,數據采集模塊的性能對整個系統性能起著至關重要的作用[2][3]。本文設計了一個18通道的高速信號實時采集傳輸系統,提供多電壓接口。
AD7902 是ADI 公司推出的一款雙16位SAR 模數轉換(ADC)芯片,單路最高采樣率可達1MSPS,單電壓供電,模擬輸入范圍0V到Vref(2.5V或5V),本文選擇2.5V,兩路獨立控制獨立工作。AD7606是ADI公司推出的八通道16位模數轉換芯片,最高采樣率可達200kSPS,單電壓供電,模擬輸入范圍±5V或±10V,本文選擇±10V,每4路為一組單獨控制。系統使用一片AD7902兩片AD7606來實現,最大數據率將達到20MBPS,如此大的數據率只能使用FPGA來實現。
MicroZed是安富利推出的全可編程開發板,使用的主控芯片是Xc7z010,該芯片是Xilinx公司開發的一款全可編程邏輯器件Zynq -7000系列的一員,自帶兩個ARM Cortex A9 CPU核及FPGA資源,A9 CPU自帶包括SDIO、UART、USB、以太網等豐富的外設,系統時鐘頻率可設置。另一方面,芯片內部的FPGA邏輯資源給用戶提供了自定義硬件的功能,用戶可以根據實際需要設計自己的硬件模塊,用戶自定義設計的硬件模塊可以通過AXI總線掛載作為A9 CPU系統外設,該芯片可以實現個性化靈活的SoPC系統。FPGA的并行特性決定了該芯片是高數據率、高實時性控制系統的理想選擇,選擇MicroZed作為采集系統的主控板可滿足實時控制ADC芯片采集數據并將采集數據通過以太網口傳輸到上位機的要求。
為了使用中更靈活簡潔,系統提供28V、12V及5V電源接口,給外部源信號設備供電。系統采用DCDC變換的方式將輸入的12V電源變換到所需要的電壓值,系統電源框圖如圖1所示。
系統實現架構如圖2所示。系統中使用xc7z010芯片中的一個RAM A9 核作為主控CPU,使用芯片的FPGA資源開發ADC采樣芯片的控制模塊,ADC芯片控制模塊使用AXI4接口,作為外設掛在總線上供CPU調用。圖中的AXI4總線包含AXI4 GP總線和AXI4 HP總線,GP總線連接外設用以訪問寄存器,HP總線連接需要訪問內存的外設以實現高速數據存取。ADC轉換的數據由ADC芯片控制模塊按規定時序讀取到芯片控制模塊中,控制模塊把數據按一定的格式排列通過AXIs接口送給DMA模塊,最后由DMA模塊搬運到內存中給軟件處理。FPGA的并行特性決定了三個ADC控制模塊可同時工作,也即三個ADC芯片可同時采集數據,在傳輸過程中為了提高總線的效率,每個控制器采集滿1KB 數據后由DMA產生一個中斷請求信號,軟件檢測到中斷請求后再打包內存中的數據并經過以太網口發出給上位機。硬件系統設置總線時鐘為50MHz,AD7902采樣速率為800kSPS,AD7606采樣速率為100kSPS。
由于使用FPGA資源實現了底層數據采集控制和搬運工作,所以軟件部分的工作變得相對簡單。在系統啟動后配置ADC控制器、DMA、以太網等外設之后,等待DMA中斷產生,接到中斷請求后判斷中斷源ID,將內存中固定地址的數據打包成一定格式后發給以太網口控制器即可,軟件流程圖如圖3所示。
為了使上位機能正確接收數據,要發送的數據需要打包處理,每一個數據包要包含數據的屬性信息。軟件定義三個宏以表示三塊ADC芯片:
#define AD7902_CHIP_1 0
#define AD7606_CHIP_1 1
#define AD7606_CHIP_2 2
發送的數據結構體:
typedef struct adc_data_s {
unsigned int chip; /* 芯片號0,1,2 */
unsigned int seqno; /* 數據包序列號 */
unsigned int data_len; /* 數據長度 */
unsigned int sample_rate; /* 采樣率 */
char data[1024]; /* 實際數據 */
} adc_data_t;
根據上面的結構體可以得到發送數據的幀格式,如圖4所示。
DOI:10.16640/j.cnki.37-1222/t.2016.02.126