国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

CAN學習筆記3:STM32 CAN控制器介紹

這篇具有很好參考價值的文章主要介紹了CAN學習筆記3:STM32 CAN控制器介紹。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

STM32 CAN控制器

1 概述

STM32 CAN控制器(bxCAN),支持CAN 2.0A 和 CAN 2.0B Active版本協(xié)議。CAN 2.0A 只能處理標準數(shù)據(jù)幀且擴展幀的內(nèi)容會識別錯誤,而CAN 2.0B Active 可以處理標準數(shù)據(jù)幀和擴展數(shù)據(jù)幀。

2 bxCAN 特性

  1. 波特率最高可達1M bps
  2. 支持時間觸發(fā)通信(CAN的硬件內(nèi)部定時器可以在TX/RX的幀起始位的采樣點位置生成時間戳)
  3. 具有3級發(fā)送郵箱
  4. 具有3級深度的2個接收FIFO
  5. 可變的過濾器組(最多28個)

3 CAN的內(nèi)容

3.1 CAN框圖

CAN學習筆記3:STM32 CAN控制器介紹,CAN,學習,筆記,stm32
① CAN內(nèi)核
包含各種控制/狀態(tài)/配置寄存器,可以配置模式、波特率等
②發(fā)送郵箱
用來緩存待發(fā)送的報文,最多可以緩存3個報文
③接收FIFO
緩存接收到的有效報文
④接收過濾器
篩選有效報文

3.2 CAN 控制器模式

CAN的控制器模式有工作模式、測試模式和調(diào)試模式。

3.2.1 工作模式

CAN控制器的工作模式有三種:初始化模式、正常模式和睡眠模式。工作流程如下圖:
CAN學習筆記3:STM32 CAN控制器介紹,CAN,學習,筆記,stm32

3.2.2 測試模式

CAN控制器的測試模式有三種:靜默模式、環(huán)回模式和環(huán)回靜默模式。在初始化模式下進行配置。
CAN學習筆記3:STM32 CAN控制器介紹,CAN,學習,筆記,stm32

3.3 接收過濾器

CAN學習筆記3:STM32 CAN控制器介紹,CAN,學習,筆記,stm32
CAN學習筆記3:STM32 CAN控制器介紹,CAN,學習,筆記,stm32
CAN學習筆記3:STM32 CAN控制器介紹,CAN,學習,筆記,stm32
屏蔽位寄存器中位值為1,表示與ID要必須匹配;位值為0,表示可不與ID匹配。
在使能過濾器情況下,總線上廣播的報文ID與過濾器的配置都不匹配,CAN控制器會丟棄該報文,不會進入到接收FIFO中。
注意:標識符選擇位IDE和幀類型RTR需要一致。不同過濾器組的工作模式可以設置為不同。

3.4 CAN控制器位時許

CAN學習筆記3:STM32 CAN控制器介紹,CAN,學習,筆記,stm32

4 CAN是如何工作的(CAN框圖)

4.1 CAN通信框圖簡化版

CAN學習筆記3:STM32 CAN控制器介紹,CAN,學習,筆記,stm32
CAN學習筆記3:STM32 CAN控制器介紹,CAN,學習,筆記,stm32文章來源地址http://www.zghlxwxcb.cn/news/detail-618556.html

5 CAN的代碼配置流程

  1. 使能 GPIO 時鐘及配置 GPIO;
  2. 使能 CAN 外設時鐘;
  3. 配置 CAN 外設的工作模式、位時序以及波特率;
  4. 配置篩選器的工作模式;
  5. 配置 CAN 中斷;
  6. 使能接收中斷;
  7. 編寫測試程序,手法報文并校驗。

6 相關寄存器

