《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信与网络 > 业界动态 > 如何解决总线通讯数据冲突的问题

如何解决总线通讯数据冲突的问题

2016-06-21
來源:ZLG致远电子

  現(xiàn)場總線作為工業(yè)自動化系統(tǒng)中最后一段通訊的橋梁,越來越多的傳感器和執(zhí)行機(jī)構(gòu)都集成了CAN總線之類的通訊接口,但其固化的幾個通訊數(shù)據(jù)格式,面對當(dāng)前眾多復(fù)雜的大系統(tǒng),時常會給設(shè)計(jì)者帶來底層數(shù)據(jù)沖突的困擾,如何完美解決這一難題,至關(guān)重要。

  一、問題描述

  大家都知道,一個CAN網(wǎng)絡(luò)中不同節(jié)點(diǎn)發(fā)出的報(bào)文的ID也應(yīng)是不同的,否則當(dāng)ID沖突的兩個節(jié)點(diǎn)同時上傳數(shù)據(jù)時會產(chǎn)生錯誤。但是我們時常會發(fā)現(xiàn)某些CAN接口的傳感器或者控制器的報(bào)文ID是固定的,不具備硬件地址區(qū)分。以下圖為例,某電機(jī)控制器有三條標(biāo)準(zhǔn)幀功能報(bào)文,ID分別為0x0001、0x0002、0x0003。那么如何在同一個CAN網(wǎng)絡(luò)中使用多個同樣的電機(jī)控制器既可以防止ID沖突又可以識別硬件地址呢?

1.jpg

  圖 1  相同CANID設(shè)備組網(wǎng)

  二、解決方案

  針對這一問題,可以將致遠(yuǎn)電子的CAN網(wǎng)橋CANbridge+加裝在各個設(shè)備與總線之間,利用其ID映射功能,將每臺設(shè)備的功能ID映射為一個帶地址字段的新ID。這樣既可以防止設(shè)備上傳的報(bào)文產(chǎn)生ID沖突錯誤,又可以通過添加的地址字段區(qū)分不同的設(shè)備。如下圖所示,將標(biāo)準(zhǔn)幀ID的高8位定義為地址字段,這樣就可以通過ID區(qū)分不同設(shè)備的上行下行報(bào)文。

2.jpg

  圖 2  使用CAN網(wǎng)橋?qū)崿F(xiàn)相同CANID設(shè)備組網(wǎng)

  三、設(shè)置流程

  1、波特率設(shè)置

  使用通訊線連接CANbridge+和PC機(jī),打開CANCfg軟件,在基本信息選項(xiàng)卡里點(diǎn)擊CAN1、CAN2波特率的下拉菜單,均選擇所接CAN設(shè)備的對應(yīng)波特率。

3.gif

  圖 3  CANbridge+的波特率設(shè)置

  2、幀映射設(shè)置

  在幀映射選項(xiàng)卡里點(diǎn)擊使能幀映射,假定網(wǎng)橋的CAN1端口連接CAN設(shè)備,網(wǎng)橋的CAN2端口連接CAN網(wǎng)絡(luò)。添加如下圖所示的映射關(guān)系,即可將1號設(shè)備的所有功能ID關(guān)聯(lián)上硬件地址。同樣對其他設(shè)備連接的CAN網(wǎng)橋做類似的設(shè)置,即可實(shí)現(xiàn)相同CANID設(shè)備的組網(wǎng)。

4.png

  圖 4  CANbridge+的幀映射設(shè)置


本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。

相關(guān)內(nèi)容