《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于AT89C51型單片機的CAN總線智能節點設計
基于AT89C51型單片機的CAN總線智能節點設計
摘要: 介紹CAN(控制器局域網)總線的特點,給出CAN總線系統智能節點電路原理及用C51語言編寫的開發程序,方便使用者學習和掌握。
Abstract:
Key words :

  1 引言

  CAN(Controller Area Network)是控制器局域網,主要用于各種設備檢測及控制的現場總線。CAN總線是德國BOSCH公司20世紀80年代初為解決汽車中眾多控制與測試儀器間的數據交換而開發的串行數據通信協議。這是一種多主總線,無論是在高速網絡還是在低成本的節點系統,應用都很廣泛。由于采用了許多新技術及獨特的設計,與一般的通信總線相比,CAN總線的數據通信具有突出的可靠性、實時性和靈活性,其主要特點如下:

  ●通信方式靈活,可以多主方式工作,網絡上任意一個節點均可以在任意時刻主動向網絡上的其他節點發送信息,不分主從。

  ●CAN節點只需對報文的標識符濾波即可實現點對點、點對多點及全局廣播方式發送和接收數據,其節點可分成不同的優先級,節點的優先級可通過報文標識符進行設置,優先級高的數據最多可在134μs內傳輸,可以滿足不同的實時要求。

  ●CAN總線通信格式采用短幀格式,每幀字節數量多為8個字節,可滿足一般工業領域中控制命令、工作狀態及測試數據的要求,同時,8個字節不會占用總線時間過長,保證了通信的實時性。

  ●采用非破壞性總線仲裁技術,當多個節點同時向總線發送信息出現沖突時,優先級低的節點會主動退出數據發送,而優先級高的節點可不受影響地繼續傳輸數據,大大節省了總線沖突仲裁時間,在網絡重載的情況下也不會出現網絡癱瘓。

  ●直接通信距離最大可達10 km (速率在5 kb/s以下),最高通信速率可達1 Mb/s (此時距離最長為40 m);節點數可達110個,通信介質可以是雙絞線、同軸電纜或光導纖維。

  ●CAN總線采用CRC檢驗并可提供相應的錯誤處理功能,保證數據通信的可靠性,其節點在錯誤嚴重的情況下具有自動關閉輸出功能,使總線上其他節點的操作不受影響。

  2 CAN總線系統結構

  由于CAN總線采用多主方式工作,所以具有與DCS(分布式控制系統)不一樣的拓撲結構。其控制系統由計算機和智能節點組成,如圖1所示。該系統最大的特點是所有的節點都能以平等的地位掛接在總線上。1個總線節點通常至少包括3部分:控制節點任務的單片機、總線控制器及總線驅動器。本文主要介紹CAN總線智能節點的簡單設計。智能節點由89C5l型單片機、SJA1000型總線控制器、82C250型總線驅動器及PC構成。在實際應用中可以連接不同的傳感器件,完成數據的采集和傳輸。

控制系統由計算機和智能節點組成

點擊看原圖

 

 

  3 硬件電路設計

  筆者設計的CAN總線系統智能節點采用Intel公司的AT89C51型單片機作為節點的微處理器。AT89C51具有64KB的尋址空間。本身不帶CAN控制器,所以要實現與CAN總線之間的通信需外加CAN控制器和CAN驅動器。在本設計中采用SJAl000型CAN總線通信控制器和AT82C250型總線驅動器。

  CAN總線系統智能節點硬件電路如圖2所示。從圖2可以看出,硬件電路主要由AT89C51、SJAl000、AT82C250、6N137型高速光電耦合器和MAX202型電平轉換器件組成。AT89C51負責SJAl000的初始化,控制SJAl000實現數據的接收和發送等通信任務。MAX202用于TTL電平與RS232電平的相互轉換,可以將接收的數據顯示在PC上。SJAl000的ADO-AD7連接到AT89C51的P0口,CS連接到AT89C51的P2.7。P2.7為0時,CPU片外存儲器地址可選中SJA1000,CPU通過這些地址可對SJAl000執行相應的讀/寫操作。SJAl000的RD、WR、ALE分別與AT89C51的相應引腳相連,SJAl000的INT接AT89C51的INTl,AT89C51也可通過中斷方式訪問SJA1000。

