為什么電腦打不開word文檔(為什么電腦打不開word文檔可以打開表格)
1519
2025-03-31
點擊上方“小麥大叔”,選擇“置頂/星標公眾號”
福利干貨,第一時間送達
CAN(“Controller Area Network”,控制器局域網(wǎng))
作用:將整車中各種不同的控制器連接起來,實現(xiàn)信息的可靠共享,并減少整車線束數(shù)量。可以設想一種極端情況,如下圖所示:
如:果整車上所有的用電設備都是一個獨立的CAN總線節(jié)點,并且每一個節(jié)點都向外發(fā)送自己當前的狀態(tài),并接受來自外部的信息, 那么整車的控制只需要一條CAN總線控制線和電源線就可以了!
CAN總線的基本工作原理
CAN總線的通信通過一種類似于“會議” 的機制實現(xiàn)的,只不過會議的過程并不是由一方(節(jié)點)主導,而 是,每一個會議參加人員都可以自由的提出會議議題(多主通信模式),二者對應關(guān)系如下:
CAN總線工作流程
CAN總線的優(yōu)勢
數(shù)據(jù)傳輸速度高1Mbit/s,距離遠
抗干擾能力強(差分數(shù)據(jù)線)
具有自我診斷能力(錯誤偵測)
CAN總線網(wǎng)絡結(jié)構(gòu)
01 CAN總線網(wǎng)絡節(jié)點結(jié)構(gòu)
02 為何CAN收發(fā)器
照BOSCH CAN總線標準將0或1邏輯信號轉(zhuǎn)換為標準中規(guī)定的電平,同時有反饋功能
CAN總線上的電平
CAN2.0A/B標準規(guī)定:總線空閑時,CAN_H和CAN_L上的電壓為2.5V
在數(shù)據(jù)傳輸時,顯性電平(邏輯 0):CAN_H 3.5V CAN_L 1.5V
隱性電平(邏輯 1):CAN_H 2.5V CAN_L 2.5V
03總線長度的思考
影響總線長度的主要因素:
(1)CAN總線通信的應答機制,即成功接收到一幀報文的節(jié)點必須在 應答場的”應答間隙“期間發(fā)送一位“顯性位”表示成功接收到一幀數(shù)據(jù)
如:通信速率為250Kbit/s,傳送一個bit所需時間為:1/250×1000 = 4μ 那么,該信號在總線上的延時時間必須小于(2μ?)才能保證發(fā)送節(jié)點成功的在應答間隙期間接收到該“顯性電平”。
任何一根導線都可以簡化為左圖所示的電路模型,可以看到,其中既有電感又有電容,因此,電流在其中傳輸并不是光速,而是需要一定的時間。
對于雙絞線而言,信號在其中的傳播延時時間約為,5ns/m(典型值)。當通信速率達到1Mbit/s時,40m的總線長度, 延時時間就達到200ns,而允許延時時間為600ns左右,還是不能不考慮的!
由上面的分析可知:
總線通信速率越高,通信距離越短,對物理傳輸線的要求就越高,在雙絞線、屏蔽線還是其他的傳輸線選擇上,通信速率是一個很關(guān)鍵的參數(shù)。
影響總線長度的其他因素:
信號在節(jié)點ECU內(nèi)部的延時時間
振蕩器的容差(各個節(jié)點ECU內(nèi)部晶振頻率的差別) 這些因素加起來就形成了CAN總線通信中總的信號延時。
CAN總線的硬件抗干擾
共模電感作用:共模電壓有較大的感 抗,差模電壓感抗為零,相當于電感濾波。對共模電流有較大的阻礙作用。
終 端 電阻 120 歐姆并非固定不變,這跟使用的導線有關(guān)!
總線長度的限制——位定時、同步
CAN總線控制器按照時間片的概念將每一個bit的時間劃分成了n個時間片。這樣做的目的就是為了實現(xiàn)CAN總線的同步、保證不同節(jié)點間時間的一致性。
如:晶振和CAN CLOCK,頻率均為4MHz,那么每一個時間片最小時間就為0.25μs,通信波特率為250Kbit/s,那么每一個bit的時間就為4μs, 因此,每一個bit的總的時間片數(shù)目就為16。當然可以進一步提高晶振頻率,使得每一個bit被劃分的更加細致。
CAN2.0A/B將每一個bit的時間劃分成了4段,同步段、傳輸段、相位段1和相位段2,每一段占用一定的時間片
Can總線報文幀結(jié)構(gòu)
CAN總線共有四種報文:
1 數(shù)據(jù)幀
2 遠程幀
3 錯誤幀
4 過載幀
數(shù)據(jù)幀定義
幀起始:1bit。從圖中看出,在幀間隙后由邏輯1(至少兩個bit)向邏輯 0 的跳變就被認為是幀起始,它的作用就是為了硬同步。
仲裁場:由29bit的ID標示符和IDE、SRR、RTR位構(gòu)成。IDE位用于標示該幀是擴展幀(29bit ID)還是標準幀(11bit ID);SRR在擴展幀 中 為 一 隱 性 位 ;R T R 位 為 遠 程 幀 標 志 位 。
由上圖可以看出,11bit的基本ID首先被發(fā)送(ID28~ID18),然后在發(fā)送18bit的擴展ID(ID17~ID0)
CAN總線的仲裁機制
要點
(1)首先發(fā)送ID的29位,優(yōu)先級問題
(2)總線電平由誰決定
CAN總線總裁機制的實現(xiàn)也就實現(xiàn)了CAN總線的多主機模式,總線節(jié)點不存在誰主誰從的概念
注意:我們可以人為的給29位的ID賦予一定的意義從而區(qū)分不同的報文類型!
報文濾波
報文濾波可以通過軟件編程的方式實現(xiàn),也可以通過硬件(芯片內(nèi)部的報文濾波寄存器)實現(xiàn),但二者實現(xiàn)的原理是相同的,如下圖所示:
數(shù)據(jù)幀中的其他場作用
控制場:包括兩位保留位(必須為0),和數(shù)據(jù)長度位(DLC0~DLC3) 數(shù)據(jù)場:包括最多8個字節(jié)的數(shù)據(jù)
CRC場:是一種算法,對數(shù)據(jù)進行CRC校驗,共15bit,其后跟了一位CRC界定符——為1(隱性電平)
應答場:為兩個1(總線電平為低電平),其中一位為應答間隙,另一位為應答界定符。成功接收到數(shù)據(jù)的節(jié)點必須發(fā)送一位顯性位(總線電平為高電平)
來應答該發(fā)送節(jié)點,必須注意:該顯性位必須在應答間隙期間, 即1bit的時間內(nèi)將總線電平拉高。幀結(jié)尾:7個連續(xù)的1組成(隱性電平)
CAN總線的偵聽機制—支持仲裁及錯誤檢查
幀聽就是發(fā)出去的數(shù)據(jù)再采樣回來,比較采樣回來的數(shù)據(jù)是否和發(fā)出的數(shù)據(jù)一致!
CAN總線錯誤檢測
CAN總線通過如下幾個方面進行錯誤檢測
當節(jié)點贏得總線發(fā)送權(quán)后,會對總線電平進行檢測,當發(fā)送的電平和檢測到的總線電平不一致時,認為錯誤;
出現(xiàn)6個連續(xù)相同的電平時,認為是填充錯誤;
CRC錯誤,接收數(shù)據(jù)的節(jié)點按照與發(fā)送數(shù)據(jù)的節(jié)點相同的方法計算數(shù)據(jù)的CRC校驗值,如果接收節(jié)點的計算結(jié)果與數(shù)據(jù)包中CRC場的數(shù)據(jù)不一致, 認為是CRC錯誤;
應答錯誤,在應答場如果沒有監(jiān)控到一個顯性電平,那么就認定一個應答錯誤;
固定位錯誤,例如:CRC界定符等,其電平是固定的,當監(jiān)控到該電平不相符時,認定一個錯誤;
另:總線同步機制也是CAN總線容錯的一種方式;
注意:通過上面5種錯誤檢測機制,發(fā)送節(jié)點和接收節(jié)點均可以檢測到總線上的錯誤,并通過錯誤的累加來實現(xiàn)總線節(jié)點的關(guān)閉等操作
CAN總線負載率計算
計算例子:
假設CAN總線波特率為250Kbit/s,總線報文發(fā)送時間間隔為10ms, 報文為數(shù)據(jù)幀(8個字節(jié)數(shù)據(jù)),那么10ms內(nèi)總線能夠支持的最大報文數(shù)量為多少?
第一步:根據(jù)通信波特率計算10ms總共可以發(fā)送多少bit (250000/1000)*10 = 2500bit
第二步:計算最長的一幀報文有多少個bit
1sof + 29id + 1ide + 1rtr + 1srr + 2r + 4dlc + 8*8data
+ 16crc + 2ack + 7eof = 128bit
第三步:計算10ms內(nèi)可以支持的報文數(shù)目
2500/128 ≈ 19
由上面的計算可知,當10ms間隔的報文數(shù)量超過19條時,就會出現(xiàn)丟幀,總線飽和。
計算報文數(shù)量也是設計CAN網(wǎng)絡所要考慮的,可以查閱相關(guān)文獻看負載率在多少時合適
來源:頭條?億佰特物聯(lián)網(wǎng)實驗室
—— The End?——
推薦好文??點擊藍色字體即可跳轉(zhuǎn)
??非常重要!單片機模塊化設計讓我事半功倍
??推薦一個直接用于項目開發(fā)的PID庫!很好用,很穩(wěn)定
??80家MCU國產(chǎn)和國外廠家匯總!
??推薦一款我私藏已久的串口示波神器
歡迎轉(zhuǎn)發(fā)、留言、、分享給你的朋友,感謝您的支持!
點擊名片關(guān)注我
分享??????????????在看???
以“三連”行動支持優(yōu)質(zhì)內(nèi)容!
單片機
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔相應法律責任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔相應法律責任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。