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