h1_key

當前位置:首頁 >新聞資訊 > 技術文章>STM32中的CAN芯片簡介
STM32中的CAN芯片簡介
2023-04-10 3470次

  1.1CAN簡介

CAN芯片Controller Area Network 的縮寫(以下稱為CAN),是ISO國際標準化的串行通信協(xié)議。在當前的汽車產業(yè)中,出于對安全性、舒適性、方便性、低公害、低成本的要求,各種各樣的電子控制系統(tǒng)被開發(fā)了出來。由于這些系統(tǒng)之間通信所用的數據類型及對可靠性的要求不盡相同,由多條總線構成的情況很多,線束的數量也隨之增加。為適應“減少線束的數量”、“通過多個LAN,進行大量數據的高速通信”的需要,1986 年德國電氣商博世公司開發(fā)出面向汽車的CAN 通信協(xié)議。此后,CAN 通過ISO11898 及ISO11519 進行了標準化,現在在歐洲已是汽車網絡的標準協(xié)議。

 

CAN 的高性能和可靠性已被認同,并被廣泛地應用于工業(yè)自動化、船舶、醫(yī)療設備、工業(yè)設備等方面?,F場總線是當今自動化領域技術發(fā)展的熱點之一,被譽為自動化領域的計算機局域網。它的出現為分布式控制系統(tǒng)實現各節(jié)點之間實時、可靠的數據通信提供了強有力的技術支持。

 

  1.2 CAN 物理層

  CAN與 I2C、SPI 等具有時鐘信號的同步通訊方式不同,CAN 通訊并不是以時鐘信號來進行同步的,它是一種異步通訊,只具有 CAN_High 和 CAN_Low 兩條信號線,共同構成一組差分信號線,以差分信號的形式進行通訊。我們來看一個示意圖

  

 

  1.3電氣參數

  a)參考通信距離及傳輸速度

  通信距離(米)波特率

  251M

  70500K

  280125K

  350100K

  45080K

  70050K

  200018K

  30009K

  b)CAN總線上的節(jié)點數可達110個。

  c)總線狀態(tài)

  總線狀態(tài) 總線有“顯性”和“隱性”兩個狀態(tài),“顯性”對應邏輯“0”,“隱性”對應邏輯“1”。

  差分信號又稱差模信號,與傳統(tǒng)使用單根信號線電壓表示邏輯的方式有區(qū)別,使用差分信號傳輸時,需要兩根信號線,這兩個信號線的振幅相等,相位相反,通過兩根信號線的電壓差值來表示。

  (1)顯性(dominant): ----邏輯0

  CANH----高電平 --------------3.0-4.25V ----典型值3.6V

  CANL----低電平 ---------------0.5-1.75V ----典型值1.4V

  Vdiff---------------------------------------------------------2.25V

  (2)隱性(recessive): ----邏輯1

  CANH----高電平 ----0.5VCC(2.0-3.0V) ----典型值2.5V

  CANL----低電平 ----0.5VCC(2.0-3.0V) ----典型值2.5V

