新聞中心

        EEPW首頁 > 手機與無線通信 > 設計應用 > 一種基于CAN總線技術的數據采集系統設計

        一種基于CAN總線技術的數據采集系統設計

        作者: 時間:2009-11-10 來源:網絡 收藏

        本文引用地址:http://www.104case.com/article/157779.htm


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

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


        3 水下物理場實驗
        在對水下物理場數據進行采集時,需要測量的信號共有3種8路:電場三個分量,磁場三個分量以及傳感器在海底的傾斜角度兩個分量。實際測量時,整個測量體(包括傳感器,信號調理電路,水密容器等)放置在海底(約30米深),測量體距離岸邊接收主機120米。其他一些實驗參數設置如下:傳輸波特率為1Mbps,各節點的采樣頻率為10KHz,每采樣4路信號向主機發送一次數據,每次送出4組8字節數據,分辨率:0.0495μA/m;信號輸入范圍:-50mV~50mV;信號頻率帶寬:500Hz~800Hz;供電電壓:±5V,9V,±15V。測量在較復雜的海洋環境條件下從上午9:00開始工作,中間不停機,到下午5:00測量完畢。測量結果經過分析與理論計算吻合說明該工作穩定、可靠。此外,全套測量硬件設備(包括計算機與傳感器)造價低于3萬元。
        4 結論
        CAN已被公認為是最有前途的幾種現場之一,在一些高檔汽車車載系統中已經得到了廣泛應用,也因其高性能價格比、實現簡單等突出優點深得越來越多的研發人員的青睞。本文的創新點是提出一種CAN結構的遠程系統方法,將CAN總線應用于工業現場控制中,了硬 件電路和軟件,并得到實際應用。該系統可在復雜的海洋中實現對8路傳感器信號的實時采集與傳送,實驗證明該系統具有結構簡單、性能可靠、傳輸距離遠、價格低廉等優點。該系統方法也可應用到其他需要的多節點系統中去。


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 云阳县| 淅川县| 远安县| 芜湖市| 县级市| 买车| 台东县| 西吉县| 洛南县| 元朗区| 罗平县| 淮阳县| 连云港市| 桐柏县| 文化| 铜鼓县| 札达县| 赣榆县| 遵义县| 大安市| 宜阳县| 芦山县| 岫岩| 娱乐| 七台河市| 宁陵县| 正宁县| 苗栗县| 嘉荫县| 宝清县| 常熟市| 万载县| 新泰市| 庐江县| 无为县| 山西省| 台湾省| 磴口县| 蒙山县| 南昌县| 崇礼县|