




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、基于CAN總線的工業(yè)通訊網(wǎng)絡(luò)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)楊智偉1,孫明21 北京郵電大學(xué)自動化系 北京 (100876)2 北京青云航空儀表有限公司 北京 (100086)E-mail:yang.zhiwei摘 要:CAN(Controller Area Network)總線是一種使用CAN 協(xié)議的串行通信網(wǎng)絡(luò)。Silicon Laboratories公司的單片機(jī)C8051F040是完全集成的混合信號系統(tǒng)級芯片,而且內(nèi)部集成了CAN控制器。文中采用CAN總線,設(shè)計(jì)并實(shí)現(xiàn)了一種穩(wěn)定可靠的工業(yè)通訊網(wǎng)絡(luò)系統(tǒng)。 關(guān)鍵詞:工業(yè)控制;CAN總線;RS2321. 引 言隨著計(jì)算機(jī)硬件、軟件技術(shù)及集成電路技術(shù)的迅速發(fā)展,
2、工業(yè)控制系統(tǒng)已成為計(jì)算機(jī)技術(shù)應(yīng)用領(lǐng)域中最具活力的一個(gè)分支,并取得了巨大進(jìn)步。由于對系統(tǒng)可靠性和靈活性的高要求,工業(yè)控制系統(tǒng)的發(fā)展主要表現(xiàn)為:控制面向多元化,系統(tǒng)面向分散化,即負(fù)載分散、功能分散、危險(xiǎn)分散和地域分散。 典型的分散式控制系統(tǒng)由現(xiàn)場設(shè)備、接口與計(jì)算設(shè)備以及通信設(shè)備組成?,F(xiàn)場總線(FIELDBUS)能同時(shí)滿足過程控制和制造業(yè)自動化的需要,因而現(xiàn)場總線已成為工業(yè)數(shù)據(jù)總線領(lǐng)域中最為活躍的一個(gè)領(lǐng)域?,F(xiàn)場總線的研究與應(yīng)用已成為工業(yè)數(shù)據(jù)總線領(lǐng)域的熱點(diǎn)。盡管目前對現(xiàn)場總線的研究尚未能提出一個(gè)完善的標(biāo)準(zhǔn),但現(xiàn)場總線的高性能價(jià)格比將吸引眾多工業(yè)控制系統(tǒng)采用。同時(shí),正由于現(xiàn)場總線的標(biāo)準(zhǔn)尚未統(tǒng)一,也使得現(xiàn)
3、場總線的應(yīng)用得以不拘一格地發(fā)揮,并將為現(xiàn)場總線的完善提供更加豐富的依據(jù)??刂破骶植烤W(wǎng) CAN(Controller Area Network)正是在這種背景下應(yīng)運(yùn)而生的。CAN具有十分優(yōu)越的特點(diǎn),使人們樂于選擇,這些特性包括:低成本、極高的總線利用率、很遠(yuǎn)的數(shù)據(jù)傳輸距離(10Km)、高速的數(shù)據(jù)傳輸效率(1Mbit/s)、可根據(jù)報(bào)文的ID決定接收或屏蔽該報(bào)文、可靠的錯誤處理和檢錯機(jī)制、發(fā)送的信息遭到破壞以后,可自動重發(fā)、節(jié)點(diǎn)在錯誤嚴(yán)重的情況下具有自動退出總線的功能、報(bào)文不含源地址和目標(biāo)地址,僅用標(biāo)識符來指示功能信息和優(yōu)先級信息。2. CAN總線概述控制器局部網(wǎng)(CANController Are
4、a Network)是BOSCH公司為現(xiàn)代汽車應(yīng)用領(lǐng)先推出的一種多主機(jī)局部網(wǎng),由于其卓越性能現(xiàn)已廣泛應(yīng)用于工業(yè)自動化、多種控制設(shè)備、交通工具、醫(yī)療儀器以及建筑、環(huán)境控制等眾多部門??刂破骶植烤W(wǎng)將在我國迅速普及推廣。2.1 CAN總線特點(diǎn)CAN總線是一種多主總線,通信介質(zhì)可以是雙絞線、同軸電纜或光導(dǎo)纖維。通信速率可達(dá)1MBPS。CAN總線通信接口中集成了CAN協(xié)議的物理層和數(shù)據(jù)鏈路層功能,可完成對通信數(shù)據(jù)的成幀處理,包括位填充、數(shù)據(jù)塊編碼、循環(huán)冗余檢驗(yàn)、優(yōu)先級判別等項(xiàng)工作。CAN協(xié)議的一個(gè)最大特點(diǎn)是廢除了傳統(tǒng)的站地址編碼,而代之以對通信數(shù)據(jù)塊進(jìn)行編碼。采用這種方法的優(yōu)點(diǎn)可使網(wǎng)絡(luò)內(nèi)的節(jié)點(diǎn)個(gè)數(shù)在理論
5、上不受限制,數(shù)據(jù)塊的標(biāo)識碼可由11位或29位二進(jìn)制數(shù)組成,因此可以定義211或229個(gè)不同的數(shù)據(jù)塊,這種按數(shù)據(jù)塊編碼的方式,還可使不同的節(jié)點(diǎn)同時(shí)接收到相同的數(shù)據(jù),這一點(diǎn)在分布式控制系統(tǒng)中非常有用。 - 1 -另外,CAN總線采用了多主競爭式總線結(jié)構(gòu),具有多主站運(yùn)行和分散仲裁的串行總線以及廣播通信的特點(diǎn)。CAN總線上任意節(jié)點(diǎn)可在任意時(shí)刻主動地向網(wǎng)絡(luò)上其它節(jié)點(diǎn)發(fā)送信息而不分主次,因此可在各節(jié)點(diǎn)之間實(shí)現(xiàn)自由通信。CAN總線協(xié)議已被國際標(biāo)準(zhǔn)化組織認(rèn)證,技術(shù)比較成熟,控制的芯片已經(jīng)商品化,性價(jià)比高,特別適用于分布式測控系統(tǒng)之間的數(shù)通訊。CAN總線插卡可以任意插在PC AT XT兼容機(jī)上,方便地構(gòu)成分布式
6、監(jiān)控系統(tǒng)。22.2 C8051F040 CAN控制器構(gòu)成C8051F040 內(nèi)部集成CAN控制器是Bosch全功能CAN模塊的完全實(shí)現(xiàn),完全符合CAN規(guī)范2.0B。此CAN控制器由以下幾部分構(gòu)成:CAN內(nèi)核、報(bào)文RAM(與C8051 RAM相互獨(dú)立)、報(bào)文處理狀態(tài)機(jī)制和CAN控制寄存器。CIP-51可以通過特殊功能寄存器直接或間接訪問CAN控制器中的CAN控制寄存器(CAN0CN)、CAN測試寄存器(CAN0TST)和CAN狀態(tài)寄存器(CAN0STA),所有其它的寄存器只能通過CAN0ADR、CAN0DATH和CAN0DATL 寄存器以地址索引的方式間接訪問。2.3 CAN 控制器應(yīng)用時(shí)寄存器
7、配置報(bào)文對象初始化處理是在控制器復(fù)位后,CPU對Init清0以前,需要將各個(gè)不使用的消息對象MsgVal清0,再對程序中使用的消息對象初始化。這些操作均在Init清0以前完成。報(bào)文對象的配置是通過相應(yīng)的接口寄存器來設(shè)置其屏蔽碼、仲裁場、控制場和數(shù)據(jù)場值,而這一設(shè)置過程由相應(yīng)的IFX命令請求寄存器來完成。當(dāng)CAN控制寄存器中的Init位清零,CAN 內(nèi)核中的CAN協(xié)議控制器狀態(tài)機(jī)制和報(bào)文處理狀態(tài)機(jī)制將控制C_CAN的內(nèi)部數(shù)據(jù)流。接收到的報(bào)文通過接收濾波后都存放在報(bào)文RAM中。發(fā)送對象的配置是當(dāng)報(bào)文對象作為發(fā)送對象時(shí),仲裁寄存器(ID28-0和Xtd位)將被應(yīng)用,它們定義了即將發(fā)送的報(bào)文識別符和類
8、型,如果使用11位識別符(標(biāo)準(zhǔn)幀),那么使用的是ID28ID18,而ID17ID0將被忽視。如果TxIE 位被置位,則IntPnd 位在此報(bào)文對象被成功發(fā)送后被置位;如果RmtEn位被置位,在接收到匹配的遠(yuǎn)程幀將引起TxRqst位被置位,也就是說該消息對象能夠響應(yīng)其它節(jié)點(diǎn)的遠(yuǎn)程楨請求。3. 通訊網(wǎng)絡(luò)系統(tǒng)的硬件電路實(shí)現(xiàn)通訊網(wǎng)絡(luò)系統(tǒng)的主要功能是完成各個(gè)控制器間以及站點(diǎn)和上位機(jī)之間的信息傳遞??刂破饔兄髡竞妥诱緝煞N,主站和子站通過網(wǎng)絡(luò)通訊卡聯(lián)接成環(huán)形網(wǎng)絡(luò)。子站的信息可以通過網(wǎng)絡(luò)通訊卡傳遞給主站,上位機(jī)通過主站上的網(wǎng)絡(luò)通訊卡接收全部網(wǎng)絡(luò)的信息。CAN 總線一般用在工業(yè)檢測和控制現(xiàn)場,它將各功能模塊連接
9、在一起組成一個(gè)現(xiàn)場級通信網(wǎng)絡(luò)。在本應(yīng)用中,網(wǎng)絡(luò)通訊卡通過雙絞線聯(lián)接成環(huán)狀網(wǎng)絡(luò),網(wǎng)絡(luò)通訊卡之間采用CAN2.0B進(jìn)行通訊。設(shè)計(jì)應(yīng)考慮到工業(yè)現(xiàn)場環(huán)境因素比較復(fù)雜且各個(gè)控制器之間距離較為遙遠(yuǎn),為了防止現(xiàn)場CAN總線短路后燒組件,必須進(jìn)行短路保護(hù)設(shè)計(jì)。為保證控制器系統(tǒng)的可靠性,網(wǎng)絡(luò)通訊卡的CAN通訊與控制器24V電源之間必須是隔離的。網(wǎng)絡(luò)通訊卡與 - 2 -圖1 網(wǎng)絡(luò)通訊卡原理框圖網(wǎng)絡(luò)通訊卡的CPU選用C8051F040。C8051F040單片機(jī)具有與8051指令集完全兼容的CIP-51內(nèi)核。它在一塊芯片上集成了構(gòu)成一個(gè)單片機(jī)數(shù)據(jù)采樣或控制系統(tǒng)所需要的幾乎所有模擬和數(shù)字外設(shè)及其它功能部件。它具有64K
10、B Flash、4352B RAM、CAN控制器2.0、2個(gè)串行接口、5個(gè)16位定時(shí)器、12位A/D轉(zhuǎn)換器、8位A/D轉(zhuǎn)換器及12位D/A轉(zhuǎn)換器等,它內(nèi)部還帶有JTAG接口,使調(diào)試變得非常方便。C8051F040內(nèi)部集成的CAN控制器為Bosch CAN控制器。此CAN控制器有以下幾部分構(gòu)成:CAN內(nèi)核、報(bào)文RAM(與C8051 RAM相互獨(dú)立)、報(bào)文處理狀態(tài)機(jī)制和CAN控制寄存器3。由于Silicon Laboratories內(nèi)部的CAN控制器只是個(gè)協(xié)議控制器,不能提供物理層驅(qū)動,所以在使用時(shí)還需外加CAN總線驅(qū)動器,本應(yīng)用中使用的是P82C250T。為了進(jìn)一步提高系統(tǒng)的抗干擾能力,在CAN
11、控制器引腳CANTX、CANRX和收發(fā)器P82C250T之間并不是直接相連,而是通過由高速光耦6N137構(gòu)成的隔離電路后再與P82C250T相連,同時(shí)采用TVS管和壓敏電阻和磁性元件等對干擾進(jìn)行抑制,這樣就可以很好的實(shí)現(xiàn)總線上各節(jié)點(diǎn)的電氣隔離。與上位機(jī)的COM2之間采用MAX202E進(jìn)行電平轉(zhuǎn)換,并且與COM2之間也是全隔離設(shè)計(jì)。這部分增加了節(jié)點(diǎn)的復(fù)雜性,但它卻提高了節(jié)點(diǎn)的穩(wěn)定性和安全性。系統(tǒng)的電源采用電源模塊WRB240505S,該模塊是DC/DC、寬輸入電壓(18V-36V)、雙路輸出的隔離電源模塊。采用可恢復(fù)保險(xiǎn)絲R030對總線進(jìn)行短路保護(hù)。網(wǎng)絡(luò)通訊卡的原理圖如圖2所示。- 3 - 4
12、-圖2 網(wǎng)絡(luò)通訊卡的原理圖CAN通信部分主要完成的任務(wù)是:將現(xiàn)場檢測到的數(shù)據(jù)傳送給上位機(jī)或其它的下位機(jī)節(jié)點(diǎn);同時(shí),上位機(jī)可以對下位機(jī)的相關(guān)參考進(jìn)行設(shè)置,即下位機(jī)還須接收一定量的數(shù)據(jù)。由此可知,此節(jié)點(diǎn)的CAN通信主要包括系統(tǒng)初始化程序、發(fā)送程序、接收程序等4。在本例中,系統(tǒng)軟件采用結(jié)構(gòu)化程序設(shè)計(jì)方案,使其具有較好的模塊性和可移植性,對于不同的系統(tǒng)功能或不同的應(yīng)用環(huán)境,可以方便地進(jìn)行編程重組。軟件流程圖入下圖所示。初始化程序主要完成對所有的報(bào)文對象進(jìn)行初始化(一般將所有值置零),對CAN控制寄存器(CAN0CN)、位定時(shí)寄存器(BITREG)進(jìn)行設(shè)置,還要對發(fā)送報(bào)文對象和接收報(bào)文對象分別進(jìn)行初始化
13、。其中,位定時(shí)寄存器的設(shè)置較為復(fù)雜,這里我們使用外部晶振為8MHz,CAN通信速率為500k/s,得到BITREG的初始值為0x2301。主程序中規(guī)定對象初始化、發(fā)送和接收初始化,最后才啟動CAN處理機(jī)制(對BITREG和CAN0CN初始化),下面為CAN啟動程序:void start_CAN(void)SFPRAGE=CAN0_PAGE; /*指向CAN0頁面*/CAN0CN|=0x41; /*將CCE和Init置“1”開始初始化*/CAN0ADR=BITREG; /*指向位定時(shí)寄存器進(jìn)行配置*/CAN0DAT=0x2301; /*位率為500k/s*/CAN0CN|=0x06; /*允許全
14、局中斷,IE和Sie置位*/CAN0CN &=0x41; /*清楚CCE和INIT位,啟動CAN狀態(tài)機(jī)制*/CAN報(bào)文發(fā)送是由CAN控制器自動完成的,用戶只需根據(jù)接收到的遠(yuǎn)程幀的識別符,將對應(yīng)的數(shù)據(jù)轉(zhuǎn)移到發(fā)送緩沖寄存器,然后將此報(bào)文對象的編碼寫入命令請求寄存器啟動發(fā)送即可,而發(fā)送由硬件來完成。這里,我們使用定時(shí)更新發(fā)送報(bào)文對象中的數(shù)據(jù),數(shù)據(jù)的發(fā)送有控制器自動完成,當(dāng)其收到一個(gè)遠(yuǎn)程幀時(shí),就將具有相同識別符的數(shù)據(jù)幀發(fā)送出去。其發(fā)送程序結(jié)構(gòu)如下:Void transmit_message(char MsgNum)SFRPAGE=CAN0_PAGE; /*指向CAN0頁面*/CAN0ADR=I
15、F1CMDMSK;CAN0DAT=0X0083;CAN0ADR=IF1ARB2; /*指向IF1仲裁寄存器2*/CAN0DATH|=0x80;CAN0ADR=IF1DATA1; /*指向數(shù)據(jù)場的第一個(gè)字節(jié)*/for(i=0;i<4;i+)CAN0DAT=can_tempi; /*將4字節(jié)數(shù)據(jù)寫入發(fā)送緩沖器*/CAN0ADR=IF1CMDRQST;CAN0DATL=MsgNum; /*將報(bào)文對象編號寫入*/CAN報(bào)文的接收與發(fā)送一樣,是由CAN控制器自動完成的,接收程序只需從接收緩存 - 5 -/*向IF1命令屏蔽寄存器寫入命令*/void receive_data(void)SFRPAG
16、E=CAN0_PAGE; /*指向CAN0頁面*/CAN0ADR=IF1CMDMSK;CAN0DAT=0X0083;CAN0ADR=IF1ARB2; /*指向IF1仲裁寄存器2*/CAN0DATH|=0x80;CAN0ADR=IF1DATA1; /*指向數(shù)據(jù)場的第一個(gè)字節(jié)*/for(i=0;i<4;i+)CAN0DAT=can_tempi; /*將4字節(jié)數(shù)據(jù)寫入發(fā)送緩沖器*/CAN0ADR=IF1CMDRQST;CAN0DATL=MsgNum; /*將報(bào)文對象編號寫入*/ /*向IF1命令屏蔽寄存器寫入命令*/5. 結(jié)論文中基于CAN總線的工業(yè)網(wǎng)絡(luò)通訊系統(tǒng)物理層電路完全能夠使用,而且抗干
17、擾能力較強(qiáng),已成功應(yīng)用于某大型電站的工業(yè)安全系統(tǒng)中。CAN總線以其穩(wěn)定的特性、低廉的價(jià)格將會被更多用戶所使用,而集成于微控制器內(nèi)部的CAN控制器更是在設(shè)計(jì)過程中的首選。參考文獻(xiàn)1 鄔寬明CAN總線原理和應(yīng)用系統(tǒng)設(shè)M北京:北京航空航天大學(xué)出版社2 C_CAN Users Manual Revision 1.2 BoschZ3 潘琢金C8051F040/1/2/3/4/5/6/7 混合信號ISP FLASH微控制器數(shù)據(jù)手冊M:新華龍電子有限公司4 童長飛C8051F 系列單片機(jī)開發(fā)與C 語言編程M北京:北京航空航天大學(xué)出版社,20055 徐愛鈞,彭秀華單片機(jī)高級語言C51 Windows環(huán)境編程與
18、應(yīng)用M北京:電子工業(yè)出版社Design and Implementation of Industry CommunicationNetwork System Based on CAN BusYang Zhiwei SunMingBeijing University of Post and Telecommunication,Beijing (100876) Beijing Keeven Aviation Instrumeng co.,Ltd.,Beijing (100086)AbstractCAN (Controller Area Network) bus is a kind of serial communication network using CAN protocol. Single Chip Processor C8051F040 belonged to Silicon
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 山西衛(wèi)生健康職業(yè)學(xué)院《金融風(fēng)險(xiǎn)分析師(FRM)專題(雙語)》2023-2024學(xué)年第二學(xué)期期末試卷
- 浙江金融職業(yè)學(xué)院《供變電系統(tǒng)項(xiàng)目設(shè)計(jì)》2023-2024學(xué)年第二學(xué)期期末試卷
- 廈門工學(xué)院《計(jì)算機(jī)在林業(yè)中的應(yīng)用》2023-2024學(xué)年第二學(xué)期期末試卷
- 湖南鐵道職業(yè)技術(shù)學(xué)院《生物化學(xué)實(shí)驗(yàn)A》2023-2024學(xué)年第二學(xué)期期末試卷
- 華北理工大學(xué)輕工學(xué)院《科研寫作》2023-2024學(xué)年第二學(xué)期期末試卷
- 齊魯醫(yī)藥學(xué)院《中外文化比較專題》2023-2024學(xué)年第二學(xué)期期末試卷
- 重慶對外經(jīng)貿(mào)學(xué)院《包裝材料及應(yīng)用》2023-2024學(xué)年第二學(xué)期期末試卷
- 醫(yī)院科室年度工作總結(jié)
- 母親六十歲生日宴會主持詞(7篇)
- 公司前臺的工作總結(jié)
- GB 4706.20-2004家用和類似用途電器的安全滾筒式干衣機(jī)的特殊要求
- 血管“斑塊”的風(fēng)險(xiǎn)課件
- mks spectra介紹殘余氣體分析儀
- 腹腔鏡下闌尾切除術(shù)護(hù)理課件
- 《抖音生活服務(wù)服務(wù)商合作手冊》
- 語文教學(xué)設(shè)計(jì)(教案目標(biāo))
- 中山大學(xué)抬頭信紙中山大學(xué)橫式便箋紙推薦信模板a
- 無形資產(chǎn)評估完整版課件
- 常暗之廂(7規(guī)則-簡體修正)
- 制冷系統(tǒng)方案的設(shè)計(jì)pptx課件
- 修心七要原文
評論
0/150
提交評論