微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > MCU和DSP > 嵌入式TCP/IP协议栈在单片机上的实现

嵌入式TCP/IP协议栈在单片机上的实现

时间:09-09 来源:现代电子技术 点击:

3 应用系统实现

为了验证系统的可行性,应用VB开发了接口程序,构建了软硬件测试平台,用来设置网卡的配置参数并实现数据的发送与接收。所有配置参数包括(本地IP地址、服务器端IP地址、端口号、网卡物理地址、ping的IP地址、串口号等)都能通过串口动态地更改。系统能实现Ping的功能,以方便检查以太网的状态。

3.1 参数设置界面

用串口线将测试板(数据采集和控制系统模块,下同)与计算机连接起来,选择好串口号,然后按"连接单片机"按钮,连接状态工具栏里出现"已经连接",说明测试板与计算机已经连接上,然后就可以修改配置参数了。在参数设置栏中填写正确的参数值后,按"设定"按钮,接收状态栏中会提示参数设置成功,然后按测试板上的复位键,网卡的参数配置就被写到了X5045中。参数设置界面如图3所示。


3.2 数据收发测试界面

分别测试客户端和服务器端软件通信是否正常。

(1)服务器端程序的测试

打开客户端测试界面,如图4所示,设置连接IP地址为192.168.O.44(该地址必须与服务器端的IP地址一致),设置连接端口号为3330(该端口号必须与服务器端端口号一致)。将作为服务器端的程序烧入到测试板的微处理器中,通过图3修改配置界面,将服务器端需要的参数写入X5045,参数配置包括;"单片机IP地址"(指的是测试板自身的IP地址)为192.168.O.44,"服务器端IP地址"可以不用设置(因为测试板本身就即服务器端);如果是新网卡芯片,还需要设置MAC地址,这里设为121314151617(一般选择任意的12位数即可);"服务器端口号"设为3330(必须与客户端一致);网关设为192.168.O.1(要与上位机保持在同一个网段内)。设置好所有参数后,可以进行数据的收发了。

(2)客户端程序的测试

打开服务器端测试界面,如图5所示。


设置连接IP地址为192.168.0.44(该地址指的是上位机自身的IP,必须与客户端设置的"服务器端IP地址"一致),设置连接端口号为3330(该端口号须与客户端设置的"服务器端口号"一致)。将作为客户端的程序烧人到系统的微处理器中,参数配置:"服务器IP地址"(指的是上位机的IP地址)为192.168.0.44,"单片机IP地址"可以不用设置(因为系统仅作为客户端),"服务器端口号"设为3330(必须与客户端一致),网关设为192.168.0.1(要与上位机保持在同一个网段内)。设置好所有参数之后,即可进行数据收发。服务器端的数据可以被发送到串口,同样,数据也可以从串口发送到服务器端。测试表明:上位机通过以太网与系统之间的通信正常。

4 结语

在此实现了TCP/IP协议栈在单片机上的移植,完成了系统的硬件电路和相关嵌入式软件的设计,应用VB开发了上位机修改参数界面,通过串口完成对网卡等参数的配置和修改,解决了数据包的超时重发、定时保活、参数配置、硬件看门狗复位等一系列问题。实验表明,整套程序比较稳定,收发数据正常,TCP超时重传效果很好。经过近1个月的测试,没有出现任何丢包和堵塞的现象。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top