新闻中心

EEPW首页 > 嵌入式系统 > 基于LPC2119和μC/OSII 的CAN中继器设计

基于LPC2119和μC/OSII 的CAN中继器设计

——
作者:上海大学 沈跃 王家鼎时间:2007-10-19来源:单片机及嵌入式系统应用收藏

  摘要:基于提高总线组网能力的考虑,提出一种新颖的设计方法;阐述以控制器为核心的硬件设计方案;详细分析在实时操作系统下的软件实现过程;针对的实时性和安全性以及总线与总线之间可能存在的速度不匹配的问题,确立提升紧急任务优先级、建立相关事件标志、合理地对事件与任务进行同步的改进方法,从而有效地解决组网中最远传输距离和最大节电数限制的问题。

  关键词:   

引 言

  CAN总线的直接通信距离只有10 km左右,而且由于收发器驱动能力的限制,总线上最多只能挂110个节点,给系统组网带来一定的困难。CAN中继器就是为了解决这个问题而设计的。由于中继器具有数据转发功能,不仅可以扩大通信距离,还可以增加节点的最大数目。对CAN中继器初始化参数进行设置,可以在不同的网段内采用不同的通信速率,还可以对报文进行过滤,减轻总线负担。

1 CAN中继器的硬件设计

1.1 微控制器简介

  CAN中继器是以ARM微控制器LPC2119为核心的软硬件系统。LPC2119是Philips公司生产的一款基于支持实时仿真和跟踪的16/32位ARM7TDMISMCU,带有128 KB嵌入的高速Flash存储器。独特的加速结构使32位代码能够在最大时钟速率下运行。对代码规模有严格控制的应用可使用16位Thumb模式将代码规模降低超过30 %,而性能的损失却很小。LPC2119内部集成2个CAN控制器。它的主要特性有:单个总线上的数据传输速率高达1 Mb/s;32位寄存器和RAM访问;兼容CAN 2.0B, ISO 118981规范;全局验收滤波器可以识别所有的11位和29位Rx标识符;验收滤波器为选择的标准标识符提供Full CANstyle自动接收。

1.2 LPC2119内部CAN控制器与SJA1000比较

  LPC2119内部集成的CAN控制器与Philips公司的SJA1000 CAN控制器相比较大致相同,只是在验收滤波这一环略有不同,这为习惯SJA1000的开发人员采用LPC2119提供了方便。SJA1000验收滤波器由验收代码寄存器和验收屏蔽寄存器定义,要接收报文的位模式在验收代码寄存器中定义,相应的验收屏蔽寄存器允许定义某些位为“无关”,通过模式寄存器可以选择不同的过滤模式:单过滤模式和双过滤模式。而对LPC2119内部集成的CAN控制器,全局验收过滤器包含一个512



评论


相关推荐

技术专区

关闭