1寫在前面
該教程前面講述了許多關(guān)于CAN協(xié)議的一些概念,可能許多初學(xué)者看的云里霧里,那么本文將結(jié)合代碼讓大家理解之前講述的內(nèi)容。
因為關(guān)注我的人大部分都在學(xué)習(xí)STM32,我將結(jié)合STM32F103、標準外設(shè)庫例程來讓大家理解之前講述的一些概念。
本文主要講述內(nèi)容:
1.傳輸數(shù)據(jù)相關(guān)參數(shù)
2.位時序及傳輸波特率
為方便大家理解,我將在最后提供對應(yīng)例程「CANOpen系列教程06_CAN底層收發(fā)例程」。當然,本文只講述代碼中部分內(nèi)容,某些配置參數(shù)放在后面講述。
2
傳輸數(shù)據(jù)相關(guān)參數(shù)
傳輸數(shù)據(jù)相關(guān)參數(shù)其實主要就是前面《CANOpen系列教程04》講述的“幀類型及格式說明”那一章節(jié)內(nèi)容,建議先看下那些概念內(nèi)容。
CAN總線傳輸?shù)膬?nèi)容主要就是發(fā)送和接收,下面我將結(jié)合代碼中發(fā)送和接收參數(shù)來讓大家理解我們編程控制CAN總線上那些參數(shù)。
2.1 CAN總線數(shù)據(jù)幀
本文提供例程主要是CAN總線使用最多的數(shù)據(jù)幀為例,讓大家理解數(shù)據(jù)幀傳輸由我們編程控制的參數(shù)。
先看下圖回顧一下數(shù)據(jù)幀格式,其中有些字段內(nèi)容由控制器自動完成,如:幀起始,CRC校驗。而有些就是由我們編程控制,如:ID、數(shù)據(jù)等。
2.2 CAN發(fā)送代碼
A.CAN發(fā)送數(shù)據(jù)結(jié)構(gòu)
下圖主要就是CAN發(fā)送由我們編程控制的參數(shù)。其實你會發(fā)現(xiàn),主要就是上面幀格式中部分內(nèi)容:ID、IDE、RTR、DLC、Data。
B.發(fā)送配置參數(shù)
下圖為實際發(fā)送配置的參數(shù)。
2.3 CAN接收代碼
CAN接收其實和發(fā)送類似,CAN總線上的字段就那些,在接收端接收的那些參數(shù)無非就是發(fā)送端發(fā)送出來的那些參數(shù)。
針對STM32內(nèi)部集成的CAN,接收數(shù)據(jù)結(jié)構(gòu)多了一個FMI參數(shù),大概意思就是接收消息郵箱篩選器索引。
接收操作
為方便初學(xué)者理解,這里這要就是使用中斷接收CAN總線數(shù)據(jù),在中斷函數(shù)里面打印也主要是用于測試,一般實際項目打印不會出現(xiàn)在中斷函數(shù)(打印相對耗時)。
3
位時序及傳輸波特率
同樣,在前面《CANOpen系列教程04》中有講述“位時序及傳輸波特率”的概念。其實,位時序間接決定了傳輸?shù)牟ㄌ芈省Q句話說,傳輸?shù)牟ㄌ芈视晌粫r序幾個參數(shù)決定。
看下圖,回顧一下波特率計算公式:
3.1 波特率配置代碼
結(jié)合上圖計算公式和下圖代碼,可以看出位時序中幾個參數(shù)和波特率的關(guān)系。波特率為1M時,幾個位時序參數(shù)可以配置為如下圖值:
提示:
36M代表CAN時鐘,具體要看時鐘相關(guān)配置。
波特率固定,位時序參數(shù)可以不同。比如波特率固定為1M,位時序參數(shù)可以為上圖配置;也可以修改其中的值,如修改位段1為CAN_BS1_5tq,位段2為CAN_BS2_3tq。只要遵循波特率計算公式即可。
-
CAN
+關(guān)注
關(guān)注
58文章
2975瀏覽量
470440 -
CANopen
+關(guān)注
關(guān)注
8文章
443瀏覽量
46647 -
代碼
+關(guān)注
關(guān)注
30文章
4922瀏覽量
72231
發(fā)布評論請先 登錄
CAN如何進行錄波,接收所有數(shù)據(jù)?
CANopen轉(zhuǎn)Profient網(wǎng)關(guān)協(xié)議介紹

Texas Instruments TCAN1043A-Q1汽車級CAN FD收發(fā)器技術(shù)解析

移植CANfestival,發(fā)現(xiàn)can無法接收數(shù)據(jù),為什么?
TCAN341x系列3.3V CAN FD收發(fā)器技術(shù)解析與應(yīng)用指南

ProfiNet轉(zhuǎn)CAN/CANopen網(wǎng)關(guān)技術(shù)詳解

CAN收發(fā)器:總線信號的“翻譯官”

盟通方案|CANopen數(shù)據(jù)鏈路配置工具


使用ES32實現(xiàn)CANopen從機

EtherCAT轉(zhuǎn)CANopen配置CANopen側(cè)的PDO映射

CANOPEN協(xié)議詳細介紹
廣成科技CANopen轉(zhuǎn)CAN模塊的應(yīng)用場景
茂睿芯全系列車規(guī)CAN收發(fā)器均已實現(xiàn)量產(chǎn)出貨

三格電子- EtherCAT轉(zhuǎn)CANopen/ CAN網(wǎng)關(guān)

評論