《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 業界動態 > 基于CAN控制器的對等式單片機多機系統的通信

基于CAN控制器的對等式單片機多機系統的通信

2009-04-16
作者:周寶龍 岳繼光 蕭蘊詩

  摘? 要: 針對單片機多機系統主從式通信的缺點,提出了利用CAN控制器實現單片機多機系統對等式通信,并對其硬件組成原理、通信程序的設計做了詳細的分析。

  關鍵詞: 單片機多機系統? “對等式”通信? 控制器局域網(CAN)

?

  關于單片機的多機通信,許多文章及相關書籍都有介紹,但就其多機通信的方式而言大多為“主從式”,這一通信方式限制了單片機功能的發揮及廣泛應用。雖然文獻[1]利用巧秒的硬件手段實現了單片機多機之間的“對等式”通信,但其通信方式實質上仍是“主從式”。本文介紹了一種基于CAN控制器的單片機多機系統,從本質上實現了任意兩機之間的直接相互通信,從而克服了“主從式”多機通信的缺點。

1 CAN技術簡介

  CAN (Controller Area Net)即控制器局域網,是主要用于各種過程(設備)監測及控制的一種網絡。CAN最初是由德國BOSCH公司為汽車的監測、控制系統而設計的。由于CAN具有卓越的特性和極高的可靠性,特別適合于工業過程中監控設備的互連,因此,越來越受到工業界的重視。具體來講,CAN具有如下特性:

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

  (2)CAN可以點對點、點對多點(成組)及全局廣播方式傳送接收數據;

  (3)CAN網絡上的節點信息可分成不同的優先級,可以滿足不同的實時要求;

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

  (5)CAN的直接通信距離最大可達10km(速率小于5kbps),最高通信速率可達1Mbps(此時距離最長為40m)。

2 基于CAN控制器的對等式單片機多機系統軟硬件設計

2.1 系統硬件設計

2.1.1 系統組成原理及通信過程

  所謂對等式通信,就是單片機多機系統中任一節點均可主動地與其它節點直接交換數據,而無須經過第三方。從此角度出發,我們設計的基于CAN控制器的單片機多機系統組成如圖1所示。

?

?

  系統中的每個節點由單片機、CAN控制器、CAN收發器組成。單片機主要用于系統的計算及信息處理等功能;CAN控制器主要用于系統的通信;CAN收發器主要用于增強系統的驅動能力。系統的發送過程是:單片機將外圍設備或其他節點傳送過來的信息處理后,按CAN規范規定的格式將其寫入CAN控制器的發送緩沖區,并啟動發送命令,把數據發送到CAN總線上;接收過程是:CAN控制器從CAN總線上自動接收數據,并經過濾后存入CAN接收緩沖區,且向單片機發出中斷請求,此時單片機可從CAN接收緩沖區讀取要接收的數據。

2.1.2 系統節點硬件設計舉例

  圖2是所研制的低成本農業溫室控制系統中與本文相關部分的硬件電路圖。

?

?

  設計時應注意以下幾點:

  (1)總線兩端各有一個120Ω的電阻,對于匹配總線阻抗起著相當重要的作用。否則,數據通信的抗干擾性及可靠性大大降低,甚至無法通信。

  (2)為了CAN與單片機之間時序的同步,一般采用CAN控制器給單片機提供時鐘信號,此時時鐘信號對CHMOS型單片機應接XTALI引腳,對HMOS型單片機應接XTAL2引腳。

  (3)若CAN收發緩沖器用集成元器件,則RX1腳應接地,且CDR寄存器中的CBP位應置邏輯1。否則,RX1引腳電位必需維持在2.5V以上,且CDR寄存器中的CBP位應置邏輯0,以形成CAN要求的邏輯電平。

2.2 系統軟件設計

  系統軟件設計的關鍵是通信程序的設計。通信軟件由三部分組成:初始化程序、發送程序、接收程序。由于系統中任意一節點在任意時刻均可主動與其它節點通信,所以,各節點的通信程序相同。

2.2.1 初始化程序

  初始化程序主要是通過對CAN控制器控制段中的寄存器寫入控制字從而確定CAN控制器的工作方式等。有三種方式進入初始化程序:一是上電復位;二是硬件復位;三是軟件復位,即運行期間通過給CAN控制器發一個復位請求,置復位請求位為1。在復位期間,必需初始化的寄存器有:MR(PeliCAN模式)模式寄存器、CDR時分寄存器、ACR接收代碼寄存器、MAR屏蔽寄存器、BTR總線定時寄存器、OCR輸出控制寄存器等。需要注意的是,這些寄存器僅能在復位期間可寫訪問。因此,在對這些寄存器初始化前,必須確保系統進入了復位狀態。初始化程序的流程圖如圖3所示。

