1 CAN總線介紹
控制器局域網絡(Controller Area Network,CAN)是一種串行多主站控制器局域網總線。它具有很高的網絡安全性、通信可靠性和實時性,而且簡單實用,網絡成本低,特別適用于環境溫度惡劣、電磁輻射強和振動大的工業環境。CAN總線可有效支持分布式控制或實時控制。該總線的通信介質可以是雙絞線、同軸電纜或光纖。其主要特點如下:
(1)CAN總線為多主站總線,各節點可在任意時刻向網絡上的其他節點發送信息,且不分主從;
(2)CAN總線采用獨特的非破壞性總線仲裁技術,高優先級節點優先傳送數據,故實時性好;
(3)CAN總線具有點對點、一點對多點及全局廣播傳送數據的功能;
(4)CAN總線采用短幀結構,每幀有效字節數最多為8個,數據傳輸時間短,并有CRC及其他校驗措施,數據出錯率極低;
(5)CAN總線上某一節點出現嚴重錯誤時,可自動脫離總線,而總線上的其他操作不受影響;
(6)CAN總線系統擴充時,可直接將新節點掛在總線上,因而走線少,系統擴充容易,改型靈活;
(7)CAN總線的最大傳輸速率可達1Mb/s,直接通信距離最遠可達10 km(速率在5 Kb/s以下);
(8)CAN總線上的節點數取決于總線驅動電路,在標準幀(11位報文標識符)時,可達到110個,而在擴展幀(29位報文標識符)時,個數不受限。
2 單片機與數字信號處理器CAN通信系統接口電路設計
單片機與數字信號處理器種類較多,在研究其通信系統時,以廣泛使用的MCS-51單片機以及適于運動控制的美國德州儀器(TI)公司TMS320LF2407為例進行研究。
2.1 單片機通信系統接口電路設計
MCS-51單片機組成CAN通信系統需要擴展CAN控制器,本系統采用的CAN控制器是SJA1000。SJA1000是PHILIPS公司生產的既支持CAN 2.0B,又支持CAN 2.0A的CAN控制器。與SJA1000配套使用的CAN總線驅動器是PCA82C250,它是PHILIPS推出的CAN控制器和物理總線接口芯片,可提供對總線的差分發送和接收。CAN模塊總線控制器、總線驅動器連接基本方法如圖1所示。為增強CAN總線節點的抗干擾能力,SJA1000通過高速光耦6N137后與PCA82C250相連,這樣就能很好地實現本系統與CAN總線的電氣隔離。電源的隔離采用小功率電源隔離模塊。這些部分雖然增加了接口電路的復雜性,但是卻提高了系統的穩定性和安全性。