<strike id="c6e0a"><menu id="c6e0a"></menu></strike>
    
    
  • <strike id="c6e0a"><s id="c6e0a"></s></strike>
    
    

    愛彼電路·高精密PCB電路板研發(fā)生產(chǎn)廠家

    微波電路板·高頻板·高速電路板·雙面多層板·HDI電路板·軟硬結(jié)合板

    報價/技術(shù)支持·電話:0755-23200081郵箱:sales@ipcb.cn

    通訊設(shè)備

    通訊設(shè)備

    STM32-CAN通訊與編程
    2021-05-25
    瀏覽次數(shù):3572
    分享到:

    一、can通訊介紹
    1、基本概念:CAN 是Controller Area Network 的縮寫(以下稱為CAN),是ISO世界規(guī)范化的串行通訊協(xié)議。在汽車產(chǎn)業(yè)中,出于對安全性、舒適性、方便性、低公害、低成本的要求,林林總總的電子控制系統(tǒng)被開發(fā)了出來。
    2、CAN總線物理特性:CAN bus兩根信號線分別叫CANH 和CANL,假定CANH電平 大于 CANL 為 Dominant (顯性電平) 其實標明的是信號 0 ;假定CANH電平 等于 CANL 為 Recessive (隱形電平) 其實標明的是信號 1。
    芯片5V供電時輸出0時CANH 和 CANL輸出電壓大致為 3.5V和1.5V,當輸出為1時 兩根線就是浮地的高阻情況,通過外界的端接電阻將電壓拉到相等大致為2.5V。

    CAN總線物理特性

    3、協(xié)議規(guī)范:CAN協(xié)議通過ISO規(guī)范化后有兩個規(guī)范:IS011898規(guī)范和IS011519-2規(guī)范。其間IS011898是針對通訊速率為125Kbps-1Mbps的高速通訊規(guī)范,而IS011519-2是針對通訊速率為125Kbps以下的低速通訊規(guī)范。
    4、參數(shù):通訊速率最高可達1Mbps,通訊間隔最遠可達10KM,傳輸間隔與速率的一般關(guān)系如下:

    通訊速率

    5、比照:CAN通訊比較于串口通訊、SPI通訊、IIC通訊,功用和高煩擾才能要更強一些;與485總線有些相似,都是2線制的差分方法;但比較而言,CAN總線的數(shù)據(jù)通訊具有更好的可靠性、實時性和靈活性。CAN已經(jīng)構(gòu)成世界規(guī)范,并已被公認為幾種最有出路的現(xiàn)場總線之一。

    數(shù)據(jù)比照

    二、CAN通訊編程
    1、意圖:本次實驗首要結(jié)束MCU(stm32F103)與BMS的CAN通訊功用,然后根據(jù)BMS的通訊協(xié)議文檔解析當時BMS的情況。
    2、編程思路:參看STM32的CAN例程基礎(chǔ)上,1)根據(jù)BMS通訊要求更改初始化參數(shù);2)CAN接納后進行BMS情況解析。
    3、編程結(jié)束:
    (1)CAN總線波特率設(shè)置
    CAN通訊的一個位可分為 4 段:同步段(SS)、傳達時間段(PTS)、相位緩沖段1(PBS1)、相位緩沖段2(PBS2);STM32把傳達時間段和相位緩沖段1(STM32稱之為時間段1)吞并了,所以STM32的CAN一個位只要3段:同步段(SYNC_SEG)、時間段1(BS1)和時間段2(BS2)。通過設(shè)定位時序,多個單元可一同采樣,也可任意設(shè)定采樣點。比方設(shè)置TS1=9、TS2=8,SYNC_SEG=1和BRP=8,在APB1頻率為36Mhz的條件下,即可得到CAN通訊的波特率=36000/[(9+8+1)*8]=250Kbps。
    (2)濾波器和屏蔽
    (3)接納:選用中止方法
    三、作用與總結(jié)
    1、實驗作用
    BMS電池數(shù)據(jù)測量值如下,與預(yù)期相同

    BMS電池數(shù)據(jù)測量值

    2、總結(jié):
    (1)調(diào)試方法:按照單STM32回環(huán)查驗–>雙STM32功用查驗–>STM32與BMS通訊查驗
    (2)濾波器和屏蔽配置時,可以先不進行屏蔽,在接納中止中進行挑選;功用調(diào)通后,后續(xù)再根據(jù)需求進行設(shè)置。

      <strike id="c6e0a"><menu id="c6e0a"></menu></strike>
      
      
    • <strike id="c6e0a"><s id="c6e0a"></s></strike>