《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 其他 > 設(shè)計應(yīng)用 > 基于C8051F040的CAN總線隔離器的設(shè)計與應(yīng)用
基于C8051F040的CAN總線隔離器的設(shè)計與應(yīng)用
電子設(shè)計工程
于曉光 張彥軍
摘要: CAN(Controller Area Network),即控制器局域網(wǎng),是應(yīng)用最廣泛的現(xiàn)場總線之一,CAN總線以其實時性強,可靠性高,結(jié)構(gòu)簡單,互操作性好,價格低廉等優(yōu)點,可應(yīng)用于高速網(wǎng)絡(luò)和低成本的線路網(wǎng)絡(luò)。這里提出一種CAN總線隔離器的通訊系統(tǒng),將其應(yīng)用于某飛行器到地面的通訊網(wǎng)絡(luò),實現(xiàn)飛行器和地面的速度隔離,從而使飛行器和地面之間能夠穩(wěn)定實時通信。該系統(tǒng)設(shè)計在分析CAN總線2.0B協(xié)議的基礎(chǔ)上,采用結(jié)構(gòu)化方法獨立設(shè)計飛行器和地面雙方的通信協(xié)議。
Abstract:
Key words :

  1 引言

  CAN(Controller Area Network),即控制器局域網(wǎng),是應(yīng)用最廣泛的現(xiàn)場總線之一,CAN總線以其實時性強,可靠性高,結(jié)構(gòu)簡單,互操作性好,價格低廉等優(yōu)點,可應(yīng)用于高速網(wǎng)絡(luò)和低成本的線路網(wǎng)絡(luò)。這里提出一種CAN總線隔離器的通訊系統(tǒng),將其應(yīng)用于某飛行器到地面的通訊網(wǎng)絡(luò),實現(xiàn)飛行器和地面的速度隔離,從而使飛行器和地面之間能夠穩(wěn)定實時通信。該系統(tǒng)設(shè)計在分析CAN總線2.0B協(xié)議的基礎(chǔ)上,采用結(jié)構(gòu)化方法獨立設(shè)計飛行器和地面雙方的通信協(xié)議。底層模塊的硬件設(shè)計是以C8051F040高速型單片機為核心,其內(nèi)部集成CAN協(xié)議控制器,因而只需增加CAN收發(fā)器就可實現(xiàn)CAN智能節(jié)點設(shè)計,比傳統(tǒng)的由單片機與CAN 協(xié)議控制器共同組成的CAN節(jié)點更簡單,可靠,易操作。而CAN總線應(yīng)用層協(xié)議由用戶自行定義編寫,使其更符合該系統(tǒng)設(shè)計要求。目前整個系統(tǒng)運行良好,性能穩(wěn)定,通信冗余度好,符合工業(yè)現(xiàn)場使用要求。

  2 基于C8051F040的CAN智能節(jié)點設(shè)計

  圖1是基于C8051F040的CAN總線硬件接口原理電路圖。通過C8051F040內(nèi)部所集成的CAN控制器,為了增強系統(tǒng)的抗十?dāng)_能力,在CAN控制器與TJA1040之間接入光電耦合器6N137,從而實現(xiàn)TJA1040與外界CAN通信。事實上,集成收發(fā)器TJA1040本身具有瞬間抗干擾能力,可保護總線,降低射頻干擾,以實現(xiàn)熱保護功能。因此,在干擾不嚴(yán)重的廊用場合,無需增加光電隔離,使得系統(tǒng)達到最大通信速率或距離。如果使用光電隔離器,應(yīng)盡量選用高速光電隔離器,以減少CAN總線有效回路信號傳輸?shù)难訒r時間。由于CAN隔離器需通過CAN總線采集輸入輸出模塊的數(shù)據(jù)信息,干擾較大,為了系統(tǒng)的穩(wěn)定可靠性,需加光電隔離器。通過CAN2.0B兼容CAN2.0A協(xié)議的連接通訊測試,光電耦合器6N137上升時間為30 ns(典型值),隔離電壓為3 000 V,其支持最大頻率值超過30 MHz。

