基于ARM7实时网络的设计和实现

由于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, 它没有各个响应事件。
2. 3 主控机的功能及系统的性能分析
主控机的运行环境为redh at9. 0, 采用标准的bsdsocket , 它按顺序给各点发指令字, 然后依次从它们那里接收数据包并进行存储和显示。
按照上述的硬件和软件构建后, 调试和测试后可得系统的通信速率如表1 和表2 所示。
表1 pc 对3 个sam7( 基于tcp )
表2 pc 对3 个sam7( 基于udp)
对照发现, u dp 的传输速率可以达到tcp 的约2. 5倍。由于u dp 协议并不提供数据传送的保证机制, 如果在从发送方到接收方的传递过程中出现数据报的丢失, 协议本身并不能做出任何检测或提示。因此, 我们把u dp协议称为不可靠的传输协议。而t cp 协议中包含了专门的传递保证机制, 当数据接收方收到发送方传来的信息时, 会自动向发送方发出确认消息; 发送方只有在接收到该确认消息之后才继续传送其它信息, 否则将一直等待直到收到确认信息为止。鉴于此, 我们在系统在采用了以下的机制, 即在pc 先采集节点发送指令字时用tcp 协议,而在传输采集数据包是就用udp 协议。
3 结束语
保证网络通信的实时性, 对整个实时系统的正常可靠运转起着决定性作用。实时以太网具有实时、高速、价格便宜等优点。但也有其不足之处。如抗恶劣环境能力差;传输层在主机实现, 占用了主机的资源; 与主机上程序的协调运行也是要考虑的问题。

高速性能+周密防护双加持,朗科PSSD移动固态硬盘Z11神了
德关于州仪器OMAP3630应用处理器与 USB解决方案
晶体硅光电池的种类有哪些?
示波器3芯带接地电源线电路分析
微动手势识别,为何更接地气?
基于ARM7实时网络的设计和实现
pcb layout中IC常用封装介绍
sdwan专线适合什么用户?sdwan专线怎么样?
一款体验不一样的吹风机,低温速干而且不伤发
基于深度学习的cryoET数据处理算法
Allegro汽车级单片霍尔效应电流传感器主要优势
用于光刻胶去除的单晶片清洗技术
微软SurfaceBook发布全新升级版 26日已开启预购通道
智慧服装工厂电子看板试用心得
Zigbee杀手锏自组网被复制 要被物联网淘汰?
wigig无线扩展坞使用测评
人体传感器网络技术助力防止糖尿病患者足部溃疡
精密电子连接器的装配工序是怎样的?
对Wyze band进行拆解,高性价比的手环内部到底是啥样?
杰普特乘风破浪,拥抱XR时代风潮