?

?

2.2.2 發送程序

  信息從CAN控制器發送到CAN總線是由CAN控制器自動完成的。發送程序只需把被發送的信息幀送到CAN的發送緩沖區,且啟動發送命令即可。發送程序可采用查詢方式或中斷方式。由于查詢方式比較簡單,這里僅討論中斷方式發送程序的設計。對于中斷方式,發送程序分為兩部分:一是主程序;二是中斷服務程序。主程序主要用于控制信息的發送及當發送緩沖區滿時,把要發送的信息暫存到臨時存儲區;中斷發送程序負責把臨時存儲區中的暫存信息發送出去。兩者的流程圖分別見圖4、圖5。

?

?

2.2.3 接收程序

  信息從CAN總線到CAN接收緩沖區是由CAN控制器自動完成的。接收程序只需從接收緩沖區讀取要接收的信息即可。接收程序也可采用查詢方式或中斷方式,兩者的繁簡程度相當,此處以查詢方式為例給出接收程序的流程圖(見圖6)。

?

?

  以上給出的流程圖均為一般性流程圖。在使用時應結合實際項目具體化,并且發送程序中可能會有應急處理,接收程序中會有數據過載情況。限于篇幅,此處不予以討論。

  基于CAN控制器的單片機多機通信系統,由于其通信效率高、抗干擾性強、傳輸距離較遠,適合于中小型分布式控制系統,且由于其價格低廉,在低成本自動化領域有著廣泛的應用空間。

?

參考文獻

1 彭宗乾.MCS-51單片機多機通信的組成原理及通信程序.電子技術應用,1992;(18)4

2 SJA1000 Stand-alone CAN controller Application Note?Philips Semiconductor.1997

