1.CAN通訊回讀機(jī)制
在CAN通信中,控制器會(huì)通過(guò)采樣收發(fā)器的RX引腳信號(hào),來(lái)確認(rèn)自己通過(guò)TX引腳發(fā)送的數(shù)據(jù)是否正確傳輸?shù)娇偩€。這種“回讀”機(jī)制是實(shí)現(xiàn)仲裁判斷和錯(cuò)誤檢測(cè)的關(guān)鍵。不過(guò),由于CAN收發(fā)器在信號(hào)驅(qū)動(dòng)和接收過(guò)程中存在固有的延遲,信號(hào)從TX輸出、經(jīng)過(guò)總線傳播,再返回RX引腳,都會(huì)引入一定時(shí)間的滯后。
2.CAN采樣點(diǎn)
采樣點(diǎn)即讀取總線電平的時(shí)刻,并將讀到的電平作為位值的點(diǎn)。位置在TSeg1結(jié)束處。比如采樣點(diǎn)為80%,意思是(同步段+TSeg1)/(同步段+Tseg1+Tseg2)=80%。
當(dāng)一個(gè)比特時(shí)間(BitTime)由固定數(shù)量的時(shí)間量子(Tq)組成,例如總計(jì)10個(gè)Tq,其中同步段占1個(gè)Tq,TSeg1設(shè)置為7,TSeg2為2,則采樣點(diǎn)位于第8個(gè)Tq,換算為百分比就是采樣點(diǎn)出現(xiàn)在整個(gè)比特時(shí)間的80%位置,即:
SamplePoint=(Sync_Seg+TSeg1)/Total_Tq=(1+7)/10=80%
在進(jìn)行位同步調(diào)整時(shí),通過(guò)調(diào)節(jié)TSeg1和TSeg2的比例可以控制采樣點(diǎn)的位置:如果Prop_Seg+TSeg1較小而TSeg2較大,采樣點(diǎn)會(huì)向前移動(dòng);反之,Prop_Seg+TSeg1較大而TSeg2較小,采樣點(diǎn)則會(huì)向后靠近比特末尾。
此外,SJW(SynchronizationJumpWidth,同步跳轉(zhuǎn)寬度)是定義在重同步過(guò)程中,采樣點(diǎn)最多可以偏移的時(shí)間量(以Tq為單位)。SJW決定了控制器在發(fā)生相位誤差時(shí),允許對(duì)采樣點(diǎn)進(jìn)行的最大修正范圍。典型設(shè)置為1~4個(gè)Tq。SJW越大,系統(tǒng)對(duì)時(shí)鐘誤差的容忍度越高,抗干擾能力增強(qiáng);但SJW設(shè)置過(guò)大可能會(huì)導(dǎo)致采樣穩(wěn)定性下降,影響通信精度或效率。
3.什么是收發(fā)器延遲補(bǔ)償
以500kbps的通信速率為例:每個(gè)bit的時(shí)間為2000ns。若收發(fā)器有200ns的信號(hào)延遲,相當(dāng)于整個(gè)位周期的10%,也就是說(shuō)RX引腳上采樣到的電平會(huì)比TX發(fā)出的信號(hào)滯后約10%的時(shí)間。如果我們按典型的采樣點(diǎn)設(shè)置在87%來(lái)計(jì)算,那么由于延遲的存在,實(shí)際RX回讀的采樣時(shí)刻大約落在77%左右,依然處于顯性或隱性位的穩(wěn)定階段,具有較好的采樣裕度。
這正是CAN協(xié)議推薦將采樣點(diǎn)設(shè)置在75%~87%的主要原因之一:為TX到RX的物理傳輸延遲預(yù)留足夠的“時(shí)間窗”,確保即使存在一定延遲,控制器也能在有效電平區(qū)間內(nèi)完成準(zhǔn)確采樣。
在CANFD中,數(shù)據(jù)段支持更高的靈活比特率,例如10Mbps,此時(shí)每個(gè)位的持續(xù)時(shí)間僅為100ns。若收發(fā)器本身引入200ns的延遲,RX引腳接收到的信號(hào)將滯后整整兩個(gè)位周期,幾乎無(wú)法與TX保持同步。這種級(jí)別的延時(shí)會(huì)嚴(yán)重干擾采樣點(diǎn)的準(zhǔn)確性,導(dǎo)致數(shù)據(jù)位被誤判,即便調(diào)整采樣點(diǎn)的位置也難以補(bǔ)救。為了應(yīng)對(duì)這一問(wèn)題,CANFD標(biāo)準(zhǔn)引入了一個(gè)關(guān)鍵機(jī)制:收發(fā)器延遲補(bǔ)償(TransceiverDelayCompensation,TDC)。
4.什么是SSP(SecondarySamplePoint)
在CANFD協(xié)議中,為解決高速數(shù)據(jù)段中收發(fā)器延遲所引發(fā)的采樣誤差問(wèn)題,標(biāo)準(zhǔn)引入了二次采樣點(diǎn)(SSP,SecondarySamplePoint)及收發(fā)器延遲補(bǔ)償機(jī)制(TDC,TransceiverDelayCompensation)。
當(dāng)控制器處于仲裁階段(通常波特率不超過(guò)1Mbps)時(shí),會(huì)利用CAN總線上的信號(hào)邊沿(例如顯性到隱性的跳變),通過(guò)比較本地TX引腳發(fā)出的信號(hào)與RX引腳回讀的反饋信號(hào)之間的時(shí)間差,估算出收發(fā)路徑的整體延遲(RXloopdelay),該延遲主要由收發(fā)器內(nèi)部驅(qū)動(dòng)和接收電路引起。
在進(jìn)入數(shù)據(jù)階段(DataPhase)后,控制器會(huì)依據(jù)前述測(cè)得的延遲,對(duì)采樣點(diǎn)進(jìn)行動(dòng)態(tài)后移調(diào)整,即在原定采樣時(shí)刻基礎(chǔ)上額外延遲一段時(shí)間,以確保RX引腳上的波形已經(jīng)穩(wěn)定到達(dá),從而提升數(shù)據(jù)采樣的可靠性和準(zhǔn)確性。該實(shí)際采樣位置即為SSP。
通過(guò)這種延遲補(bǔ)償機(jī)制,CANFD在支持高達(dá)數(shù)Mbps至10Mbps的高速數(shù)據(jù)段通信時(shí),依然能夠保證同步精度和通信穩(wěn)定性,有效避免因收發(fā)器延遲導(dǎo)致的位錯(cuò)誤或CRC異常。
獨(dú)家好書《虎婿:賭石至尊》,只要膽子大,沒(méi)有不可能!
《虎婿:賭石至尊》作者:封侯 年度好書《虎婿:賭石至尊》,別攔著我,我就想逆襲走上人生巔峰!《虎婿:賭石至尊》作者:封侯