can匯流排第三講

2022-06-12 23:30:15 字數 2266 閱讀 3063

一  can控制器

官方定義:can控制器用於將欲收發的資訊(報文),轉換為符合can規範的can幀,通過can收發器,在can-bus上交換資訊。

舉個便於理解的例子:就像您發快遞一樣,要根據快遞公司提供的快遞單填寫具體的資訊(發件人和收件人的位址、聯絡**等),快遞公司將之標準化(統一的快遞單格式,並對每一件快遞進行編號),隨後才能傳遞資訊(您快遞的具體東西,如檔案、衣服、手機等)。

(1)can控制器分類

can控制器晶元分為兩類: 一類是獨立的控制器晶元,如sja1000;另一類是和微控制器做在一起,如nxp半導體公司的cortex-m0核心lpc11cxx系列微控制器、lpc2000系列32位arm微控制器。can控制器的大致分類及相應的產品可參見

(2)can控制器的工作原理

為了便於讀者理解can控制器的工作原理,下面給出了乙個sja1000 can控制器的經過簡化的結構框圖如圖1所示。

介面管理邏輯

介面管理邏輯如圖1所示。介面管理邏輯用於連線外部主控制器,解釋來自主控制器的命令,控制can控制器暫存器的定址,並向主控制器提供中斷資訊和狀態資訊。

can核心模組

can核心模組如圖1所示。收到乙個報文時,can核心模組根據can規範將序列位流轉換成用於接收的並行資料,傳送乙個報文時則相反。

傳送緩衝器

傳送緩衝器如圖1所示。傳送緩衝器用於儲存乙個完整的報文,當can控制器傳送初始化時,介面管理邏輯會使can核心模組從傳送緩衝器讀can報文。

驗收濾波器

驗收濾波器如圖1所示,驗收濾波器可以根據使用者的程式設計設定,過濾掉無須接收的報文。

接收fifo

接收fifo如圖1所示。接收fifo是驗收濾波器和主控制器之間的介面,用於儲存從can 匯流排上接收的所有報文。

工作模式

can控制器可以有兩種工作模式(basiccan和pelican)。basiccan僅支援標準模式,pelican支援can2.0b的標準模式和擴充套件模式。

二 can收發器

官方定義:can收發器是can控制器和物理匯流排之間的介面,將can控制器的邏輯電平轉換為can匯流排的差分電平,在兩條有差分電壓的匯流排電纜上傳輸資料。

舉個便於理解的例子:這類似於快遞員,負責收發快遞的工作。

目前市面上常見can收發器的分類及相應產品參見表2。

三 can-bus介面電路保護器件

在汽車電子中,can-bus系統往往用於對安全至關重要的功能,比如引擎控制、abs系統以及氣囊等,如果受到干擾導致工作失常將出現嚴重事故;此外,在不受到干擾的的同時,can-bus系統也不能干擾其它電子元件;所以can-bus系統必須滿足電磁干擾(emi)和靜電放電(esd)標準的嚴格要求。此外,在許多場合can-bus介面有可能會遭到雷電、大電流浪湧的衝擊(例如許多戶外安裝的裝置),所以還需要使用保護器件以防浪湧。

(1)共模扼流圈。如:epcos b8793。

(2)esd防護。常見的can-bus專用esd保護元件型號有nxp pesd1can或onsemi nup2105l等esd元件。

四can匯流排控制器晶元濾波器的作用

官方定義:can匯流排控制器晶元濾波器用來設定自己的can位址。

在can匯流排上,can幀資訊由乙個節點傳送,其它節點同時接收。每當匯流排上有幀資訊,節點都會把濾波器的設定和接收到的幀資訊的標識碼相比較,節點只接收符合一定條件的資訊,對不符合條件的can幀不予接收,只給出應答訊號。

便於理解的例子:這類似於家門口收信件的郵箱,用來標明自己家的詳細位址。郵遞員分發郵件的時候,帶著一堆信件在小區內投寄,郵箱位址則表明自己家的收信件位址,如果位址正確,郵遞員就會把信件投遞進郵箱(成功接收郵件);如果位址不符,郵遞員則不會投送郵件(拒收該郵件)。

五 can匯流排控制器濾波的作用:

1、降低硬體中斷頻率,只有成功接收時才響應接收中斷。類似於:快遞員找到您家位址的時候,才會給您打**。

2、簡化軟體實現的複雜程度,提高軟體執行的效率。

不同的can控制器晶元的濾波器設定有所不同,下文中將針對具體的can控制器晶元進行詳細講解。

第三講 前置知識

啥是前置的知識?應該是一種粗略的大概的,對其進行解。就像平時玩戲,要知道這個遊戲有啥子背景,講的是啥事兒,如何去玩它。包括遊戲中各類的圖示代表什麼個意思,初期對其進行初步的了解。說的好像你很屌的樣子,再屌又咋滴,還不是屌絲乙個,光棍一條,哈哈!你說我,老大咱都要各自照照鏡先吧。我已經夠青出於蘭了,你...

Java基礎第三講

一.運算子 1.邏輯運算子 一般用於連線boolean型別的表示式或值 並且 有false則false 或者 有true則true 非 非false則true,非true則false 偶數個不會改變本身 異或 結果相同為false,結果不同則為true 短路與 與 的區別 結果一樣,具有短路效果,如...

第三講 Docker 安裝

我們將在centos linux上安裝docker。如果沒有centos系統,你可以使用虛擬機器virtual box來安裝centos,可參考下面的文章 docker的版本 通常安裝社群版本。系統要求 要安裝docker ce,需要使用centos 7的穩定版本 核心版本必須3.8或之後 注意 必...