TMS320C28346的CAN總線的引腳


一、概述
TMS320C28346 是 TI C2000? Piccolo 系列中性能強勁的一款 MCU,廣泛應用于電機控制、可再生能源、電源管理和汽車電子等領域。其內置的兩路 CAN 控制器(CAN-A、CAN-B)提供了高速、可靠的車載局域網通信能力,是實現分布式控制和診斷功能的關鍵模塊。CAN 總線的物理接口與芯片引腳直接關聯,合理的引腳配置和外部電路設計對于系統的穩定性和抗干擾性能至關重要。
下面將詳細介紹 TMS320C28346 上 CAN 總線的相關引腳,包括引腳名稱、封裝位置、電氣參數、復用功能、軟件配置要點以及外部硬件連接示例等,幫助開發者在硬件設計和固件開發中準確、高效地應用 CAN 通信功能。
二、CAN 引腳列表
以下列表匯總了 TMS320C28346 封裝中與 CAN-A 和 CAN-B 對應的引腳名稱及其功能描述:
CAN-A 通道
CANTXA:CAN-A 總線發送引腳,差分輸出(與 CANTXB 配合)
CANTXB:CAN-A 總線發送反相引腳,與 CANTXA 構成差分對
CANRXA:CAN-A 總線接收引腳,差分輸入(與 CANRXB 配合)
CANRXB:CAN-A 總線接收反相引腳,與 CANRXA 構成差分對
CAN-B 通道
CANTXB:CAN-B 總線發送引腳(差分對的正相)
CANTXB:CAN-B 總線發送反向引腳(差分對的負相)
CANRXB:CAN-B 總線接收正相輸入
CANRXB:CAN-B 總線接收負相輸入
(注:以上正負相成對出現,具體實際管腳名稱與封裝應參考最新 TI 數據手冊,部分引腳在不同封裝或引腳復用設置下可能略有差異。)
三、引腳封裝與定位
TMS320C28346 提供 LQFP-176 和 BGA-257 兩種封裝,以下以 LQFP-176 為例給出 CAN 引腳在封裝上的大致位置:
CANTXA:引腳編號 Pxx(位于芯片右側中部)
CANTXB:引腳編號 Pxy(與 CANTXA 相鄰,構成差分對)
CANRXA:引腳編號 Pxz(位于左側中部,與 CANRXB 相鄰)
CANRXB:引腳編號 Pxa
在 BGA-257 封裝中,對應的球柵編號略有不同,建議根據 TI 官方封裝圖手冊進行精確定位,并在 PCB 設計時嚴格按照差分對布線規范走線,確保差分對長度、間距一致,避免時鐘抖動和信號失真。
四、電氣特性與差分對布線
CAN 總線采用差分信號傳輸,可顯著提升抗干擾能力。TMS320C28346 上的 CAN 引腳按照 ISO 11898-2 標準設計,支持 1 Mbps 的高速傳輸,典型差動輸出電平為 ±1 V。主要電氣參數如下:
差分輸出擺幅:2 V(典型)
共模電壓范圍:–2 V 至 +7 V
接收閾值:±200 mV(可校準)
最大傳輸速率:1 Mbps
在 PCB 設計時,CAN 總線差分對應按以下要求布線:
差分對間距:保持 100 μm–150 μm,以維持特性阻抗約 120 Ω
等長布線:正、負相信號線長度差應小于 5 mils(約 0.127 mm)
持續阻抗:全程保持 120 Ω 差分阻抗,避免分支與中斷
參考平面:盡量靠近連續地平面布線,減少 EMI 與反射
五、引腳復用與外設配置
在 TMS320C28346 芯片的多功能管腳設計中,CAN 引腳通常可復用為通用 GPIO 或其他外設信號。要啟用 CAN 功能,需在引腳配置寄存器(PxCR)中將對應管腳模式設為 CAN-A/CAN-B 功能,并關閉 GPIO 模式。示例如下(偽代碼):
EALLOW;
GpioCtrlRegs.GPAPUD.bit.GPIOxx = 0; // 使能內部上拉
GpioCtrlRegs.GPAQSEL1.bit.GPIOxx = 3; // 設置為異步輸入
GpioCtrlRegs.GPAMUX2.bit.GPIOxx = 2; // 2: CAN功能復用
EDIS;
在系統初始化函數中,還需配置 CAN 控制器時鐘、波特率分頻寄存器(CANBTC)和模式寄存器(CANMC),并對消息對象(MOB)進行初始化設置,以便接收與發送 CAN 報文。
六、外部電路與收發器選型
TMS320C28346 內部集成了 CAN 協議層,但不包含物理層收發器,因此系統設計中需要外部 CAN 收發器芯片(如 TI 的 TCAN1042、MCP2562 等)。收發器主要負責電平轉換、總線仲裁與驅動,連接方式如下:
MCU 的 CANTXA/CANTXB 引腳接至收發器的 CAN_TX+ / CAN_TX– 引腳
MCU 的 CANRXA/CANRXB 引腳接至收發器的 CAN_RX+ / CAN_RX– 引腳
收發器 的 CAN_H/CAN_L 端口連接至總線,并且需在總線上兩端各并聯 120 Ω 端接電阻
收發器 可選集成過壓、短路保護與低功耗待機功能,可大幅增強系統可靠性
電路示例:
MCU CANTXA —— CAN_TX+ —— 收發器 —— CAN_H —— 120Ω —— 總線 —— 120Ω —— CAN_H
MCU CANTXB —— CAN_TX– —— —— CAN_L —— 120Ω —— 總線 —— 120Ω —— CAN_L
MCU CANRXA —— CAN_RX+ —— 收發器
MCU CANRXB —— CAN_RX– —— 收發器
VCC —— 收發器 VCC
GND —— 收發器 GND
七、系統設計與調試建議
終端電阻:務必在 CAN 總線兩端并聯 120 Ω 端接,減少信號反射
地線布線:CAN 收發器 GND 應與 MCU GND 共地,并通過寬銅箔或地平面連接,確保信號參考一致
ESD 保護:在收發器 CAN_H / CAN_L 端口外側可并聯 TVS 二極管,用于浪涌電壓抑制
波特率校準:結合局部總線長度與節點數,合理選用波特率(如 125 kbps / 250 kbps / 500 kbps / 1 Mbps)并通過報文監測與測試儀校準
軟件診斷:在固件中使用 CAN 發送心跳與錯誤幀監測功能(CANERRCNT),實時檢測總線錯誤與狀態
八、典型應用場景
分布式電機控制:各電機驅動模塊通過 CAN 總線接收中央控制器指令,并定期上傳故障狀態與反饋數據
智能電表與電網監控:低速 CAN(125 kbps)用于遠程抄表與現場狀態監測,結合 LIN 或 RS-485 實現多總線融合
車載診斷系統:符合 ISO 11898-2 標準,可與車載 ECU、儀表盤、傳感器模塊組網,實現 OBD-II 兼容診斷與故障碼上報
九、CAN 控制器內部架構與報文對象配置
TMS320C28346 的 CAN 控制器內部集成了多達 32 個報文對象(Message Object),每個對象可被配置為發送、接收或遠程幀響應功能。報文對象內部包含 ID 寄存器、面板寄存器和數據寄存器,允許用戶精細控制幀的格式與過濾條件。典型配置過程中,需要對以下寄存器分組進行設置:
MSGID 寄存器:定義幀標識符,可設置標準幀(11 位)或擴展幀(29 位)模式。擴展幀支持更大地址空間,適用于復雜網絡。
MASK 寄存器:用于接受過濾,只有當接收報文 ID 與 MASK 和過濾 ID 匹配時,才能觸發該對象的接收事件。通過掩碼可以實現組播或廣播方式的過濾。
CONTROL 寄存器:設置幀類型(數據幀、遠程幀)、數據長度(0–8 字節)、中斷使能與溢出處理方式。
DATA 寄存器:用于存放待發送或已接收的最多 8 字節數據。
初始化示例(偽代碼):
EALLOW;
// 配置報文對象 1 作為接收標準數據幀
CANMOBS(1).MSGID = (0x123 << 2); // 標準 ID 0x123
CANMOBS(1).MASK = (0x7FF << 2); // 精確匹配
CANMOBS(1).CONTROL = (DATA_FRAME | RTR_OFF | DLC(8) | INTERRUPT_ENABLE);
EDIS;
上述配置將報文對象 1 設置為接收 ID 為 0x123 的 8 字節數據幀,并在接收完成時觸發中斷。
十、接受過濾與多級屏蔽技術
為了在總線上高效處理海量報文,C28346 的 CAN 控制器支持多級過濾策略,不僅能依據 ID 匹配,還可結合數據字段進行高級過濾。用戶可以通過配置兩個級別的掩碼(MASK0、MASK1)并通過控制寄存器的優先級選擇,實現在硬件層面篩選特定節點或功能報文。對于更復雜的場景,還可借助軟件層面的循環隊列與標志位機制,對相似 ID 的一組報文進行批處理。
此外,CAN 控制器還支持報文對象分組(Group),將多個報文對象歸為一組統一處理。通過組中斷標志位,開發者可在一次中斷服務中檢查所有對象的接收狀態,大大縮短中斷響應時間。
十一、錯誤處理與自動重傳機制
TMS320C28346 內部實現了完善的 CAN 錯誤管理,包括差錯檢測、總線錯誤計數與自動重傳功能。主要機制如下:
位錯誤與校驗錯誤:CAN 硬件自動檢測位填充錯誤、CRC 校驗失敗,出現錯誤時會立即終止當前幀并在總線上輸出錯誤幀。
監聽器與錯誤計數器:接收與發送錯誤計數器(RXERR、TXERR)用于累計錯誤事件,當計數器超過閾值時,節點進入被動錯誤或總線關閉狀態。軟件可通過讀取 ERRCNT 寄存器實時監控錯誤水平,并決定是否復位 CAN 控制器或重新初始化總線。
自動重傳:當發送報文未被確認(ACK),硬件會持續重試,直至成功或達到最大重傳次數,之后可通過錯誤回調由用戶決定是否重新發送或報告故障。
應用示例:在出現連續 15 次發送失敗后,軟件可主動切斷總線并重新進入初始化階段,以規避總線掛起風險。
十二、時鐘同步與時間戳功能
TMS320C28346 的 CAN 控制器支持基于時間戳的報文調度與同步,特別適合需要精確定時或事件同步的控制系統。如分布式電機同步、智能電網聯合跳閘等場景。硬件內置的時間戳寄存器可在報文到達或發送時自動記錄系統時鐘值(微秒級精度),軟件可根據時間戳對數據幀進行排序或延遲補償。
示例:在兩個 DSP 節點各自采集傳感器數據后,通過 CAN 幀攜帶時間戳,接收節點可對齊時序并執行融合算法,從而獲得多源同步數據。
十三、網絡拓撲與節點配置優化
在設計 CAN 總線網絡時,應根據節點數量、總線長度與工作速率選擇合適的拓撲結構。TMS320C28346 推薦以下最佳實踐:
總線長度與速率:1 Mbps 速率適合不超過 40 m 總線,500 kbps 可支持約 100 m,250 kbps 支持 200 m 以上。
終端電阻與分布式終端:嚴禁在總線上任意中點放置終端電阻,且兩端電阻值需精確 120 Ω。對于樹狀或分支較多網絡,可使用分布式終端方案,每段放置低阻抗電阻形成等效 120 Ω。
節點地址規劃:根據功能與優先級給每個節點分配標準(11 位)或擴展(29 位) ID,避免沖突并留出保留 ID 區間。
軟件節點配置:每個節點通過 DIP 開關或 EEPROM 讀取唯一節點 ID,并在初始化時設置對應報文對象,減少固件定制化次數。
十四、性能調優與測試方法
為了評估 CAN 通信性能并優化系統可用帶寬,工程師可借助以下方法:
硬件示波器與 CAN 分析儀:實時監測 CAN_H/CAN_L 信號品質、位時間抖動與總線負載。
軟件性能監測:利用 RTDX/Trace 收集中斷響應時間、DMA 延遲及報文處理時序,并繪制甘特圖分析瓶頸。
負載測試:在實驗平臺上構建多節點測試,連續發送高頻率報文,并統計幀丟失率、錯誤幀次數與重傳次數。
中斷優先級調整:根據分析結果,通過重新分配中斷優先級和報文對象配置,確保高優先級報文獲得及時處理。
十五、應用案例:電動汽車車身控制網絡
在電動汽車車身控制域中,常見模塊如車門控制單元(DCU)、車燈控制單元(LCU)與儀表盤(ICU)通過 CAN 總線互聯。TMS320C28346 可作為 DCU 的主控 MCU,負責讀取傳感器(門鎖位置、開關狀態等),并通過 CAN 向 LCU 發送命令驅動照明。DCU 還需接收來自中央車載網關的診斷與遠程固件更新指令。該場景下,節點需同時兼顧實時控制與固件安全更新,因此在硬件設計中必須預留 Boot Loader 與安全引導機制,并在 CAN 控制器上啟用錯誤中斷與心跳幀監測功能,確保任何異常均可被及時檢測和處理。
十六、CAN 波特率與位定時詳解
在 CAN 總線通信中,波特率(Baud Rate)及位定時配置直接決定了系統的可靠性與抗干擾能力。TMS320C28346 的 CAN 控制器通過位定時寄存器(CAN_BTR)提供對以下四個關鍵時段的配置:
同步段(Sync_Seg):固定為一個時間量子(Tq),用于節點間同步,是采樣點的參考點。
傳播段(Prop_Seg):補償總線傳播延遲,包括線路延遲和信號門限延遲,可通過設定 PROPSEG 寄存器字段調整。
相位緩沖段 1(Phase_Seg1):允許節點在采樣前對時鐘進行微調,通過 PHASESEG1 字段配置。
相位緩沖段 2(Phase_Seg2):允許在采樣后對時鐘進行微調,通過 PHASESEG2 字段配置。
以 150 MHz CAN_CLK 為例,若需設置 500 kbps 波特率,可按下式計算:
Tq = (Sync_Seg + Prop_Seg + Phase_Seg1 + Phase_Seg2) / CAN_CLK
Bit_Time = Baud_Rate?1 = Tq × (1 + PROPSEG + PHASESEG1 + PHASESEG2)
典型配置:PROPSEG = 7, PHASESEG1 = 7, PHASESEG2 = 7,總 22 Tq,對應 Bit_Time = 22/150MHz ≈ 146.7 ns × 22 ≈ 3.227 μs → ≈ 310 kbps;可相應調整各段以精確匹配 500 kbps。
TMS320C28346 還支持重同步跳躍寬度(SJW)配置,用于在突發抖動時對位時鐘進行調整,SNSJW 字段通常設置為 1–4 Tq,以兼顧抖動補償能力與定時穩定性。
十七、雙通道 CAN 協同與診斷功能
C28346 的兩個 CAN 通道(CAN-A、CAN-B)可并行工作,實現雙總線拓撲或冗余備份功能。在多總線系統中,可將關鍵控制命令與監控數據分配到不同通道,避免總線擁塞;在安全關鍵應用,還可啟用雙通道熱備份,當主通道發生嚴重錯誤時,備份通道自動接管通信,保證系統連續運行。
每個通道均獨立維護發送/接收錯誤計數器(TEC、REC),并在錯誤超限時進入錯誤被動或總線關閉狀態。軟件可通過讀取 CAN_ES(Error Status)寄存器得知通道當前狀態,并觸發相應的保護邏輯,如切換備份通道、記錄故障日志或重置 CAN 模塊。
十八、CAN 環回與監聽模式
為了調測與系統驗證,TMS320C28346 CAN 控制器支持多種診斷模式:
環回模式(Loopback):所有發送幀在控制器內部直接回送至接收通道,無需外部收發器和總線終端,用于純寄存器級功能測試。
監聽模式(Listen-Only):控制器僅監聽總線流量,不發送任何幀或 ACK,用于總線健康監測與故障定位。
靜默模式(Silent):與監聽模式類似,但可在需要時通過軟件切換為正常模式,適合在系統運行中動態診斷。
使用示例(偽代碼):
CAN_CTRL_REG |= (LOOPBACK_EN | SILENT_EN); // 同時開啟環回與靜默
十九、CAN 引導加載(Boot over CAN)
在分布式控制系統中,通過 CAN 進行固件更新和診斷是常見需求。TMS320C28346 支持基于 CAN 的引導加載(Boot Loader)功能:在上電時,Boot ROM 可檢測 CAN 總線上是否有特定標識的固件更新請求幀;若存在,則進入 CAN Boot 模式,通過預定義的協議(如 XCP over CAN)接收并寫入片內或外部 Flash,否則按常規方式從 Flash 啟動。
該引導方案通常與 DCSM 安全模塊配合使用,對固件映像進行簽名驗證,保證只有合法固件才能被寫入設備,增強系統安全性。
二十、實戰建議與最佳實踐
時鐘抖動控制:采用低抖動振蕩器,確保 CAN_CLK 穩定;在 PCB 布線時為時鐘與地之間添加旁路電容,減少 EMI。
分支與終端:避免在 CAN 總線上出現多處分支,若不可避免,可結合分支電纜與分布式終端(60 Ω+60 Ω)維持信號完整性。
節點喚醒:配置 CAN 控制器的喚醒檢測(WAK_INT_EN),當總線上有遠程幀或遠程喚醒信號時可觸發中斷,喚醒 MCU 進入正常模式。
負載均衡:合理分配發送任務,避免短周期高占空比報文導致總線長時間占用;可結合循環發送隊列(Round-Robin)與優先級機制。
軟件升級與容錯:基于 CAN Boot Loader 方案,實現故障安全的固件回滾與多版本存儲,防止升級失敗導致設備失控。
二十一、J1939 協議棧及高層軟件集成
在汽車和重型設備領域,SAE J1939 已成為覆蓋 CAN 總線之上的主流高層應用協議,它定義了基于 CAN 的網絡層、傳輸層及應用層幀格式和參數組(PGN)。TMS320C28346 不僅在硬件層面提供標準 CAN 控制,還可通過 TI 提供的 J1939 協議?;虻谌介_源棧(如 Microchip 的 J1939 Stack、SavvyCAN Library)完成軟件層面的完整實現。該協議棧通常包含如下模塊:
? 網絡管理(NM):負責節點啟動、關機、巡檢與狀態廣播,對應 NMEA/ISO 架構中的 TP.NA 功能;
? 傳輸協議(TP):通過單幀、兩幀或多幀方式分段傳輸大于 8 字節的數據,支持傳輸確認、重傳和擁塞控制;
? 參數組(PG)處理:按照 J1939-21 定義,使用標準或擴展 PGN 對空調控制、發動機監控、車速傳感器等進行數據映射;
? 診斷消息(DM):支持故障碼(SPN)報告與清除,結合 DM1/DM2 報文實現節點自診斷與遠程診斷。
在 C28346 上部署時,一般將協議棧的底層 CAN 接口封裝為 HAL(Hardware Abstraction Layer),上層應用可通過 HAL 提供的初始化、發送、接收回調等 API 與硬件解耦。TI-RTOS 下,可將 J1939 服務作為獨立任務運行,利用消息隊列(Message Queue)與中斷服務例程(ISR)協同完成幀處理與業務邏輯分發。采用 SysConfig 自動生成的代碼可快速配置 CAN 引腳、報文對象與中斷優先級,并自動導入 J1939 協議棧模板,極大簡化工程量。
二十二、向 CAN FD 及未來 CAN XL 演進
隨著汽車電子與工業自動化系統對數據帶寬和實時性能需求的不斷提升,CAN FD(Flexible Data-Rate)和 CAN XL(Extended Length)應運而生。雖然 TMS320C28346 原生僅支持經典 CAN 協議,但應用層可通過外部 CAN FD 收發器(如 TI 的 TCAN4550)與 FPGA/附加 CPLD 實現 FD 協議支持。具體做法包括:
? FD 收發器映射:使用 SPI 或 GPIO 接口與收發器通信,配置物理層速率切換、位定時與填充規則;
? 幀拼裝與解析:在 DSP 端軟件中對 12~64 字節的數據長幀進行分段與重組,結合 EDMA 自動搬運大容量數據;
? 錯誤監控與兼容模式:在 FD 總線與經典總線混合場景中,收發器提供經典模式兼容與自動降級功能,軟件需根據總線狀態做相應的幀類型處理。
面向即將到來的 CAN XL 標準,工程師可借鑒 FD 方案,通過可編程邏輯(FPGA/CPLD)或外部 SoC+ PHY 解決方案先行驗證,并在未來 TI 新一代 C2000 平臺(如 C2839x)中獲得原生 XL 支持??傮w而言,通過硬件與軟件的協同設計,TMS320C28346 依舊能夠在現有項目中平滑過渡至更高帶寬、更低延遲的下一代 CAN 網絡。
責任編輯:David
【免責聲明】
1、本文內容、數據、圖表等來源于網絡引用或其他公開資料,版權歸屬原作者、原發表出處。若版權所有方對本文的引用持有異議,請聯系拍明芯城(marketing@iczoom.com),本方將及時處理。
2、本文的引用僅供讀者交流學習使用,不涉及商業目的。
3、本文內容僅代表作者觀點,拍明芯城不對內容的準確性、可靠性或完整性提供明示或暗示的保證。讀者閱讀本文后做出的決定或行為,是基于自主意愿和獨立判斷做出的,請讀者明確相關結果。
4、如需轉載本方擁有版權的文章,請聯系拍明芯城(marketing@iczoom.com)注明“轉載原因”。未經允許私自轉載拍明芯城將保留追究其法律責任的權利。
拍明芯城擁有對此聲明的最終解釋權。