王濤++張封
摘要:CAN總線是一種很有前途的現(xiàn)場總線,CAN總線通信相對于一般的串行通信總線,它的實時性、可靠性和靈活性的特點更加突出。CAN總線技術在工業(yè)控制、車載、輪船、紡織以及智能家居系統(tǒng)中得到廣泛的應用。本文的目的就是對CAN總線技術進行研究,并且利用低功耗、高性能的ARM微處理器設計一個主從式通信系統(tǒng),實現(xiàn)CAN總線報文傳輸。
關鍵詞:CAN總線技術 ARM微處理器 主從式通信系統(tǒng) 報文傳輸
中圖分類號:TP273.5 文獻標識碼:A 文章編號:1007-9416(2016)10-0104-01
CAN總線是由德國 BOSCH公司為實現(xiàn)汽車測量和執(zhí)行部件之間的數(shù)據通信而設計的一種現(xiàn)場總線,是一種支持分布式控制及實時控制的串行通信網絡,CAN總線規(guī)范已成為國際標準。滿足對系統(tǒng)可靠性和靈活性要求較高的工業(yè)控制系統(tǒng)。發(fā)展主要表現(xiàn)為控制面向系統(tǒng)分散化和多元化,分散式工業(yè)控制為了適應這種要求得到了快速的發(fā)展,本文就CAN總線技術進行研究,并且設計實現(xiàn)了CAN總線在主從機之間的通信。
1 主從通信系統(tǒng)結構設計
STM32F103的CAN接口兼容規(guī)范2.0A和2.0B(主動),位速率高達1兆位/秒。它可以接收和發(fā)送11位標識符的標準幀,也可以接收和發(fā)送29位標識符的擴展幀。具有3個發(fā)送郵箱和2個接收FIFO,3級14個可調節(jié)的濾波器。適用于大數(shù)據量短距離通信或者長距離小數(shù)據量,實時性要求比較高,多主多從或者各個節(jié)點平等的現(xiàn)場中使用[3]。
利用CAN控制器把要發(fā)送的報文通過CAN_Tx線發(fā)送到CAN收發(fā)器,然后由收發(fā)器把這個邏輯電平信號轉化為差分信號,通過差分線CAN_High和CAN_Low線輸出到CAN總線網絡。在接受數(shù)據時,這個過程相反?;贑AN總線的主從通信系統(tǒng)的結構框圖如1所示。
2 主從通信系統(tǒng)軟件設計
CAN的中斷由發(fā)送中斷、接收FIFO中斷、錯誤中斷,接收FIFO中斷分為FIFO0和FIFO1的中斷,本實驗中使用的RX0中斷通道即為FIFO0中斷通道,當FIFO0S收到新報文時引起中斷,我們就在相應的中斷服務函數(shù)讀取這個新報文。程序執(zhí)行流程:主機開始啟動,初始化主機系統(tǒng)并且打包報文并且發(fā)送到CAN網絡,判斷是否接收到報文,如果是的話打印接收到的報文,主機結束,初始化從機設備判斷是否接收到報文,然后把接收到的報文通過串口打印,打開報文并且發(fā)送到CAN網絡。
3 系統(tǒng)調試結果
主機開始啟動,初始化主機系統(tǒng)并且打包報文內容:擴展ID號ExtId:0x1314數(shù)據段的內容為Data[0]=0xab,Data[1]= 0xcd并且發(fā)送到CAN網絡,判斷是否接收到報文,如果是的話打印接收到的報文,主機結束,初始化從機設備判斷是否接收到報文,然后把接收到的報文通過串口打印,打開報文內容:擴展ID號ExtId:0x131數(shù)據段的內容為Data[0]=0xdc,Data[1]=0xba并且發(fā)送到CAN網絡。從超級終端上可以顯示通信的結果如圖2所示。
4 結語
基于CAN總線技術的主從式通信系統(tǒng)具有很廣泛的應用需求,利用RX和TX電路與各模塊組通信,數(shù)據傳遞快,而且便于調整延時,數(shù)據通路單元清晰可見,采用時序分析設備可以直接對路徑進行約束,節(jié)省了開發(fā)成本,降低了后端設計的復雜度和成本。CAN總線技術在工業(yè)控制、車載、輪船、紡織以及智能家居系統(tǒng)中得到廣泛的應用。
參考文獻
[1]陸前鋒.肝CAN控制器SJA1000的智能高速控制系統(tǒng)設計[M].電子設計應用,2003: 4-5.
[2]張培仁,孫力.基于C語言C8051F系列微控制器原理與應用[M]北京:清華大學出版社,2007.65-66.
[3]王黎明,夏立,邵英.CAN現(xiàn)場總線系統(tǒng)的設計與應用[M].北京:電子工業(yè)出版社,2008(16):104-105.
收稿日期:2016-09-01
作者簡介:王濤(1988—),男,河南周口人,在讀研究生,研究方向:控制工程。