Zynq-7000系列CAN控制器簡介
掃描二維碼
隨時隨地手機看文章
CAN控制器介紹
can控制器是CAN局域網(wǎng)控制器的簡稱,為解決現(xiàn)代汽車中眾多測量控制部件之間的數(shù)據(jù)交換而開發(fā)的一種串行數(shù)據(jù)通信總線。
本文介紹 CAN 控制器的架構(gòu)和特性以及設計中各種寄存器的功能,PS 中有兩個幾乎相同的 CAN 控制器,它們可以獨立操作。
CAN控制器特征
CAN 控制器功能總結(jié)如下:
-
與 ISO 11898 -1、CAN 2.0A 和 CAN 2.0B 標準兼容
-
標準(11 位標識符)和擴展(29 位標識符)幀
-
比特率高達 1 Mb/s
-
發(fā)送消息 FIFO (TxFIFO),深度為 64 個消息
-
通過一個高優(yōu)先級發(fā)送緩沖區(qū) (TxHPB) 進行發(fā)送優(yōu)先級排序
-
TxFIFO 和 RxFIFO 的水印中斷
-
在正常模式下發(fā)生錯誤或仲裁丟失時自動重傳
-
接收消息 FIFO (RxFIFO),深度為 64 條消息
-
四個帶有使能、掩碼和 ID 的 Rx 接受濾波器
-
用于診斷應用的環(huán)回和監(jiān)聽模式
-
可屏蔽的錯誤和狀態(tài)中斷
-
接收消息的 16 位時間戳
-
可讀的 Rx/Tx 錯誤計數(shù)器
CAN控制器系統(tǒng)視圖
CAN 控制器的系統(tǒng)視點如圖所示
CAN控制器框圖
CAN 內(nèi)核的高層架構(gòu)如圖所示
配置寄存器
CAN 控制器配置寄存器定義了配置寄存器,該模塊允許通過 APB 接口對寄存器進行讀寫訪問
發(fā)送和接收消息
單獨的存儲緩沖區(qū)用于通過 FIFO 結(jié)構(gòu)發(fā)送 (TxFIFO) 和接收 (RxFIFO) 消息,每個緩沖區(qū)最多可存儲 64 條消息,將消息寫入 TxFIFO 后,通過 CAN 總線傳輸需要2*(Tx 驅(qū)動器延遲 + 傳播延遲 + Rx 驅(qū)動器延遲)的總延遲。
Tx 高優(yōu)先級緩沖器
每個控制器還有一個傳輸高優(yōu)先級緩沖區(qū) (TxHPB),為一個傳輸消息提供存儲空間,寫入此緩沖區(qū)的消息具有最大傳輸優(yōu)先級,在當前傳輸完成后,它們立即排隊等待傳輸,搶占 TxFIFO 中的任何消息。
驗收過濾器
接收過濾器使用用戶定義的接收掩碼和 ID 寄存器對傳入的消息進行排序,以確定是將消息存儲在 RxFIFO 中,還是確認并丟棄它們。
通過驗收過濾器的消息存儲在 RxFIFO 中。
CAN控制器應用
can控制器應用廣泛,最初是為汽車的監(jiān)測、控制系統(tǒng)而設計的,現(xiàn)已在航天、電力、石化、冶金、紡織、造紙、倉儲等多個行業(yè)得到了廣泛采用。





