1.采樣點的定義
采樣點是CAN控制器讀取總線電平,并解釋各個比特的邏輯值的時間點。
首先我們需要了解Tq的概念,Tq是can控制器的最小時間周期稱作時間份額(Time quantum,簡稱Tq),它是通過芯片晶振周期分頻而來。傳輸?shù)膫€bit位由若干個Tq組成,根據(jù)功能傳輸一個BIT位需要分成四個階段:同步段、傳輸段、相位緩沖段1和相位緩沖段2.
這4個階段的功能如下:
1.同步段(Sync_Seg):用于實現(xiàn)時序調(diào)整,總線上各個節(jié)點的跳變沿產(chǎn)生在同步段內(nèi),通常為1個Tq;
2.傳播段(Prop_Seg):用于補償網(wǎng)絡(luò)上的物理延遲時間。這些延遲時間包含信號在總線上的傳輸延遲和CAN節(jié)點內(nèi)部的處理延遲。傳播段保證了2倍的信號在總線上的延遲時間;
3.相位緩沖段1(Phase_Seg1)和相位緩沖段2(Phase_Seg2):用于補償跳變沿的相位誤差,其長度會在重同步的實現(xiàn)過程中延長或縮短。
采樣點位于相位緩沖段1的結(jié)尾。由于相位緩沖段1和相位緩沖段2能夠延長或縮短,采樣點也能夠隨之變化。
2.can采樣點的計算
晶振時鐘周期:是由單片機振蕩器的晶振頻率決定的,指的是振蕩器每震蕩一次所消耗的時間長度,也是整個系統(tǒng)中最小的時間單位;
下面以TC377為例進行計算:
通過查看配置我們的canfd的,采樣分為仲裁場和數(shù)據(jù)場。仲裁場的波特率為500Kbit/s,數(shù)據(jù)場為2Mbit/s,can時鐘頻率為4.0E7。
查看TP377手冊Tq = (DBRP + 1) clock cycles
Tq=(1+1)1/4.0E7(s)=50(ns)
仲裁場計算采樣點:
對于仲裁場500k,傳輸一個bit位的時間1/500000s=2us,所以分配
2us/50ns=40個tq
如果采樣點設(shè)置為80%,則sync_seg+prop_seg+phase_seg1=4080%=32Tq
在ET tresos中可以這樣配置
數(shù)據(jù)場采樣點計算:
對于數(shù)據(jù)場2Mkbs,傳輸一個bit位的時間1/2000000s=500ns,所以分配
500ns/50ns=10個tq,
如果采樣點設(shè)置為80%,則sync_seg+prop_seg+phase_seg1=10*80%=8Tq
則對應(yīng)在EB TRESOS中配置如下
3. CAN-FD與CAN發(fā)送速率的不同
CAN最大傳輸速率1Mbps,CAN-FD速率可變,仲裁比特率最高1Mbps(與CAN相同),數(shù)據(jù)比特率最高8Mbps。BRS位速率切換為,BRS位為0時CANFD速率保持恒定速率、BRS位為1時CANFD的數(shù)據(jù)段會被切換到高速率。
ESI錯誤狀態(tài)指示位:CAN報文中發(fā)送節(jié)點的錯誤狀態(tài)只有該節(jié)點自己知道,CANFD報文中可以通過ESI標志位來告訴其他節(jié)點該節(jié)點的錯誤狀態(tài),當ESI為1時表示發(fā)送節(jié)點處于被動錯誤狀態(tài)、當ESI為0時表示發(fā)送節(jié)點處于主動錯誤狀態(tài)。
4. 發(fā)送延遲補償
CAN控制器發(fā)送信號時,是經(jīng)過收發(fā)器后發(fā)往CAN總線后,再經(jīng)過收發(fā)器反饋總線信號。那么發(fā)送過程中,控制器發(fā)送位信號到接收位信號就不可避免地存在環(huán)路延遲。發(fā)送延遲時間的總和如下:
1 ). CAN控制器內(nèi)部產(chǎn)生TX信號到Tx引腳的傳播延遲;
2 ). Tx引腳到收發(fā)器TxD引腳的傳播延遲;
3 ).收發(fā)器環(huán)路延遲TxD到RxD;
4 ). 收發(fā)器RxD引腳到CAN控制器Rx引腳延遲;
5 ).CAN控制器Rx引腳到控制器內(nèi)部收到Rx信號的延遲
CAN協(xié)議中規(guī)定:發(fā)送方發(fā)送位時,需檢測接收到的位與發(fā)送是否一致,若不一致則產(chǎn)生錯誤幀(位錯誤)。如果發(fā)送延遲過長,則將直接導致發(fā)送與接收位不一致而產(chǎn)生錯誤幀。由于傳統(tǒng)CAN協(xié)議規(guī)定最高波特率為1Mbps,即位寬1us,正常情況下,傳輸延遲不會超過位寬的采樣點(當然具體延遲取決于收發(fā)器環(huán)路延遲、傳輸距離、傳輸線纜質(zhì)量等),因此不會因為發(fā)送延遲而產(chǎn)生錯誤。
在CANFD中,數(shù)據(jù)段的波特率是比CAN更高的(BRS位為隱性時),此時波特率越高,位寬越小,在發(fā)送報文時發(fā)送延遲影響越大,越容易產(chǎn)生位錯誤。由于發(fā)送延遲無法避免,此時就需要一種機制來保證發(fā)送與接收的位對應(yīng)上,以避免產(chǎn)生位錯誤。這種機制就是發(fā)送延遲補償了。
5. 發(fā)送延遲補償(TDC)
TDC實際上就是在發(fā)送BRS位為隱性的CANFD報文時(BRS隱性即開啟數(shù)據(jù)域波特率),在發(fā)送時延遲一定時間后,在第二采樣點采樣接收位,以正確采樣到發(fā)送位對應(yīng)的接收位。
6.發(fā)送延遲測量
那么延遲采樣的延遲時間是多久呢?實際上,開啟TDC后,控制器將自動測量Tx信號線上FDF位到r0位下降沿與Rx信號線上FDF位到r0位邊沿的之間的延遲時間,如下圖中所示,TDCV即為延遲時間。發(fā)送延遲測量的時間單位為CAN控制器時鐘(TDC寄存器中一般對TDCV的值有限制,若超過寄存器最大位數(shù),則發(fā)送延遲測量失敗)。
不同于采樣點,第二采樣點在CAN FD控制器接收其他節(jié)點發(fā)送報文的過程中并不會起到任何作用。第二采樣點的作用,是在不改變傳輸延遲補償?shù)那闆r下,實現(xiàn)CAN FD在數(shù)據(jù)場的位錯誤檢測要求。
根據(jù)TC377手冊
根據(jù)手冊TDCV是接收到數(shù)據(jù)時的發(fā)送延遲時間,是當TDC使能的時候會自己自動計算的。
TDCO就是設(shè)置的正常采樣點的時間。
本文來源于網(wǎng)絡(luò),原文鏈接:
https://blog.csdn.net/jiushimanya/article/details/129354758
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺“網(wǎng)易號”用戶上傳并發(fā)布,本平臺僅提供信息存儲服務(wù)。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.