基于以太网的控制器网络的嵌入式网关开发

技术分类: 通信  | 2008-03-05
来源:电子技术应用 黄强 周东泳

  本地控制器网络(CAN)[2]由于低成本和高可靠性,已经在工业分布式控制系统中广泛使用。以太网的低成本和易配置特性也使得其在计算机通信网络中广泛应用。本文介绍了基于以太网和控制器区域网总线通信系统的集成通信网关系统的开发。系统开发的目的是在以太网和控制器区域网总线之间交换实时控制信息,以实现分布式控制和监测。

  1 硬件平台设计

  嵌入式处理器可编程逻辑电路设计方面最大的挑战之一就是为适合速度要求非常广泛的应用。在低端,系统要求可能少于10MIPS;在高端,系统可能要求好几百 MIPS。不同系统需要的范围不同。完全满足范围需要的解决方案需要提供可编程设备配置、操作以及精通嵌入式处理器的用户。网关系统的设计建立在 Altera Excalibur[3]嵌入式处理器基础上,它可以提供最佳的解决方案,拥有较优的适应性和强大的性能。基于核心部分SOPC[4]的ARM系统设计结构如图 1所示。控制器网关结构如图2所示。

ARM系统设计结构

控制器网关结构

  1.1 软核CAN控制器设计

  使用AMBA总线接口的Soft CAN控制器是为了进行控制器网络通信设计开发的,它能在网关系统平台上运行。该Soft CAN控制器具备CAN 2.0B[1]规范的所有协议功能,包括错误处理能力、填充位产生、循环冗余码校验(CRC)、主动/被动错误帧和扩展帧技术支持。Soft CAN控制器也能支持如下应用发展:信息过滤、信息封装、信息发送缓冲、信息接收缓冲以及发送、接收和错误事件的中断触发。Soft CAN控制器提供AMBA兼容接口以实现数据高速传输,也提供中断支持实现系统快速响应。

  1.2 Soft CAN控制器模拟验证

  Soft CAN控制器模拟验证平台设计如图3所示。

Soft CAN控制器模拟验证平台

  Soft CAN控制器的综合模拟/验证输出波形(如图4)说明了其控制器工作状态正确。

验证输出波形

  从图4所示的验证输出结果,可以得出以下结论:
(1)Soft CAN控制器#1状态:
 “00000000000000000000000000001000” -->Soft CAN控制器正在控制CAN数据线信号。
(2)Soft CAN 控制器#2状态:
 “00000000000000000000000000001000” --> Soft CAN控制器正在控制CAN数据线信号。
(3)Soft CAN 控制器#1 TX缓冲器:标识 -“11101101000”,数据-“10011001100110011001100110011001”。
(4)Soft CAN 控制器#1 TX缓冲器:标识- NA,数据-NA。

  2 软件设计

  软件设计包括实时操作系统[5]移植、异常处理支持、设备驱动程序开发和文件系统开发等。

  2.1 实时操作系统移植

  eCos被成功地移植到网关系统硬件平台,为应用系统的开发提供实时服务。由于eCos的分层结构使得其移植灵活并容易,所有结构和平台的绝对代码都在硬件抽象层(HAL)实现。

  2.1.1 系统启动模式

  本系统移植提供四种启动模式。

(1)ROM启动模式。在ROM启动模式中,应用程序储存在EPXA1开发板的闪存中,并从那里启动。
(2)ROM-RAM启动模式。在ROM-RAM启动模式中,应用程序存储在闪存中。启动程序将先从闪存中运行,并且初始化系统。在系统初始化后,eCos应用程序将会从闪存中自动复制到SDRAM中,接着在SDRAM中以更高的速度运行。
(3)RAM启动模式。在RAM启动模式中,eCos应用程序会通过EPXA1板上的调试器(例如RedBoot加载到其板的SDRAM内存中)启动。这主要是为了调试。

  2.1.2 线程管理

  EPXA1 eCos移植完全支持多线程编程模式。除了任务同步支持外,它还提供了一系列可选择的调度算法。

  2.1.3 系统定时支持

  系统的定时基准由Altera EPXA1平台上的系统定时器提供,定时器频率为150MHz。系统的脉冲周期为10毫秒。在EPXA1 上移植的eCos控制通过内核使用的时钟或计时设备进行暂停、延时和调度服务,供系统内核使用。

  2.2 异常处理

  所有的异常,包括FIQ和IRQ中断[7],都跳转到矢量0地址,每个中断矢量占4字节。这里仅有一个指令空间,它须立即跳转到内存中更高地址的代码。中断源必须进行解码。由于每一个矢量服务例程都对应一个不同的CPU模式的入口,所以需要对每一个异常有一个不同的VSR,它知道怎样从中断控制器完全正确地保存CPU状态。这个异常处理机制包含一个分离的中断处理方案。在这个方案中,中断处理划分为两部分。第一部分称之为中断服务程序或ISR;第二部分是延迟服务程序或DSR。这种划分明确地顾及 到了DSRs与正在执行的中断同时运行,因此允许当正在执行低级别的中断时其他内在具有更高优先级别的中断发生及接受处理。

1】【2

浏览该文章的用户还看过...

  • 文 章

  • 论 坛

  • 博 客

  • 小 组

设计资源与分销

;