CAN總線系統智能節點硬件電路

 

  為了增強總線節點的抗干擾能力,SJAl000的TX0和RX0并不直接與82C250的TXD和RXD相接,而是通過6N137與AT82C250相接,這樣,很好地實現了總線上各節點間的電氣隔離。不過,光耦電路用的2個電源VCC和VDD必須隔離。電源的完全隔離可采用小功率電源隔離模塊實現。這雖然增加了接口電路的復雜性,但卻提高了節點的穩定性和安全性。

  AT82C250與總線的接口也采取了一定的安全和抗干擾措施。AT82C250的CANH引腳和CANL引腳各自通過1只5 Ω的電阻器與總線相連,電阻器可起到一定的限流作用,保護AT82C250免受過電流沖擊。CANH和CANL與地之間并聯了2只30pF的小電容器,可以濾除總線上的高頻干擾并具有一定的防電磁輻射能力。另外,在2條CAN總線輸入端與地之間分別接了1個防雷擊管,當2個輸入端與地之間出現瞬變干擾時,防雷擊管的放電起到一定的保護作用。AT82C250的RS引腳接1只斜率電阻器,其阻值的大小可根據總線通信速度適當調整,一般在16 kΩ~140 kΩ之間。

 

  4 軟件設計

  4.1 網絡通信規則

  CAN總線為多主工作方式,網絡上任一節點均可在任意時刻主動向網絡上其他節點發送信息而不分主從,通信方式靈活。為禁止總線沖突,CAN總線采用非破壞性總線仲裁技術,根據需要將各個節點設定為不同的優先級,并以標識符ID標定,其值越小,優先級越高。總線的節點之間可以進行實時相互通信,當1個節點需要接收另1個節點的數據時,只需把其代碼寄存器的內容設置成和另1節點的標識符一致即可。如果對于標識符和其代碼寄存器的內容設置不一致,則節點所發的數據不予理會。

  4.2 SJAl000的工作模式設置

  SJAl000有二種工作模式:復位模式和工作模式。在復位模式下可對接收代碼、接收屏蔽、總線時序寄存器O和1及輸出控制寄存器進行設置。一般在CAN初始化時完成對以上寄存器的設置,當CAN進入工作模式后,它們的值就不再變化。在工作模式下可進行數據的發送和接收。特別要注意的是:當硬件復位或控制器掉線時會自動進入復位模式,這樣就不能進行正常的CAN通信,這就要求對復位位進行監控。當發生硬件復位或控制器掉線而進入復位模式時,要求把復位位置為0并進入工作模式,這樣CAN就能進行正常發送和接收。

  4.3 基于C語言的軟件編程

  系統軟件的設計思想是系統上電后首先對AT89C51和SJAl000進行初始化,以確定工作主頻、波特率、輸出特性等。其中任一智能節點可以利用查詢方式通過SJAl000從CAN總線上獲取所需的數據并把該數據傳送到PC上顯示,同時可以向總線上發送數據以供其他智能節點接收顯示。以下是具體實現程序。

程序