基于C8051F040的CAN總線硬件接口原理電路圖

  為實現(xiàn)系統(tǒng)的穩(wěn)定可靠性,該系統(tǒng)設(shè)計采用冗余設(shè)計,利用雙通道光耦HCPL2631隔離并產(chǎn)生控制信號,控制兩個單刀雙擲開關(guān)MAX4635,從而實現(xiàn)CAN智能節(jié)點的切換。

  3 CAN總線隔離器設(shè)計

  該系統(tǒng)設(shè)計的CAN總線隔離主要由發(fā)送和接收兩部分組成。發(fā)送和接收部分都由數(shù)據(jù)指令配置、數(shù)據(jù)處理和數(shù)據(jù)傳輸3個單元組成,如圖2所示。其中發(fā)送部分:上位機指令配置完后,通過FPGA傳輸給單片機,單片機利用自身所帶的CAN總線,經(jīng)隔離處理后到達總線驅(qū)動器,然后通過CAN總線輸出數(shù)據(jù)。而接收部分正好相反。該系統(tǒng)設(shè)計將飛行器速度設(shè)置為500 kHz,地面速度設(shè)置為50 km/s,從而更好模擬飛行器和地面的通信。

  4 隔離器收發(fā)雙方通信協(xié)議

  總線隔離器分為飛行器高速接口和地面低速接口兩部分,要求隔離器能通過所有地面上行到飛行器的數(shù)據(jù)。本系統(tǒng)CAN總線采用主從方式,所有總線數(shù)據(jù)統(tǒng)一采用數(shù)據(jù)幀,不用遠程幀,數(shù)據(jù)長度最大為8字節(jié),最小為0字節(jié)。根據(jù)數(shù)據(jù)鏈路層協(xié)議,仲裁場標(biāo)準(zhǔn)標(biāo)識符共11位(ID1O~ID0),系統(tǒng)通過標(biāo)識符確定數(shù)據(jù)傳輸?shù)膬?yōu)先級。本協(xié)議規(guī)定,ID除表示優(yōu)先級外,還是數(shù)據(jù)接收目的節(jié)點、數(shù)據(jù)發(fā)送源節(jié)點與數(shù)據(jù)類型。具體說明11位ID:ID[1](ID的0~3位)為數(shù)據(jù)接收目的節(jié)點;ID[2](ID的4~7位)為數(shù)據(jù)發(fā)送的源節(jié)點;ID[3](ID的8~10位)為數(shù)據(jù)類型。

  本協(xié)議中,飛行器系統(tǒng)和地面系統(tǒng)都有3個節(jié)點,節(jié)點編號和ID號如表1所示。

節(jié)點編號和ID號

  5 CAN隔離器的軟件設(shè)計

  5.1 CAN總線初始化

  CAN總線初始化包括:I/O的配置、外部晶體振蕩器的配置、CAN總線的開閉、發(fā)送和接收初始化。初始化程序如下:

