CAN總線通信協議學習1——物理層

首先來看看CAN是怎么產生的:簡單理解,CAN就是一種“擁有特別連接方式”的數據傳輸的總線,其有特定的一些規則。

(注:資料及圖片來源于知乎博主TOMOCAT。)

CAN總線的結構

查閱參考文獻,OSI標準主要將CAN總線分為物理層、數據鏈路層、應用層(有客戶自己設定),(下圖中的表示層、傳輸層等等在我看來就是在數據處理中設計到的范疇,主要部分還是上述三層),而應用層由客戶自己設定,那么有標準的就只能是物理層和數據鏈層,以下主要講解這兩個部分。

CAN的物理層

CAN總線分為高速CAN和低速CAN,顧名思義,

  • 高速CAN傳輸速度快但距離短
  • 低速CAN傳輸速度慢但距離遠。

  • 高速CAN閉環
  • 低俗CAN開環

在此我們主要學習高速CAN

高速CAN的拓撲結構(硬件電路)

首先,CAN總線是將信號轉換為差分信號進行傳輸。

高速CAN的硬件電路圖如上所示,可以看到:


????? 設備即傳輸數據的電子控制單元,其將數據通過TX和RX線傳輸給CAN收發器

\rightarrow? CAN收發器通過電平轉換、輸出驅動、輸入采樣等操作將收到的數據傳到CAN_H和CAN_L

\rightarrow? CAN_H和CAN_L將傳輸數據轉為差分信號進行傳輸


其次,CAN總線其實就是CAN_H和CAN_L組成兩根閉環線,且CAN_H和CAN_L兩端添加120Ω的終端電阻,終端電阻的作用:

(1)防止回波反射(不太懂)

(2)當無設備工作時,使高速CAN默認為收緊狀態,兩線電壓差為0。與后續CAN總線電平的設置相關(也不太懂嗶哩嗶哩上說的收緊拉開)

CAN電平標準

看高速CAN,CAN_H和CAN_L所謂“收緊”時,即電壓差為0V(或-0.5V到0.05V),表示1;CAN_H和CAN_L所謂“拉開”時,即電壓差為2V(或1.5V~3V,有一個誤差范圍,看設定),表示0。(低速CAN則類似這樣看)。

  • 這里要注意,邏輯1被定義為隱形,邏輯0被定義為顯性,這與我們的使用習慣不太相同。
  • 當顯性和隱性電平同時出現,表示為顯性電平,即0和1同時出現,表示0(0強于1)。

CAN收發器(不太懂,留個圖,后面來補上)

注:本文將開始進行CAN總線通信協議得學習,以下均是通過學習參考文獻、嗶哩嗶哩網站上江協科技官方號以及網絡資源所得的個人經驗,如有侵權,請聯系我,歡迎指正。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/72121.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/72121.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/72121.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

偏移量是什么

