|
公司基本資料信息
注意:發(fā)布人未在本站注冊(cè),建議優(yōu)先選擇VIP會(huì)員 |
可在各節(jié)點(diǎn)之間實(shí)現(xiàn)自由通信
CAN總線采用了多主競(jìng)爭(zhēng)式總線結(jié)構(gòu),具有多主站運(yùn)行和分散仲裁的串行總線以及廣播通信的特點(diǎn)。CAN總線上任意節(jié)點(diǎn)可在任意時(shí)刻主動(dòng)地向網(wǎng)絡(luò)上其它節(jié)點(diǎn)發(fā)送信息而不分主次,因此可在各節(jié)點(diǎn)之間實(shí)現(xiàn)自由通信。CAN總線協(xié)議已被標(biāo)準(zhǔn)化組織認(rèn)證,技術(shù)比較成熟,控制的芯片已經(jīng)商品化,特別適用于分布式測(cè)控系統(tǒng)之間的數(shù)據(jù)通訊。CAN總線插卡可以任意插在PC AT XT兼容機(jī)上,方便地構(gòu)成分布式監(jiān)控系統(tǒng)。
如果你想正常的實(shí)現(xiàn)串口數(shù)據(jù)與CAN總線數(shù)據(jù)之間的轉(zhuǎn)換,如果你不想在數(shù)據(jù)轉(zhuǎn)換的時(shí)候發(fā)生丟幀現(xiàn)象,那濾波設(shè)置是必須的,濾的是CAN總線端的波。因?yàn)椋鄬?duì)而言,CAN總線的通訊速率遠(yuǎn)高于串口總線,如果我們不進(jìn)行濾波,單位時(shí)間里大量的CAN端數(shù)據(jù)就沒辦法同時(shí)被轉(zhuǎn)換成串口端的數(shù)據(jù),比如說CAN端有10個(gè)數(shù)據(jù),但同一時(shí)間串口端只能接收一個(gè),那剩下的9個(gè)該怎么辦呢?只能丟失掉了,這當(dāng)然是我們不能接收的。
再回到開始,首先這樣的網(wǎng)絡(luò)規(guī)劃是非常不合理的,等于是網(wǎng)絡(luò)上出現(xiàn)了A和B兩個(gè)對(duì)某一幀功能相同的節(jié)點(diǎn),完全沒必要,如果你要更新某個(gè)信號(hào),只需讓A節(jié)點(diǎn)重新發(fā)送新的即可,如果更新的信號(hào)是通過B節(jié)點(diǎn)模塊更新的,也只需先通過B向A發(fā)送一個(gè)幀更新某個(gè)信號(hào),然后A再重新發(fā)送更新的幀。
如果你兩個(gè)節(jié)點(diǎn)關(guān)聯(lián)同一個(gè)幀,以后加入新節(jié)點(diǎn)和升級(jí)改動(dòng)網(wǎng)絡(luò)的時(shí)候會(huì)多一倍的工作量,而且再遠(yuǎn)程幀的響應(yīng)中,同ID多響應(yīng)很容易出現(xiàn)問題。
總之一句話,我們要從總線的角度去看待CAN,不要從節(jié)點(diǎn)的角度出發(fā)。