《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 其他 > 設(shè)計應(yīng)用 > 基于PIC18F458的CAN總線接口設(shè)計
基于PIC18F458的CAN總線接口設(shè)計
摘要: 本項目設(shè)計可用于各種電氣設(shè)備形成can接口,也可在此基礎(chǔ)上繼續(xù)開發(fā),加入設(shè)備的控制算法,對設(shè)備進(jìn)行總線化智能化改造。
Abstract:
Key words :


1 引言

在ff、lonworks、profibus、can、hart等主流現(xiàn)場總線工業(yè)通訊技術(shù)之中,can(controller area network,又稱控制器局域網(wǎng))總線除了具備現(xiàn)場總線的開放式、互操作性、數(shù)字化通訊等特點外,還具有以下特點:(1)以多主機(jī)方式工作;(2)can上的節(jié)點信息分不同的優(yōu)先級,可滿足不同的實時要求;(3)采用非破壞性總線仲裁技術(shù),節(jié)省了總線沖突仲裁時間;(4)采用短幀結(jié)構(gòu),傳輸時間短,受干擾率降低,具有極好的檢錯效果;(5)每幀信息都有crc校驗及其它檢錯措施,數(shù)據(jù)出錯率極低;(6)通信介質(zhì)可靈活地選擇;(7)can上的節(jié)點數(shù)高達(dá)110個;(8)有很高的可靠性和性能價格比等。CAN總線" title="CAN總線">CAN總線的這些特點使得其能同時滿足過程控制和制造業(yè)自動化的需求,[1]因而can總線的研究與應(yīng)用已成為工業(yè)數(shù)據(jù)總線領(lǐng)域的熱點。在總線系統(tǒng)中,傳統(tǒng)的4-20ma的模擬輸入信號被數(shù)字信號取代,設(shè)備狀態(tài)、故障、參數(shù)等信息通過現(xiàn)場總線傳送給上位機(jī)完成遠(yuǎn)程控制及遠(yuǎn)程參數(shù)化,具有can總線接口" title="接口">接口的各種儀器、儀表設(shè)備通過can適配卡可實現(xiàn)與上位機(jī)的can總線通訊。

2 硬件設(shè)計

can通信的核心芯片是can控制器,can的通信協(xié)議主要是由它完成的,它可以實現(xiàn)物理層和數(shù)據(jù)鏈路層的所有功能。can控制器有許多芯片結(jié)構(gòu),獨立芯片的例如philips的sja1000,西門子的82c900等,還有和微處理器做在一起的嵌入型結(jié)構(gòu)。本項目根據(jù)智能化、可靠性高、抗干擾能力強(qiáng)、成本低等原則,can控制器采用microchip公司的PIC18F458" title="PIC18F458">PIC18F458單片機(jī)內(nèi)嵌can控制器方案。pic18f458功能強(qiáng)大,1536k片內(nèi)數(shù)據(jù)ram、3個16位定時/計數(shù)器、1個8位看門狗wdt定時器、8路模擬輸入的片內(nèi)ADC。看門狗wdt定時器用來監(jiān)視程序的運(yùn)行狀態(tài),一旦cpu由于意外原因偏離正常程序之外,wdt將強(qiáng)行把cpu復(fù)位,使其返回正常程序。pic18f458can模塊除遵循can總線的協(xié)議,同時也有自己的特點,主要包括:(1)支持can協(xié)議can2.0a、can2.0b;(2)支持標(biāo)準(zhǔn)幀、擴(kuò)展幀、遠(yuǎn)程幀、過載幀、錯誤幀等;(3)2個接收緩沖器、3個發(fā)送緩沖器;(4)6個接收過濾器;(5)2個屏蔽過濾器。選用功能強(qiáng)大的pic18f458單片機(jī),大大簡化了電路設(shè)計,節(jié)省了成本。