在將二維網格映射到一維數組時,偏移量是指在一維數組中 某一行的第一個元素相對于數組起始位置的位置差。對于一個 3 行 4 列的網格,我們使用公式 cur_pos x * n y 來計算二維位置 (x, y) 在一維數組中的索引。 當 x 0 (第一行&#xff…

【Mac電腦本地部署Deepseek-r1:詳細教程與Openwebui配置指南】

文章目錄 前言電腦配置:安裝的Deepseek版本:使用的UI框架:體驗效果展示:本地部署體驗總結 部署過程Ollama部署拉取模型運行模型Openwebui部署運行Ollama服務在Openwebui中配置ollama的服務 后話 前言 deepseek最近火的一塌糊涂&a…

給小白的oracle優化工具,了解一下

有時懶得分析或語句太長,可以嘗試用oracle的dbms_sqldiag包進行sql優化, --How To Use DBMS_SQLDIAG To Diagnose Query Performance Issues (Doc ID 1386802.1) --診斷SQL 性能 SET ECHO ON SET LINESIZE 132 SET PAGESIZE 999 SET LONG 999999 SET SER…

YOLO11改進加入ResNet網絡

文章目錄 1.改進目的2.demo引入2.1代碼2.2 結果展示2.3 BottleNeck詳解 1.改進目的 原始YOLO11模型訓練好以后,檢測結果mAP結果很低,視頻檢測結果很差,于是想到改進網絡,這里介紹改進主干網絡。 2.demo引入 2.1代碼 # File: 2…

Spring MVC流程

SpringMVC啟動流程 啟動流程父子容器請求處理MultipartFile 解析參數傳遞返回值處理HandlerInterceptor 啟動流程 啟動Tomcat解析web.xml創建DispatcherServlet調用DIspatcherServlet的init方法 4.1 創建Spring容器 4.2 發布ContextRefresheEvent 4.3 在OnRefreshed方法中觸發…

【大數據】ClickHouse常見的錯誤及解決方式

ClickHouse 是一款高性能的列式數據庫,但在使用過程中難免會遇到一些錯誤。本文將介紹一些 ClickHouse 常見的錯誤及其解決方式,幫助您更好地使用 ClickHouse。 1、錯誤:DB::Exception 錯誤信息 DB::Exception:Table engine Distributed d…

物理競賽中的線性代數

線性代數 1 行列式 1.1 n n n 階行列式 定義 1.1.1:稱以下的式子為一個 n n n 階行列式: ∣ A ∣ ∣ a 11 a 12 ? a 1 n a 21 a 22 ? a 2 n ? ? ? ? a n 1 a n 2 ? a n n ∣ \begin{vmatrix}\mathbf A\end{vmatrix} \begin{vmatrix} a_{11…

IP-----動態路由OSPF

這只是IP的其中一塊內容,IP還有更多內容可以查看IP專欄,前一章內容為GRE和MGRE ,可通過以下路徑查看IP-------GRE和MGRE-CSDN博客,歡迎指正 注意!!!本部分內容較多所以分成了兩部分在下一章 5.動態路由OS…

數字內容體驗未來趨勢:交互升級與用戶深耕

智能技術重塑內容交互 隨著數字內容體驗進入深度智能化階段,AI驅動的內容生成與智能推薦算法正在重構用戶與信息的交互范式。基于自然語言處理技術的內容創作工具,已實現從文本自動生成到多模態內容適配的跨越,企業能夠以分鐘級速度產出符合…

2025年2月21日優雅草內測分發站全新升級-測試運營-優雅草內測分發站新用戶提供免費100下載點-2月28日正式運營并且提供私有化部署版本

2025年2月21日優雅草內測分發站全新升級-測試運營-優雅草內測分發站新用戶提供免費100下載點-2月28日正式運營并且提供私有化部署版本 說明 優雅草內測分發站新用戶提供免費100下載點,優雅草分運營站和demo測試站 運營站:www.youyacao.cn 提供免費100…

動態內存池設計與環形緩沖區實現詳解

一、動態內存池設計 在嵌入式系統中,頻繁使用 malloc 和 free 會導致內存碎片和性能問題。動態內存池通過預分配固定大小的內存塊,并統一管理分配與釋放,顯著提高內存使用效率和實時性。 1. 核心設計思路 預分配內存:將內存劃分…

015--基于STM32F103ZET6的智能風扇設計

1.實物視頻演示 智能風扇演示視頻 2.程序代碼講解 STM32F103ZET6智能風扇_嗶哩嗶哩_bilibili 3源代碼獲取 https://download.csdn.net/download/weixin_41011452/90440545

【洛谷貪心算法】P1106刪數問題

這道題可以使用貪心算法來解決,核心思路是盡量讓高位的數字盡可能小。當我們逐步刪除數字時,會優先刪除高位中相對較大的數字。具體做法是從左到右遍歷數字序列,當發現當前數字比它后面的數字大時,就刪除當前數字,直到…

開源PDF解析工具olmOCR

olmOCR 是由 Allen Institute for Artificial Intelligence (AI2) 的 AllenNLP 團隊開發的一款開源工具,旨在將PDF文件和其他文檔高效地轉換為純文本,同時保留自然的閱讀順序。它支持表格、公式、手寫內容等。 olmOCR 經過學術論文、技術文檔和其他文檔…

基因型—環境兩向表數據分析——品種生態區劃分

參考資料:農作物品種試驗數據管理與分析 用于品種生態區劃分的GGE雙標圖有兩種功能圖:試點向量功能圖和“誰贏在哪里”功能圖。雙標圖的具體模型基于SD定標和h加權和試點中心化的數據。本例中籽粒產量的GGE雙標圖僅解釋了G和GE總變異的53.6%,…

HTTP~文件 MIME 類型

MIME(Multipurpose Internet Mail Extensions)類型,即多用途互聯網郵件擴展類型,是一種標準,用來表示文檔、文件或字節流的性質和格式。最初是為了在電子郵件系統中支持非 ASCII 字符文本、二進制文件附件等而設計的&a…

降維攻擊!PCA與隨機投影優化高維KNN

引言:高維數據的“冰山困境” 假設你正在處理一個電商平臺的商品圖片分類任務:每張圖片被提取為1000維的特征向量,100萬條數據的距離計算讓KNN模型陷入“維度地獄”——計算耗時長達數小時,且內存占用超過10GB。 破局關鍵&#…

Rust 是什么

Rust 是什么 Rust 是一種由 Mozilla 開發的系統級編程語言,它于 2010 年首次亮相,在 2015 年發布 1.0 版本,此后迅速發展并受到廣泛關注。 內存安全:Rust 最大的亮點之一是它在編譯階段就能夠避免常見的內存錯誤,如空指針引用、數據競爭和內存泄漏等。它通過所有權(Owne…

網絡變壓器的主要電性參數與測試方法(2)

Hqst盈盛(華強盛)電子導讀:網絡變壓器的主要電性參數與測試方法(2).. 今天我們繼續來看看網絡變壓器的2個主要電性參數與它的測試方法: 1. 線圈間分布電容Cp:線圈間雜散靜電容 測試條件:100KHz/0.1…

UniApp 中封裝 HTTP 請求與 Token 管理(附Demo)

目錄 1. 基本知識2. Demo3. 拓展 1. 基本知識 從實戰代碼中學習,上述實戰代碼來源:芋道源碼/yudao-mall-uniapp 該代碼中,通過自定義 request 函數對 HTTP 請求進行了統一管理,并且結合了 Token 認證機制 請求封裝原理&#xff…