当前位置:文档之家› arm核通信协议

arm核通信协议

竭诚为您提供优质文档/双击可除

arm核通信协议

篇一:基于aRm的嵌入式tcpip协议的实现

基于aRm的嵌入式tcp/ip协议的实现

该系统可以将数据按网络协议处理,实现数据的以太网传输。其是一套基于嵌入式实时操作系统的嵌入式网络软件开发平台,即在μc/os—ii的平台上,实现aRm微处理器的tcp/ip协议,在此平台之上,可以方便地进行嵌入式应用系统的开发。

0引言

以太网具有通用性强、技术成熟、带宽迅速增加等特性,工业控制领域出现嵌入式技术,尤其是aRm技术的发展和dsp 在工业控制领域的广泛应用,利用嵌入式技术实现以太网通信已经不难见到。嵌入式实时操作系统接入网络后将使远程监测、远程控制、远程诊断和远程维护变得越来越容易。从根本上讲,嵌入式设备接入网络,当前基本采用基于tcp/ip的通信协议。该方案以lpc2210为核心元件研究基于aRm

的嵌入式tcp/ip协议的实现的硬件电路,同时在μc/os 一Ⅱ平台上编写应用软件程序。下面对系统做详实的阐述,并重点介绍嵌入式实时操作系统μc/os—ii应用于tcp/ip时应进行合理的裁减。

1系统硬件设计

基于aRm的嵌入式tcp/ip网络通信系统主要包括aRm 芯片和以太网控制器等芯片组成的以太网接口、驱动软件和嵌入式tcp/ip协议栈。硬件原理图如图1所示。

该方案设计相对简单,硬件电路中采用的lpc2210是philips公司推出的微处理器,带有16kbRam,76个通用i /o口,12个独立外部中断引脚,集成有8通道的10位a

/d,能够基于芯片设计复杂的系统。虽然lpc2210具有较快的访问速度,但片内没有集成

Flash,所以这里扩展1片16mbFlashsst39VFl60来保存用户程序。其架构满足μc/os—ii正常运行的基本要求。

Rtl8019as是台湾Realtek半导体公司生产的以太网控制器,其性能包括:支持ethernetii和ieee802.3标准;支持8/16位数据总线;内置16kword的sRam;全双工,收发同时达到10mb/s;支持bnc,aui,utp介质。Rtls019as 可提供100脚的tqFp封装,减少了pcb面积,更适合于嵌入式系统。hR901170a是汉仁电子有限公司生产的Rj45接口连接器(带网络变压器/滤波器),该连接器满足ieees02.3

和ieee902.3ab标准,能够较好地抑制电磁干扰。通过hR901170a系统就可以连接到以太网上。

2嵌入式协议的选择

tcp/ip协议是一组不同层次上的多个协议的组合,通常被认为是一个包含链路层、网络层、传输层和应用层的4层协议系统,如图2所示。嵌入式系统是为完成某种特定的功能而设计的专用系统。嵌入式系统不要求(也不可能)实现所有的tcp/ip协议,所以嵌入式tcp/ip是对tcp/ip协议族进行选择而形成的协议集合。

首先在链路层上,由于采用以太网的接入方式,系统必须实现ieee802.3所规定的cdma/cd(载波监听多路访问及冲突监测)协议,cdma/cd协议不需用户实现,此协议只要采用通用的nic(networkinterfacecon—troller,网络接口控制)芯片就可支持。为了保证系统在以太网中的通信,系统还需实现aRp应答协议,该协议用于将ip地址映射成以太网mac地址。aRp协议包括aRp请求和aRp响应两部分,系统与其他计算机通信,就必须要支持aRp响应。aRp请求在本地建立了一个ip地址到mac地址的映射,保证了对外通信的有的放矢。RaRp(逆地址解析)协议主要用于解决如何从mac地址得到ip地址,主要用于无盘工作站中。在网络层,由于系统要求能够在internet中进行通信,因此系统要实现ip协议。在tcp/ip协议族中,网络层协议包括ip

协议(网际协议)、icmp协议(internet控制报文协议)以及igmp协议(internet组管理协议)等。ip协议是tcp/ip族的核心协议,它使异构网络之间的通信成为可能。因此Rtu 等系统数据跨越不同的网络进行传输就必须要实现ip协议。icmp中

规定了多种协议类型和代码,如果完全地实现也要耗费不少的系统资源,该嵌入式系统中,在icmp协议中能够测试网络的连通情况即可。传输层主要是在2台主机之间提供端到端的通信。传输层有2种不相同的传输协议:tcp(传输控制协议)和udp(用户数据报协议)。tcp是面向连接的,在不可靠的网络服务上提供端到端的可靠字节流。tcp协议设计了严格的3次建立连接握手过程、4次关闭连接握手过程以及捎带确认信息并通过滑动窗口进行流量控制的数据传

输过程。udp协议是不面向连接的,它只是简单地把数据报从一台主机发送到另一台主机,但并不保证该数据报能到达另一端,可靠性必须由应用层来提供。考虑到系统中数据传输质量,这里采用tcp协议。应用层协议主要是指用户进程。其包括:http协议、Ftp协议、pop3协议、smtp协议、snmp 协议。

3系统软件设计

该tcp/ip网络通信系统为了具有较好的实时性和稳定性,采用μc/os一Ⅱ设计系统软件。在μc/os一Ⅱ平台

上,软件设计工作主要包括:μc/os一Ⅱ在lpc2210上的移植和tcp/ip协议在μc/os一Ⅱ上的实现以及系统应用程序的编写。μc/os一Ⅱ的移植工作主要集中在下面几个文件中:os_cpu.h,os_cpu_a.asm,os_cpu_c.c。另外,在includes.h中必须包括lpc2210文件

lpc2210.h;os_cFg.h用于系统应用μc/os一Ⅱ中的初始化配置。os_cpu.h主要包括一些与处理器和编译器相关的常量和类型定义等,而且需注意lpc2210的堆栈方向是由高到低,用os_stk_gRowth来设

置堆栈的增长方向。因此将os_stk_gRowth设为1。

os_cpu_a.asm中需编写4个汇编语言函数:os_task_sw(),os_intctxsw(),osstarthighRdy()和ostieklsR()。

以太网链路层遵循的ieee802.3协议的csma/cd和cRc 校验等功能由网络控制芯片Rtl8019as完成,lpc2210芯片则完成其他tcp/ip协议的解释和执行。lpc2210控制

Rtl8019as完成通信任务时,首先要对Rtl8019as复位,并对Rtl8019as的寄存器进行初始化,确定发送和接收的条件,然后才能发送数据或接收数据。当一帧数据发送结束、接收到1帧数据或出错等事件发生时,Rtl801

9as向lpc2210申请中断,lpc2210响应中断后根据中断状态寄存器的内容进行相应的处理。

篇二:easyaRm-c软件通信协议

相关主题