《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 其他 > 業(yè)界動(dòng)態(tài) > CAN中繼器設(shè)計(jì)及其應(yīng)用

CAN中繼器設(shè)計(jì)及其應(yīng)用

2008-08-26
作者:鄒繼軍 饒運(yùn)濤

???摘? 要: 闡述了CAN中繼器" title="中繼器">中繼器的重要作用,詳細(xì)分析了CAN中繼器的軟、硬件設(shè)計(jì)方法,并對(duì)其在食堂售飯系統(tǒng)中的應(yīng)用作了分析說(shuō)明。

  關(guān)鍵詞: CAN總線? CAN控制器? CAN中繼器

?

  CAN總線是Bosch公司為現(xiàn)代汽車應(yīng)用而推出的一種總線,與一般的通信總線相比,CAN總線的數(shù)據(jù)通信具有突出的可靠性、實(shí)時(shí)性和靈活性。CAN 總線現(xiàn)已廣泛應(yīng)用于工業(yè)現(xiàn)場(chǎng)控制、小區(qū)安防、環(huán)境監(jiān)控等眾多領(lǐng)域中。CAN總線為多主方式工作,網(wǎng)絡(luò)上任一節(jié)點(diǎn)均可在任意時(shí)刻主動(dòng)地向網(wǎng)絡(luò)上其它節(jié)點(diǎn)發(fā)送信息而不分主從,通信方式靈活,且無(wú)需站地址等節(jié)點(diǎn)信息。

  CAN中繼器是CAN總線系統(tǒng)組網(wǎng)的關(guān)鍵設(shè)備之一,在稍大型的CAN總線系統(tǒng)中經(jīng)常會(huì)用到中繼器。本文所討論的中繼器除了具有中繼功能以外,還具有一定的網(wǎng)橋功能。因?yàn)橹灰獙?duì)中繼器的初始化參數(shù)進(jìn)行適當(dāng)配置,就能使中繼器既具有報(bào)文轉(zhuǎn)發(fā)功能,又具有報(bào)文過(guò)濾功能,這里只是借用了中繼器的名稱而已。

  使用中繼器的優(yōu)點(diǎn)主要表現(xiàn)在以下幾方面:

  (1)過(guò)濾通信量。中繼器接收一個(gè)子網(wǎng)" title="子網(wǎng)">子網(wǎng)的報(bào)文,只有當(dāng)報(bào)文是發(fā)送給中繼器所連的另一個(gè)子網(wǎng)時(shí),中繼器才轉(zhuǎn)發(fā),否則不轉(zhuǎn)發(fā)。

  (2)擴(kuò)大了通信距離,但代價(jià)是增加了一些存儲(chǔ)轉(zhuǎn)發(fā)延時(shí)。

  (3)增加了節(jié)點(diǎn)的最大數(shù)目。

  (4)各個(gè)網(wǎng)段可使用不同的通信速率。

  (5)提高了可靠性。當(dāng)網(wǎng)絡(luò)出現(xiàn)故障時(shí),一般只影響個(gè)別網(wǎng)段。

  (6)性能得到改善。

  當(dāng)然,使用中繼器也有一定的缺點(diǎn),例如:

  (1)由于中繼器對(duì)接收的幀要先存儲(chǔ)后轉(zhuǎn)發(fā),增加了延時(shí)。

  (2)CAN總線的MAC子層并沒(méi)有流量控制功能。當(dāng)網(wǎng)絡(luò)上的負(fù)荷很重時(shí),可能因中繼器中緩沖區(qū)的存儲(chǔ)空間不夠而發(fā)生溢出,以致產(chǎn)生幀丟失的現(xiàn)象。

  (3)中繼器若出現(xiàn)故障,對(duì)相鄰兩個(gè)子網(wǎng)的工作都將產(chǎn)生影響。

