CAN-bus的可靠性很高,,但是在某些情況下還是發(fā)生錯(cuò)誤,為了使數(shù)據(jù)能夠在總線上可靠傳輸,,CAN-bus規(guī)范對各類幀的格式,、用途及發(fā)送時(shí)機(jī)都進(jìn)行了詳細(xì)的規(guī)定。并實(shí)現(xiàn)在CAN控制器中自動(dòng)完成幀格式處理及校驗(yàn)等工作,,一旦錯(cuò)誤被檢測,,正在傳送的數(shù)據(jù)幀將會立即停止而待總線空閑時(shí)再次重發(fā)直至發(fā)送成功,,該過程并不需要CPU的干涉除非錯(cuò)誤累計(jì)該發(fā)送器退隱(Bus off)。
CAN-bus的可靠性很高,,但是在某些情況下還是發(fā)生錯(cuò)誤,,為了使數(shù)據(jù)能夠在總線上可靠傳輸,CAN-bus規(guī)范對各類幀的格式,、用途及發(fā)送時(shí)機(jī)都進(jìn)行了詳細(xì)的規(guī)定,。下面我們來總結(jié)下在CAN通訊中會出現(xiàn)哪些錯(cuò)誤。
位錯(cuò)誤:發(fā)送節(jié)點(diǎn)在發(fā)送數(shù)據(jù)的同時(shí)也會對發(fā)出的比特流采樣回收,,如果監(jiān)測到總線電平與正在發(fā)送的電平不符,將會發(fā)生位錯(cuò)誤(Bit Check Error),;
位填充錯(cuò)誤:為解決異步串行通訊中共有的缺點(diǎn)——各節(jié)點(diǎn)通訊時(shí)鐘不同步,,CAN-bus采用了一種同步的方式,規(guī)定每隔5個(gè)位的時(shí)間長度進(jìn)行一次同步,,當(dāng)傳輸信號連續(xù)5個(gè)位是相同的,,就要插入一個(gè)點(diǎn)評相反的位(稱為“填充位”),如果電纜上傳輸?shù)男盘柌粷M足這一規(guī)則,,則會出現(xiàn)填充位錯(cuò)誤(Bit Stuff Error),;
CRC錯(cuò)誤:發(fā)送端發(fā)送的CRC值由發(fā)送器計(jì)算得出,接收器采用同樣的CRC算法,,計(jì)算出接收端CRC值,,若接收器計(jì)算的CRC值與接收到的CRC值不符,將會產(chǎn)生該類錯(cuò)誤(CRC Error),;
格式錯(cuò)誤:當(dāng)傳輸?shù)臄?shù)據(jù)幀格式與任何一種合法的幀格式不符時(shí)會發(fā)生該類格式錯(cuò)誤(frame Check Error),;
應(yīng)答錯(cuò)誤:如果在ACK段發(fā)送節(jié)點(diǎn)沒有接收到接收節(jié)點(diǎn)發(fā)出的應(yīng)答(顯性位),將發(fā)生應(yīng)答錯(cuò)誤(Acknowledgment Error),,所以當(dāng)單個(gè)節(jié)點(diǎn)發(fā)送數(shù)據(jù)幀時(shí)會發(fā)生該類錯(cuò)誤,。
錯(cuò)誤幀在總線信號傳輸中起著信號燈的作用,接收和發(fā)送過程中如果檢測到通信出錯(cuò),,便會發(fā)送錯(cuò)誤幀,,錯(cuò)誤幀由錯(cuò)誤標(biāo)識符以及錯(cuò)誤界定符構(gòu)成。其中錯(cuò)誤標(biāo)識符分為兩種:“主動(dòng)錯(cuò)誤”和“被動(dòng)錯(cuò)誤”,。
主動(dòng)錯(cuò)誤狀態(tài)下,,只要檢查到錯(cuò)誤,它立即“主動(dòng)地”發(fā)出錯(cuò)標(biāo)識,。所謂“出錯(cuò)標(biāo)識“,,它本身就是一個(gè)“錯(cuò)誤的位序列”(連續(xù)的6個(gè)顯性位,不滿足CAN協(xié)議的“zui多5個(gè)連續(xù)的同性位”要求),,目的是“主動(dòng)地”告訴大家:即使你們沒有發(fā)現(xiàn)“剛才我已發(fā)現(xiàn)”的錯(cuò)誤,,現(xiàn)在我“以身作則”出錯(cuò)啦!你們該看到這個(gè)錯(cuò)誤了吧!
如果處于被動(dòng)狀態(tài)下,,檢查到錯(cuò)誤,,它只能干瞪眼“被動(dòng)地”等別人(主動(dòng)報(bào)錯(cuò)站點(diǎn))報(bào)錯(cuò),等待的時(shí)候它可不能去動(dòng)總線,,直到識別出由主動(dòng)報(bào)錯(cuò)站點(diǎn)發(fā)出 的“錯(cuò)誤的位序列”,,它才松了一口氣:有人正式報(bào)錯(cuò)了!然后他就可以去競爭總線,,該干啥干啥,。
為了避免某個(gè)設(shè)備因?yàn)樽陨碓颍ɡ缬布p壞)導(dǎo)致無法正常收發(fā)數(shù)據(jù)而不斷地破壞數(shù)據(jù)幀,從而影響其他正常節(jié)點(diǎn)通訊,,CAN-bus規(guī)范中規(guī)定每個(gè)CAN控制器都有一個(gè)發(fā)送錯(cuò)誤計(jì)數(shù)器和一個(gè)接收計(jì)數(shù)器,。根據(jù)計(jì)數(shù)值不同CAN節(jié)點(diǎn)會處于不同的設(shè)備狀態(tài),狀態(tài)之間的轉(zhuǎn)換關(guān)系見下圖:
相關(guān)產(chǎn)品
免責(zé)聲明
- 凡本網(wǎng)注明“來源:化工儀器網(wǎng)”的所有作品,,均為浙江興旺寶明通網(wǎng)絡(luò)有限公司-化工儀器網(wǎng)合法擁有版權(quán)或有權(quán)使用的作品,,未經(jīng)本網(wǎng)授權(quán)不得轉(zhuǎn)載、摘編或利用其它方式使用上述作品,。已經(jīng)本網(wǎng)授權(quán)使用作品的,,應(yīng)在授權(quán)范圍內(nèi)使用,并注明“來源:化工儀器網(wǎng)”,。違反上述聲明者,,本網(wǎng)將追究其相關(guān)法律責(zé)任。
- 本網(wǎng)轉(zhuǎn)載并注明自其他來源(非化工儀器網(wǎng))的作品,,目的在于傳遞更多信息,,并不代表本網(wǎng)贊同其觀點(diǎn)和對其真實(shí)性負(fù)責(zé),不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任,。其他媒體,、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品第一來源,,并自負(fù)版權(quán)等法律責(zé)任,。
- 如涉及作品內(nèi)容、版權(quán)等問題,,請?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,,否則視為放棄相關(guān)權(quán)利。