日本无码免费高清在线|成人日本在线观看高清|A级片免费视频操逼欧美|全裸美女搞黄色大片网站|免费成人a片视频|久久无码福利成人激情久久|国产视频一二国产在线v|av女主播在线观看|五月激情影音先锋|亚洲一区天堂av

  • 手機站
  • 小程序

    汽車測試網

  • 公眾號
    • 汽車測試網

    • 在線課堂

    • 電車測試

首頁 > 汽車技術 > 正文

CAN-FD核心技術簡介

2021-03-30 08:27:51·  來源:汽車ECU開發(fā)  作者:CSDN博主「南工問天」  
 
升級CAN的幾條理由:1. 汽車行業(yè)的最初要求是加速軟件下載,在線下和車庫中進行軟件更新。2. 此外,汽車制造商還要求為一些基于CAN的車載網絡提供更多帶寬。3.
升級CAN的幾條理由:

1. 汽車行業(yè)的最初要求是加速軟件下載,在線下和車庫中進行軟件更新。

2. 此外,汽車制造商還要求為一些基于CAN的車載網絡提供更多帶寬。

3. 卡車和其他商用車輛的制造商也需要更多的CAN網絡吞吐量。

4. 非汽車也贊成CAN FD。他們中的一些人對增加的速度不感興趣,但是想要更長的有效載荷(超過8個字節(jié))

CAN FD怎被想出來的?

假設我們現在還不知道CAN-FD,想提高CAN傳輸效率,即單位時間內CAN有效數據的傳送量,有幾種方法:

1. 提高數據場的長度。

這是因為傳統(tǒng)CAN(按照CAN2.0B規(guī)范)的有效載荷率太低了。CAN數據幀由七個段組成,只有數據段才是有效載荷,其它段都是為此服務的。對于11位CANID的標準幀,數據段N個字節(jié)。CAN有效載荷率=8*N/(8*N+44)。在無位填充的理想情況下才58%,最壞情況下給數據幀增加24個填充位降到了48%。標準幀無位填充情況下,除數據段其他段Bit等于:1+11+3+4+15+3+7=44個,則提高單幀數據長長度,可以有效增加有效載荷率。

2. 增加位填充的字節(jié)數

傳統(tǒng)CAN當總線上有連續(xù)5個相同電平的位就增加一個反型位,其目的是為了實現收發(fā)節(jié)點的時鐘同步。根據論文《 一種新的CAN總線位填充方案-2008年》的分析,由于使用石英晶體振蕩器比最初陶瓷晶體振蕩器的容差更小,選擇10個相同電平增加一個位填充也能實現同步。但即便如此,最壞情況下CAN有效載荷率為53%,只比原來提高5%,效果不明顯。

CAN-FD核心技術簡介

3. 提高CAN波特率

這個顯而易見,波特率提高n倍,總數據載荷率和有效載荷率同樣提高n倍?,F在假設某CAN網絡有6個節(jié)點,有兩個節(jié)點A,B想提高數據傳輸速率。

方法一,6個節(jié)點都提高波特率。在整車環(huán)境下“牽一發(fā)而動全身“的方法成本太高。對于高級車型,所有通信節(jié)點重新設計增加的成本在整車成本比例中可能不高。但對于中低端車型顯然會增加成本,顯得不現實。另外,因為每個節(jié)點的零部件供應商和軟件開發(fā)者可能都不一樣,協調起來難度也較大。其次,有的節(jié)點本來數據傳輸量就不大,為了應付總體波特率提高而更改設計沒有必要。

方法二,劃分不同波特率時間片。例如,網絡上所有節(jié)點約定一個全局時間,每隔100ms切換一次波特率,按照【50ms高速——50ms低速——50ms高速——50ms低速.......】循環(huán)進行。比如,按照流程:

0ms: 主節(jié)點A按低速波特率授時0ms計時開始,

0~45ms: 所有低速節(jié)點通信

45ms: 所有低速節(jié)點關閉通信

45~55ms:低高速通信切換緩沖區(qū),總線空閑

55~90ms:所有高速節(jié)點通信

90ms:所有高速節(jié)點關閉通信

90~100ms:高低速通信切換緩沖區(qū),總線空閑

重復0ms動作

存在的問題:

1. 每個循環(huán)周期有兩次高低速切換緩沖區(qū),在此期間不能通信,否則會引起錯誤幀。該緩沖區(qū)時間浪費帶寬。如果要減少緩沖時間,就要保證較高的授時精度,這需要較復雜的軟件算法。

