新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于DSP 內(nèi)嵌ECAN模塊的總線接口設(shè)計(jì)

基于DSP 內(nèi)嵌ECAN模塊的總線接口設(shè)計(jì)

作者: 時(shí)間:2013-11-14 來源:網(wǎng)絡(luò) 收藏

一個(gè)消息有11位或29為標(biāo)識(shí)符、一個(gè)控制域和最多8個(gè)字節(jié)的數(shù)據(jù)構(gòu)成。當(dāng)要發(fā)送一個(gè)消息時(shí),消息控制器把這個(gè)消息發(fā)送到CPK 的發(fā)送緩沖區(qū)中,以便在下一個(gè)總線空閑狀態(tài)時(shí)開始發(fā)送消息。當(dāng)多于一個(gè)消息要被發(fā)送時(shí),最高優(yōu)先級(jí)的消息將被消息控制器發(fā)送到CPK中,如果兩個(gè)消息的優(yōu)先級(jí)相同,則大序號(hào)的郵箱首先發(fā)送。

  1.3 接口電路設(shè)計(jì)

  本文使用的接口管理CPU 為TMS320F2812,使用其內(nèi)部集成的,因此只需要連接CAN總線收發(fā)器模塊和隔離器件即可實(shí)現(xiàn)CAN功能。

  ECAN接口電路圖如圖3所示。

  

  ADM3053的左側(cè)為邏輯端,邏輯端管腳接線如下:

 ?。?)RXD 和TXD 分別接 的ECANRX 和ECANTX引腳;

 ?。?)VCC接邏輯端VCC(+5 V)電源;

 ?。?)VIO接的IO供電電壓VIO;

 ?。?)GND管腳接邏輯端地線端GND_LOG.

  ADM3053 的右側(cè)為總線端,總線端的管腳接線如下:

 ?。?)CANH 和CANL 之間與CAN 物理總線相連,且確??偩€兩端并聯(lián)120 Ω端接電阻;

 ?。?)總線端電壓輸入VISOIN 接隔離電壓輸出VI-SOUT,并通過濾波電容接地;(3)CANH和CANL連接共模電感ACT45B-510-2P,濾除總線上的共模信號(hào);

 ?。?)CANH和CANL并聯(lián)TVS管PESD1CAN,作為瞬態(tài)抑制保護(hù),防止總線上的瞬變干擾。

  2 軟件設(shè)計(jì)

  2.1 ECAN的存儲(chǔ)器映射ECAN的寄存器被映射到片內(nèi)存儲(chǔ)器的外設(shè)幀1區(qū)域,CPU 用這些寄存對(duì)CAN 的消息對(duì)象進(jìn)行配置和控制,控制和狀態(tài)寄存器只允許32 位存取。ECAN 提供了32個(gè)消息郵箱,每個(gè)郵箱可以配置為發(fā)送或接收郵箱。消息是一塊RAM 區(qū)域,映射到 的RAM 存儲(chǔ)器,每個(gè)郵箱RAM 的地址分配如圖4 所示。消息郵箱用來存儲(chǔ)接收到的CAN消息或存放等待發(fā)送的CAN消息。當(dāng)郵箱不用于存儲(chǔ)CAN 消息時(shí),CPU 可以將消息郵箱RAM 空間當(dāng)成通用存儲(chǔ)器使用。寄存器和消息RAM空間如圖4所示。

  

  2.2 通信軟件

  2.2.1 系統(tǒng)初始化

  初始化在初始化模式下才能進(jìn)行,初始化模式和正常操作模式之間的轉(zhuǎn)換時(shí)通過CAN網(wǎng)絡(luò)同步實(shí)現(xiàn)的,也就是說,CAN 控制器在改變模式之前,要檢測(cè)總線空閑狀態(tài)(等于11個(gè)接收位),如果產(chǎn)生支配總線錯(cuò)誤,CAN控制器將不能檢測(cè)到總線空閑狀態(tài),因此也不能完成模式切換。將CCR寄存器置1,使CAN模塊工作于初始化模式,而且只有CCE寄存器設(shè)置為1時(shí),才能執(zhí)行初始化操作。完成上述設(shè)置后,才能操作ECAN模塊配置寄存器。ECAN模塊的初始化流程如圖5所示。

  

  2.2.2 消息發(fā)送

隔離器相關(guān)文章:隔離器原理


關(guān)鍵詞: DSP ECAN模塊 總線接口

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