6.1 CAN主控制/狀態(tài)寄存器

  1. CAN_MCR.RFLM 接收FIFO鎖定模式(Receive FIFO locked mode)
    作用:當該位設置為‘0’時,在接收溢出時 FIFO 未被鎖定,當接收 FIFO 的報文未被讀出,下一條收到的報文會覆蓋原有的報文;當該位設置為‘1’時,在接收溢出時 FIFO 被鎖定,當接收 FIFO 的報文未被讀取,下一個收到的報文會丟棄。
  2. CAN_MCR.TXFP 發(fā)送 FIFO 優(yōu)先級(Transmit FIFO pripority)
    作用:當有多個報文在等待發(fā)送時,該位決定這些報文的發(fā)送順序。當該位為’0’時,優(yōu)先級由報文的標識符來決定;當該位為‘1’時,優(yōu)先級由發(fā)送請求的順序來決定。
  3. CAN_MCR.INRQ 初始化請求(Initialization request)
    作用:軟件對該位清’0’可使CAN從初始化模式進入正常工作模式:當CAN在接收引腳檢測到連續(xù)的11個隱性位后,CAN就達到同步,并為接收和發(fā)送數(shù)據(jù)作好準備了。為此,硬件相應地對CAN_MSR寄存器的INAK位清’0’。
    軟件對該位置’1‘可使CAN從正常工作模式進入初始化模式:一旦當前的CAN活動(發(fā)送或接收)結束,CAN就進入初始化模式。相應地,硬件對CAN_MSR寄存器的INAK位置’1’。
  4. CAN_MCR.RX CAN接收電平(CAN Rx sinal)
    作用:該位反應CAN接收引腳的實際電平
  5. CAN_MCR.RXM 接收模式(Receive mode)
    作用:該位為‘1’表示CAN 當前為接收器
  6. CAN_MCR.TXM 發(fā)送模式(Transmit mode)
    作用:該位為‘1’表示CAN 當前為發(fā)送器
  7. CAN_MCR.INAK 初始化確認
    作用:該位由硬件置’1’,指示軟件CAN模塊正處于初始化模式。 該位是對軟件請求進入初始化模式的確認(對CAN_MCR寄存器的INRQ位置’1’)。
    當CAN退出初始化模式時硬件對該位清’0’ (需要跟CAN總線同步)。這里跟CAN總線同步是指,硬件需要在CAN的RX引腳上檢測到連續(xù)的11位隱性位。

6.2 CAN 發(fā)送郵箱寄存器

  1. CAN_TSR.LOWx 郵箱 x 最低優(yōu)先級標志
    作用:當多個郵箱在等待發(fā)送報文,且郵箱 x 的優(yōu)先級最低時,硬件對該位置‘1’
    note:如果只有 1 個郵箱在等待,則 LOW[2:0]被清0
  2. CAN_TSR.TMEx 發(fā)送郵箱x空
    作用:當郵箱 x 中沒有等待發(fā)送的報文時,硬件對該位置‘1’
  3. CAN_TSR.COME 郵箱號(Mailbox code)
    作用:表示下一個空的發(fā)送郵箱號。
  4. CAN_TSR.TERRx 郵箱x發(fā)送失?。═rasmission error of mailbox x)
    作用:該位置‘1’,表示郵箱 x 發(fā)送失敗
  5. CAN_TSR.TXOKx 郵箱x發(fā)送成功(Tranmissiion OK of mailbox x)
    作用:該位置‘1’,表示郵箱 x 發(fā)送成功
  6. CAN_TSR.RQCPx 郵箱x請求發(fā)送成功(Request completed mailbox x)
    作用:該位置‘1’,表示對郵箱 x 的請求發(fā)送完成

6.3 CAN 接收 FIFO 0寄存器

  1. CAN_RF0R.FOVR0 FIFO 0 溢出(FIFO 0 overrun)
    作用:該位置‘1’,表示 FIFO 0已滿,且收到的新的報文符文過濾條件。該位由軟件清‘0’
  2. CNA_RF0R.FULL0 FIFO 0 滿(FIFO 0 overrun)
    作用:該位置‘1’,表示 FIFO 0中有 3 個報文
  3. CAN_RF0R.FMP0 FIFO 0 報文數(shù)目(FIFO 0 message pending)
    作用:表示當前接收 FIFO 0 中存放的報文數(shù)目