1 CAN中繼器硬件電路設(shè)計(jì)

  圖1所示為CAN中繼器硬件結(jié)構(gòu)框圖。CAN中繼器主要由89C52" title="89C52">89C52和兩路CAN控制器接口組成。89C52作為CAN中繼器的微控制器,負(fù)責(zé)整個(gè)中繼器的監(jiān)控任務(wù)。兩路CAN控制器接口電路基本相同,都是由CAN通信控制器SJA1000、光電耦合電路和CAN總線驅(qū)動(dòng)器82C250組成。CAN總線驅(qū)動(dòng)器都采用帶隔離的DC/DC模塊單獨(dú)供電。這樣,不僅實(shí)現(xiàn)了兩路CAN接口之間的電氣隔離,也實(shí)現(xiàn)了中繼器與CAN總線的隔離。雖然這在一定程度上增加了中繼器硬件的復(fù)雜性和成本,但卻是值得的。采取隔離措施可使故障局限在某一網(wǎng)段內(nèi),而不至于影響其它網(wǎng)段,既便于維護(hù),又保證了系統(tǒng)設(shè)備的安全。

?

?

  中繼器硬件除了以上主要部分以外,還有EEPROM、看門(mén)狗和LED指示等部分。幾個(gè)LED分別用于中繼器上電指示和CAN接口當(dāng)前的接收和發(fā)送狀態(tài)指示,以及接口的通信故障(如總線關(guān)閉)指示。看門(mén)狗采用MAX1232。MAX1232具有高電平、低電平上電復(fù)位和看門(mén)狗功能。EEPROM采用具有1K字節(jié)容量的24LC08,可用于保存中繼器的配置參數(shù)等信息,便于系統(tǒng)的靈活配置。

2 CAN中繼器的軟件設(shè)計(jì)

  CAN中繼器的主要任務(wù)是在兩個(gè)CAN網(wǎng)段之間實(shí)現(xiàn)報(bào)文的過(guò)濾和轉(zhuǎn)發(fā)。由于通信實(shí)時(shí)性的要求以及CAN中繼器CPU中緩存容量有限(89C52內(nèi)部RAM容量為256個(gè)字節(jié)),所以在進(jìn)行軟件設(shè)計(jì)時(shí),要求做到存儲(chǔ)轉(zhuǎn)發(fā)時(shí)間盡量短。為了達(dá)到這一要求,CPU采用中斷方式接收兩個(gè)CAN控制器的報(bào)文,同時(shí)盡量精簡(jiǎn)CPU收發(fā)子程序" title="子程序">子程序的代碼長(zhǎng)度。為了節(jié)省內(nèi)存并對(duì)內(nèi)存實(shí)行有效管理,CPU采用了FIFO機(jī)制管理內(nèi)部RAM。為了保證通過(guò)中繼器傳輸報(bào)文的通信雙方數(shù)據(jù)的可靠性,唯有使用通信雙方應(yīng)用層的端端差錯(cuò)控制才能滿足要求,但在中繼器的軟件設(shè)計(jì)中不宜加入過(guò)多的差錯(cuò)控制和流量控制功能,因?yàn)檫@不僅達(dá)不到目的,反而還降低了中繼器的運(yùn)行效率,增加了故障隱患。

  CAN中繼器軟件主要包括以下一些子程序:初始化子程序、主監(jiān)控程序、接收中斷子程序和發(fā)送子程序等。初始化子程序的編寫(xiě)方法與一般的CAN總線系統(tǒng)智能節(jié)點(diǎn)的初始化子程序的編寫(xiě)方法基本相同,只是在對(duì)兩個(gè)CAN控制器進(jìn)行初始化時(shí)應(yīng)采用不同的初始化參數(shù)。下面主要對(duì)主監(jiān)控程序和接收中斷子程序進(jìn)行介紹。

