一、can通訊介紹
1、基本概念:CAN 是Controller Area Network 的縮寫(xiě)(以下稱(chēng)為CAN),是ISO世界規(guī)范化的串行通訊協(xié)議。在汽車(chē)產(chǎn)業(yè)中,出于對(duì)安全性、舒適性、方便性、低公害、低成本的要求,林林總總的電子控制系統(tǒng)被開(kāi)發(fā)了出來(lái)。
2、CAN總線物理特性:CAN bus兩根信號(hào)線分別叫CANH 和CANL,假定CANH電平 大于 CANL 為 Dominant (顯性電平) 其實(shí)標(biāo)明的是信號(hào) 0 ;假定CANH電平 等于 CANL 為 Recessive (隱形電平) 其實(shí)標(biāo)明的是信號(hào) 1。
芯片5V供電時(shí)輸出0時(shí)CANH 和 CANL輸出電壓大致為 3.5V和1.5V,當(dāng)輸出為1時(shí) 兩根線就是浮地的高阻情況,通過(guò)外界的端接電阻將電壓拉到相等大致為2.5V。
3、協(xié)議規(guī)范:CAN協(xié)議通過(guò)ISO規(guī)范化后有兩個(gè)規(guī)范:IS011898規(guī)范和IS011519-2規(guī)范。其間IS011898是針對(duì)通訊速率為125Kbps-1Mbps的高速通訊規(guī)范,而IS011519-2是針對(duì)通訊速率為125Kbps以下的低速通訊規(guī)范。
4、參數(shù):通訊速率最高可達(dá)1Mbps,通訊間隔最遠(yuǎn)可達(dá)10KM,傳輸間隔與速率的一般關(guān)系如下:
5、比照:CAN通訊比較于串口通訊、SPI通訊、IIC通訊,功用和高煩擾才能要更強(qiáng)一些;與485總線有些相似,都是2線制的差分方法;但比較而言,CAN總線的數(shù)據(jù)通訊具有更好的可靠性、實(shí)時(shí)性和靈活性。CAN已經(jīng)構(gòu)成世界規(guī)范,并已被公認(rèn)為幾種最有出路的現(xiàn)場(chǎng)總線之一。
二、CAN通訊編程
1、意圖:本次實(shí)驗(yàn)首要結(jié)束MCU(stm32F103)與BMS的CAN通訊功用,然后根據(jù)BMS的通訊協(xié)議文檔解析當(dāng)時(shí)BMS的情況。
2、編程思路:參看STM32的CAN例程基礎(chǔ)上,1)根據(jù)BMS通訊要求更改初始化參數(shù);2)CAN接納后進(jìn)行BMS情況解析。
3、編程結(jié)束:
(1)CAN總線波特率設(shè)置
CAN通訊的一個(gè)位可分為 4 段:同步段(SS)、傳達(dá)時(shí)間段(PTS)、相位緩沖段1(PBS1)、相位緩沖段2(PBS2);STM32把傳達(dá)時(shí)間段和相位緩沖段1(STM32稱(chēng)之為時(shí)間段1)吞并了,所以STM32的CAN一個(gè)位只要3段:同步段(SYNC_SEG)、時(shí)間段1(BS1)和時(shí)間段2(BS2)。通過(guò)設(shè)定位時(shí)序,多個(gè)單元可一同采樣,也可任意設(shè)定采樣點(diǎn)。比方設(shè)置TS1=9、TS2=8,SYNC_SEG=1和BRP=8,在APB1頻率為36Mhz的條件下,即可得到CAN通訊的波特率=36000/[(9+8+1)*8]=250Kbps。
(2)濾波器和屏蔽
(3)接納:選用中止方法
三、作用與總結(jié)
1、實(shí)驗(yàn)作用
BMS電池?cái)?shù)據(jù)測(cè)量值如下,與預(yù)期相同
2、總結(jié):
(1)調(diào)試方法:按照單STM32回環(huán)查驗(yàn)–>雙STM32功用查驗(yàn)–>STM32與BMS通訊查驗(yàn)
(2)濾波器和屏蔽配置時(shí),可以先不進(jìn)行屏蔽,在接納中止中進(jìn)行挑選;功用調(diào)通后,后續(xù)再根據(jù)需求進(jìn)行設(shè)置。