void initial_can(unsigned char MsgNum,unsignedl int id)
{SFRPAGE=CONFIG_PAGE;

初始化程序

   5.2 發(fā)送和接收程序

  CAN報文發(fā)送是由CAN控制器自動完成,用戶只需根據(jù)接收到的數(shù)據(jù)幀的識別符,將對應(yīng)的數(shù)據(jù)轉(zhuǎn)移到發(fā)送緩沖寄存器,然后將此報文對象的編碼寫入命令請求寄存器啟動發(fā)送即可,而發(fā)送由硬件完成。這里使用定時更新發(fā)送報文對象中的數(shù)據(jù),發(fā)送數(shù)據(jù)由控制器自動完成,當(dāng)收到一個數(shù)據(jù)幀時,可將具有相同識別符的數(shù)據(jù)幀發(fā)送出去。其發(fā)送程序代碼如下:

發(fā)送程序代碼

   CAN報文的接收與發(fā)送相同,由CAN控制器自動完成,接收程序只需從接收緩存器中讀取所接收的數(shù)據(jù),再進行相應(yīng)處理。其方法與發(fā)送程序基本一致,這里不再贅述。

  6 關(guān)鍵技術(shù)設(shè)計分析

  6.1 冗余設(shè)計

  工業(yè)控制現(xiàn)場狀況復(fù)雜,因外力所致的電纜接觸故障率遠遠高于節(jié)點的故障率,一旦電纜發(fā)生故障,總線就會失去通信能力,并導(dǎo)致系統(tǒng)癱瘓,對工控系統(tǒng)的健壯性構(gòu)成威脅。解決這一故障最簡單、有效的辦法是對故障率較高的物理介質(zhì)進行冗余設(shè)計。即使用2條總線電纜、2個CAN總線收發(fā)器,但只用1個總線控制器。仲裁電路自動監(jiān)測總線狀態(tài),并自適應(yīng)選擇正常的電纜完成通信任務(wù)。發(fā)生電纜故障時,設(shè)備自動報警,提醒工作人員進行檢修。檢修過程中,設(shè)備使用備用電纜繼續(xù)工作。電纜冗余設(shè)計可實現(xiàn)與通常的CAN總線通訊系統(tǒng)代碼級兼容。仲裁電路設(shè)置于總線控制器與2個總線收發(fā)器之間,監(jiān)測CAN總線電纜狀態(tài),實現(xiàn)自適應(yīng)切換和報警。設(shè)備向其他節(jié)點發(fā)送報文時,總線控制器向2條總線同時發(fā)送相同的報文;而接收報文時,仲裁電路在無電纜故障時,一直使用總線1(主總線)進行報文接收。如果總線2(從總線)出現(xiàn)故障,故障監(jiān)測電路就向主控計算機發(fā)出中斷信號報故障,同時處于正常狀態(tài)的總線1仍承擔(dān)正常通訊任務(wù);如果總線1出現(xiàn)故障,故障監(jiān)測電路在向主控計算機發(fā)出中斷信號的同時,自動切換成總線2,以保證設(shè)備正常工作??偩€切換動作只會出現(xiàn)在正在使用的電纜發(fā)生故障時,這樣可提高通訊的穩(wěn)定性,降低應(yīng)答失敗的幾率。

 

  6.2 接收數(shù)據(jù)時ID不濾波的實現(xiàn)

  在CAN總線的接收過程中,一般實現(xiàn)的都是發(fā)送ID和接收ID相匹配的方式,也就是說在接收方要進行接收,而ID濾波,而本設(shè)計實現(xiàn)任意接收方式,只要有數(shù)據(jù)就開始接收不進行ID號的濾波,這樣可更好進行測試,例如某個設(shè)備所攜帶的ID號,由于各種原因與接收方所接收的ID不匹配,這樣就可判斷出所發(fā)設(shè)備可能收到干擾,或者所發(fā)設(shè)備自身出現(xiàn)了問題。這種ID號不過濾的方法主要通過對接收設(shè)備的命令請求寄存器、消息掩碼寄存器、仲裁寄存器、消息控制寄存器和命令掩碼寄存器的設(shè)置來實現(xiàn)。其實現(xiàn)程序如下:

實現(xiàn)程序

  7 結(jié)論

  本文提出一種CAN總線隔離器的實現(xiàn)方案。利用具有CAN總線控制器的C8051F系列單片機實現(xiàn)了CAN智能節(jié)點,增加CAN節(jié)點的冗余設(shè)計,提高通訊的穩(wěn)定性,降低應(yīng)答失敗的幾率;實現(xiàn)不濾波的CAN數(shù)據(jù)接收,可更好測試系統(tǒng)的可靠性和監(jiān)測功能,當(dāng)接收到不是已知設(shè)備發(fā)來的消息時,能夠準(zhǔn)確定位設(shè)備故障的位置。此方案實現(xiàn)的CAN總線隔離器已成功應(yīng)用于某型號飛行器的地面測試臺中,經(jīng)測試和調(diào)試后,系統(tǒng)工作穩(wěn)定,達到設(shè)計要求。并且由于采用內(nèi)嵌的CAN 總線控制器,可為以后的系統(tǒng)升級預(yù)留大量空間。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
久久夜色撩人精品| 国产麻豆精品在线观看| 亚洲欧美色婷婷| 亚洲美女少妇无套啪啪呻吟| 久久精品国产免费| 欧美一区二区三区啪啪| 午夜免费电影一区在线观看 | 精品动漫3d一区二区三区免费版 | 国产亚洲欧洲997久久综合| 国产精品美女在线| 国产精品免费看| 国产精品二区在线观看| 国产精品国产三级欧美二区| 国产精品久久久久久久9999| 国产精品久久久久久久午夜| 国产精品久久久久久福利一牛影视| 欧美午夜在线观看| 国产精品亚洲精品| 国产亚洲欧美另类中文| 黄色一区二区三区| 国产欧美日本一区二区三区| 欧美岛国在线观看| 欧美精品激情| 欧美私人网站| 国产精品乱码妇女bbbb| 国产伦精品一区二区三区四区免费 | 欧美日韩亚洲激情| 国产精品久久久久久影院8一贰佰| 欧美亚韩一区| 国产欧美亚洲精品| 亚洲福利视频网| 夜夜爽夜夜爽精品视频| 亚洲综合第一页| 欧美一区二区视频在线| 亚洲韩国青草视频| 亚洲视频axxx| 久久爱91午夜羞羞| 免费国产自线拍一欧美视频| 欧美日韩第一页| 国产精品久久久久毛片大屁完整版 | 在线亚洲精品| 欧美一区=区| 亚洲精品日韩欧美| 亚洲午夜电影网| 久久精品免费看| 欧美黄色网络| 国产精品视频网址| 在线成人h网| 在线视频你懂得一区| 亚洲男人的天堂在线观看| 亚洲高清在线精品| 一区二区欧美日韩视频| 性欧美办公室18xxxxhd| 免费永久网站黄欧美| 国产精品v欧美精品v日韩精品| 国产午夜精品久久| 亚洲人午夜精品| 香蕉国产精品偷在线观看不卡| 亚洲人www| 午夜久久黄色| 欧美激情精品久久久久久| 国产欧美精品日韩精品| 亚洲激情另类| 亚洲欧美在线视频观看| 99riav国产精品| 久久久噜噜噜| 欧美午夜在线| 亚洲高清一区二| 欧美一级欧美一级在线播放| 亚洲伦理在线免费看| 久久国产精品毛片| 亚洲欧美日韩国产中文在线| 亚洲精品看片| 久久精品一二三区| 欧美日韩一视频区二区| 在线视频观看日韩| 亚洲欧美三级在线| 亚洲无人区一区| 欧美高清一区| 国产一区二区在线观看免费播放| 日韩午夜免费| 亚洲三级观看| 久久嫩草精品久久久久| 国产精品日韩二区| 亚洲精品免费一区二区三区| 久久精品国产999大香线蕉| 亚洲综合色网站| 欧美日本三级| 亚洲高清电影| 亚洲高清在线观看| 久久精品av麻豆的观看方式| 国产精品久久久久久久久免费桃花 | 亚洲欧美综合一区| 亚洲网站啪啪| 欧美屁股在线| 亚洲激情综合| 久久精品欧美| 久久成人精品电影| 国产精品久久午夜| 亚洲精品久久视频| 日韩一级免费观看| 一本不卡影院| 欧美不卡视频一区发布| 狠狠综合久久av一区二区老牛| 亚洲欧美日韩国产中文| 亚洲免费人成在线视频观看| 欧美日韩一区二区三区四区五区| 亚洲人成绝费网站色www| 亚洲精品视频一区二区三区| 久久亚洲一区二区三区四区| 国产精品影视天天线| 亚洲一区二区三区四区五区黄| 99re热这里只有精品视频| 欧美大片在线看免费观看| 在线观看亚洲视频啊啊啊啊| 久久国产主播| 久久综合狠狠综合久久综青草 | 好吊妞这里只有精品| 性视频1819p久久| 欧美亚洲三区| 国产伦精品一区二区三区照片91 | 欧美成人一区二区三区| 欧美人体xx| 亚洲精品欧美精品| 艳女tv在线观看国产一区| 欧美另类视频在线| 日韩网站在线观看| 亚洲影院一区| 国产精品永久免费在线| 香港久久久电影| 久久久久久亚洲精品杨幂换脸| 国语精品中文字幕| 亚洲清纯自拍| 欧美日韩国产在线观看| 一本一本久久a久久精品综合妖精 一本一本久久a久久精品综合麻豆 | 欧美精品色网| 亚洲免费精品| 亚洲欧美日韩精品在线| 国产精品一区二区三区四区五区| 午夜精彩国产免费不卡不顿大片| 久久精品一区二区三区中文字幕| 精品1区2区| 日韩亚洲精品电影| 欧美日韩一区二区三区| 亚洲尤物在线| 久久人人爽人人爽爽久久| 亚洲国产日日夜夜| 中文在线不卡| 国产亚洲欧美日韩一区二区| 亚洲高清视频在线| 欧美激情在线狂野欧美精品| 99视频精品全国免费| 欧美自拍偷拍午夜视频| 一区精品久久| 亚洲天堂av电影| 国产手机视频一区二区| 亚洲国产精品悠悠久久琪琪| 欧美片第一页| 午夜视频一区| 欧美激情一区二区三区在线视频观看| 9色精品在线| 久久免费一区| 99国产精品国产精品毛片| 欧美一区二区日韩| 亚洲电影网站| 欧美一级黄色网| 亚洲国产一区二区三区a毛片| 亚洲综合电影| 在线看片日韩| 午夜精品999| 亚洲国产精品专区久久| 午夜精彩视频在线观看不卡 | 性做久久久久久久免费看| 1024精品一区二区三区| 亚洲欧美日韩高清| 在线观看精品视频| 亚洲欧美三级伦理| 亚洲国产精品嫩草影院| 亚洲国产欧美久久| 国产精品久久久久久久午夜片| 一本在线高清不卡dvd | 美女诱惑黄网站一区| 在线亚洲+欧美+日本专区| 麻豆9191精品国产| 亚洲性视频网址| 欧美激情在线| 欧美在线观看日本一区| 欧美午夜久久久| 亚洲精品国偷自产在线99热| 国产精品一区二区三区免费观看| 亚洲久久视频| 激情国产一区| 午夜精品亚洲| 亚洲日本在线观看| 久久视频精品在线| 亚洲欧美变态国产另类| 欧美日韩午夜在线视频| 亚洲精品女人| 国内一区二区三区在线视频| 亚洲永久字幕|