【基于单片机的以太网UDP通信接入系统设计9900字(论文)】_第1页
【基于单片机的以太网UDP通信接入系统设计9900字(论文)】_第2页
【基于单片机的以太网UDP通信接入系统设计9900字(论文)】_第3页
【基于单片机的以太网UDP通信接入系统设计9900字(论文)】_第4页
【基于单片机的以太网UDP通信接入系统设计9900字(论文)】_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

[15]。系统控制时钟、外设时钟和系统启动计时等事件都可以由微处理器系统自动完成,它是包括了矢量数据通用开关和控制接口寄存器,I2C,通用电路输入输出功率传输控制接口,通用异步收发器初始化,通用定时器和SPI等初始化。设计总体流程如图9所示。图9总体设计流程图关于初始化W5100S主要配置的一些关键的寄存器。将模式寄存器(MR)复位处设置为1,初始化一个芯片的内部寄存器并自动将其复位到0。将1写入并将相应的异常中断写入屏蔽位,然后把中断写入屏蔽位的寄存器(IMR)设置为OxFF(屏蔽中断源),中断寄存器(IR)相应的位也被设置为1。将重传时间的寄存器(RTR)设置为100ms。当用户因为发出一个连接或者是断开一个连接的命令未被接受到或者请求被推迟时,将会导致重传。将重传计数器寄存器(RCR)设置为8,并设置重传次数。把每个端口数为n的端口长度最高的数据寄存器的数值设定为1060。完成这些工作之后,再根据SPI的协议编写读取和发送字节的函数,并与Read和Write配合完成读取和发送字节。在这里,可以设置自己的读取运算码(OxF0)和写入运算码,来实现W5100S与微处理器的数据通信。4.2Socket通信程序设计本文选择了基于TCP模式的通信方式,TCP建立连接有两种方式,一种是服务器模式(被动模式),必须等待连接请求;另一种是客户端模式(主动打开),该这种模式必须向服务器发送连接请求。此次程序设计将W5100S配置成网络服务器的模式,仅需配置W5100S的Socket便能完成网络发送及接收网络数据以及开始启动的功能。W5100S在TCP服务器模式下的处理流程如图10所示。图10W5100S在TCP服务器的处理流程图当Socket是服务器模式的时候,初始端口就需要有确定的操作模式和本地端口号,并在端口命令寄存器中打开端口,将W5100S置于服务器模式。当客户端打开数据后,而且它进行了设置和侦听工作,之后就需要知道远程客户端是否已连接到客户端。客户端无需分别设置自己的目标IP地址和远程客户端口号。TCP协议在socket中的流程图如图11所示。图11Socket流程图4.3UDP通信设计本文采用通信模式是UDP通信模式,UDP通信是一类无连接的通信协议,和TCP通信不同的是在传输数据之前不需要先建立连接。在UDP模式的通信过程中,首先要对W5100S和Socket初始化,其次要建立Socket连接,然后调用Socket-UDP函数,最后是Socket数据接收、发送和W5100S中断处理。UDP通信模式特点有四个。一:在传送数据之前UDP是不需要先建立连接的。二:UDP传输过程当中是尽最大努力交付的,并且是面向报文的。三:UDP是没有拥塞控制的和编号的,并且UDP的首部开销小,只有8个字节。四:是UDP支持交互通信,即一对一、一对多、多对一、和多对多的通信。UDP通信实现过程流程如图12所示。图12UDP通信实现流程4.4中断处理程序设计本设计采用中断方式处理收发数据包来提高效率。当W5100S处理中断时,微处理器首先通过访问W5100S的中断寄存器获得中断源。中断寄存器与中断屏蔽寄存器配合对应着使用,中断屏蔽寄存器的任何中断源可以被相应位屏蔽。当中断发生时,进入中断处理程序。中断的处理过程是:第一,在使用0端口中断之前,在初始化程序中配置中断屏蔽寄存器(IMR)的端口设置为IMR_S0_INT,当Socket0被中断时,IMR_S0_INT=1,IR_S0_INT=1时,此时W5100S的中断输出引脚会发送一个低电平通知微处理器:产生中断,微处理器访问中断寄存器获取中断源例如数据接收中断。然后进入中断处理函数,启动调度函数(Srx_process)。5通讯系统的实现本章是关于通讯系统是如何实现的,是对本次设计成果的展示,本次设计用到的keil是MDK版本的,使用的语言是大学里学习过的C语言。以及具体分析了通讯系统所实现的结果。5.1整体连接本设计利用电脑上的程序下载器FlyMcu采用ISP的下载方式把生成的UDP.hex文件下载到W5100S芯片与STM32F103单片机组合的开发板当中,由于STM32F103单片机没有网卡,以太网控制器W5100S芯片相当于一个网桥,可以让单片机在没有任何外外网的情况下与PC机实现数据通信。如图13所示为本次设计中下载界面。图13FlyMcu下载界面图14整体连接图如图14所示,W5100S单片机与PC机整体连接在一起,由图14已知FlyMcu把生成的UDP.hex文件正确的下载到开发板当中了。然后把开发板通过网线与PC机连接在一起,指示灯正常亮,说明连接正确。5.2软件编译本次设计用到的keil是MDK版本的,使用的语言是大学里学习的C语言。Keil提供了完整的开发计划,包括宏程序集,C编译器,链接器,库管理和功能强大的仿真调试器。使用称为μVision的集成C语言开发环境,然后将这些部分完全组合在一起。首先要利用keil创建一个空白的关于STM32单片机的工程,需要到ST网站中下载官方库文件等。通过编译没有错误后表示成功创建一个工程,根据上章节的整体思路步骤软件编写代码程序,然后在此工程中编写源程序并实现编译、仿真等,最后成功下载到单片机中。如图15所示,建立一个名为Template的项目,此工程包含了6个子目录。STARTUP文件里面包含了启动模块文件;FWLIB是用于存储ST公司的官方库文件的文件夹;USER用于存储自己编写的各种源文件;W5100SS用于存储与W5100S芯片相关的各种文件;CMSIS里面放的是由ARM公司提供的内核函数接口文件;APP里面是关于使用UDP数据通信的有关内容。图15创建的工程以及编译结果各种源程序经过多次修改、完善,由图可知最终编译通过,没有任何错误和警告。程序编译通过后,生成UDP.hex文件然后通过程序下载器FlyMcu下载到板子当中。创建的工程以及编译结果如图15所示。5.3WisUart串口调试WisUart应用于串口应用开发以及调试中,这是一种串行通信接口调试的软件。在单片机控制领域中的应用极其广泛。比如其中的数据监控,不仅可以提高开发速度,而且可以帮助串行端口应用程序的设计,帮助开发和测试人员检查收发器的状态,以及串行端口应用程序的硬件和软件数据的开发。串行端口调试接口的内容包括通信设置,接收区域设置和发送区域设置。此处的通信设置包括串行端口号,奇偶校验位,波特率,停止位和数据位。接收区设置包括接收暂停显示,自动换行显示等。并且可以将发送区域设置为自动发送其他位等。如图16所示为本次设计的有效串口调试界面,清楚准确的显示了本次设计中串口工作的实时工作状态。图16串口调试界面此次的串口选择为COM3,选择串口时在设备管理器中找到FlyMcu,然后在FlyMcu中搜索串口。因为本次设计采用串口通信,所以选择适当的波特率是非常重要的。程序中的波特率和此处波特率选择要一致,如图所示波特率设置为9600,可以确保通信过程中数据传输的正确。点击连接按钮后,由图16可以清楚的看到经过复位后界面上所显示的W5100S的MAC地址为00.08.dc.22.33.33,IP地址为33,子网掩码为,网关地址为,这与程序中设定的W5100S各类参数一致,说明以太网配置完成。配置参数成功后,电脑端的IP地址和本地端口号也会正确无误的显示出来,分别为00和8080。复位成功是确保证单片机和PC机正确快速的收发数据的关键步骤。5.3.1WisSocket网络调试Wissocket网络调试是开发和调试网络应用程序的重要步骤,包括TCP/UDP客户端和服务器。类似基于串行UART的调试向导,可用于帮助开发人员、网络应用程序设计人员和测试人员检查软件和网络应用程序及其开发的硬件中收发数据的状态,从而提高开发速度。串行调试向导和网络调试向导之间的区别在于:TCP/UDP应用程序的基本开发向导是网络调试向导。网络调试辅助接口主要了解协议类型、本地IP地址、接收区域设置和发送区域设置。协议类型有TCPServer、TCPClient和UDP三种,接收区设置和送区设置与上文串口调试助手中包含的一样,因为在现实开发当中两者常常结合在一起使用。如图17所示为本次设计的网络调试助手的实时工作界面,清晰且准确的显示了设计中串口工作的实时工作状态。如图17所示为本次设计中网络调试的实时工作界面,本次设计中协议类型选择的是UDP,本地IP地址为00,本地端口号为8080,目标主机设置为W5100S的IP地址,即33。当在发送区域输入666时,因为三次握手的存在,所以W5100S与STM32F103单片机组成的系统收到PC机传输来的数据会间隔一定的时间才会接收到数据666。另外这里的发送间隔1000ms可以理解为PC机每隔1000ms发送一次数据。图17网络调试界面5.3.2结果分析W5100S在UDP模式工作时,不同于TCP模式,它不需要建立连接即可以接受其他同样处在UDP端口发送来的数据,接受到的数据的前4个字节为对方端口IP地址,第5和第6个字节为端口号,在获得对方IP和端口号后W5100S端口,将根据程序给定的定时时间给对应端口发送字符串666,同时将接收到的数据回发给对应端口,通讯系统正常工作的现象是PC机发送数据给W5100S与STM32F103单片机组成的系统,系统将正确无误的返回对应数据,如图18所示为本次设计W5100S与STM32F103单片机返回对应数据图,当在电脑端输入666时,W5100S与STM32F103单片机组成的系统隔一段时间后准确的接收到数据666。可以看到W5100S与STM32F103单片机组成的系统返回给PC机的数据为666,长度为3。说明了系统把接收到的数据正确无误的返回给PC机,此次基于W5100S通讯接入系统设计达到了设计目标。图18W5100S返回对应数据图结束语本文对利用W5100S网络接口芯片与STM32单片机结合来实现STM32单片机与PC机之间的数据通信,实现了以太网通信接口解决方案。关键取决于W5100S的全面TCP/IP协议处理功能,该功能使单片机无需操作系统即可访问Internet。实际运行和测试也强烈证实了该方案的可靠稳定运行。在此过程当中,W5100S与STM32F103单片机采用SPI的接口方式。在SPI接口方式下,单片机作为主控制器,发出一系列指令控制,然后从设备W5100S运行来进行数据通信。此次用到C语言的开发软件keil,在keil中创建工程、编写源程序,源程序包括W5100S初始化、W5100S的Socket初始化、UDP通信模式、SPI数据通信,最终实现编译、仿真等,最后成功下载到单片机中最终实现一种链路稳定可靠,数据传输速率稳定的通讯系统。通讯系统正常工作的现象是PC机发送数据给W5100S与Stm32单片机组成的系统,然后组成的系统将正确无误的返回对应数据。在设计中有些传统繁琐的以太网协议进行编写和调试的步骤,但是利用W5100S网络接口芯片通过内部嵌入TCP/IP硬件协议栈这种方法,可以减少繁琐的步骤和工作,因此W5100S芯片在设计时很大程度上简化了关于硬件电路的设计。在推出网络接口芯片以后,越来越多的开发者在以太网通讯系统开发中倾向于使用W5100S。因此W5100S网络接口芯片在实际应用当中被广泛使用,比如门禁系统、物联网以及工业控制当中等等。另外,W5100S网络接口芯片具有简单,可靠和价格低廉的优点。综上所述,该芯片具有良好的应用前景。

