TCP/IP协议的4层模型中,链路层部分由RTL8019AS完成,网络层和传输层由单片机来处理,应用层则根据需要可以在单片机内完成,也可以由单片机转给用户或终端设备完成。
在单片机的程序处理中,主要有完整的ARP、RARP协议模块,UDP协议模块,其它协议根据需要取舍,完成系统要求,网络芯片的初始化是必须的,对RTL8019AS各寄存器的配置正确,才能使硬件正常工作。
4.2 用户终端程序设计
为了实现对嵌入TCP/IP的单片机通信系统设备的控制,笔者用VC++6.0在用户终端PC上编写一个数据传输的应用程序。通常采用Winsock编程,先创建一个套接字,绑定IP地址和端口号,使用UDP数据报,与嵌入TCP/IP单片机系统的套接字建立连接,当有网络数据到达时,VC++响应 Receive()消息,读取数据并处理;当用户需要控制嵌入式设备,调用Send()函数发送控制命令或数据。
在调试试验中,PC机上采用Sniffer软件来监视(或截获)PC机同单片机之间通信的TCP/IP协议包数据流,测试系统的性能,取得了满意的效果。
5 系统性能分析
网络性能的主观评价可以用如下的指标来体现:容量、利用率、最优利用率、吞吐量、可供负载、精确度、效率、延迟、延迟变化量、响应时间等。网络性能的最终表现形式就是最终用户在使用过程中的主观评价。
下面主要从各网络层对系统性能的影响分别进行分析:
(1)物理层、数据链路层性能。从系统的硬件上看,这两层的功能主要由RTL8019AS完成,每帧最大传输包为1K字节,但是数据的读写都是由单片机完成,所以整个系统的带宽受到单片机速度的限制,文中设计系统理论最大带宽为8Mbps,最优利用率为3~4Mbps。
(2)网络层性能。在这里主要考虑传输协议的选择。对于使用有重传机制的TCP协议,意味着在
网络环境恶劣的情况下,存在大量的数据报重传,降低了网络利用率,同时还有很大的延时。在系统的具体应用中,采用UDP协议满足了数据采集的实时性要求,对于丢包现象,可以在应用层上采取必要的控制策略加以改善。
(3)应用层性能。主机、服务器、应用协议构成网络应用层性能的三要素。主机和服务器是网络连接的两端,应用协议是网络连接的两端数据传输过程的一个约定。方案采用在以太网嵌入系统中运行一个套接字程序作为服务器,应用RS-485通讯协议对远程设备控制和数据采集。这个过程中,网络服务器的性能问题影响最大:服务器的负载、请求队列过长、协议参数设置不当等等。
6 结束语
以太网的低成本、开放性、广泛的开发和应用软件、硬件支持,使得这种嵌入了 TCP/IP协议的单片机数据通信系统,具有成本低、硬件少、运行稳定可靠、传输速度快、开发周期短等优点,有着广泛的应用前景,特别是数据采集、数据传输等远程监控领域,以及智能家电的网络信息化方面。目前,该系统在变电站监控系统、远程数据采集系统中得到成功应用。