EDN China > 设计实例 > 通信 > 正文
?

(多图) 基于LPC2292 的CAN-以太网网关的设计

饶运涛?? 2008年12月05日 ?? 收藏0

  1) 编写RTL8019AS 的读写函数

  读、写函数用来从RTL8019AS 读出两个字节的数据或把两个 字节数据写入RTL8019AS 。

  读、写函数中的基地址为0x83000000 。2)RTL8019AS 命令寄存器操作对命令寄存器CR 的操作是实现功能的最后一步,其地址为00h 。具体位功能是:第7~ 6 位用作寄存器页选;第5~3 位选择读网卡、写网卡、DMA 操作等;第2 位置1 时发送数据包;第1~0 位是启动和停止。

  4.3 网关功能的实现?

  本网关属于在OSI 模式的第1 、2 层协议转换型。在上述硬件以及对两类网报文帧格式剖析的基础上,设计转换模块的要点如下:

  1) 制定CAN 节点和以太网地址(IP和MAC)对照表,以便转换时查找。
2) 来自现场的报文反映的是实时状态,一个CAN 帧转换为一个以太网帧,且按数据域最小长度46 字节规定填充空域。
3) 来自上层的以太网帧,往往是系统参数配置类数据,如果报文长度大于8 个字节, 则按4.1.4 所述,分组转换成CAN 报文发送。
4) 上层网的TCP/IP 协议,发送时按相应的报文包格式填写到RTL8019AS 发送缓冲区,接收时照此解析。
?
  5. 任务管理

  上面只是涉及各个功能模块的单独实现。网关对系统的实时性要求比较高,在系统中,为了协调各任务之间的关系和控制它们的运行,可以采用前后台的监控方式管理,也可引入嵌入式实时操作系统RTOS 来管理。基于本方案32 位单片机的特征,引入了?C/OS-II;在这样的平台上用户程序设计的难度和工作量大大降低,且易调试和维护。由于各个任务相互独立,不同的优先级保证了各任务及时响应,从而有效地对任务进行调度。系统软件设计由操作系统和一系列用户应用程序构成。本系统根据各个任务的重要性和实时性要求,分配6 个优先级,它们由高到低是:系统监控、CAN数据发送、以太网数据发送、CAN→以太网协议转换、以太网→CAN 协议转换、系统配置。

  6. 结论

  由于该网关采用内置CAN 控制器的ARM7 为内核的32 位单片机和?C/OS-II 操作系统,整个硬件和软件设计都更为简洁高效。与使用8 位单片机设计的网关相比,运行的效率大为提高。在实际应用中,两类网络之间转换的地址、报文(功能)类型等要根据具体情况在应用层定义。本文作者创新点是:在该类网关中使用高性能的32 位微控制器,并引入嵌入式实时操作系统;制定了基于源/目的地CAN 报文格式;提高了网关的效能和可维护性能。本设计的经济效益大约为20 万元左右,依据是在企业中型的分布式控制系统构建中与单一的网络结构(如以太网)相比较,综合考量其成本和性能价格比。

  参考文献

.[1]饶运涛邹继军郑勇芸. 现场总线CAN 原理与应用技术[M]. 北京. 北京航空航天大学出版社 2003
?.[2] Philips Semiconductors LPC2292/LPC2294 Rev. 03 — 1 November 2005 Product data sheet
?.[3] 孙亮清. 船舶集成平台中嵌入式CAN/Ethernet 网关的设计与实现[J].微计算机信息, 2006, 1-2: 11-13 [4]REALTEK Semiconductor ?Corp RTL8019AS.
?.[5]Jean J.Labrosse著,邵贝贝译.嵌入式实时操作系统?C/OS-II [M] 北京.北京航空航天大学出版社,2004


上一页123下一页
?? ?? ??


打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮

1.扫描左侧二维码
2.点击右上角的分享按钮
3.选择分享给朋友
?? ??

LPC2292? CAN? 以太网? 网关?

相关文章

我来评论
美国的游客
美国的游客 ??? (您将以游客身份发表,请登录 | 注册)
?
有问题请反馈