新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于CAN總線技術的數據采集系統(tǒng)設計分析

基于CAN總線技術的數據采集系統(tǒng)設計分析

作者: 時間:2016-12-01 來源:網絡 收藏

 單片機程序主要包括節(jié)點初始化程序、報文發(fā)送程序、報文接收程序以及CAN總線出錯處理程序等。單片機主程序流程圖見圖3,程序用C51語言編寫。


 CAN控制器對于CPU來說是以確保雙方獨立工作的寄存器映像外圍設備出現的,微控制器和CPU之 間狀態(tài)、控制和命令的交換都是通過在復位模式或工作模式下對這些寄存器的讀寫來完成的。初始化CAN內部寄存器時注意使得各節(jié)點的位速率必須一致,而且接、發(fā)雙方必須同步。發(fā)送一幀數據采用高速DMA,它允許在最多2個周期內,在CAN控制器和主RAM之間傳送一個完整的報文(最多10個字節(jié))。CPU功能的極大增強是由于高速傳送是在后臺完成的。一次成功的DMA傳送后DMA位被復位。DMA傳送期間,CPU可以處理下一條指令,然而,不允許對數據存貯器、CANADR、CANDAT、CANCON或CANSTA的訪問。置DMA位后,各個中斷均被禁止,直至傳送結束。復位狀態(tài)期間(復位請求位為高)不能進行DMA傳送。為提高通信的實時性,報文的接收采用中斷接收方式,這樣也可保證接收緩存器不會出現數據溢出現象。

 主機程序包括測量和控制子程序、通信子程序、數據處理子程序等。數據測量和控制子程序用來控制下位機進行測量,通信子程序根據通信協(xié)議發(fā)送控制命令并接收測量數據,數據處理子程序實現對數據的預處理和存儲。主機程序用C語言編寫。主機程序流程見圖4。

3 水下物理場數據采集實驗

 在對水下物理場數據進行采集時,需要測量的信號共有3種8路:電場三個分量,磁場三個分量以及傳感器在海底的傾斜角度兩個分量。實際測量時,整個測量體(包括傳感器,信號調理電路,水密容器等)放置在海底(約30米深),測量體距離岸邊接收主機120米。其他一些實驗參數設置如下:傳輸波特率為1Mbps,各節(jié)點的采樣頻率為10KHz,每采樣4路信號向主機發(fā)送一次數據,每次送出4組8字節(jié)數據,分辨率:0.0495μA/m;信號輸入范圍:-50mV~50mV;信號頻率帶寬:500Hz~800Hz;供電電壓:±5V,9V,±15V。測量系統(tǒng)在較復雜的海洋環(huán)境條件下從上午9:00開始工作,中間不停機,到下午5:00測量完畢。測量結果經過分析與理論計算吻合說明該系統(tǒng)工作穩(wěn)定、可靠。此外,全套測量系統(tǒng)硬件設備(包括計算機與傳感器)造價低于3萬元。

4 結論

 CAN總線已被公認為是最有前途的幾種現場總線之一,在一些高檔汽車車載系統(tǒng)中已經得到了廣泛應用,也因其高性能價格比、實現簡單等突出優(yōu)點深得越來越多的研發(fā)人員的青睞。本文的創(chuàng)新點是提出一種基于CAN總線結構的遠程數據采集系統(tǒng)方法,將CAN總線技術應用于工業(yè)現場控制中,設計了硬 件電路和軟件,并得到實際應用。該系統(tǒng)可在復雜的海洋中實現對8路傳感器信號的實時采集與傳送,實驗證明該系統(tǒng)具有結構簡單、性能可靠、傳輸距離遠、價格低廉等優(yōu)點。該系統(tǒng)設計方法也可應用到其他需要數據采集的多節(jié)點系統(tǒng)中去。


上一頁 1 2 下一頁

評論


技術專區(qū)

關閉