關(guān) 閉

新聞中心

EEPW首頁(yè) > 工控自動(dòng)化 > 設(shè)計(jì)應(yīng)用 > 基于SJA1000的CAN總線系統(tǒng)節(jié)點(diǎn)仿真平臺(tái)的實(shí)現(xiàn)

基于SJA1000的CAN總線系統(tǒng)節(jié)點(diǎn)仿真平臺(tái)的實(shí)現(xiàn)

作者: 時(shí)間:2009-09-17 來(lái)源:網(wǎng)絡(luò) 收藏
引言

控制器局域網(wǎng)(CoNtroller Area Network,),是德國(guó)Bosch 公司為汽車的監(jiān)控而設(shè)計(jì)的式串行通信網(wǎng)絡(luò),它具有良好的組網(wǎng)靈活性、開放性、擴(kuò)展性和兼容性,它的抗干擾、自診斷、自監(jiān)控和糾錯(cuò)能力強(qiáng),可靠性高,它的協(xié)議模型結(jié)構(gòu)簡(jiǎn)單,實(shí)時(shí)性好,性價(jià)比高,便于開發(fā),它是目前唯一有國(guó)際標(biāo)準(zhǔn)的現(xiàn)場(chǎng),它的應(yīng)用范圍已經(jīng)遠(yuǎn)遠(yuǎn)超出汽車監(jiān)控,它適用于許多領(lǐng)域中分布式自動(dòng)控制,如:工業(yè)過(guò)程控制和自動(dòng)化,智能結(jié)構(gòu)和分布管理等,成為很有推廣普及應(yīng)用潛力的現(xiàn)場(chǎng)

為便于總線在不同領(lǐng)域的推廣普及應(yīng)用,研制一種通用的總線系統(tǒng)基本組成單元DD,通過(guò)使研究開發(fā)CAN總線系統(tǒng)的成本和周期降低,這是很有實(shí)際應(yīng)用價(jià)值的。

選用Philips公司的芯片作為CAN控制器,它除了具有基本CANPCA82C200芯片標(biāo)準(zhǔn)模式的所有功能外,更增加了一種新的工作模式DPeliCAN模式,這種模式支持具有很多新特性的CAN2.0B協(xié)議,如:兼容性和擴(kuò)展性更強(qiáng),檢錯(cuò)和糾錯(cuò)能力更強(qiáng),支持熱插拔等,設(shè)計(jì)更方便靈活,而芯片價(jià)格低廉,很適合作通用的CAN總線系統(tǒng)仿真之用。

為了適應(yīng)多種不同領(lǐng)域的自動(dòng)控制系統(tǒng)仿真需要,可采用普通PC機(jī)作為各種不同的自動(dòng)控制系統(tǒng)的傳感器、執(zhí)行器和人機(jī)鍵控和顯示接口的仿真器,形成仿真平臺(tái),提高的通用性,靈活性和可擴(kuò)展性。通過(guò)仿真PC機(jī)可模擬各種不同應(yīng)用系統(tǒng)。

仿真平臺(tái)的硬件設(shè)計(jì)

所設(shè)計(jì)的CAN總線系統(tǒng)節(jié)點(diǎn)仿真平臺(tái)硬件系統(tǒng)框圖如圖1所示。

圖1CAN總線系統(tǒng)節(jié)點(diǎn)仿真平臺(tái)

總線系統(tǒng)采用價(jià)格低廉而安裝方便的雙絞線作為通信介質(zhì),將各節(jié)點(diǎn)聯(lián)接成網(wǎng)絡(luò)系統(tǒng)。每個(gè)節(jié)點(diǎn)由CAN控制器、CAN收發(fā)器、微處理器和仿真PC機(jī)四個(gè)功能模塊組成。

CAN控制器作為核心,執(zhí)行CAN協(xié)議,包括數(shù)據(jù)的成幀和解幀以及幀的收發(fā)等等。

由于的總線驅(qū)動(dòng)能力有限,它通過(guò)CAN收發(fā)器PCA82C250芯片與物理總線聯(lián)接起來(lái)。CAN收發(fā)器將來(lái)自CAN控制器的邏輯電平信號(hào)轉(zhuǎn)換成適合在CAN總線上傳輸且能被CAN收發(fā)器接收的邏輯電平信號(hào),起到抗瞬間干擾和射頻干擾,增大通信距離和保護(hù)總線等作用;為了進(jìn)一步增強(qiáng)抗干擾能力,在SJA1000與PCA82C250之間,可用高速光電耦合器6N137總線上各CAN節(jié)點(diǎn)間的電平隔離。

CAN控制器和收發(fā)器配合完成CAN協(xié)議中物理層和數(shù)據(jù)鏈路層的通信協(xié)議功能。微處理器89C51控制SJA1000的功能,包括初始化和監(jiān)控管理,數(shù)據(jù)的收發(fā)通信,執(zhí)行應(yīng)用層功能。

仿真PC機(jī)通過(guò)串口芯片MAX232與微處理器之間的電平轉(zhuǎn)換和通信,從而實(shí)現(xiàn)與CAN總線通信。PC機(jī)可作為各種不同的自動(dòng)控制系統(tǒng)的傳感器、執(zhí)行器和人機(jī)鍵控和顯示接口的仿真器,形成仿真平臺(tái),提高節(jié)點(diǎn)的通用性,靈活性和可擴(kuò)展性。通過(guò)仿真PC機(jī)可模擬各種不同的應(yīng)用系統(tǒng)。

仿真平臺(tái)的軟件設(shè)計(jì)(圖2)

軟件設(shè)計(jì)主要是對(duì)微處理器進(jìn)行應(yīng)用編程,實(shí)現(xiàn)SJA1000的初始化(包括工作模式、濾波器、中斷使能寄存器等初始值的設(shè)置),監(jiān)控管理和鍵控顯示。微處理器采用中斷工作模式,使響應(yīng)速度提高,支持系統(tǒng)實(shí)時(shí)性。中斷流程如圖2。

圖2 中斷流程圖

軟件設(shè)計(jì)的核心是微處理器與CAN控制器之間的數(shù)據(jù)通信。最終實(shí)現(xiàn)CAN網(wǎng)絡(luò)節(jié)點(diǎn)間的數(shù)據(jù)通信。編程采用模塊化方式,方便修改、升級(jí)和調(diào)試,支持系統(tǒng)靈活性、開放性和可擴(kuò)展性。

小結(jié)

本文的SJA1000的CAN總線系統(tǒng)節(jié)點(diǎn)仿真平臺(tái),經(jīng)測(cè)試得,可實(shí)現(xiàn)兩個(gè)節(jié)點(diǎn)間的數(shù)據(jù)正確的發(fā)送和接收,并實(shí)現(xiàn)了節(jié)點(diǎn)和仿真PC機(jī)之間的通信以及鍵控輸入、數(shù)據(jù)顯示等功能。它的硬件結(jié)構(gòu)簡(jiǎn)單價(jià)廉,軟件靈活,易修改、升級(jí)和進(jìn)一步組網(wǎng)等的開發(fā),通過(guò)仿真PC機(jī)可模擬各種不同應(yīng)用系統(tǒng)。通過(guò)仿真使研究開發(fā)CAN總線系統(tǒng)的成本和周期降低,該仿真平臺(tái)為CAN總線系統(tǒng)在汽車及其它多種不同領(lǐng)域的自動(dòng)控制系統(tǒng)中推廣應(yīng)用,提供了方便的研究開發(fā)條件,為CAN的普及和提高提供了有益的參考實(shí)例。


評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