首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 单元电路介绍 > 其它电路
基于ARM7实时网络的设计和实现
来源:本站整理  作者:佚名  2011-08-21 07:42:39



   随着基于TCP/ IP 协议的Internet 网络技术的日益发展和普及, 各种信息网纷纷采用T CP/ IP 协议, 并接入Internet 网。传统的测控系统由于其封闭性有被基于TCP/ IP 的网上测控系统取代。由于IP 寻址简单, 适于异构网互连, 为实现分布式处理、实时监控的测控系统的实现提供了很好的条件。本文所构建的系统被用于将多个采集点的数据传给主控机, 实时网络还有其他三个采集节点, 主控机按顺序给各个节点发指令字, 并依次从它们那里接收数据包, 其通信协议采用了T CP 和U DP。并以KEIL uVision3 的RT L 实时库为软件平台, 基于ATMEL公司ARM7 系列处理器, 实现了完整的功能。

  1 系统的硬件构成

  1. 1 系统的硬件

  系统的三个采集节点都采用ATMEL 的A T91SAM7X256, 该微控制器具备嵌入式10/ 100 以太网(Ethernet) MA C、CA N、全速( 12Mbps) U SB 2. 0。它针对广泛的网络化实时嵌入式系统而设计的,AT 91SAM7X256 还具备一个10 位模数转换器( ADC) 、两个串行外围接口( SPI) 、同步串行接口( SSC) 、双线接口( TWI) 、三个通用异步收发器( UART) 、一个8 级( 8- level) 优先中断控制器( pr ior ity inter rupt controller ) 和众多的监管功能。这个新型的50 MIPS MCU 拥有64KB 的静态存储器和256K B 的25ns 闪存, 这种闪存支持实时控制系统所需的可确定性处理能力。

  主控机用PC 机, 操作系统用RedHat9. 0, 它主要用于轮询各个采集节点, 并将从它们那里收到的数据包储存和显示出来。

  1. 2 系统的拓扑结构

  实时以太网的拓扑结构与以太网相同。主机通过以太网卡连到通信电缆上。通信电缆可以是同轴电缆, 也可以用非屏蔽双绞线。如果是非屏蔽双绞线, 则需要用HUB。

  2 系统的软件构成

  2. 1 体系结构

  实时以太网参照ISO 的OSI 模型, 采用缩减的网络体系结构。网络体系结构分为四层: 物理层、数据链路层、传输层和应用层, 其中数据链路层又可细分为MAC 子层和LLC 子层。以太网卡实现了物理层和MAC 子层能; LLC子层设计为向传输层提供无连接无确认的服务。传输层实现基于消息的数据传输, 并向应用层提供网络中节点间实时数据传输服务。下面将着重讨论传输层协议的设计。

  2. 2 KEIL uVision3 的RTL 实时库

  RealView RL- ARM 是为解决基于ARM MCU 的嵌入式系统中的实时及通信问题而设计的紧密耦合库集合。

  它可以非常方便地应用于所有A RM7、ARM9 和Cort ex-M3 系列的处理器, 使得在ARM 处理器上运行实时程序非常容易。它包含四个部分: RT X 实时内核、Flash 文件系统、TCP/ IP 协议簇、RT L - CAN ( 控制域网络) , Real??

  V iew 实时库可以解决嵌入式开发中的如下几个常见问题:

  ( 1) 多任务( 可以在单CPU 上管理几个工作或任务) ;( 2) 实时控制( 可以控制任务在既定时间内完成) ;( 3) 任务间通信( 可以实现系统中的任务间通信) ;( 4) Internet 连接( 通过以太网或串口( Modem) ) ;( 5) 嵌入式Web 服务器( 包括CGI 脚本) ;( 6)E- mail 公告( 通过SMT P) 。

  系统的网络功能正是构建在RT L 实时库之上的。下面简述一些RTL 实时库的网络函数。

  ( 1) TCP 发送函数BOOL t cp_ send ( U8 Socket , U8* buf, U16 dlen) ;其中Socket 为通信TCP Socket, 它包含了对方的IP和端口信息, buf 为要发送数据的首地址, dlen 为发送数据包的最大值。

  ( 2)U DP 的发送函数udp _ send ( U8 Socket , U8 *rEMIp, U16 rempor t, U 8 * buf, U16 dlen) , 其中Socket 为通信U DP S ocket , remip 为对方的IP 地址, rempor t 为对方的通信端口, buf 为要发送数据的首地址, dlen 为发送数据包的最大值。

  ( 3) 接收数据时, RT L 实时库不像BSD Socket 一样有专门的接收函数, 而是利用回调机制, 即收到数据时, 就触发相应的回调函数。另外, 对于T CP, 在回调函数里它有多个响应事件, 如TCP_EVT _CON REQ ( 连接请求) ; T CP_EVT_CONN ECT( 已建立连接) ; T CP_EVT _CLOSE( 连接已关闭) ; T CP_EV T_ABORT ( 连接异常终止) ; TCP_EV T_ACK( 发送的数据已被对方响应) ; T CP_EVT _DATA ( 收到数据包) , 提取收到的数据并进行处理就是在该事件下完成的。然而, 对于UDP, 它没有各个响应事件。

[1] [2]  下一页

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)
Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:224,984.40000 毫秒