日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

CAN总线技术 | 物理层02 - CAN总线的异步串行通讯

發布時間:2025/3/15 编程问答 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 CAN总线技术 | 物理层02 - CAN总线的异步串行通讯 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

  • 一、前言
  • 二、如何解決波特率誤差帶來的通信錯誤?
  • 三、填充位

一、前言


廣州虹科錄制的CAN總線技術課程非常不錯,建議同學們學習一下。B站的地址:https://www.bilibili.com/video/BV1gD4y1U7bJ?p=1

CAN總線使用異步串行通訊,相比同步串行通訊,CAN總線省去了一根用于同步的時鐘線(CLK)。有優點,多半會帶來一些缺點,缺點就是同步問題。
根據波特率做采樣,波特率的誤差會產生通信錯誤。為什么?CAN總線上的各個CAN節點的波特率來源于各個節點上的晶振(例如,STM32上的CAN控制器上的時鐘頻率就是從PCB上的晶振進行倍頻后再分頻得到)。晶振會有誤差,外加上其他誤差。說白了,各個節點的波特率都設置500K。但是,由于誤差問題肯定不會完全等于500K。

二、如何解決波特率誤差帶來的通信錯誤?

CAN總線規定信號的“跳變沿時刻”進行同步,將誤差累計限制在兩個跳變沿之間。

接著問題又來了:當發送數據出現都為0或者1的時候,同樣不跳變造成誤差累計怎么辦法呢?

三、填充位

采用填充位在連續5個相同位后插入一個相反位(CAN控制負責插入該填充位),產生跳變沿,用于同步。如下圖所示:

還有疑問:為什么5個連續相同位之后才使用填充位呢?答:CAN總線在剛發明的時候,設計人員做了大量的測試來驗證5個填充位比較合適。

總之,CAN總線為了解決異步串行通訊帶來的缺點(波特率誤差導致的通訊錯誤),增加了跳變沿時刻同步與填充位的功能。

總結

以上是生活随笔為你收集整理的CAN总线技术 | 物理层02 - CAN总线的异步串行通讯的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。