關於CAN波特率暫存器的幾個引數

2021-08-08 01:34:36 字數 1188 閱讀 5346

這個文章不僅僅是取樣點啦。

(1)關於canopen取樣點,如果是250kbps,鐵定放在了87.5%。

(2)還有關於sjw, 這個值如果是具體比較長,比如100公尺(250kbps最長好像是200公尺),那麼最好設定成3或者4(周立功說「我們選擇3/4可以使匯流排獲得更寬的波特率容忍度」)。我一般設定成了3.

(3)關於取樣次數,250kbps選用1次取樣。 周立功網上說3次取樣經常影響sjw的跳轉。好像有資料說波特率叫小時候可以用3次取樣。

(4)關於sjw,有資料說是這個引數可以延長段1、縮短段2.  所以周立功的軟體配置有個選項,可以選擇符不符合tseg2>=sjw規則。就是說可以選符合也可以選不符合。我看如果選87.5的話,那麼段2 對應的值要麼是1要麼是2,而又要求線路較長時候sjw為3或者4,所以有矛盾。這時候我優先考慮滿足sjw.

(5)還有個引數叫做propag 可以設定為1到8. 這個我設定為比較大。這個引數和線纜的傳輸延遲& 線纜長度之類的有關,《c_can user's manual revision 1.2》page42 說40公尺線纜是220ns。 我司用的線纜是4.77ns每公尺。據說「」我們實際測量得到資料為106公尺是509ns。

關於canopen取樣點,如果是250bps,鐵定放在了87.5%

關於canopen取樣點,如果是250bps,鐵定放在了87.5%關於canopen取樣點,如果是250bps,鐵定放在了87.5%

(5)有就是sjw<=段1,這個一定要滿足.

(6)翻了下《c_can user's manual revision 1.2》的page35 說的太清楚了。比我上面講的好

這麼說的

brp[1,32],定義了tq的長度

sync_seg ,1tq,fixed length,

prop-seg,[1tq,8tq],補償物理延遲時間

phase_seg1[1tq,8tq],may be lengthened temporarily by synchronisation

phase_seg2[1tq,8tq],may be shortened temporarily by synchronisation

sjw[

1tq,8tq],may not be longer thaneitherphase buffer segment

看樣子關注的關鍵就是波特率容忍度。晶振精度&物理延時都是要考慮進去的。

can匯流排(二) 如何測量can匯流排的波特率

這兩天在研究車載can匯流排,因為對於車上的can匯流排的介面以及波特率沒有對應的資料可查 不同的車介面都不一樣,波特率也可能不同 做一想要從車上測出can匯流排上的資料還不太容易。於是我首先使用示波器 我使用的示波器型號是tds 220 來找出汽車上can匯流排的介面,然後測出can匯流排的波特率...

STM8S的can波特率設定

為了掌握如何設定stm8 32 can的波特率,首先我們得先了解一下位時間特性。位時間特性邏輯通過取樣來監視序列的can匯流排,並且通過跟幀起始位的邊沿進行同步,及通過跟後面的邊沿進行重新同步,來調整其取樣點。它的操作可以簡單解釋為,如下所述把名義上的每位的時間分為3段 同步段 sync seg 通...

如何準確的設定CAN匯流排的波特率,保證通訊的穩定性

can匯流排採用的是非同步序列通訊,也就是沒有單獨的時鐘線來保證各個收發器之間時鐘的一致,每個收發器是按事先設定的波特率來對匯流排上的電平進行分位。因此波特率設定準確對can匯流排的穩定通訊來說非常重要。can匯流排裡我們可以通過對can 節點裡的位定時暫存器的控制來實現不同波特率的通訊。can協議...