2. 當某個節(jié)點因BusOff或其它原因脫離總線恢復后在沒有收到授時幀前,不能發(fā)送數據,還需要做波特率檢測算法。

3. 當0ms授時節(jié)點故障時,總線就會癱瘓。所以,需要做兩個0ms授時節(jié)點的冗余方案。

2. 和方法一一樣,無關的從節(jié)點也要更改軟件,依然“牽一發(fā)而動全身“。

方法三,根據節(jié)點優(yōu)先級動態(tài)更改波特率。例如,當節(jié)點A,B想用高波特率通信時,按流程:

a. A按照默認波特率通知其他節(jié)點停止接收,通知B節(jié)點提高波特率。

b. A提高波特率:2~10HMz等

c. A,B互相通信

d. A,B通信完釋放總線。

e. 其它節(jié)點按照默認波特率通信。

綜合,有一個很好的組合方案就出來了:延長數據場長度+根據節(jié)點優(yōu)先級動態(tài)更改波特率,這就是CAN-FD,如下圖。

CAN-FD核心技術簡介1

特別的,CAN-FD在仲裁場增加BRS位,只要一個Bit的時間1~2us,就可以無縫切換波特率。其效率遠高于固定時間片方法。另外,僅僅更換傳統(tǒng)控制器CAN節(jié)點的收發(fā)器,使收到BRS位有效時立即關閉接收,避免波特率不一致使低速節(jié)點發(fā)出錯誤幀。使用最低的成本就是可以實現一個CAN網絡中個別節(jié)點的速率提升。

CAN FD的核心技術是什么?

傳統(tǒng)CAN 2.0B標準,限制波特率1Mbps,主要是考慮CAN時鐘源振蕩器的頻率誤差范圍:根據ISO11898-1-2003標準描述,選用5位填充時,頻率誤差df公式如下,

CAN-FD核心技術簡介2

