版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、基于AT89C51型單片機(jī)的CAN總線智能節(jié)點(diǎn)設(shè)計(jì)2021-02-20嵌入式在線收藏|打印介紹CAN限制器局域網(wǎng)總線的特點(diǎn),給出 CAN總線系統(tǒng)智能節(jié)點(diǎn)電路原理及用 C51 語(yǔ)言編寫(xiě)的開(kāi)發(fā)程序,方便使用者學(xué)習(xí)和掌握.1引言CANController Area Network是限制器局域網(wǎng),主要用于各種設(shè)備檢測(cè)及限制的現(xiàn)場(chǎng)總線.CAN總線是德國(guó)BOSCH公司20世紀(jì)80年代初為解決汽車中眾多限制與測(cè)試儀器間的數(shù)據(jù)交換而開(kāi)發(fā)的串行數(shù)據(jù)通信協(xié)議.這是一種多主總線,無(wú)論是在高速網(wǎng)絡(luò)還是在低本錢的節(jié)點(diǎn)系統(tǒng),應(yīng)用都很廣泛.由于采用了許多新技術(shù)及獨(dú)特的設(shè)計(jì),與一般的通信總線相比,CAN總線的數(shù)據(jù)通信具有突出
2、的可靠性、實(shí)時(shí)性和靈活性,其主要特點(diǎn)如下:通信方式靈活,可以多主方式工作,網(wǎng)絡(luò)上任意一個(gè)節(jié)點(diǎn)均可以在任意時(shí)刻主動(dòng)向網(wǎng)絡(luò)上的其他節(jié)點(diǎn)發(fā)送信息,不分主從. CAN節(jié)點(diǎn)只需對(duì)報(bào)文的標(biāo)識(shí)符濾波即可實(shí)現(xiàn)點(diǎn)對(duì)點(diǎn)、點(diǎn)對(duì)多點(diǎn)及全局播送方式發(fā)送和接收數(shù)據(jù),其節(jié)點(diǎn)可分成不同的優(yōu)先級(jí),節(jié)點(diǎn)的優(yōu)先級(jí)可通過(guò)報(bào)文標(biāo)識(shí)符進(jìn)行設(shè)置,優(yōu)先級(jí)高的數(shù)據(jù)最多可在 134ds內(nèi)傳輸,可以滿足不同的實(shí)時(shí)要求. CAN總線通信格式采用短幀格式,每幀字節(jié)數(shù)量多為8個(gè)字節(jié),可滿足一般工業(yè)領(lǐng)域中限制命令、工作狀態(tài)及測(cè)試數(shù)據(jù)的要求,同時(shí),8個(gè)字節(jié)不會(huì)占用總線時(shí)間過(guò)長(zhǎng),保證了通信的實(shí)時(shí)性.采用非破壞性總線仲裁技術(shù),當(dāng)多個(gè)節(jié)點(diǎn)同時(shí)向總線發(fā)送信息出現(xiàn)沖
3、突時(shí),優(yōu)先級(jí)低的節(jié)點(diǎn)會(huì)主動(dòng)退出數(shù)據(jù)發(fā)送,而優(yōu)先級(jí)高的節(jié)點(diǎn)可不受影響地繼續(xù)傳輸數(shù)據(jù),大大節(jié)省了總線沖突仲裁時(shí)間,在網(wǎng)絡(luò)重載的情況下也不會(huì)出現(xiàn)網(wǎng)絡(luò)癱瘓.直接通信距離最大可達(dá) 10 km 速率在5 kb/s以下,最高通信速率可達(dá) 1 Mb/s 此 時(shí)距離最長(zhǎng)為40 m;節(jié)點(diǎn)數(shù)可達(dá)110個(gè),通信介質(zhì)可以是雙絞線、同軸電纜或光導(dǎo)纖維. CAN總線采用CRC檢驗(yàn)并可提供相應(yīng)的錯(cuò)誤處理功能,保證數(shù)據(jù)通信的可靠性,其節(jié)點(diǎn)在錯(cuò)誤嚴(yán)重的情況下具有自動(dòng)關(guān)閉輸出功能,使總線上其他節(jié)點(diǎn)的操作不受影響.2 CAN總線系統(tǒng)結(jié)構(gòu)由于CAN總線采用多主方式工作,所以具有與DCS分布式限制系統(tǒng)不一樣的拓?fù)浣Y(jié)構(gòu).其限制系統(tǒng)由計(jì)算機(jī)
4、和智能節(jié)點(diǎn)組成,如圖1所示.該系統(tǒng)最大的特點(diǎn)是所有的節(jié)點(diǎn)都能以 平等的地位掛接在總線上.1個(gè)總線節(jié)點(diǎn)通常至少包括 3局部:限制節(jié)點(diǎn)任務(wù)的單片機(jī)、總線限制器及總線驅(qū)動(dòng)器.本文主要介紹CAN總線智能節(jié)點(diǎn)的簡(jiǎn)單設(shè)計(jì).智能節(jié)點(diǎn)由 89C51型單片機(jī)、SJA1000型總線限制器、82C250型總線驅(qū)動(dòng)器及 PC構(gòu)成.在實(shí)際應(yīng)用中可以 連接不同的傳感器件,完成數(shù)據(jù)的采集和傳輸.智能書(shū)點(diǎn)1暫能節(jié)點(diǎn)2圖I CAN總線系統(tǒng)結(jié)構(gòu)3硬件電路設(shè)計(jì)筆者設(shè)計(jì)的CAN總線系統(tǒng)智能節(jié)點(diǎn)采用 Intel公司的AT89C51型單片機(jī)作為節(jié)點(diǎn)的微 處理器.AT89C51具有64KB的尋址空間.本身不帶CAN限制器,所以要實(shí)現(xiàn)與 C
5、AN總線 之間的通信需外加 CAN限制器和CAN驅(qū)動(dòng)器.在本設(shè)計(jì)中采用SJAl000型CAN總線通信限制器和AT82C250型總線驅(qū)動(dòng)器.CAN總線系統(tǒng)智能節(jié)點(diǎn)硬件電路如圖2所示.從圖2可以看出,硬件電路主要由 AT89c51、SJAl000、AT82C250、6N137型高速光電耦合器和 MAX202型電平轉(zhuǎn)換器件組成.AT89C51負(fù)責(zé)SJAl000的初始化,限制 SJAl000實(shí)現(xiàn)數(shù)據(jù)的接收和發(fā)送等通信任務(wù).MAX202用于TTL電平與RS232電平的相互轉(zhuǎn)換,可以將接收的數(shù)據(jù)顯示在PC上.SJAl000 的 ADO-AD7 連接到 AT89C51 的 P0 口,CS 連接到 AT89C
6、51 的 P2.7.P2.7 為 0 時(shí),CPU片外存儲(chǔ)器地址可選中 SJA1000 , CPU通過(guò)這些地址可對(duì) SJA1000執(zhí)行相應(yīng)的讀/寫(xiě)操作.接ATSJA1000的RD、WR、ALE分別與 AT89C51的相應(yīng)引腳相連,SJA1000的INT89C51的INTl , AT89C51也可通過(guò)中斷方式訪問(wèn) SJA1000 .SJA1000+12VVCC +12VVCC3M 口 "VDD39m39.0I FoOnFVPL12To門(mén)皿 mmolz 1-4567 E T TwadmadadadadadralgwALMRSTil RXORX1 CtlOUTVDD1 VDD2VDD3 V&
7、gt;04V5S1 VS52VSS3noIT115pFT VCC:OHJ24MHzX15嚀AT82C250I-i-l OOnFVCC +12V3QpF=?4007 本 40076M137VCCVCCENOUTGYD-L-1-brW INOUT EN VCC mD0N13715pFD DCC TKHvrYC511 口47上門(mén)VCC1VCC139.06N137HD 59DQ冊(cè)137390 口RXD就毛CPOUTGM)GN 口 IN OUTEK ?CC v口口N N u u 44- I I o o O1Z21212 c c c T T R L圖2 CAN總線系統(tǒng)智能節(jié)點(diǎn)硬件電路為了增強(qiáng)總線節(jié)點(diǎn)的抗干
8、擾水平,SJA1000的TX0和RX0并不直接與82C250的TXD和RXD相接,而是通過(guò)6N137與AT82C250相接,這樣,很好地實(shí)現(xiàn)了總線上各節(jié)點(diǎn)間 的電氣隔離.不過(guò),光耦電路用的2個(gè)電源VCC和VDD必須隔離.電源的完全隔離可采用小功率電源隔離模塊實(shí)現(xiàn).這雖然增加了接口電路的復(fù)雜性,但卻提升了節(jié)點(diǎn)的穩(wěn)定性和平安性.AT82C250與總線的接口也采取了一定的平安和抗干擾舉措.AT82C250的CANH引腳和CANL引腳各自通過(guò)1只5 a的電阻器與總線相連,電 阻器可起到一定的限流作用,保護(hù)AT82C250免受過(guò)電流沖擊.CANH和CANL與地之間并聯(lián)了 2只30pF的小電容器,可以濾除
9、總線上的高頻干擾并具有一定的防電磁輻射水平. 另外,在2條CAN總線輸入端與地之間分別接了1個(gè)防雷擊管,當(dāng)2個(gè)輸入端與地之間出現(xiàn)瞬變干擾時(shí),防雷擊管的放電起到一定的保護(hù)作用.AT82C250的RS引腳接1只斜率電阻器,其阻值的大小可根據(jù)總線通信速度適當(dāng)調(diào)整,一般在16 kQ140 kQ之間.4軟件設(shè)計(jì)4.1 網(wǎng)絡(luò)通信規(guī)那么CAN總線為多主工作方式,網(wǎng)絡(luò)上任一節(jié)點(diǎn)均可在任意時(shí)刻主動(dòng)向網(wǎng)絡(luò)上其他節(jié)點(diǎn)發(fā) 送信息而不分主從,通信方式靈活.為禁止總線沖突,CAN總線采用非破壞性總線仲裁技術(shù),根據(jù)需要將各個(gè)節(jié)點(diǎn)設(shè)定為不同的優(yōu)先級(jí),并以標(biāo)識(shí)符ID標(biāo)定,其值越小,優(yōu)先級(jí)越高.總線的節(jié)點(diǎn)之間可以進(jìn)行實(shí)時(shí)相互通信
10、,當(dāng) 1個(gè)節(jié)點(diǎn)需要接收另1個(gè)節(jié)點(diǎn)的數(shù)據(jù)時(shí), 只需把其代碼存放器的內(nèi)容設(shè)置成和另1節(jié)點(diǎn)的標(biāo)識(shí)符一致即可.如果對(duì)于標(biāo)識(shí)符和其代碼存放器的內(nèi)容設(shè)置不一致,那么節(jié)點(diǎn)所發(fā)的數(shù)據(jù)不予理會(huì).4.2 SJAl000的工作模式設(shè)置SJAl000有二種工作模式:復(fù)位模式和工作模式.在復(fù)位模式下可對(duì)接收代碼、接收 屏蔽、總線時(shí)序存放器 O和1及輸出限制存放器進(jìn)行設(shè)置.一般在CAN初始化時(shí)完成對(duì)以上存放器的設(shè)置,當(dāng) CAN進(jìn)入工作模式后,它們的值就不再變化.在工作模式下可進(jìn)行數(shù) 據(jù)的發(fā)送和接收.特別要注意的是:當(dāng)硬件復(fù)位或限制器掉線時(shí)會(huì)自動(dòng)進(jìn)入復(fù)位模式,這樣就不能進(jìn)行正常的 CAN通信,這就要求對(duì)復(fù)位位進(jìn)行監(jiān)控.當(dāng)發(fā)
11、生硬件復(fù)位或限制器掉線 而進(jìn)入復(fù)位模式時(shí),要求把復(fù)位位置為0并進(jìn)入工作模式,這樣 CAN就能進(jìn)行正常發(fā)送和接收.4.3 基于C語(yǔ)言的軟件編程系統(tǒng)軟件的設(shè)計(jì)思想是系統(tǒng)上電后首先對(duì)AT89C51和SJA1000進(jìn)行初始化,以確定工作主頻、波特率、輸出特性等.其中任一智能節(jié)點(diǎn)可以利用查詢方式通過(guò)SJA1000從CAN總線上獲取所需的數(shù)據(jù)并把該數(shù)據(jù)傳送到PC上顯示,同時(shí)可以向總線上發(fā)送數(shù)據(jù)以供其他智能節(jié)點(diǎn)接收顯示.以下是具體實(shí)現(xiàn)程序.#include <reg51.h>#incluck <intrins,h>include CAN_TOUWENJiANiT 包含相關(guān)存放工定義的
12、大文件 利始化SJR1000主限制線子事效 void Init_CAN(void) MODE=Od)l;COR=Oit88;IER=OxOD:AMR=OxFF;ACR=Ox(XXBTR(H)xO5;BTRI=OxFF;OCR=OxAA;TXERR=OxOO;ReiuLINSHI=ECC;MODE=Ox(»H主程序 void main(void) (SCON=0x50;PCONOxOO;TMOD=Ox21;TI4=0xM;THl=OxfdiTRlxl-EA=l;ES=l;Init_CANO; while(l)( TX.DATACANO; 發(fā)送孑程序REC_DATA_CANO ;&quo
13、t;接收于程序SERIALQ; /串行通體于程序I以上就是進(jìn)行試驗(yàn)的程序,其中 reg51.h是為AT89C52主限制器專門(mén)編寫(xiě)的庫(kù)函數(shù), 它在Keil軟件中是現(xiàn)成的, 只要用#include語(yǔ)句包括進(jìn)來(lái)即可;intrins.h是為以后調(diào)用空函 數(shù)_nop_()作準(zhǔn)備,它里面包括了類似于匯編語(yǔ)言的NOP語(yǔ)句;CAN_TOUWENJIAN.h 是頭文件,用于對(duì)相關(guān)存放器的定義.Tx_DATA_CAN()函數(shù)用于向總線發(fā)送數(shù)據(jù),REC_DATA_CAN()函數(shù)用于從總線接收數(shù)據(jù),SERIAL()用于PC與智能節(jié)點(diǎn)間的相互通信.限于篇幅,發(fā)送子程序和接收子程序沒(méi)有具體給出.5結(jié)束語(yǔ)在CAN總線的開(kāi)發(fā)試驗(yàn)過(guò)程中,筆者掌握了CAN總線智能節(jié)點(diǎn)的設(shè)計(jì),并在實(shí)踐中進(jìn)行了應(yīng)用.通過(guò)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024消防手續(xù)消防設(shè)施改造與驗(yàn)收服務(wù)合同范本3篇
- 成都醫(yī)學(xué)院《口譯與實(shí)踐》2023-2024學(xué)年第一學(xué)期期末試卷
- 成都錦城學(xué)院《視力障礙兒童心理與教育》2023-2024學(xué)年第一學(xué)期期末試卷
- 成都工貿(mào)職業(yè)技術(shù)學(xué)院《電力拖動(dòng)與控制》2023-2024學(xué)年第一學(xué)期期末試卷
- 抽象的雕塑美術(shù)教案【3篇】
- 二零二五年度公共設(shè)施建設(shè)項(xiàng)目合同招標(biāo)投標(biāo)指南3篇
- 2025版股權(quán)投資有限合伙合同
- 場(chǎng)地清理施工方案
- 內(nèi)墻浮層施工方案
- 2024片石采購(gòu)合同之石材企業(yè)資源整合合作協(xié)議3篇
- Part 6 Unit 8 Green Earth 教案-【中職專用】高一英語(yǔ)精研課堂(高教版2021·基礎(chǔ)模塊2)
- 艾森克人格問(wèn)卷(EPQ)(成人)
- 設(shè)備維護(hù)與故障排除項(xiàng)目風(fēng)險(xiǎn)評(píng)估報(bào)告
- (新版)質(zhì)量知識(shí)競(jìng)賽參考題庫(kù)400題(含各題型)
- 幼兒園小班語(yǔ)言《誰(shuí)的耳朵》課件
- 院前急救診療技術(shù)操作規(guī)范
- 患者轉(zhuǎn)診記錄單
- 美好生活“油”此而來(lái)-暨南大學(xué)中國(guó)大學(xué)mooc課后章節(jié)答案期末考試題庫(kù)2023年
- 買賣合同糾紛案民事判決書(shū)
- 神經(jīng)內(nèi)科應(yīng)急預(yù)案完整版
- 2023零售藥店醫(yī)保培訓(xùn)試題及答案篇
評(píng)論
0/150
提交評(píng)論