基于lpc2119和μc-osii的can中继器设计

基于lpc2119和μc-osii的can中继器设计

ID:10639706

大小:59.00 KB

页数:6页

时间:2018-07-07

基于lpc2119和μc-osii的can中继器设计_第1页
基于lpc2119和μc-osii的can中继器设计_第2页
基于lpc2119和μc-osii的can中继器设计_第3页
基于lpc2119和μc-osii的can中继器设计_第4页
基于lpc2119和μc-osii的can中继器设计_第5页
资源描述:

《基于lpc2119和μc-osii的can中继器设计》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

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

2、第1内容加载中...摘要:基于提高CAN总线组网能力的考虑,提出一种新颖的CAN中继器设计方法;阐述以LPC2119控制器为核心的硬件设计方案;详细分析在μC/OSII实时操作系统下的软件实现过程;针对中继器的实时性和安全性以及总线与总线之间可能存在的速度不匹配的问题,确立提升紧急任务优先级、建立相关事件标志、合理地对事件与任务进行同步的改进方法,从而有效地解决组网中最远传输距离和最大节电数限制的问题。关键词:中继器 CAN LPC2119 μC/OSII引言  CAN总线的直接通信距离只有10km左右,而且由于收发器驱

3、动能力的限制,总线上最多只能挂110个节点,给系统组网带来一定的困难。CAN中继器就是为了解决这个问题而设计的。由于中继器具有数据转发功能,不仅可以扩大通信距离,还可以增加节点的最大数目。对CAN中继器初始化参数进行设置,可以在不同的网段内采用不同的通信速率,还可以对报文进行过滤,减轻总线负担。1CAN中继器的硬件设计1.1微控制器LPC2119简介  CAN中继器是以ARM微控制器LPC2119为核心的软硬件系统。LPC2119是Philips公司生产的一款基于支持实时仿真和跟踪的16/32位ARM7TDMISMCU,带有128KB嵌入的高速Flash存储器。独特的加速结

4、构使32位代码能够在最大时钟速率下运行。对代码规模有严格控制的应用可使用16位Thumb模式将代码规模降低超过30%,而性能的损失却很小。LPC2119内部集成2个CAN控制器。它的主要特性有:单个总线上的数据传输速率高达1Mb/s;32位寄存器和RAM访问;兼容CAN2.0B,ISO118981规范;全局验收滤波器可以识别所有的11位和29位Rx标识符;验收滤波器为选择的标准标识符提供FullCANstyle自动接收。1.2LPC2119内部CAN控制器与SJA1000比较  LPC2119内部集成的CAN控制器与Philips公司的SJA1000CAN控制器相比较大致相

5、同,只是在验收滤波这一环略有不同,这为习惯SJA1000的开发人员采用LPC2119提供了方便。SJA1000验收滤波器由验收代码寄存器和验收屏蔽寄存器定义,要接收报文的位模式在验收代码寄存器中定义,相应的验收屏蔽寄存器允许定义某些位为“无关”,通过模式寄存器可以选择不同的过滤模式:单过滤模式和双过滤模式。而对LPC2119内部集成的CAN控制器,全局验收过滤器包含一个512×32(2KB)的RAM,通过软件处理,可在RAM中存放1~5个标识符表格,整个RAM可容纳1024个标准标识符或512的扩展标识符或两种类型混合的标识符。同时有5个地址寄存器指向验收过滤器RAM的表格

6、:FullCAN标准地址,标准单个地址,标准地址范围,扩展单个地址或扩展地址范围。当CAN控制器的接收端已接收到一个完整的标识符时,它将通知验收过滤器,验收过滤器响应这个信号,并读出控制器编号、标识符尺寸,以及来自控制器本身的标识符,然后通过验收过滤器搜索RAM中的表格,以决定接收或放弃这一帧信息。1.3CAN中继器硬件结构  中继器的硬件结构框图如图1所示。LPC2119分别通过CAN总线收发器与两路总线相连;总线驱动器采用带隔离的DC/DC模块单独供电,不仅实现了两路CAN接口之间的电器隔离,也实现了中继器与CAN总线的电器隔离。除此之外,还有LED显示和键盘接口。LE

7、D用于显示中继器的工作状态,键盘用来修正总线的波特率。最终程序的调试与跟踪通过JTAG调试口完成。500)this.style.ouseg(this)">[相关贴图]500)this.style.ouseg(this)">2系统软件设计2.1引入μC/OSII实时操作系统  随着应用的复杂化,采用传统前后台设计方法,会显得过于复杂,实时性得不到保证,而且容易发生死锁。解决这些问题的最好方法就是采用实时操作系统。  μC/OSII完全是占先式的实时内核,是基于优先级的,即总是让就绪态中优先级最高的任务先运行,因此实时性比非占先式的内核要好。它包含了实时内核、任务管理、时间管理

8、、任务间通信同步(信号量、邮箱、消息队列)和内存管理等功能;它的绝大部分代码是用C语言编写的,可移植性强,可以在绝大多数8位、16位、32位以至64位微处理器、微控制器、数字信号处理器(DSP)上运行。  CAN中继器对系统的实时性和可靠性要求比较高。采用μC/OSII实时操作系统可以有效地对任务进行调度;对各任务赋予不同的优先级可以保证任务及时响应,而且采用实时操作系统,降低了程序的复杂度,方便程序的开发。2.2软件设计中需考虑的问题(1)使用代码的容量  在前/后台系统的设计中,对存储器容量的需求仅仅取决于应用

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。