6.4 CAN 過濾寄存器

  1. CAN_FMR.FINIT 過濾器初始化模式(Filter init mode)
    作用:表示過濾器組的初始化模式,‘0’表示過濾器組工作在正常模式,‘1’表示過濾器組工作在初始化模式
  2. CAN_FM1R.FBMx 過濾器模式(Filter mode)
    作用:表示過濾器組 x 的工作模式,‘0’表示過濾器組x的 2 個 32 位寄存器工作在標識符屏蔽位模式,‘1’表示過濾器組x的2個32位寄存器工作在標識符列表模式
  3. CAN_FS1R.FSCx 過濾器位寬設置(Filter scale configuration)
    作用:設置過濾器的位寬,‘0’表示過濾器位寬為 2 個 16 位,‘1’表示過濾器位寬為單個 32 位。
  4. CAN_FFA1R.FFAx 過濾器 x 關聯(lián)FIFO(Filter FIFO assignment for filter x)
    作用:表示關聯(lián)到某個 FIFO,‘0’表示過濾器被關聯(lián)到 FIFO0,‘1’表示過濾器被關聯(lián)到 FIFO1
    note:只有在設置 CAN_FMR.INIT == 1,使過濾器處于初始化模式下,才能對該寄存器寫入。
  5. CAN_FA1R.FACTx 過濾器激活(Filter active)
    作用:‘0’表示過濾器被禁用,‘1’表示過濾器被激活

