摘 要:CAN總線作為一種優(yōu)秀的現(xiàn)場(chǎng)總線已成為構(gòu)建現(xiàn)代監(jiān)測(cè)網(wǎng)絡(luò)的重要通信平臺(tái)之一,而作為各設(shè)備之間通信橋梁的接口卡,顯得更為重要。本文介紹一種基于CAN總線的智能接口卡的設(shè)計(jì)方法,給出了一個(gè)利用PHILIPS公司的CAN器件實(shí)現(xiàn)的接口卡原理框圖,并闡述了接口卡程序的編制方法。
關(guān)鍵詞:現(xiàn)場(chǎng)監(jiān)測(cè)網(wǎng)絡(luò) 現(xiàn)場(chǎng)總線 CAN總線 可編程邏輯器件
1 引言
隨著工業(yè)測(cè)控技術(shù)的發(fā)展,各種現(xiàn)場(chǎng)總線(FF、Lonwork、Profibus、CAN等)技術(shù)的研究也成為熱門課題。CAN(Controller Area Network)即控制器局域網(wǎng)絡(luò),最初是由德國(guó)Bosch公司為解決現(xiàn)代汽車中眾多的控制與測(cè)試儀器之間的數(shù)據(jù)交換而開發(fā)的一種串行數(shù)據(jù)通信總線,是現(xiàn)場(chǎng)總線技術(shù)中最成熟、最有發(fā)展前途的微處理器局部網(wǎng)絡(luò),較之FF、Lonwork、Profibus等現(xiàn)場(chǎng)總線,CAN在國(guó)內(nèi)外工業(yè)測(cè)控領(lǐng)域的應(yīng)用更加廣泛。CAN總線接口器件的性價(jià)比高,應(yīng)用系統(tǒng)的開發(fā)難度小。CAN測(cè)控網(wǎng)絡(luò)的原理結(jié)構(gòu)如圖1所示。在系統(tǒng)實(shí)現(xiàn)時(shí),由于接口卡的重要作用,因此,設(shè)計(jì)CAN總線的接口卡并編制相應(yīng)的接口驅(qū)動(dòng)程序是非常必要的。本文根據(jù)筆者的體會(huì)淺談一下基于CAN總線的智能接口卡的設(shè)計(jì)思想。
圖1 CAN總線監(jiān)測(cè)網(wǎng)絡(luò)原理結(jié)構(gòu)圖
2 CAN總線接口電路設(shè)計(jì)
2.1 CAN總線的體系結(jié)構(gòu)
CAN協(xié)議是一種串行數(shù)據(jù)通信協(xié)議。它可以非常有效地構(gòu)成分布式實(shí)時(shí)監(jiān)測(cè)、控制系統(tǒng)。CAN總線規(guī)范規(guī)定任意兩個(gè)CAN節(jié)點(diǎn)之間的兼容性,包括電氣特性及數(shù)據(jù)解釋協(xié)議,它采用ISO-OPSI中的三層網(wǎng)絡(luò)結(jié)構(gòu)――物理層、數(shù)據(jù)鏈路層和應(yīng)用層。其中應(yīng)用層可能包含了除物理層、數(shù)據(jù)鏈路層外其余四層的某些功能,它具有簡(jiǎn)化的網(wǎng)絡(luò)結(jié)構(gòu)。CAN總線的體系結(jié)構(gòu)如圖2所示。
圖2 CAN總線的體系結(jié)構(gòu)如圖
2.2 CAN總線的接口器件
CAN總線芯片有系列化的產(chǎn)品,大體可分為:
⑴獨(dú)立的CAN控制器件
82C200:PHILIPS公司生產(chǎn),通過(guò)并行總線與各種CPU接口;
82527:INTEL公司生產(chǎn),通過(guò)并行總線與各種CPU接口,也可通過(guò)串行總線與無(wú)并行總線的各種CPU接口。
⑵CAN物理總線接口器件
82C250:PHILIPS公司生產(chǎn),可提供對(duì)總線的差動(dòng)發(fā)送和差動(dòng)接收功能。
⑶含CAN總線模塊的CPU器件
8xC592: PHILIPS公司生產(chǎn),帶CAN控制器;
M68HC05:MOTOROLA公司生產(chǎn),帶CAN控制器。下面我們主要介紹80C592、 82C250。
2.2.1 CAN總線收發(fā)器82C250
PCA82C250提供對(duì)物理總線的符合CAN電氣協(xié)議的差動(dòng)發(fā)送和接收功能,另外,它具有的電流限制電路,還提供了對(duì)總線的進(jìn)一步的保護(hù)功能。通過(guò)82C250與物理總線進(jìn)行連接,可使總線支持多達(dá)110個(gè)節(jié)點(diǎn)的掛接。圖3給出了PCA82C250的功能方框圖。
圖3 82C250的功能方框圖
2.2.2 CAN總線控制器80C592
80C592是PHILIPS公司在單片機(jī)80C51中集成了CAN總線控制器的微處理器芯片。
該片功能強(qiáng),使用方便。80C592內(nèi)部CAN控制器結(jié)構(gòu)如圖4所示。
圖4 80C592內(nèi)CAN控制器結(jié)構(gòu)圖
2.3 PC-CAN總線接口卡的設(shè)計(jì)
PC-CAN總線接口卡是基于CAN總線的ISA總線擴(kuò)展卡,其上有CAN接口和ISA擴(kuò)展口,主要功能有:
⑴將PC機(jī)的數(shù)據(jù)和控制參數(shù)傳送給指定的CAN網(wǎng)絡(luò)節(jié)點(diǎn);
⑵將CAN網(wǎng)絡(luò)節(jié)點(diǎn)的數(shù)據(jù)傳送給PC機(jī);
⑶完成對(duì)CAN總線上的節(jié)點(diǎn)的部分監(jiān)控和管理。圖5給出了 PC-CAN總線接口卡硬件結(jié)構(gòu)圖。
圖5 PC-CAN總線接口卡硬件結(jié)構(gòu)圖
2.4 PC-CAN總線接口卡的軟件設(shè)計(jì)
軟件采用模塊化設(shè)計(jì),以簡(jiǎn)化CPU的操作,提高程序的執(zhí)行效率。其主要完成以下功能:
系統(tǒng)初始化、CAN數(shù)據(jù)傳輸、CAN中斷、緩沖區(qū)管理、狀態(tài)檢測(cè)、共享存儲(chǔ)器讀寫、應(yīng)急數(shù)據(jù)處理等。PC-CAN總線接口卡初始化流程如圖6所示。
圖6 PC-CAN總線接口卡初始化流程圖
3 結(jié)束語(yǔ)
國(guó)內(nèi)外的大量資料表明(特別是CAN網(wǎng)絡(luò)的優(yōu)秀的可靠性和實(shí)時(shí)性),CAN總線已成為現(xiàn)場(chǎng)總線領(lǐng)域很有發(fā)展前途的一種通信技術(shù),基于CAN總線的現(xiàn)場(chǎng)監(jiān)測(cè)網(wǎng)絡(luò)已在多種工控領(lǐng)域取得了廣泛而成功的應(yīng)用。對(duì)于CAN總線監(jiān)測(cè)網(wǎng)絡(luò)的構(gòu)建,本文僅介紹了一種具有實(shí)際應(yīng)用參考價(jià)值的接口卡的設(shè)計(jì)方法,在系統(tǒng)實(shí)現(xiàn)時(shí),還需考慮各模塊間的接地、屏蔽等諸多問(wèn)題。





