基于DSP内嵌ECAN模块的总线接口设计.pdf

所需积分/C币:24 2019-09-05 21:48:38 510KB PDF
收藏 收藏
举报

本文提出了基于DSP内嵌增强型CAN控制器(ECAN)模块的智能总线接口设计方案。该设计创新性地采用了ADI公司最新发布的ADM3053芯片
Oeek电子工程网 EANOINT EANIINT CPU ECAN控制器 控制 地址1数据(32b CPU接口 32个消息邮箱 存储器管理单元 控制和状态 RAM 接收控制单元 寄存器 321定时器管理单元 32 消息控制器 CAN协议内核 通信缓冲区 CCPKI (用户不能访问) CANTXI CAN RX CAN收发器 ADM3053 ioEWee e atwanycom 图2ECAN模块的接 惠工程网 在协议内核CK收到一个来自总线的消息后,消息控制器中的接收控制单 元确定是否把接收的消息存储到32个消息邮箱RAM中的某一个中。接收掉制单 元要检验消息的状态、标识符和消息对象的屏蔽来决定邮箱的位置。接收的消息 经过滤波后存放到第一个邮箱中。如果接收控制单元不能找到任何一个存储接收 消息的邮箱,则消息被丢弃。 一个消息有11位或29为标识符、一个控制域和最多8个字节的数据构成。 当要发送一个消息时,消息控制器把这个消息发送到CPK的发送缓冲区中,以 便在下一个总线空闲状态时开始发送消息。当多于一个消息要被发送时,最高优 先级的消息将被消息控制器发送到CPK屮,如果两个消息的优先级相同,则大序 号的邮箱首先发送。 1.3接口电路设计 本文使用的接口管理CPU为TMS320F2812,使用其内部集成的ECAN模块,因 此只需要连接CAN总线收发器模块和隔离器件即可实现CAN总线接口功能 ECAN接口电路图如图3所小 Oeek电子工程网 2 RT GND ND 19 NC VISOIN 18 GND ECANRX ACT45B-510-2P RXD CANH EANTX 6 TXD) GND TMS320 ECAN 6 15 F2812模块 VIO CANI 8/GND VREF 13 Ⅴ CC GND l0 GND VISOUT PESDIPAN GND GND O. uF AD\30)53 RI GND LOC gReek lo, oeec. # E 图3ECAN接口电下工程网 ADM3053的左侧为逻辑端,逻辑端管脚接线如下: (1)RXD和TXD分别接DSP的 ECANRX和 ECANTX引脚; (2)VCC接逻辑端VCC(+5V)电源; (3)VI0接DSP的I0供电电压V0; 4)GⅦ管脚接逻饵端地线端 GND LOG. ADM3053的右侧为总线端,总线端的管脚接线如下: (1)CANH和CANL之间与CAN物珄总线相连,且确保总线两端并联120Q 端接电阻 (2)总线端电压输入ⅥIS0IN接隔离电压输出V-SOUT,并通过滤波电容接 地;(3)CANH和CAN连接共模电感ACT45B-510-2P,滤除总线上的共模信号; (4)CAⅦ和CANL并联TVS管PESD1CAN,作为瞬态抑制保护,防止总线上的 瞬变干扰。 2软件设计 2.1ECAN的存储器映射ECAN的寄存器被映射到片内存储器的外设帧1区域, 〔PU用这些寄存对CAN的消息对象进行配置和控制,控制和状态寄存器只允许 32位存取ECAN提供了32个消息邮箱,每个邮箱可以配置为发送或接收邮箱。 消息是一块RAM区域,映射到DSP的RAM存储器,每个邮箱RAM的地址分配如 Oeek电子工程网 图1所小。消息邮箱用来存储接收到的CAN消息或存放等待发送的CAN消息。 当邮箱不用于存储CAN消息时,CPU可以将消息邮箱RAM空间当成通用存储器 使用。ECAN模块寄存器和消总RAM空间如图4所示 60 控制和状态寄存器 603FH 604OH 本地屏蔽寄存器(LAM 607FH goh 6(BFH 时间标志寄存器MOTS 6OCOH 超时寄存器(MOr 6OFFH 610H 6107 邮箱O 6l08H bOFH 邮箱1 6E8H-61F9H消息标识符MGD 611H 6]117H 邮箱2 6EAH-61EBH消息控制MCHL 6l18H 6IIFH 邮箱3 ′6c!-6lEDH消息数据低4BML 61FFH-6H消息数据高4BMDH bIEFH 61FOH 邮箱29 fIESH 61F7H 邮箱 6]F8H oFweek< lee, ofweek. com 6IFFH 邮箱31 电子工程网 图4ECAN模块寄存器和消息RAM空间 2.2通信软件 2.2.1系统初始化 ECAN模块初始化在初始化模式下才能进行,初始化模式和正常操作模式之 闾的转换时通过CAN网络同步实现的,也就是说,CAN控制器在改变模式之前, 要检测总线空闲状态(等于11个接收位),如果产生支配总线错误,CAN控制 器将不能检测到总线空闲状态,因此也不能完成模式切换。将CCR寄存器置1 使CAN模块工作于初始化模式,而且只有CCE寄存器设置为1时,才能执行初始 化操作。完成上述设置后,才能操作ECAN模块配置寄存器。ECAN模块的初始化 流程如图5所小 Oeek电子工程网 初始化开始 配置ECAN时钟 标志模式 配置时间参数 (CCR=, CCE=O) 配置ECAN工作模式 使能ECAN功能引脚 请求进入初始化模式 初始化 MSGCTRI (CCR=l, CCE=ON 请求恢复标准模式 CCCREO. CCE=L) 更改配置生效 CCE=I? 更改配置生效 初始化模式有效 (CCR=1 CCE=D 初始化结束 OaweeinaNek.com 图5ECAN模块初 ,柔工程网 2.2.2消息发送 根据系统初始配置,将待发送的数据写入ECN模块相应消息邮箱的数据区, 这里需要注意数据字节顺序DBO寄存器的设置。当DB0=0时,数据读写从 CAN-MDL寄存器的最低有效位开始,到 CANMDI寄存器的最高有效位结束。当 DB0=1时,数据读写从 CANMDL寄存器的最高有效位开始,到 CANMDH寄存器的 最低冇效位结束。置发送命令字CAⅥTRS.n=1,启动发送操作,ECAN模块将自动置 响应命令字 CANTA.n-1.最后手动清发送命令字和响应命令字。消息发送流程如 图6所示。 Oeek电子工程网 发送开始 数据写入邮箱 ECanaMloxes. MBOXn 置发送命令宇 CANTRSn= l 置响应命令字 CANTAn 1 清发送命令字 CANTRSn= l 清响应命令字 CANTAn= 1 发weeltlee.ofweck.com 图6消息 鬼程网 2.2.3消息接收 根据系统初始配置,ECAN模块接收邮箱中接收到总线上的消息吋,相应的 接收消息等待寄存器CAN-RMP.n被置位,此时CPU应该核对消息丟弃标志寄存器 R吼L.如果RML为1,说明邮箱中的消息已被覆盖,CP可以选择向源节点请求重 发,本次接收流程结束 RⅦL为0时,CPU可以从邮箱数据区读取数据,同时清RMP.n,然后进入等 待接收状态(RMP=0,RML=0)。 消息接收流程如图7所示 Oeek电子工程网 接收开始 读取状态寄存器 RMP, RMI s RMLI 读取邮箱据 请求重发 清接收等待寄存器RMP.n=1 等待接收状态 RMP=O, RML=0 接收结束 ofweek(Lee.afweek.com 电子工程网 图7消息接收流程图 2.24过载处理 如果CPU的速度不能快速地处理重要消息,出现消息过载情况,这种情况 可以通过增加备价邮箱来解决,即配置多个相同标识符的邮箱。对于ECAN模块, 每个消息对象冇自己的屏蔽LAM(n)。为了保证不会丢失消息,将备份消息对 象的覆盖保护寄存器OPC标志位置位,从而防止未读取的消息被覆盖。如果ECAN 模块需要存储接收到的消息,则宄査看各份邮箱,如果备份邮箱为空则存储消息 如果备份邯箱的RP标志被置位,说明消息未被读取。由于备份邮箱数捃尢法被 覆盖,故将消息数据存储在原始邮箱,此时产生的一个中断可以用来读取备份邮 箱的重要数据。 本文设计的CAN智能总线接口模块绎物理环境卜多节氐收发测试,结果显小 硬件电路工作稳定,数据收发功能正常,总线电平特性和眼图如图8所示。 Oeek电子工程网 Ik LIE eEX 4 BOENy 1 ,心, 1. 日日 a04 3 Eweek 1懂14m1节 电字工程网 图8实测总线数据波形和眼图 由图8可以看出总线信号(CANH,CANL)规整,差分后信号波形平滑,眼图 显示接口通信品质良好 3结论 应用ADM3053芯片可有效缩小电路板面积,符合小型化原则,可以有效降 低CAN总线接口模块的成本,其有广阔的应川前景。

...展开详情
试读 9P 基于DSP内嵌ECAN模块的总线接口设计.pdf
立即下载 低至0.43元/次 身份认证VIP会员低至7折
    抢沙发
    一个资源只可评论一次,评论内容不能少于5个字
    weixin_38743481 欢迎大家使用并留下宝贵意见
    2019-09-05
    • 至尊王者

      成功上传501个资源即可获取
    关注 私信 TA的资源
    上传资源赚积分,得勋章
    最新推荐
    基于DSP内嵌ECAN模块的总线接口设计.pdf 24积分/C币 立即下载
    1/9
    基于DSP内嵌ECAN模块的总线接口设计.pdf第1页
    基于DSP内嵌ECAN模块的总线接口设计.pdf第2页
    基于DSP内嵌ECAN模块的总线接口设计.pdf第3页

    试读已结束,剩余6页未读...

    24积分/C币 立即下载 >