can收發(fā)器即總線驅(qū)動器是can控制器與物理總線之間的接口,可以提供對總線的差動發(fā)送和接受功能,can總線驅(qū)動器種類有82c250/251、tja1040、tja1050等多種,適用于不同場合。philips公司的高速總線驅(qū)動器82c50,它采用雙線差分驅(qū)動,抗干擾強(qiáng)。can總線驅(qū)動器與單片機(jī)接線如圖1所示,為實現(xiàn)總線上節(jié)點之間的電氣隔離 can驅(qū)動器通過高速光藕6n137與pic18f458進(jìn)行相連。在can總線兩端的can接頭上接入120歐匹配電阻,以消除阻抗不連續(xù)時的反射現(xiàn)象,總線與地各自并聯(lián)一個30pf的小電容,以防電磁輻射和抗高頻干擾[2]。注意在實際應(yīng)用中,節(jié)點之間的電源也要隔離,+5v隔離后才能接vcc,否則也會有干擾。

82c250與pic18f458接線圖

圖1 82c250與pic18f458接線圖

3 軟件設(shè)計

軟件采用mplab ide7.5開發(fā)平臺及mcc18軟件,為了有利于程序的移植和修改可將程序設(shè)計成能相對獨立的子程序。can總線的各種協(xié)議已經(jīng)被集成在pic18f458的can模塊里面,只要對相應(yīng)的寄存器進(jìn)行操作就可完成can系統(tǒng)通信。pici8f458的can通信程序主要包括can初始化、接受子程序、發(fā)送子程序等。can初始化主要對can進(jìn)行配置,設(shè)置發(fā)送郵箱、接收郵箱標(biāo)識符及初始化數(shù)據(jù),設(shè)置波特率、can工作模式,初始化接受濾波器和接受屏蔽。接受使用中斷方式,發(fā)送采用查詢方式。在can總線上的所有節(jié)點必須有相同的波特率,設(shè)波特率fosc=4mhz,同步時間段sync_seg=1tq,傳輸時間段prop_seg=1tq,相位緩沖時間段1phase_seg1=3tq,相位緩沖時間段2phase_seg2=3tq,標(biāo)稱位時間=8tq,位率=0.125mhz。在can總線通訊中,can的初始化非常重要[3]。

3.1 can初始化子程序

程序

3.2 接收中斷子程序

程序

3.3 發(fā)送子程序

程序

寫好這三部分程序,就很容易寫出通訊程序了。

4 結(jié)束語

本項目設(shè)計可用于各種電氣設(shè)備形成can接口,也可在此基礎(chǔ)上繼續(xù)開發(fā),加入設(shè)備的控制算法,對設(shè)備進(jìn)行總線化智能化改造。利用pic18f458設(shè)計的can總線接口進(jìn)行了dkj直行程電動執(zhí)行機(jī)構(gòu)的智能化改造,與上位機(jī)實現(xiàn)了can總線通訊,試驗效果理想。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
主站蜘蛛池模板: 女人张开双腿让男人 | 美女黄色在线观看 | 欧美jizzhd精品欧美 | 欧美一级高清黄图片 | 手机在线观看精品国产片 | 韩国毛片免费看 | 国产伦一区二区三区四区久久 | 国产短裙黑色丝袜在线观看下 | 免费观看三级毛片 | 亚洲欧美人妖另类激情综合区 | 国产高清精品自在久久 | 亚洲一区二区中文字幕 | 日韩毛片在线播放 | 中国一级毛片视频 | 在线观看一级毛片免费 | 亚洲免费一区 | 欧美精品日本一级特黄 | 99精品国产在现线免费 | 俺来也俺来也天天夜夜视频 | 搞黄网站免费看 | 日本在线观看一级高清片 | 国产精品免费久久久免费 | 国产精品中文字幕在线观看 | 欧美一级片免费 | 欧美成人免费高清视频 | 免费狼人久久香蕉网 | 成人精品在线观看 | 免费高清不卡毛片在线看 | www.热| 欧美xxx精品 | 一本久久精品一区二区 | 欧美野外性xxxxfeexxxxx | 全国男人的天堂天堂网 | 欧美久久一区二区 | 日韩一级欧美一级毛片在线 | 欧美日韩一区二区视频图片 | 最新国产大片高清视频 | 精品国产免费人成高清 | 高清大学生毛片一级 | 亚洲精品一区二区中文 | 亚洲成人一级片 |