式1),分母中的13意思是2*(N+1)+1=2*(5+1)+1,可見填充位的位數N越大,對振蕩器的精度要求越高。CAN規(guī)范在設計之初就排除了誤差較大的RC振蕩器,誤差在1%以上,用戶可選用的是陶瓷或晶體振蕩器(陶瓷振蕩器精度是幾千個ppm,石英振蕩器可以達到幾個ppm,相差3個數量級)。根據ISO11898-1-2003限制的位時序參數,取最大波特率1MHz, tbit=8Tq,最小的PSEG1, PSEG2=2, PTS=4, 帶入公式1,df≤2/(2*(13*8-2)=0.9%=9000ppm,可以滿足大部分陶瓷振蕩器的頻率誤差。

CAN-FD核心技術簡介3

參考:下圖是某款汽車級的陶瓷振蕩器,頻率公差在±3000ppm

CAN-FD核心技術簡介4

可見要實現CANFD,必須要在保證時鐘頻率誤差的前提下提高波特率。

1. 如果選用頻率誤差更低的陶瓷振蕩器或晶體振蕩器,波特率就能提高10倍?

設目標波特率是10MHz,一個位8個Tq,那么CAN時鐘源至少80MHz。目前汽車也用的最多是20MHz晶振,80MHz晶振或許有,但價格肯定也很高。

2. 用PLL倍頻方法提高CAN時鐘頻率可以嗎?

用PLL倍頻,可以把20MHz倍頻到80~200MHz甚至更高。但是PLL倍頻一般會放大頻率誤差。比如,飛思卡爾MPC5643L一款MCU,他就推薦CAN時鐘源盡量直接用晶振不要用PLL。

CAN-FD核心技術簡介5

但是,如果CPU制造商技術強大的話,也可以保證PLL倍頻后的誤差不會太高。比如下面英飛凌TC275,可見芯片廠家在PK技術的時候PLL倍頻時鐘頻率誤差是一個非常重要的制約點。

CAN-FD核心技術簡介6

CAN-FD核心技術簡介7

3. 總線傳輸延遲的考慮。

但是,光保證PLL倍頻精度還不夠。在傳統(tǒng)CAN里面,ISO 11898-5:2007規(guī)定了最大總線傳輸延遲是255ns,對于1MHz波特率1us/bit, 按照極限情況8Tq/bit計算一個Tq=125ns。則總線最大傳輸延遲=2Tq, 則傳播時間段設置2Tq就可以吸收該延遲。

CAN-FD核心技術簡介8CAN-FD核心技術簡介9

CAN-FD核心技術簡介10
CAN-FD核心技術簡介11

但是,當總線波特率提高時。假設5MHz, 則有200ns/bit, 仍舊按8Tq/bit計算,則25ns/Tq。則總線最大傳輸延遲=10Tq。原來的傳播時間段顯然無法覆蓋。那怎么辦?

1. 延長傳播延遲段參數,比如10~20Tq,那每位的Tq個數增加了,波特率又下降了,與目的違反,顯然不行。

2. 把這個時間實測出來,補償到傳播時間段參數里。這是個很好的方法。英飛凌TC275的手冊里有如下描述:The Transmitter loop delay is measured in each transmitted frame at the edge from the FDF bit to the following bit r0, between the edge of the transmitted bit and the edge of the received bit.

CAN-FD核心技術簡介12

如圖,是考慮了總線延遲,采樣點從SSP后移到SSP,

CAN-FD核心技術簡介13
4. 總線傳播延遲的補償方法

總線傳播延遲時間tLoop分兩段:隱性到顯性延遲 tLoop-rec2dom, 顯性到隱性延遲 tLoop-dom2rec.

CAN-FD核心技術簡介14

由于CAN2.0規(guī)范允許重同步時只考慮隱性到顯性電平的變化,如下圖示:對于tLoop-rec2dom的時間是可以提前測量的也是基本穩(wěn)定的(硬件原因),但是必須要在實際測量出tLoop-dom2rec前就要對第6個反型位采樣,那么就要提前估算出tLoop-dom2rec,也就是確定tRec的值。方法就是先做大量實驗測量tRec的值,受各種原因影響,從顯性位回到隱性位的延遲時間不固定,如下表示。但是它總在tBit的左右一定范圍內變化。

CAN-FD核心技術簡介15

CAN-FD核心技術簡介16

我們關心的是tRec的實際時刻與期望時刻的一個偏差,如下公式所示,并在規(guī)范里限制該偏差在一定范圍內。

CAN-FD核心技術簡介17

CAN-FD核心技術簡介18

5. 位速率分界線

CAN-FD核心技術簡介19

6. SSP計算方法

在CAN-FD數據段,第二采樣點=傳播延遲時間(實測,SS是一個估計值)+補償時間(相當于相位緩沖段1)。

CAN-FD核心技術簡介20
CAN-FD核心技術簡介21

7. 延時補償的影響范圍

受網絡復雜度影響,tLoop-dom2rec在5MHz以上變化范圍很寬。所以當CAN-FD波特率≥5MHz時只能用于點對點通信,CAN-FD波特率≤2MHz時可以用于復雜網絡通信,在2~5MHz范圍不能保證復雜網絡通信的可靠性。如此,當總線上所有節(jié)點都升級到CAN-FD功能后,網絡波特率最大被限制到2MHz。要想在5MHz范圍內保證網絡通信的可靠性,就要用更好的線束,收發(fā)器,而這又是一筆不小的成本。

升級CAN-FD的影響:

1. 所有基于傳統(tǒng)CAN的測試設備要升級:Canoe, Canlyzer, ES581, 刷新工具

2. 所有基于傳統(tǒng)CAN的測試軟件要升級:Canoe, Canlyzer, INCA,刷新軟件

CAN-FD核心技術簡介22

總結:

1. 在保證CAN總線上非相關節(jié)點軟硬件基本不動的前提下(硬件上只需更換收發(fā)器),CAN-FD是一種性價比最好的方法

2. CAN-FD的核心技術:

a. 提高CAN時鐘源頻率的前提下依然保證誤差容許范圍不超過9000ppm(由CPU制造商保證)

b. 自動測量隱性到顯性的傳播延遲時間Tloop,結合不同波特率下隱性到顯性傳播延遲時間的期望值,在第二采樣點SSP做補償就可以。

c. 當總線上所有節(jié)點都升級到CAN-FD功能后,網絡波特率最大被限制到2MHz。要想在5MHz范圍內保證網絡通信的可靠性,就要用更好的線束,收發(fā)器,而這又是一筆不小的成本。 


版權聲明:本文為CSDN博主「南工問天」的原創(chuàng)文章,遵循CC 4.0 BY-SA版權協議,獲得作者轉載權限。
分享到:
 
反對 0 舉報 0 收藏 0 評論 0
滬ICP備11026917號-25