3 陽憲惠.現場總線技術及其應用.北京:清華大學出版社,1999.6

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
欧美一区三区三区高中清蜜桃| 亚洲电影免费观看高清完整版在线| 国产精品欧美一区二区三区奶水| 欧美极品影院| 久久久久久久91| 欧美亚洲日本国产| 亚洲一级黄色| 亚洲色图在线视频| 一区二区欧美激情| 日韩小视频在线观看专区| 最新69国产成人精品视频免费 | 亚洲国产精品小视频| 黄色成人在线网址| 国模私拍一区二区三区| 国产亚洲一级| 激情婷婷欧美| 在线观看av不卡| 国产精品久久看| 国产精品视频专区| 国产日韩综合| 激情欧美一区| 亚洲国产精品v| 亚洲黑丝一区二区| 日韩一级精品| 亚洲一区二区三区四区在线观看| 亚洲图片欧美一区| 亚洲欧美国产精品va在线观看 | 男男成人高潮片免费网站| 久久综合久久综合久久| 欧美成人亚洲成人日韩成人| 欧美激情成人在线视频| 欧美日韩福利视频| 国产精品分类| 国产女人18毛片水18精品| 国产自产精品| 亚洲国产一区在线观看| 日韩网站免费观看| 中文在线一区| 欧美一区二区视频在线| 亚洲国产一区二区三区青草影视 | 欧美一区二区三区久久精品茉莉花| 欧美一区二区播放| 亚洲国产一区视频| 中日韩视频在线观看| 新狼窝色av性久久久久久| 国产精品麻豆成人av电影艾秋| 亚洲电影免费观看高清完整版在线| 亚洲欧洲日本mm| 一区二区三区四区五区精品| 亚洲欧美日韩综合一区| 亚洲国产成人不卡| 一本久久综合亚洲鲁鲁五月天| 亚洲欧美日韩中文视频| 久久人人爽国产| 欧美日韩国产色综合一二三四 | 一区二区福利| 久久国产精品久久久久久电车| 日韩特黄影片| 欧美一区二区三区喷汁尤物| 欧美1区3d| 国产精品嫩草影院一区二区| 一区二区三区在线免费观看| 亚洲理论电影网| 久久精品导航| 中文精品视频| 久久亚裔精品欧美| 国产精品高清一区二区三区| 激情视频亚洲| 亚洲午夜电影网| 亚洲精品乱码久久久久久| 性做久久久久久久免费看| 欧美黄色一区二区| 国产视频观看一区| 99在线热播精品免费| 亚洲丁香婷深爱综合| 亚洲女同性videos| 欧美大尺度在线| 国产视频久久久久| 一本色道久久88综合亚洲精品ⅰ | 男人天堂欧美日韩| 国产区欧美区日韩区| 日韩视频中文字幕| 亚洲国产岛国毛片在线| 欧美一区二区精品久久911| 欧美激情精品久久久久久大尺度| 国产女主播一区二区三区| 亚洲三级影院| 亚洲国产精品ⅴa在线观看| 性欧美大战久久久久久久久| 欧美日本免费| 在线观看视频一区二区欧美日韩| 亚洲永久在线观看| 9色国产精品| 欧美 日韩 国产一区二区在线视频| 国产精品一区二区在线观看| 欧美精品在线观看播放| 国产麻豆视频精品| 在线一区二区三区四区| 日韩视频免费观看高清在线视频 | 夜夜嗨av一区二区三区网页| 久久综合久久综合九色| 国产亚洲一级高清| 欧美一级播放| 性色av香蕉一区二区| 国产精品国产三级国产专播精品人| 91久久在线播放| 亚洲欧洲精品一区二区三区波多野1战4 | 国产精品盗摄久久久| 日韩一二三区视频| 一区二区不卡在线视频 午夜欧美不卡'| 免费日本视频一区| 一区二区三区在线不卡| 久久精品卡一| 久久久久久久久久久久久久一区| 国产日产高清欧美一区二区三区| 亚洲天堂网在线观看| 亚洲欧美国产精品va在线观看| 欧美日韩在线不卡| 亚洲精品一区中文| 99精品热视频只有精品10| 欧美精品午夜视频| 999亚洲国产精| 亚洲小少妇裸体bbw| 国产精品成人av性教育| 在线一区二区三区四区五区| 亚洲免费在线播放| 国产精品网曝门| 亚洲欧美精品伊人久久| 久久精品国产69国产精品亚洲| 永久免费视频成人| 久久色在线播放| 国产综合久久| 亚洲高清免费在线| 欧美大片一区二区| 日韩视频免费观看高清在线视频| 一区二区冒白浆视频| 国产精品www网站| 亚洲影院一区| 久久久一二三| 亚洲高清三级视频| 一本色道精品久久一区二区三区| 欧美日韩视频| 亚洲一区二区三区四区五区午夜| 欧美一区二区国产| 激情婷婷欧美| 一本色道久久综合亚洲精品不卡| 欧美日韩一区二区三区在线观看免| 亚洲视频福利| 久久精品中文字幕一区| 一区免费在线| 夜夜精品视频一区二区| 国产精品久久久久久久久搜平片 | 亚洲欧美亚洲| 蜜臀av性久久久久蜜臀aⅴ四虎| 最新日韩在线视频| 亚洲一区久久| 国产一区日韩欧美| 亚洲精选在线观看| 国产精品三级视频| 亚洲国产二区| 国产精品扒开腿做爽爽爽视频 | 国产精品免费一区二区三区观看| 性欧美xxxx大乳国产app| 欧美1区3d| 亚洲视频在线观看网站| 久久久久欧美精品| 亚洲人精品午夜在线观看| 午夜精品久久久久久久久久久久久 | 欧美大片免费看| 亚洲专区欧美专区| 久久综合给合| 亚洲最新在线视频| 久久精品99无色码中文字幕| 一区二区在线观看视频| 正在播放欧美一区| 国产一区二区三区久久悠悠色av| 亚洲欧洲午夜| 国产精品午夜av在线| 亚洲日本aⅴ片在线观看香蕉| 国产精品久久久久久久久婷婷| 亚洲高清av| 国产精品爽爽爽| 日韩午夜在线电影| 国产在线观看精品一区二区三区| 日韩一区二区精品视频| 国际精品欧美精品| 亚洲一二三四区| 亚洲第一页中文字幕| 欧美一区二区高清| 性欧美xxxx大乳国产app| 亚洲黄色天堂| 久久九九久精品国产免费直播| 日韩视频第一页| 欧美69wwwcom| 亚洲欧美综合国产精品一区| 欧美激情精品久久久久久黑人| 欧美一区二区三区喷汁尤物| 欧美日韩直播| 亚洲精品国产欧美| 国产一区二区三区不卡在线观看|