到了這里,關于CAN學習筆記3:STM32 CAN控制器介紹的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內(nèi)容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 基于STM32的智能家居控制器設計與實現(xiàn)

    基于STM32的智能家居控制器設計與實現(xiàn)

    一、項目背景 1.1 智能家居的發(fā)展與需求 隨著科技的不斷進步,智能家居成為現(xiàn)代生活中的一個熱門領域。智能家居通過將傳感器、執(zhí)行器、網(wǎng)絡和人機交互等技術融合在一起,實現(xiàn)了家居設備的智能化控制和管理。這為人們帶來了更便捷、舒適和安全的居住環(huán)境。智能家居

    2024年02月09日
    瀏覽(89)
  • STM32F4X SDIO(四) SDIO控制器

    STM32F4X SDIO(四) SDIO控制器

    STM32F4X內(nèi)部有一個SDIO控制器,開發(fā)者可以使用這個控制器跟SD卡進行通信,下面就來簡單了解一下STM32F4X的SDIO控制器的使用。 下圖為STM32F4X的SDIO控制器框圖,框圖可以分為以下5部分, 適配器寄存器 、 FIFO 、 控制單元 、 命令路徑 、 數(shù)據(jù)路徑 。 SDIO控制器時鐘 STM32F4X的所有

    2024年02月07日
    瀏覽(39)
  • 基于 STM32+FPGA 的通用工業(yè)控制器設計(一)系統(tǒng)方案設計

    基于 STM32+FPGA 的通用工業(yè)控制器設計(一)系統(tǒng)方案設計

    本章首先介紹了現(xiàn)有 PLC 系統(tǒng)的概況,然后提出了本文設計的通用工業(yè)控制器的 整體方案架構,分析了硬件和軟件上需要實現(xiàn)的功能,最后對各部分功能進行分析并提 出具體的實現(xiàn)方案。 2.1 PLC 系統(tǒng)簡介 可編程邏輯控制器( Programmable Logic Controller , PLC )是以微處理器為基

    2024年02月15日
    瀏覽(96)
  • 【STM32 CubeMX】SPI層次結構SPI協(xié)議與SPI控制器結構

    【STM32 CubeMX】SPI層次結構SPI協(xié)議與SPI控制器結構

    隨著嵌入式系統(tǒng)的迅猛發(fā)展,STM32系列微控制器在各種應用中得到廣泛應用。在嵌入式系統(tǒng)設計中,串行外設接口(SPI)是一種常見且重要的通信協(xié)議。為了更便捷地配置和使用SPI,STMicroelectronics提供了一款強大的工具——STM32 CubeMX。本文將著重介紹STM32 CubeMX中SPI的層次結構

    2024年02月20日
    瀏覽(28)
  • 運動控制器設計——基于FreeModbus在STM32F4平臺實現(xiàn)ModbusTCP和ModbusRTU

    運動控制器設計——基于FreeModbus在STM32F4平臺實現(xiàn)ModbusTCP和ModbusRTU

    本文筆者最近的項目是設計一款運動控制器,MCU使用的是STM32F429,要求是通過Modbus TCP協(xié)議實現(xiàn)與示教器通訊,并通過ModbusRTU實現(xiàn)與觸摸屏通訊。 本文將介紹在STM32F4上實現(xiàn) ModbusTCP和ModbusRTU通訊 的過程。筆者才疏學淺,如有錯誤還請指正。 Modbus協(xié)議是典型的主-從通訊結構,鏈

    2024年02月05日
    瀏覽(14)
  • 開放式高實時高性能PLC控制器解決方案-基于米爾電子STM32MP135

    開放式高實時高性能PLC控制器解決方案-基于米爾電子STM32MP135

    隨著工業(yè)數(shù)字化進程加速與IT/OT深入融合,不斷增加的OT核心數(shù)據(jù)已經(jīng)逐步成為工業(yè)自動化行業(yè)的核心資產(chǎn),而OT層數(shù)據(jù)具備高實時、高精度、冗余度高、數(shù)據(jù)量大等等特點,如何獲取更加精準的OT數(shù)據(jù)對數(shù)字化進程起到至關重要的作用,同時隨著國內(nèi)工業(yè)控制系統(tǒng)逐步進入中

    2024年03月24日
    瀏覽(14)
  • [足式機器人]Part2 Dr. CAN學習筆記-Advanced控制理論 Ch04-7 LQR控制器 Linear Quadratic Regulator

    [足式機器人]Part2 Dr. CAN學習筆記-Advanced控制理論 Ch04-7 LQR控制器 Linear Quadratic Regulator

    本文僅供學習使用 本文參考: B站:DR_CAN 線性控制器設計- 軌跡跟蹤(Fellow a Desired Path)

    2024年02月02日
    瀏覽(26)
  • (STM32H5系列)STM32H573RIT6、STM32H573RIV6、STM32H573ZIT6嵌入式微控制器基于Cortex?-M33內(nèi)核

    (STM32H5系列)STM32H573RIT6、STM32H573RIV6、STM32H573ZIT6嵌入式微控制器基于Cortex?-M33內(nèi)核

    工業(yè)(PLC、工業(yè)電機控制、泵和壓縮機) 智能家居(空調(diào)、冰箱、冰柜、中央警報系統(tǒng)、洗衣機) 個人電子產(chǎn)品(鍵盤、智能手機、物聯(lián)網(wǎng)標簽、跟蹤設備) 智能城市(工業(yè)通信、照明控制、數(shù)字電源) 醫(yī)療和保健(CPAP和呼吸器、透析機、藥丸分配器、電動病床) 1、ST

    2024年02月09日
    瀏覽(22)
  • 9-基于STM32無刷直流電機控制器的設計仿真與實現(xiàn)(原理圖+源碼+仿真工程+論文+PPT+參考英文文獻)

    9-基于STM32無刷直流電機控制器的設計仿真與實現(xiàn)(原理圖+源碼+仿真工程+論文+PPT+參考英文文獻)

    包含此題目畢業(yè)設計全套資料: 原理圖工程文件 原理圖截圖 仿真模型工程文件 仿真截圖 低重復率文檔(22642字) 英文文獻及翻譯 資料鏈接 1.基于單片機實現(xiàn)無刷直流電機控制器的設計,完成系統(tǒng)芯片選型; 2.確定無刷直流電機控制器的總體設計方案; 3.給出系統(tǒng)的硬件設計

    2024年02月07日
    瀏覽(19)
  • 嵌入式學習筆記(32)S5PV210的向量中斷控制器

    嵌入式學習筆記(32)S5PV210的向量中斷控制器

    6.6.1異常處理的2個階段 可以將異常處理分為2個階段來理解。第一個階段是異常向量表跳轉;第二個階段是進入了真正的異常處理程序irq_handler之后的部分。 6.6.2回顧:中斷處理的第一個階段(異常向量表跳轉階段)處理 (1)第一個階段之所以能夠進行,主要依賴于CPU設計時

    2024年02月07日
    瀏覽(24)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包