程序

  以上就是進行試驗的程序,其中reg51.h是為AT89C52主控制器專門編寫的庫函數,它在Keil軟件中是現成的,只要用#include語句包括進來即可;intrins.h是為以后調用空函數_nop_()作準備,它里面包括了類似于匯編語言的NOP語句;CAN_TOUWENJIAN.h是頭文件,用于對相關寄存器的定義。Tx_DATA_CAN()函數用于向總線發送數據,REC_DATA_CAN()函數用于從總線接收數據,SERIAL()用于PC與智能節點間的相互通信。限于篇幅,發送子程序和接收子程序沒有具體給出。

  5 結束語

  在CAN總線的開發試驗過程中,筆者掌握了CAN總線智能節點的設計,并在實踐中進行了應用。通過應用證明,CAN總線具有以下優點:組網自由,擴展性強;自動錯誤界定,簡化了通信的操作;可根據數據內容確定優先權,解決通信的實時性問題。此外,CAN網絡已在眾多工業控制系統中應用,尤其在傳輸速率較高而且對實時性及可靠性要求高的場合,CAN總線將有廣闊的應用前景。本文來源于《某型控制系統信號信息傳輸改進研究》課題組,組長是劉永鴻教授,副組長是張文宏副教授,主要參與者有黃晨副教授、趙勇講師、李金剛研究生。

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲高清色综合| 一本色道久久综合精品竹菊| 国产一区免费视频| 国产精品高潮在线| 欧美人妖在线观看| 欧美国产日韩一区| 免费日韩av电影| 鲁大师成人一区二区三区| 欧美在线视频观看免费网站| 亚洲免费婷婷| 亚洲婷婷在线| 亚洲无线观看| 这里只有精品视频| 在线中文字幕一区| 一区二区三区视频在线观看 | 日韩午夜激情电影| 亚洲精华国产欧美| 最新亚洲电影| av成人免费在线观看| 一本色道精品久久一区二区三区| 亚洲激情影院| 亚洲国产精品一区二区久 | 玖玖精品视频| 农夫在线精品视频免费观看| 免费不卡视频| 欧美激情亚洲另类| 欧美三级视频在线播放| 国产精品国产自产拍高清av王其| 国产精品国产三级国产aⅴ浪潮| 欧美性久久久| 国产欧美婷婷中文| 国产一区二区三区高清| 一色屋精品视频免费看| 亚洲国产精品第一区二区 | 一区二区免费在线观看| 中国亚洲黄色| 欧美一区二区高清| 亚洲黑丝在线| 亚洲视频免费在线| 香蕉免费一区二区三区在线观看 | 久久国产手机看片| 蜜桃久久精品乱码一区二区| 欧美激情精品久久久久| 欧美涩涩网站| 国产一区91精品张津瑜| 亚洲国产黄色| 亚洲图片欧洲图片av| 欧美一级专区| 亚洲免费成人av| 香蕉成人久久| 美女网站久久| 欧美日韩在线看| 国产一区91| 日韩一级精品视频在线观看| 亚洲永久精品国产| 亚洲国产高潮在线观看| 亚洲一区二区精品| 欧美日韩大陆在线| 一本色道久久综合亚洲精品不卡| 国产精品99久久久久久久久| 欧美亚洲网站| 欧美国产大片| 国产欧美精品一区二区三区介绍 | 一本一本久久a久久精品综合妖精 一本一本久久a久久精品综合麻豆 | 国产在线国偷精品产拍免费yy| 亚洲韩国日本中文字幕| 亚洲桃色在线一区| 亚洲黑丝在线| 欧美一区二区观看视频| 欧美精品福利| 国产一区激情| 一区二区三区精品国产| 亚洲动漫精品| 午夜精品久久久久久| 欧美成人午夜视频| 国产一区二区三区在线观看精品| 亚洲开发第一视频在线播放| 久久狠狠婷婷| 午夜精品美女久久久久av福利| 嫩草国产精品入口| 国产欧美一区二区精品秋霞影院| 亚洲欧洲一区二区三区在线观看| 亚洲欧美国产三级| 一本色道久久综合亚洲精品小说| 久久久久久婷| 国产精品永久| av成人黄色| 亚洲免费久久| 久久夜色精品国产欧美乱极品| 国产精品www.| 91久久久久久久久久久久久| 欧美一区二区三区免费大片| 亚洲一级网站| 欧美激情91| 狠狠色丁香婷综合久久| 亚洲男女自偷自拍图片另类| 9久re热视频在线精品| 噜噜噜91成人网| 国产一区91| 新狼窝色av性久久久久久| 亚洲性视频h| 欧美区二区三区| 亚洲国产另类精品专区| 亚洲成人资源网| 久久久国产精品亚洲一区| 国产精品久久久爽爽爽麻豆色哟哟| 亚洲国产女人aaa毛片在线| 欧美一区二区三区在线视频| 午夜精品久久久久久99热| 欧美视频在线观看视频极品 | 亚洲电影下载| 久久综合网络一区二区| 国一区二区在线观看| 欧美人与性禽动交情品| 亚洲第一主播视频| 久久精品一区二区| 久久美女艺术照精彩视频福利播放| 国产精品区一区二区三区| 99视频在线观看一区三区| 一本综合精品| 欧美日本在线| 亚洲美女91| 亚洲一区二区伦理| 国产精品国产三级国产aⅴ无密码| 亚洲最黄网站| 亚洲免费视频观看| 国产精品视频精品| 午夜国产欧美理论在线播放| 亚洲免费人成在线视频观看| 国产精品国产自产拍高清av| 亚洲一区二区三区三| 午夜精品福利一区二区蜜股av| 国产精品久久久久久久7电影| 亚洲少妇中出一区| 午夜亚洲福利在线老司机| 国产欧美日韩视频一区二区| 亚洲综合国产激情另类一区| 性色av一区二区三区红粉影视| 国产欧美在线看| 亚洲电影av在线| 欧美成人午夜激情视频| 亚洲狼人综合| 午夜视黄欧洲亚洲| 国内激情久久| 91久久久在线| 欧美日韩国产高清视频| 亚洲特黄一级片| 久久精品一区四区| 在线观看日韩av先锋影音电影院| 亚洲肉体裸体xxxx137| 欧美日韩国产首页在线观看| 一本到12不卡视频在线dvd| 亚洲在线中文字幕| 国产亚洲免费的视频看| 亚洲国产精品成人精品| 欧美国产乱视频| 中文一区二区在线观看| 久久精品一区二区三区不卡牛牛| 在线观看一区| 在线视频一区二区| 国产日韩成人精品| 亚洲福利视频网| 欧美日韩午夜在线| 亚洲欧美日韩高清| 亚洲国产精品久久人人爱蜜臀| 欧美岛国激情| 亚洲午夜激情网站| 另类图片综合电影| 一区二区欧美在线观看| 久久久久久久尹人综合网亚洲 | 亚洲激情啪啪| 香蕉视频成人在线观看| 又紧又大又爽精品一区二区| 中文在线资源观看网站视频免费不卡| 国产欧美大片| 夜夜嗨一区二区| 国产无一区二区| 夜夜嗨av一区二区三区| 国产视频观看一区| 99国产精品久久| 国产日韩精品久久| 99在线|亚洲一区二区| 国产欧美日韩中文字幕在线| 亚洲人成网在线播放| 国产精品任我爽爆在线播放| 亚洲国产精品一区二区第四页av| 国产精品大全| 亚洲乱码久久| 国内外成人免费激情在线视频网站 | av成人免费在线| 红桃视频成人| 亚洲欧洲av一区二区三区久久| 一区精品久久| 午夜天堂精品久久久久| 91久久午夜| 久久人人爽人人爽| 亚洲在线网站| 欧美日韩精品免费观看| 久久精品国产亚洲a| 国产精品蜜臀在线观看|