基于单片机的串口转以太网设计
- 格式:docx
- 大小:131.84 KB
- 文档页数:4
基于单片机的串口转以太网设计
摘要:随着计算机通信技术和网络技术的发展,在嵌入式系统中集成以太网口实现与其它计算机设备之间的高速数据传输就显得尤为重要。本文结合以太网接口芯片W5500的主要特点、芯片引脚定义、内部寄存器使用说明,设计了一款基于STM32芯片与W5500高速以太网控制芯片的嵌入式以太网系统,充分发挥了STM32 芯片的Cortex-M3 内核低成本低功耗的特性,同时该设计直接使用W5500固化的TCP/IP协议站,提高了系统的性能。
关键词:以太网 以太网接口 W5500芯片
随着嵌入式系统与网络的密切关系和TCP-IP网络的迅速普及,TCP-IP网络在工业领域具有良好的应用前景。与过去工业领域广泛使用的串行传输相比,TCP/IP连接器网络具有更宽的带宽、更快的传输速度、更远的传输距离和更广泛的通信服务等特点[1]。由于TCP和IP通信环境的多样性,很难根据其基本IP环境自动纠正数据传输错误。由于串行通信的传输方式容易受到普通模式的干扰,因此抗干扰能力差,传输容易出错。在实际应用中,如果不超过最大传输长度,串行端口的最大传输速度为115200比特/秒[2]。本文设计的以太网系统允许设备使用串口进行数据传输访问网络,包括串口通信、内置微控制器驱动程序、协议移植和服务器构建。
1系统硬件设计
本系统设计采用STM32F103C8T6微控制器和W5500芯片搭建的网络系统,串口转网络硬件系统主要包括微处理器模块、以太网控模块、电源模块、电平转换、网口设计等。其中,以太网芯片W5500与微控制器芯片STM32F103C8T6之间采用SPI接口,电源电路包含了微控制器芯片STM32F103C8T6所引出的两个串口。
2系统软件设计 系统软件设计包含串口相关配置、TCP通信的实现、UDP通信的实现等。由于W5500强化了协议,所以需要设计与套接字的接口。这不仅简化了设计过程,还降低了微控制器的处理能力和系统资源的使用。主程序流程如图1-1所示。
图1-1 系统流程图
TCP服务器的编写遵循常用网络服务器编程模型,即先绑定地址,再进行连接监听,当有客户端主动发起连接请求时则建立稳定连接,然后进行连接的处理,如数据的获取和发送,最后断开连接。本设计的串口波特率设置的为115200,可直接通过设置USART mode config中的字段USART_BaudRate=115200。TCP协议是TCP/IP协议栈中的一种,该协议是现在目前市面上工业中用于连接的一种主流协议,主要原因是该协议可靠安全性高,他建立连接是为了确保设计的IP地址、设备端口号、物理链路等正确无误,以保证数据传输的畅通。TCP建立连接时需要发送三个确认包,俗称三次握手。UDP是非连接传输协议,没有三次握手五次挥手的过程,不需要发送ack确认包确认。 3系统功能测试
3.1 TCP测试
首先,使用网线将以太网设计端口连接到计算机的网络端口,并使用网线将以太网设计端口连接到计算机的网络端口。检测到硬件连接中没有故障后,为模块通电。关闭防火墙和禁用多余网卡,以保证测试不受其他因素的干扰。其次,设置静态IP关闭网卡默认的动态获取IP,设置IP确保和本设计在同一网段。
在设备管理器中查看端口信息,确定本设计串口使用的串口号。打开一个串口调试软件,把串口对应的参数设置为和你设计串口参数一致即可,注意把循环周期时间设置为1000毫秒。在本测试中,网关为192.168.1.1,IP地址为192.168.1.20,子网掩码为255.255.255.0,源端口号为5000,目标IP地址为192.168.1.16,目标端口号为5000。完成上述配置后,可在windows下面的搜索框输入cmd使用命令提示输入对应的地址ping一下,来测试两端是否可以传输数据。最后,打开网络测试助手,就可以建立TCP的服务器与客户端之间的通信,源端口设置5000、目标端口设置5000,点击打开TCP链接在发送数据框输入2022 毕业设计串口那边可以正常接收到,在串口那边输入山东协和学院网络这边也可以接受到如图1-2所示。
图1-2 TCP测试结果
3.2 UDP测试
W5500端口在UDP模式下运行,通信端口不需要连接从其他UDP端口接收数据,前四个数据字节用于对方端口的IP地址,第五个和六个端口号用于接收对方的IP地址和W5500端口后的端口号用于发送到匹配端口2022 毕业快乐,网络向串口发送2022 山东协和学院。配置完成后,基本网关设置、操作将与TCP相同,但选择协议时,请选择UDP。这里没有描述。测试结果如图1-3所示。
图1-3 UDP测试结果
4总结
本文从硬件和软件两个方面介绍了如何在嵌入式系统中设计一个接口,以及如何实现TCP和UDP之间的通信。本设计主要选用内置微控制器STM32F103C8T6作为网络控制器的主控芯片,包括以太网接口模块的电路,内置微控制器模块的电路和电平转换电路。最后,在深入研究TCP/IP协议规范的基础上,实现了TCP和IP的移植,编写了STM32F103C8T6网络驱动程序及其串口通信程序,实现了网络通信功能。
参考文献
[1]吴春锐,张志凯.基于LM3S6432的嵌入式以太网转串口模块设计[J].电脑编程技巧与维护,2020(02):76-78.
[2]殷伦,王英民.串口联网技术在远程设备控制中的应用[J].电声技术,2021
(12):46-47+55.
[3]萧文龙,林松儒. TCP/IP最佳入门[M].北京:机械工业出社,2016.