1 引言 控制器局域網(CoNtrollerAreaNetwork,CAN),是德國Bosch公司為汽車的監控系統而設計的總線式串行通信網絡,它具有良好的組網靈活性、開放性、擴展性和兼容性,它的抗干擾、自診斷、自監控和糾錯能力強,可靠性高,它的協議模型結構簡單,實時性好,性價比高,便于開發,它是目前唯一有國際標準的現場總線,它的應用范圍已經遠遠超出汽車監控系統,它適用于許多領域中分布式自動控制系統,如:工業過程控制和自動化,智能結構和分布管理等,成為很有推廣普及應用潛力的現場總線。 為便于CAN總線在不同領域的推廣普及應用,研制一種通用的CAN總線系統基本組成單元――節點的仿真平臺,通過仿真使研究開發CAN總線系統的成本和周期降低,這是很有實際應用價值的。 本仿真平臺選用Philips公司的SJA1000芯片作為CAN控制器,它除了具有基本CANPCA82C200芯片標準模式的所有功能外,更增加了一種新的工作模式―PeliCAN模式,這種模式支持具有很多新特性的CAN2。0B協議,如:兼容性和擴展性更強,檢錯和糾錯能力更強,支持熱插拔等,設計更方便靈活,而芯片價格低廉,很適合作通用的CAN總線系統節點仿真平臺之用。 為了適應多種不同領域的自動控制系統仿真需要,可采用普通PC機作為各種不同的自動控制系統的傳感器、執行器和人機鍵控和顯示接口的仿真器,形成仿真平臺,提高節點的通用性,靈活性和可擴展性。通過仿真PC機可模擬各種不同應用系統。 2 仿真平臺的硬件設計 所設計的CAN總線系統節點仿真平臺硬件系統框圖如圖1所示。 圖1CAN總線系統節點仿真平臺 總線系統采用價格低廉而安裝方便的雙絞線作為通信介質,將各節點聯接成網絡系統。每個節點由CAN控制器、CAN收發器、微處理器和仿真PC機四個功能模塊組成。 CAN控制器SJA1000作為核心,執行CAN協議,包括數據的成幀和解幀以及幀的收發等等。 由于SJA1000的總線驅動能力有限,它通過CAN收發器PCA82C250芯片與物理總線聯接起來。CAN收發器將來自CAN控制器的邏輯電平信號轉換成適合在CAN總線上傳輸且能被CAN收發器接收的邏輯電平信號,起到抗瞬間干擾和射頻干擾,增大通信距離和保護總線等作用;為了進一步增強抗干擾能力,在SJA1000與PCA82C250之間,可用高速光電耦合器6N137實現總線上各CAN節點間的電平隔離。 CAN控制器和收發器配合完成CAN協議中物理層和數據鏈路層的通信協議功能。微處理器89C51控制SJA1000的功能,包括初始化和監控管理,實現數據的收發通信,執行應用層功能。 仿真PC機通過串口芯片MAX232實現與微處理器之間的電平轉換和通信,從而實現與CAN總線通信。PC機可作為各種不同的自動控制系統的傳感器、執行器和人機鍵控和顯示接口的仿真器,形成仿真平臺,提高節點的通用性,靈活性和可擴展性。通過仿真PC機可模擬各種不同的應用系統。 3 仿真平臺的軟件設計 軟件設計主要是對微處理器進行應用編程,實現SJA1000的初始化(包括工作模式、濾波器、中斷使能寄存器等初始值的設置),監控管理和鍵控顯示。微處理器采用中斷工作模式,使響應速度提高,支持系統實時性。中斷流程如圖2。 圖2中斷流程圖 軟件設計的核心是微處理器與CAN控制器之間的數據通信。最終實現CAN網絡節點間的數據通信。編程采用模塊化方式,方便修改、升級和調試,支持系統靈活性、開放性和可擴展性。 4 小結 本文的基于SJA1000的CAN總線系統節點仿真平臺,經測試得,可實現兩個節點間的數據正確的發送和接收,并實現了節點和仿真PC機之間的通信以及鍵控輸入、數據顯示等功能。它的硬件結構簡單價廉,軟件靈活,易修改、升級和進一步組網等的開發,通過仿真PC機可模擬各種不同應用系統。通過仿真使研究開發CAN總線系統的成本和周期降低,該仿真平臺為CAN總線系統在汽車及其它多種不同領域的自動控制系統中推廣應用,提供了方便的研究開發條件,為CAN的普及和提高提供了有益的參考實例。 |