参考文献王桂云,侯思祖.基于ARM7的以太网接口的设计与实现[J].微计算机信息,2009,25(2):124-204.桑淑丽.基于以太网的远程监控改造[J].电脑知识与技术,2011,7(4):924-925.甘艳,邱建东,张宏林.基于W5100S的以太网通信系统设计[J].铁路计算机应用,2009,18(4):45-47.陆扬,付斌,游江.W5100S在单片机实现以太网通信中的应用[J].科学技术创新,2011(5):76-76.DongWu,LuLikun,LiYeli.ThedesignofdatamutualconversionsystembetweenserialportandethernetbasedonW5100S[J].ImageAnalysisandSignalProcessing(IASP),2012InternationalConferenceon,2012,14(2):15-16王勇,孙立功,张立文.基于W5100S芯片的网络通信电路设计[J].电脑与电信,2014(6):35-36.郁峰.单片机对TCP/IP通讯的实现[J].苏州市职业大学学报,2009,20(1):44-47.LiangZhijian,MaTiehua.ResearchofstoringtechnologyaboutW5100S[J].UncertaintyReasoningandKnowledgeEngineering(URKE),2011InternationalConferenceon,2011,15(4):35-37陈实,王琪,张铁军.一种基于W5100S的数据传输系统[J].电子技术应用,2013,39(9):54-56.周圣强.一种基于单片机和W5100S组合实现以太网通信中的应用分析[J].科学与财富,2017(30):15-16.王计元.单片网络接口芯片W5100S的原理与应用[J]

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论