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