基于DSP 內嵌ECAN模塊的總線接口設計
一個消息有11位或29為標識符、一個控制域和最多8個字節的數據構成。當要發送一個消息時,消息控制器把這個消息發送到CPK 的發送緩沖區中,以便在下一個總線空閑狀態時開始發送消息。當多于一個消息要被發送時,最高優先級的消息將被消息控制器發送到CPK中,如果兩個消息的優先級相同,則大序號的郵箱首先發送。
1.3 接口電路設計
本文使用的接口管理CPU 為TMS320F2812,使用其內部集成的ECAN模塊,因此只需要連接CAN總線收發器模塊和隔離器件即可實現CAN總線接口功能。
ECAN接口電路圖如圖3所示。
ADM3053的左側為邏輯端,邏輯端管腳接線如下:
(1)RXD 和TXD 分別接DSP 的ECANRX 和ECANTX引腳;
(2)VCC接邏輯端VCC(+5 V)電源;
(3)VIO接DSP的IO供電電壓VIO;
(4)GND管腳接邏輯端地線端GND_LOG.
ADM3053 的右側為總線端,總線端的管腳接線如下:
(1)CANH 和CANL 之間與CAN 物理總線相連,且確保總線兩端并聯120 Ω端接電阻;
(2)總線端電壓輸入VISOIN 接隔離電壓輸出VI-SOUT,并通過濾波電容接地;(3)CANH和CANL連接共模電感ACT45B-510-2P,濾除總線上的共模信號;
(4)CANH和CANL并聯TVS管PESD1CAN,作為瞬態抑制保護,防止總線上的瞬變干擾。
2 軟件設計
2.1 ECAN的存儲器映射ECAN的寄存器被映射到片內存儲器的外設幀1區域,CPU 用這些寄存對CAN 的消息對象進行配置和控制,控制和狀態寄存器只允許32 位存取。ECAN 提供了32個消息郵箱,每個郵箱可以配置為發送或接收郵箱。消息是一塊RAM 區域,映射到DSP 的RAM 存儲器,每個郵箱RAM 的地址分配如圖4 所示。消息郵箱用來存儲接收到的CAN消息或存放等待發送的CAN消息。當郵箱不用于存儲CAN 消息時,CPU 可以將消息郵箱RAM 空間當成通用存儲器使用。ECAN模塊寄存器和消息RAM空間如圖4所示。
2.2 通信軟件
2.2.1 系統初始化
ECAN模塊初始化在初始化模式下才能進行,初始化模式和正常操作模式之間的轉換時通過CAN網絡同步實現的,也就是說,CAN 控制器在改變模式之前,要檢測總線空閑狀態(等于11個接收位),如果產生支配總線錯誤,CAN控制器將不能檢測到總線空閑狀態,因此也不能完成模式切換。將CCR寄存器置1,使CAN模塊工作于初始化模式,而且只有CCE寄存器設置為1時,才能執行初始化操作。完成上述設置后,才能操作ECAN模塊配置寄存器。ECAN模塊的初始化流程如圖5所示。
2.2.2 消息發送
隔離器相關文章:隔離器原理
評論