基于WINCE的CAN驅動的研究與實現(xiàn)
1 引言
CAN,全稱為“Controller Area Network”,即控制器局域網,是國際上應用最廣泛的現(xiàn)場總線之一。最初,CAN被設計作為汽車環(huán)境中的微控制器通訊,在車載電子控制裝置ECU之間交換信息,形成汽車電子控制網絡。比如:發(fā)動機管理系統(tǒng)、變速箱控制器、儀表裝備、電子主干系統(tǒng)中,均嵌入CAN控制裝置。
一個由CAN 總線構成的單一網絡中,理論上可以掛接無數個節(jié)點。實際應用中,節(jié)點數目受網絡硬件的電氣特性所限制。例如,當使用Philips P82C250作為CAN收發(fā)器時,同一網絡中允許掛接110個節(jié)點。CAN 可提供高達1Mbit/s的數據傳輸速率,這使實時控制變得非常容易。另外,硬件的錯誤檢查特性也增強了CAN的抗電磁干擾能力。
CAN具有十分優(yōu)越的特點,使人們樂于選擇。這些特性包括:
(1)低成本,極高的總線利用率。
(2)很遠的數據傳輸距離(長達10Km),高速的數據傳輸速率(高達1Mbit/s)。
(3)可靠的錯誤處理和檢錯機制;發(fā)送的信息遭到破壞后,可自動重發(fā)。
(4)節(jié)點在錯誤嚴重的情況下具有自動退出總線的功能。
因此,實現(xiàn)符合工業(yè)標準的嵌入式CAN總線驅動具有非常重大的現(xiàn)實意義和研究價值。
2 CAN總線協(xié)議
CAN總線協(xié)議棧,按下圖分層為:
1、CAN卡內已經實現(xiàn)了CAN協(xié)議層。對于具體的某個智能模塊設備,雖然通訊協(xié)議層都采用CAN協(xié)議層,但應用層還不一致,所以還需要對具體的設備進行特定的驅動開發(fā)。
2、CAN協(xié)議層并不能保證數據可靠的傳輸,所以對具體的設備進行驅動開發(fā)時要注意對協(xié)議數據進行檢查。
3、MCGS應用CAN總線,對應也分為3層,對應關系如上圖所示。子設備協(xié)議完成應用層協(xié)議,父設備完成CAN協(xié)議層。
4、從上圖可以看出,父設備完成CAN協(xié)議層,封裝了CAN控制器(MCP2515、SJA1000),并提供上層子設備協(xié)議層接口。
3 應用模式
第一種,主從模式:
在此模式中,只有1個主機(TPC)會輪詢采集數據,或發(fā)送設備命令;其它設備(CAN設備)不會主動發(fā)送數據,只是被動響應。此模式應用比較多,但對子設備有要求:子設備(CAN設備)不會主動發(fā)送數據。
第二種,分布模式:上面的主從模式對子設備造成了限制,網絡如果更復雜限制就會更多。本來CAN總線網就是分布實時控制網絡,所以就應該設計成分布模式。該方式對子設備沒有要求,但對子設備(CAN設備)開發(fā)驅動有所要求,要求子設備按自己的協(xié)議做,不能假設任何情況。這要求開發(fā)驅動的人員深入了解CAN 總線協(xié)議的數據幀和遠程幀。
相關推薦
-
beibeidong | 2008-03-18
-
-
-
jobs | 2014-01-18
-
-
-
-
呼啦呼啦 | 2009-03-02
-
-
Hugo801122 | 2014-03-21
-
-
-
-
halibote523 | 2010-12-01
-
評論