CAN采樣點
采樣點的計算:
sample = ( 1 + ?CAN_BS1) / ?(1 + ?CAN_BS1 + ?CAN_BS2)
CAN_BS1 = TSEG1+1
CAN_BS2 = TSEG2+1
根據(jù)BTR1寄存器來計算即可。
采樣點的設(shè)置:
(1)一般配置在75-80%的位置
(2)選擇采樣點位置在85%左右為佳
(3)75%? ? ?when 波特率 > 800K
? ? ? ? ?80%? ? ?when 波特率 > 500K
? ? ? ? ?87.5%? ?when 波特率 <= 500K
采樣點的意義:
為了保證有效的通信,對于一個只有兩個節(jié)點的CAN網(wǎng)絡(luò),其兩邊距離不超過最大的傳輸延遲和每個節(jié)點的時鐘容差能夠正確地接收和解碼每個傳輸?shù)南?,這需要每個節(jié)點都能對每個位正確采樣。
CAN總線的每一幀可以看作一連串的電平信號。大多數(shù)設(shè)備使用單點采樣,也就是在一個位時間內(nèi)從采樣點的位置讀取一個電平信號,以此確定這個“位”的顯隱性。在CAN網(wǎng)絡(luò)中,當(dāng)每個節(jié)點的采樣點位置不一樣時,由于總線過長引起的通信延遲或現(xiàn)場對總線的干擾,就容易發(fā)生讀取的電平不一致現(xiàn)象,產(chǎn)生CRC錯誤報文。為了提高CAN網(wǎng)絡(luò)的通信成功率,各節(jié)點的采樣點應(yīng)設(shè)置一致。
標(biāo)簽: