一种网络通信系统的设计和实现

时间:2011-07-06

 

  不管是从需求面或者是从供应面来看,整体网络都朝着宽带的脚步迈进,这给予以太网一个很好的发展空间。从技术面来看,二十多年来,以太网带宽由十兆、百兆、千兆,一直发展到2002年的万兆,甚至四万兆、十万兆都已经处于研究讨论阶段,这使得以太网技术有了很好的扩展性;从应用面来看,以太网不仅仅只局限在局域网的应用,不仅仅只局限在城域网的应用,万兆以太网更进一步将以太网延伸到广域网的应用。数字信号处理器(DSP)芯片作为一种特殊的嵌入式微处理器系统,是专门为实现各种数字信号处理算法而设计的,具有嵌入式的协处理器和用于快速数据处理的并行数据通道,其卓越的性能、不断上升的性价比及日渐完善的开发方式使它的应用领域越来越广泛,因此嵌入式网络开发的应用前景十分广阔,已经成为研究的热点。

  数字信号处理(Digital Signal Processing,简称DSP)是一门涉及许多学科而又广泛应用于许多领域的新兴学科。20世纪60年代以来,随着计算机和信息技术的飞速发展,数字信号处理技术应运而生并得到迅速的发展。数字信号处理是一种通过使用数学技巧执行转换或提取信息,来处理现实信号的方法,这些信号由数字序列表示。在过去的二十多年时间里,数字信号处理已经在通信等领域得到极为广泛的应用。德州仪器、Freescale等半导体厂商在这一领域拥有很强的实力。

  1 总体方案设计

  为实现网络通信控制系统的功能,本系统采用模块化结构。系统主要由DSP主控部分、网络接口和UDPTest组成。DSP主控部分主要完成信息处理和记录、控制并调度其他部分正常工作。网络接口部分对传来的信号进行处理,检测DSP、PC机的状态,确认后将信号按要求的传送命令传送出去。UDPTest用于对指定地址的接收和广播的数据包进行显示。以太网接口芯片部分完成数据网上传输的控制。基于DSP的网络传输的实现系统结构框图如图1所示。

 

 

  2 硬件电路设计

  RTL8019AS以太网控制器实现了以太网媒介访问层(MAC)和物理层(PHY)的全部功能。在本系统中,RTL8019AS采用跳线模式,将JP管脚经过一个10 kΩ电阻上拉接到5 V电源上。基地址的选择通过BD0~BD3管脚决定,直接将其悬空,基地址选择300H,其地址范围为0300H~031FH.中断选择由BD4~BD6决定,将其全部接入低电平,选择中断INT0.AUI管脚决定RTL8019AS与以太网连接方式,AUI为低电平表示是BNC或是UTP接口,所以直接将其悬空。网络接口的具体类型由PL0(BA14)、PL1(BD7)决定,将其接低电平,选择自动检测模式,即RTL8019AS会自动检测接口类型,如10Base-T是电缆信号则选择接口类型为UTP, 否则选择接口类型为BNC.

  由于RTL8019AS工作电压为5 V,而数字信号处理器TMS320F2812的工作电压为3.3 V,所以RTL8019AS的输出信号要经过电平转换,中断信号也要经过电平转换反向送给DSP.TMS320F2812的输出电平符合RTL8019AS的输入电平范围,但是为了便于DSP与RTL8019AS的逻辑控制,还是通过译码电平变换以后将其连接。译码、电平变换及反向功能由74LVTH16245完成,采用I/O 方式RTL8019AS 交换数据。ISA为了兼容的需要设置了IOCS16B 信号线,DSP与RTL8019AS交换的数据为16位宽,所以将其通过10 kΩ上拉电阻接5 V电源。RTL8019AS的IOWB、IORB、AEN信号线通过DSP的IS、IOSTRB、R/W这三根线译码得到。

  TMS320F2812与RTL8019AS的接口如图 2所示。

 

 

  3  软件系统的设计

  3.1主程序的设计

  本系统主要是在嵌入式系统中实现TCP/IP协议栈,主要采用以太网IEEE802.3、IP、UDP、ARP等协议作为通信协议,传输数据通过以太网控制器完成。其主程序主要完成从UDP数据包中解析出完整的CAN协议报文,并存入数据缓冲区A中。同时,也可以将数据缓冲区B中完整的CAN协议报文封装成UDP数据报,然后将其发送到以太网上。

  在数据发送前,先要对待传输的数据进行协议封装。以UDP数据报为例,首先对原始数据添加UDP头,包括源端口、目的端口、UDP数据长度和校验和4个字段,然后再添加IP头(包括源IP地址、目的IP地址)、校验和等字段,封装以太网IEEE802.3帧,包括目的CRC地址、源MAC地址和以太网帧总长度。其中源MAC地址为本地物理地址,由程序在初始化时设定。而IEEE802.3帧结构中的CRC校验由以太网硬件自动完成。至此,构造了一个完整的UDP数据报,就可以交给RTL8019AS进行发送了。对于接收到的数据包,主处理器对其进行拆解,将解包得到的IP地址与本地IP地址相比较,同时进行校验和验证,如果IP一致,则接收该数据包,否则将其丢弃;如果校验和不正确,则表示数据包传输过程中发生差错,但不产生差错报文,由应用层发现丢失的数据包并请求重传。

  3.2 主程序流程图

  主程序流程图如图3所示,DSP首先初始化网络设备。当有数据从RJ45传过来时,DSP对数据包进行分析,如果是ARP(物理地址解析协议)数据包,则程序转入ARP处理程序。如果是IP(网间协议)数据包且传输层使用UDP(用户数据报协议),端口正确,则认为数据报正确,数据解包后,送入数据缓冲区A,把数据部分通过CAN接口输出。反之,如果DSP从CAN接口接收数据,则将数据按照UDP协议格式打包,送入数据缓冲区B,由RTL8019AS将数据输出到局域网中。

 

  3.3 中断服务子程序的设计

  本系统采用中断方式来处理RTL8019AS 的收发。当主程序响应RTL8019AS的中断时,根据中断寄存器(ISR)的值来判定程序的走向,中断流程图如图4所示。

 

 

      DSP 接收到外部INT0中断后检查状态寄存器ISR,如果PTX 位有效,则说明上一帧数据发送完成;如果PRX 位有效,表明接收到新的一帧数据。对于发送数据,先要进行载波冲突检测,在无冲突情况下,主处理器从发送物理帧队列读出一帧已封装好的IEEE802.3 帧数据,通过控制器的远程DMA 通道写到发送缓冲区,然后向命令寄存器CR 写入0x1E 控制字启动发送,控制器发送完一帧数据后再次向主处理器发出发送中断请求信号,如果物理帧队列不为空,则主处理器继续发送,否则返回。对于接收数据,主处理器从接收缓冲区读入一帧数据并对数据解包,将解包得到的IP 地址与本机IP 地址比较,如果一样,则接收该帧数据,否则丢弃该帧数据。读入一帧数据后判断接收缓冲区是否为空,不为空继续读取数据,否则返回。

      基于DSP的网络通信系统因其显著的高效传输效果及体积小、重量轻、可靠性高等特点,已经在各种家电设备、仪器仪表以及工业生产中的数据采集与控制设备等领域中得到广泛应用,取得了良好的经济效益和社会效益。实验表明, 本系统能够正确快速地接入以太网,可以从PC机上通过网线传输数据到DSP上,然后DSP再将数据通过网线回传到PC机上显示。采用实时操作系统μC/OS- II 可大幅加快软件的开发和调试进度。使用RTL8019AS 作为嵌入式系统以太网接口芯片是嵌入式设备接入以太网的一种尝试,与使用普通的PC机作Web服务器相比,此种方案节省费用、可移植性好、嵌入式设备和网络服务器的分离、可以方便地连接各种嵌入式设备以及简化了嵌入式网络设备的开发等优点。

  当今居于主导地位的局域网技术-以太网。以太网是建立在CSMA/CD机制上的广播型网络。冲突的产生是限制以太网性能的重要因素,早期的以太网设备如集线器是物理层设备,不能隔绝冲突扩散,限制了网络性能的提高。而交换机(网桥)做为一种能隔绝冲突的二层网络设备,极大的提高了以太网的性能。正逐渐替代集线器成为主流的以太网设备。然而交换机(网桥)对网络中的广播数据流量则不做任何限制,这也影响了网络的性能。通过在交换机上划分VLAN和采用三层的网络设备-路由器解决了这一问题。以太网做为一种原理简单,便于实现同时又价格低廉的局域网技术已经成为业界的主流。而更高性能的快速以太网和千兆以太网的出现更使其成为有前途的网络技术。

 

 


  
上一篇:一种汽车空调温度控制系统的设计
下一篇:四路视频多媒体监控器设计与实现

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料