2.1 主監(jiān)控程序的設(shè)計(jì)

  主監(jiān)控程序負(fù)責(zé)對(duì)兩路CAN控制器的接收FIFO緩沖區(qū)進(jìn)行監(jiān)視,如某一路緩沖區(qū)非空則向另一路轉(zhuǎn)發(fā)。兩路緩沖區(qū)的容量大小可采用不對(duì)稱配置。采用這種不對(duì)稱配置的一個(gè)好處在于可以將容量更大的緩沖區(qū)分配給通信任務(wù)更繁忙的一方,從而盡量避免緩沖區(qū)出現(xiàn)溢出。FIFO緩沖區(qū)共有兩個(gè)指針:接收數(shù)據(jù)指針和發(fā)送數(shù)據(jù)指針。當(dāng)兩指針不相等時(shí)即證明緩沖區(qū)中存有有效數(shù)據(jù)。緩沖區(qū)接收數(shù)據(jù)指針的調(diào)整是通過(guò)接收中斷子程序?qū)崿F(xiàn)的,而發(fā)送數(shù)據(jù)指針的調(diào)整則通過(guò)發(fā)送子程序?qū)崿F(xiàn)。在主監(jiān)控程序中,還用到了一個(gè)請(qǐng)求狀態(tài)標(biāo)志,該標(biāo)志在接收中斷子程序中建立,用于中繼器及時(shí)返回本身故障狀態(tài)或響應(yīng)上位機(jī)" title="上位機(jī)">上位機(jī)的狀態(tài)查詢命令。當(dāng)該標(biāo)志為1時(shí),主監(jiān)控程序會(huì)向上位機(jī)發(fā)送本身狀態(tài),并清除該標(biāo)志。

2.2 接收中斷子程序的設(shè)計(jì)

  中繼器接收中斷子程序流程圖如圖2所示。在進(jìn)入中斷后,首先判斷中斷類型。若為錯(cuò)誤警告中斷,則進(jìn)行相應(yīng)處理并建立標(biāo)志,若為接收中斷則接收?qǐng)?bào)文。在報(bào)文接收前,要根據(jù)接收?qǐng)?bào)文的長(zhǎng)度判斷接收緩沖區(qū)是否會(huì)溢出。若會(huì)溢出,則判斷是否為狀態(tài)查詢命令,是則置位請(qǐng)求狀態(tài)標(biāo)志,對(duì)于接收的其它報(bào)文則丟棄。若緩沖區(qū)不會(huì)溢出,則接收該報(bào)文。接收?qǐng)?bào)文后取出命令字節(jié),判斷是否是中繼器狀態(tài)查詢命令,若是則置位請(qǐng)求狀態(tài)標(biāo)志,不進(jìn)行緩沖區(qū)參數(shù)調(diào)整(因?yàn)槭巧衔粰C(jī)發(fā)送給中繼器的命令,只要求中繼器作出響應(yīng)而不要求其轉(zhuǎn)發(fā),所以不能放入緩沖區(qū)中)。若不是中繼器狀態(tài)查詢命令,則不作處理,只進(jìn)行緩沖區(qū)參數(shù)調(diào)整,接收?qǐng)?bào)文有效。隨后進(jìn)行釋放CAN接收緩沖區(qū)、恢復(fù)現(xiàn)場(chǎng)和中斷返回等工作。

?

?

3 CAN中繼器在食堂售飯系統(tǒng)的中應(yīng)用

  按上述方法設(shè)計(jì)的中繼器現(xiàn)已成功應(yīng)用于東華理工學(xué)院的食堂售飯系統(tǒng)中。根據(jù)學(xué)院食堂及各營(yíng)業(yè)網(wǎng)點(diǎn)的實(shí)際分布情況,設(shè)計(jì)的學(xué)院食堂售飯系統(tǒng)網(wǎng)絡(luò)結(jié)構(gòu)如圖3所示。從圖中可以看出,中繼器是組網(wǎng)的關(guān)鍵設(shè)備,它將窗口機(jī)等終端與服務(wù)器連接起來(lái)。在該網(wǎng)絡(luò)結(jié)構(gòu)中,中繼器共分兩級(jí)。中繼器1~4為一級(jí)中繼器,一端與服務(wù)器相連,另一端則與各個(gè)食堂窗口機(jī)等終端構(gòu)成的子網(wǎng)相連;中繼器5為二級(jí)中繼器,一端與一級(jí)中繼器相連,另一端與浴室、小賣部等窗口機(jī)相連。采用兩級(jí)中繼器的設(shè)計(jì),使系統(tǒng)的通信距離可達(dá)5km以上,網(wǎng)絡(luò)終端數(shù)目幾乎不受限制。

