用户中心

资讯 > 工业以太网

PC104计算机网络通讯系统设计与研究

2008.04.21阅读 5367

  摘要:本文介绍了基于DOS操作系统下嵌入式PC104计算机的UDP网络通讯的实现基理,重点提出了如何解决不可靠的、非面向连接的UDP通讯丢帧问题。给出了实际某火控系统中UDP网络通讯的硬件设计和部分软件代码、相关流程图。

  关键词:DOS;嵌入式PC104计算机;TCP;UDP;SOCKET;丢帧

  1.引言

  随着互联网技术的飞速发展以及系统工程中对嵌入式计算机的体积、功耗、硬件开销等方面要求的加强,嵌入式计算机不仅仅要实现单一的串行数据的传输,还要实现网络通讯。特别DOS操作系统以其内核小、操作简单、技术成熟等优点使其在嵌入式操作系统领域占有重要的地位。但是,DOS操作系统没有Windows操作系统中Winsock样的API,使得网络通讯的开发工作量及难度相对较大,下面介绍某火控系统中基于DOS操作系统的UDP网络通讯软、硬件系统设计,并在保证UDP通讯快速交付、传输等优点的同时,又针对UDP网络通讯系统的不可靠性做了必要防护设计,很好的克服了UDP网络通讯中的丢帧、误码这一实际工程难题。

  2.网络通讯系统的硬件组成

PC104计算机网络通讯系统设计与研究如图

  型号为SCM/SDXa的

PC104采用增强型的80486处理器做CPU,板上包含了所有的PC/AT兼容的DMA控制器、中断控制器及定时器,ROM-BIOS,32M字节的DRAM及键盘、喇叭接口;在板的外部接口包括两个串行口、并口、IDE接口、软盘接口、CRT接口、平板显示接口、重要的是与NE2000兼容的RTL8019网络接口。该款PC104做为硬件PCB电路设计的主要核心部件。ST16C554的四串口卡实现串行通讯www.cechina.cn,isp1032E门电路作为各个分系统的同步基准信号源,8255A并口电路来控制响应外部按键。系统编译软件采用的是Borland C++。

  3.非面向连接的UDP数据报套接字网络通讯

  在UDP网络应用中控制工程网版权所有,首先要调用Socket建立套接字,然后用bind绑定本地地址、与端口。与面向连接的TCP流式套接字不同的是它不需要侦听和建立连接,此时通过调用Recvfrom()和sendto()函数就可以进行数据读写了,客户端与此相同。

PC104计算机网络通讯系统设计与研究如图

  图2  UDP数据报套接字调用过程图

  4.DOS下的UDP网络通讯设计

  4.1网卡驱动

  型号为SCM/SDXa 的PC104内嵌的网卡为RTL8019网络接口芯片,首先要运行RSET8019.exe来设置网卡数。主要设置网卡的中断号为中断15,基地址为320H(根据不同款的PC104,进行不同的设置)。然后需要运行NE2000.COM来安装网卡的底层信息包驱动。需要设置网卡的软中断为0x62.软中断可以在60H到70H之间的任何数。 运行格式如下NE2000 0x62 15 0x320; 最后需要在autoexec.bat里设置:ne2000  0x62 15 0x320。

  4.2 UDP网络通讯工程模型建立

  需要在Borland C++下建立工程文件,工程文件中要加入DSOCK.LIB和dsock.h。DSOCK.LIB是DOS 模式下的Dsock库的支持文件,它是把网络通讯底层驱动文件和应用层C编译文件连接的桥梁。dsock.h是支持Dsock的C语言的头文件。还要在工程文件夹下根据不同工程要求修改DSOCK.CFG文件。

  DSOCK.CFG文件修改如下:

  ip=192.21.209.61

  netmask=255.255.255.0

  4.3 UDP网络通讯特点及防丢帧设计与研究

  UDP协议的网络通讯是非面向连接的、不可靠的,但是UDP协议在某些方面有其特殊的优点:发送数据之前不需要建立连接,减少了开销和发送数据之前的时延;不使用拥塞控制,也不保证可靠交付,主机不需要维持具有许多参数的、复杂的连接状态表;用户数据报只有8个字节的首部开销www.cechina.cn,要比TCP的20个字节的首部要短;由于UDP没有拥塞控制,网络出现的拥塞不会使主机的发送速率降低。

  为了克服UDP通讯的不可靠性可以通过软件做类似像TCP"握手"一样的通讯过程,但是这样便大大折扣了UDP通讯的优点,增加了开销和延时。为了即保证UDP的交付、通讯的快速性又要避免UDP通讯的不可靠性,在控制软件中做了以下设计。

  1.    在传输的每一帧中,我们规定报头信息状态字包含了报头单元序号,即与本地端口号唯一对应的报头单元序号。例如:在信源(information origin)规定了报头单元序号为0x7d对应的端口号为1600CONTROL ENGINEERING China版权所有,网络连通后,信宿(information end-result)判断接收的数据报头单元序号是否为0x7dCONTROL ENGINEERING China版权所有,是则表示接收来自端口号为

标签:网络通讯,
版权声明:版权归控制工程网所有,转载请注明出处!

频道推荐

关于我们

控制工程网 & CONTROL ENGINEERING China 全球工业控制、自动化和仪器仪表领域的先锋媒体

CE全球

联系我们

商务及广告合作
任小姐(北京)                 夏小姐(上海)
电话:010-82053688      电话:18616877918
rendongxue@cechina.cn      xiashuxian@cechina.cn
新闻投稿:王小姐

关注我们的微信

关于我们 | 网站地图 | 联系我们
© 2003-2020    经营许可编号:京ICP证120335号
公安机关备案号:110102002318  服务热线:010-82053688