Vdiff-------------------------------------------------------------0V

 

  1.4CAN 協(xié)議層

  1.4.1 CAN 的波特率及位同步

  由于 CAN 屬于異步通訊,沒有時鐘信號線,連接在同一個總線網絡中的各個節(jié)點會像串口異步通訊那樣,節(jié)點間使用約定好的波特率進行通訊。

  1.4.2 位時序分解

  位時序邏輯將監(jiān)視串行總線,執(zhí)行采樣并調整采樣點,在調整采樣點時,需要在起始位邊沿進行同步并后續(xù)的邊沿進行再同步。通過將標稱位時間劃分為以下三段,即可解釋其工作過程:

  同步段 (SYNC_SEG):位變化應該在此時間段內發(fā)生。它只有一個時間片的固定長度 (1 x tCAN)。

  位段 1 (BS1):定義采樣點的位置。它包括 CAN 標準的 PROP_SEG 和 PHASE_SEG1。其持續(xù)長度可以在 1 到 16 個時間片之間調整,但也可以自動加長,以補償不同網絡節(jié)點的頻率差異所導致的正相位漂移。

  位段 2 (BS2):定義發(fā)送點的位置。它代表 CAN 標準的 PHASE_SEG2。其持續(xù)長度可以在 1 到 8 個時間片之間調整。

  再同步跳轉寬度 (SJW) 定義位段加長或縮短的上限。它可以在 1 到 4 個時間片之間調整。

  如果在 BS1 而不是 SYNC_SEG 中檢測到有效邊沿,則 BS1 會延長最多 SJW, 以便延遲采樣點。

  相反地,如果在 BS2 而不是 SYNC_SEG 中檢測到有效邊沿,則 BS2 會縮短最多 SJW, 以便提前發(fā)送點。


 

  例子:

  假如要配置波特率為100k,所用單片機的APB時鐘為42MHz,則:

  NominalBitTime:1/100000s即10us

  t(PCLK):1/42000000S,即1/42us.

  此時只需((TS1[3:0] + 1)+ (TS2[2:0] + 1)+1)* (BRP[9:0] + 1) =420

  我們可令t(q)=1us,即(BRP[9:0] + 1)=42,,則

  TS1[3:0] + TS2[2:0] =7

  1.4.3 CAN 的報文種類及結構

  為了更有效地控制通訊,CAN 一共規(guī)定了 5 種類型的幀,它們的類型及用途說明如表

  

 

  1.5 STM32中的CAN框架

  STM32 的芯片中具有 bxCAN 控制器 (Basic Extended CAN),它支持 CAN 協(xié)議 2.0A 和 2.0B 標準。該 CAN 控制器支持最高的通訊速率為 1Mb/s;可以自動地接收和發(fā)送 CAN 報文,支持使用標準ID 和擴展 ID 的報文;外設中具有 3 個發(fā)送郵箱,發(fā)送報文的優(yōu)先級可以使用軟件控制,還可以記錄發(fā)送的時間;具有 2 個 3 級深度的接收 FIFO,可使用過濾功能只接收或不接收某些 ID 號的報文;可配置成自動重發(fā);不支持使用 DMA 進行數據收發(fā)。框架示意圖如下:

  

 

 

  STM32 的有兩組 CAN 控制器,其中 CAN1 是主設備,框圖中的“存儲訪問控制器”是由 CAN1控制的,CAN2 無法直接訪問存儲區(qū)域,所以使用 CAN2 的時候必須使能 CAN1 外設的時鐘??驁D中主要包含 CAN 控制內核、發(fā)送郵箱、接收 FIFO 以及驗收篩選器。

  bxCAN 工作模式

  bxCAN 有三種主要的工作模式: 初始化、 正常和睡眠。

  a)初始化模式

  當硬件處于初始化模式時,可以進行軟件初始化。篩選器的初始化可以在初始化模式之外進行。

  b)正常模式

  一旦初始化完成,軟件必須向硬件請求進入正常模式,這樣才能在 CAN 總線上進行同步,并開始接收和發(fā)送。篩選器尺度和模式配置必須在進入正常模式之前完成。

  c)睡眠模式(低功耗)

  為降低能耗功耗, bxCAN 具有低功耗模式,稱為睡眠模式。

  

 

 

  • XILINX賽靈思 XC7K160T-2FBG484E
  • 賽靈思(XILINX)作為行業(yè)的領軍企業(yè),其推出的 XC7K160T-2FBG484E 更是一款備受矚目的產品。XC7K160T-2FBG484E 屬于賽靈思 7 系列 FPGA(現場可編程門陣列),具有強大的性能和豐富的功能。
    2024-09-25 195次
  • XILINX賽靈思 XCKU085-2FLVA1517E
  • 賽靈思(XILINX)作為全球領先的可編程邏輯器件供應商,其推出的 XCKU085-2FLVA1517E 以卓越的性能和豐富的功能,成為眾多電子工程師和設計師的首選。XCKU085-2FLVA1517E 屬于賽靈思 UltraScale 架構系列產品,采用先進的 20 納米工藝技術制造。這一工藝不僅帶來了更高的性能,還實現了更低的功耗,為各種復雜的電子系統(tǒng)設計提供了理想的解決方案。
    2024-09-25 174次
  • XILINX賽靈思 XCKU060-1FFVA1517C
  • 賽靈思(XILINX)作為全球領先的可編程邏輯解決方案供應商,其 XCKU060-1FFVA1517C 更是一款備受矚目的產品。XCKU060-1FFVA1517C 屬于賽靈思 UltraScale 架構系列,采用了先進的 16 納米 FinFET 工藝技術。這一工藝帶來了諸多優(yōu)勢,如更高的性能、更低的功耗以及更小的芯片尺寸。
    2024-09-25 197次
  • XILINX賽靈思 XCKU060-2FFVA1517E
  • 賽靈思(XILINX)作為行業(yè)的領軍企業(yè),其推出的 XCKU060-2FFVA1517E 更是一款備受矚目的產品。XCKU060-2FFVA1517E 屬于賽靈思 UltraScale 架構系列的 FPGA(現場可編程門陣列)。它融合了先進的技術和強大的性能,為各種復雜的應用場景提供了高度靈活且可靠的解決方案。
    2024-09-25 162次
  • XILINX賽靈思 XC7Z035-3FFG676E
  • 賽靈思(XILINX)作為全球領先的可編程邏輯解決方案供應商,其 XC7Z035-3FFG676E 更是一款備受矚目的產品。XC7Z035-3FFG676E 屬于賽靈思 Zynq - 7000 系列,該系列將處理器系統(tǒng)(PS)和可編程邏輯(PL)完美結合,為用戶提供了高度靈活的解決方案。這款器件采用了先進的 28 納米工藝技術,在性能、功耗和成本之間實現了出色的平衡。
    2024-09-25 163次

    萬聯(lián)芯微信公眾號

    元器件現貨+BOM配單+PCBA制造平臺
    關注公眾號,優(yōu)惠活動早知道!
    10s
    溫馨提示:
    訂單商品問題請移至我的售后服務提交售后申請,其他需投訴問題可移至我的投訴提交,我們將在第一時間給您答復
    返回頂部