?

?

  該設(shè)計(jì)方案已投入實(shí)際運(yùn)行,目前系統(tǒng)網(wǎng)絡(luò)規(guī)模為五臺(tái)中繼器、一百多臺(tái)窗口機(jī),用餐人數(shù)近萬(wàn)人。從系統(tǒng)的實(shí)際運(yùn)行情況來(lái)看,性能非常穩(wěn)定可靠,而且維護(hù)和擴(kuò)容方便,大大提高了食堂的管理水平和工作效率。

?

參考文獻(xiàn)

1 周航慈. 單片機(jī)應(yīng)用程序設(shè)計(jì)技術(shù). 北京:北京航空航天大學(xué)出版社, 1992

2 鄒繼軍. CAN總線與非接觸式IC卡食堂售飯系統(tǒng):[碩士畢業(yè)論文]. 撫州:華東地質(zhì)學(xué)院信工系,2001

3 陽(yáng)憲惠. 現(xiàn)場(chǎng)總線技術(shù)及其應(yīng)用. 北京:清華大學(xué)出版社,1999

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無(wú)法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問(wèn)題,請(qǐng)及時(shí)通過(guò)電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲欧美中文字幕| 99re热精品| 亚洲精品视频在线观看网站| 亚洲第一久久影院| 国内偷自视频区视频综合| 国产精品私拍pans大尺度在线| 欧美三区美女| 欧美日韩免费在线| 欧美日韩99| 欧美日本在线看| 欧美日韩国产综合视频在线观看中文| 欧美承认网站| 欧美久久久久久久| 欧美日韩午夜激情| 欧美视频在线一区二区三区| 欧美日韩国产va另类| 欧美日韩国产成人在线91| 欧美精品在线观看| 欧美日韩成人在线观看| 欧美日韩在线免费观看| 国产精品久久久久久久午夜| 国产精品成人午夜| 国产精品一二| 国产一区视频观看| 伊人春色精品| 91久久亚洲| 夜夜狂射影院欧美极品| 亚洲一区二区三区四区在线观看| 亚洲免费在线| 欧美一区二区三区视频在线| 亚洲电影自拍| 夜夜嗨av一区二区三区网站四季av| 一区二区黄色| 午夜精品久久久久久久男人的天堂| 久久aⅴ国产欧美74aaa| 久久综合狠狠综合久久综合88| 免费美女久久99| 欧美日韩一区二区三| 国产精品拍天天在线| 国产视频一区在线观看| 在线日本高清免费不卡| 日韩视频在线观看免费| 亚洲欧美偷拍卡通变态| 久久精品一本| 一区二区三区欧美激情| 欧美亚洲一区二区三区| 久久在线观看视频| 欧美日韩精品系列| 国产视频久久| 亚洲激情网站| 西西裸体人体做爰大胆久久久| 亚洲国产精品t66y| 在线一区视频| 久久蜜臀精品av| 欧美精品一区在线播放| 国产精一区二区三区| 伊人狠狠色丁香综合尤物| 一区二区激情视频| 欧美与黑人午夜性猛交久久久| 亚洲精品小视频| 欧美一区二区啪啪| 欧美黄色一区二区| 国产精品区一区| 亚洲电影在线看| 亚洲无毛电影| 91久久精品美女高潮| 西瓜成人精品人成网站| 欧美成人国产一区二区| 国产精品美女一区二区在线观看 | 国产午夜精品麻豆| 最近看过的日韩成人| 亚洲欧美综合精品久久成人| 亚洲精品美女久久7777777| 性久久久久久| 欧美日韩国产综合新一区| 国产色综合久久| 一本大道久久a久久综合婷婷 | 久久夜色精品亚洲噜噜国产mv| 国产精品xxxav免费视频| 伊人激情综合| 亚洲在线1234| 中日韩在线视频| 欧美成人亚洲成人| 国产欧美日韩视频一区二区三区| 亚洲精品小视频| 亚洲国产高清一区二区三区| 欧美一区二区三区视频免费| 欧美伦理91| 在线精品国产成人综合| 校园春色综合网| 亚洲免费视频成人| 欧美精品午夜视频| 精品动漫av| 性色av一区二区三区在线观看| 一区二区三区国产精华| 蜜桃av噜噜一区二区三区| 国产小视频国产精品| 亚洲视频一起| 一区二区三区成人| 欧美成人午夜激情| 一区二区在线看| 欧美一级久久久久久久大片| 亚洲综合日韩在线| 欧美日韩成人在线| 亚洲精品1234| 亚洲国产精品嫩草影院| 久久久久久久97| 国产精品永久| 亚洲伊人久久综合| 亚洲自拍偷拍福利| 欧美午夜欧美| 一区二区电影免费观看| 一区二区三区日韩欧美| 欧美精品午夜视频| 91久久综合亚洲鲁鲁五月天| 亚洲全部视频| 欧美韩日一区| 91久久精品日日躁夜夜躁欧美| 亚洲韩国日本中文字幕| 久久久久综合网| 激情亚洲成人| 91久久国产综合久久蜜月精品| 美女精品在线| 亚洲大片一区二区三区| 亚洲国产精品热久久| 蜜臀av性久久久久蜜臀aⅴ| 伊人久久婷婷| 亚洲精品麻豆| 欧美日本国产一区| 99国产精品| 亚洲欧美日韩成人高清在线一区| 国产精品久久久999| 亚洲一区在线观看免费观看电影高清 | 欧美va亚洲va香蕉在线| 在线欧美一区| 日韩小视频在线观看专区| 欧美人妖另类| 一本大道av伊人久久综合| 亚洲尤物精选| 国产情侣久久| 久久精品一区二区三区不卡牛牛| 美女爽到呻吟久久久久| 亚洲精品久久久一区二区三区| 亚洲视频在线二区| 国产精品久久7| 亚洲免费在线电影| 久久看片网站| 亚洲国产精品毛片| 国产精品99久久久久久久vr | 亚洲高清不卡一区| 一本综合精品| 国产精品日韩高清| 久久精品1区| 欧美精品亚洲| 亚洲综合第一页| 蜜臀av国产精品久久久久| 亚洲毛片一区| 欧美综合国产| 亚洲国产午夜| 亚洲欧美中文字幕| 国内自拍一区| 一区二区日韩伦理片| 国产精品一区二区女厕厕| 久久国产婷婷国产香蕉| 欧美激情在线播放| 亚洲一区图片| 蜜桃av一区二区三区| 夜夜嗨av色一区二区不卡| 久久精品视频99| 亚洲精品系列| 久久精品国产亚洲精品| 亚洲国产精品va| 性高湖久久久久久久久| 在线电影国产精品| 亚洲一区二区在线看| 韩日欧美一区| 亚洲一本大道在线| 在线观看成人av电影| 亚洲免费网址| 红桃视频国产精品| 亚洲色诱最新| 黄色成人在线网站| 亚洲一区二区三区视频| 精品91免费| 亚洲女ⅴideoshd黑人| 亚洲春色另类小说| 欧美一区二区三区精品| 亚洲欧洲日韩综合二区| 久久激情综合网| 一本久道久久综合中文字幕 | 国产精品亚洲综合一区在线观看| 亚洲精品乱码久久久久久| 国产日韩欧美在线播放| 一本色道久久加勒比精品| 国产一区二区三区最好精华液| 亚洲视频一区二区| 亚洲第一级黄色片| 欧美专区第一页| 一本大道久久a久久精品综合| 美女国产精品|