【《某以太网UDP通信接入系统的硬件和软件设计案例》4200字】_第1页
【《某以太网UDP通信接入系统的硬件和软件设计案例》4200字】_第2页
【《某以太网UDP通信接入系统的硬件和软件设计案例》4200字】_第3页
【《某以太网UDP通信接入系统的硬件和软件设计案例》4200字】_第4页
【《某以太网UDP通信接入系统的硬件和软件设计案例》4200字】_第5页
已阅读5页,还剩6页未读, 继续免费阅读

下载本文档

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

文档简介

某以太网UDP通信接入系统的硬件和软件设计案例目录TOC\o"1-3"\h\u15943某以太网UDP通信接入系统的硬件和软件设计案例 1143941系统硬件设计 1297711.1核心处理器模块 1204961.2网络芯片模块 291581.3网络核心接入系统设计 5283571.1.1SPI接口设计 525171.1.2整体连接 664432系统软件设计 629472.1系统主程序设计 7198742.2Socket通信程序设计 833952.3UDP通信设计 920662.4中断处理程序设计 101系统硬件设计本章主要内容是系统硬件设计,主要介绍了STM32F103单片机以及他的优势和功能、简单说明了W5100S芯片的以太网模块、对W5100S芯片的认识。以及两者之间的三种连接方式,芯片的内部结构和三种接口方式以及对SPI接口进行数据通信的详细介绍。1.1核心处理器模块在核心处理器模块的设计中,选用的是STM32单片机。STM32F103单片机应用广泛,具有低功耗、高性能的特点[16]。该芯片具有100个引脚,512k片上闪存,64ksram,LQFP封装和32位皮质内核。其主要性能参数包括80gpio,2个SPI,2个I2C,5个USART,1个USB,1个罐头通讯和1个SDIO。在电路连接上,STM32单片机的PB13、PB14、PB15、PD7引脚分别连接SPI的SCLK、MISO、MOSI、NSS口,连接成为SPI通信协议。PA9、PA10引脚与通用异步收发传输器连接。用来与PC进行通信,包括与监控调试器和其它器件。PD14、PD15引脚与数模转换器模块连接。用来将数字量转变成模拟的。PB2、94号引脚与复位模块相连接。PA13、PA14引脚分别连接SWDIO与SWCLK。构成一个控制电路,控制电路原理图如图4所示。图4控制电路原理图1.2网络芯片模块W5100S是使用10/100以太网接口控制器的多功能无线网络控制接口芯片。主要适合于设计各种高集成度,高稳定性,高性能技术和低成本的嵌入式系统。使用W5100S在没有操作系统的情况下建立Internet连接。W5100S与802.3u100base-TX和ieee802.310base-t互相兼容。W5100S已经成功集成了完整的软硬件,例如TCP/IP协议栈,以太网媒体传输层(MAC)和整个数据库的物理层(PHY),并已广泛用于各个领域。W5100S也通过集成16KB的视频存储器模块实现了视频数据的高速传送。在使用此网络芯片时,也不用考虑以太网的控制因素,对每个端口进行简易的软件编程即可。W5100S芯片的串口总线传输接口分为三种:间接并行总线,直接并行总线和SPI总线。它们之间的接口非常简易,就只需访问外部存储器就可以完成接线。W5100S内部设计采用了全媒体硬件的TCP/IP协议栈,全硬件的TCP/IP协议栈简化了传统的基于软件的TCP/IP协议栈,减轻了用于处理TCP/IP的MCU线程的负担,节省了基于硬件的大量资源,例如MCU内部的ROM,工程师只需要执行简单的编程,少量的注册表操作就完全可以有效促进集成以太网上层应用程序的开发,从而大大降低了在产品开发上的周期与技术研究上的费用。W5100S芯片总共有5个SPI接口类引脚,其中SPI接口使能引脚是第29脚CSN,低电平时,SPI模式处于有效状态,反之则处于未使用状态。SPI时钟输入管脚SCLK为30脚,SPI主入输出数据线引脚MOSI是32脚,而主入输入数据线引脚MISO为33脚。W5100S芯片共有两种工作电压,分别是1.8V和1.3V,其中外接的电路可以提供1.3V电源的大小,1.8V大小的电压则是由芯片的内部提供的。W5100S芯片的以太网模块支持全硬件TCP/IP协议栈,同时有高速SPI主机接口,支持4路独立硬件Socket同时通信,通信效率互不影响,内部有16K字节收发缓存供TCP/IP包处理,支持掉电模式、网络唤醒,网络状态指示灯引脚,集成10Base/100Base-T以太网PHY,还具有10/100Mbps传输速度,支持4个不同的独立终端口进行操作,同时,该控制模块还支持5V电源或1.3V电源,使得用户在不同单芯片系统中都能方便地使用,单片机系统和模块间通信十分简单方便。W5100S芯片主要包括MCU接口、数据发送和接收缓冲、TCP/IP硬件内核及以太网物理层等多个单元。W5100S网络接口的芯片中有三个寄存器,大约占据32K的空间。分别是端口接收寄存器、通用寄存器和数据接收缓冲寄存器,还有主要用于存储数据的端口接收和数据传输时的缓冲区。具体来说,ox0000-ox002f单元是公共端口区域寄存器,ox0400-ox07ff单元是端口寄存器,ox4000-ox5fff单元是发送存储器,ox6000-ox7fff单元是接收存储器。W5100S芯片电路原理图如图5所示。图5W5100S电路原理图应该强调的是,常用的寄存器主要包括模式寄存器(MR),网关地址寄存器(GWR),中断寄存器(IR/IMR),中断屏蔽寄存器(IMR)和发送数据缓冲区大小寄存器(TMSR)等。对于端口寄存器,其主要功能是控制网络连接后每个通道的数据发送和接收。W5100S芯片具有四个接字寄存器来支持其四个通道,端口寄存器主要包含了端口执行命令和中断状态寄存器,端口控制寄存器的作用主要是用来控制相应端口的初始化,连接建立,数据发送和命令接收。然后实时报告通道的连接状态,例如何时连接,断开连接,何时处于接收状态等等。最后,实时显示对应端口的各种状态。1.3网络核心接入系统设计W5100S芯片提供了3种MCU接口方法,即间接总线接口,直接总线接口和SPI接口方法。在本设计中使用SPI接口方法,并且详细的介绍了在核心接口设计中的用到的一些电路接口方式。1.1.1SPI接口设计要实现嵌入式系统与以太网系统的相互交汇联通,接口的设计方式就是非常重要的一个因素,在本次设计中选用SPI的接口方式。SPI接口方式如图6所示。图6SPI接口方式使用SPI这种接口方式时接的线是最少的,只需要连接4条线就可以正常工作,其传输数据的方式是串行。这种方式的使能管脚是SEN管脚,当输入信号是高电平时工作。选择模式的管脚是SCS脚,当输入信号是低电平时工作。单片机与W5100S芯片之间的数据传输按照一定的传输格式以及命令,并且要严格的遵守SPI协议。SPI接口共有4根信号线,分别是:器件选择线,时钟线,串行输出数据线,串行输入数据线。在SPI操作中,两个最重要的参数是时钟极性和时钟相位。时钟的极性(CPOL)用来决定在总线空闲时,同步时钟(SCK)信号线上的电位是高电平还是低电平,时钟的相位(CPHA)用来决定何时进行信号采样。因此,为了保证各个时钟主从之间能够正确地进行通信,SPI须具有相同的时钟极性和相同的时钟相位。时钟由主机控制,在时钟移位脉冲下,数据按位传输,高位在前,低位在后(MSBfirst);SPI接口有2根独立的单向通讯数据线,全双工通信,且应用程序中的数据速率高达几Mbps的水平。SPI总线结构如图7所示。图7SPI总线结构1.1.2整体连接本次设计里W5100S芯片与STM32F103单片机组成的通讯系统采用SPI接口方式。从外部看W5100S芯片与STM32F103单片机作为一个整体与远程端即电脑进行数据传输。当SPI_EN这个引脚接上拉电阻的时候,这个SPI通信模式才会处于有效的状态。以太网控制器W5100S芯片充当了STM32F103单片机的网卡,使STM32F103单片机在没有任何外网的情况下与远程控制器,即PC机之间可以互相收发数据。SPI通信模块如图8示。当M1和M2都为0时W5100S芯片与STM32F103单片机组成的开发板工作在SPI通信模式下。当M1为0、M2为1时W5100S芯片与STM32F103单片机组成的开发板工作在总线模式下。把1和2两个按钮都推到OFF处即为SPI通信模式。SPI模块实物图如图8所示。图8SPI模块实物图2系统软件设计本章介绍了系统程序总体设计的方法,本文的总体设计为软件和硬件相结合,其中程序设计首先为W5100S初始化,W5100S初始化过程中需要考虑一些基本技术要点,比如需要实现中断屏蔽寄存器(IMR)、模式寄存器(MR)、重发时间寄存器(RTR)和重发计数寄存器(RCR)的基本配置初始化;实现有关网址寄存器(GRA)、子网掩码寄存器(SUBR)等网络信息配置的初始化和合理分配Socket的内存。然后是选择UDP通信模式,该通信模式在传输数据之前不用先建立连接,且有四个特点:即一对多、一对一、多对一、和多对多的通信。第三个是进行SPI数据通信,在SPI的通信模式下,W5100S定义了两种读写操作码0xf0和0x0f,是以32位的数据流进行通信的,最后调用Socket中的UDP,经过这些步骤后,设置过程即完成,W5100S网络接口芯片与单片机组成的开发板就可以与远程主机实现UDP通信。2.1系统主程序设计系统初始化通过定义结构完成STM32和W5100S微处理器的初始化[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与微处理器的数据通信。2.2Socket通信程序设计本文选择了基于TCP模式的通信方式,TCP建立连接有两种方式,一种是服务器模式(被动模式),必须等待连接请求;另一种是客户端模式(主动打开),该这种模式必须向服务器发送连接请求。此次程序设计将W5100S配置成网络服务器的模式,仅需配置W5100S的Socket便能完成网络发送及接收网络数据以及开始启动的功能。W5100S在TCP服务器模式下的处理流程如图10所示。图10W5100S在TCP服务器的处理流程图当Socket是服务器模式的时候,初始端口就需要有确定的操作模式和本地端口号,并在端口命令寄存器中打开端口,将W5100S置于服务器模式。当客户端打开数据后,而且它进行了设置和侦听工作,之后就需要知道远程客户端是否已连接到客户端。客户端无需分别设置自己的目标IP地址和远程客户端口号。TCP协议在socket中的流程图如图11所示。图11Socket流程图2.3UDP通信设计本文采用通信模式是UDP通信模式,UDP通信是一类无连接的通信协议,和TCP通信不同的是在传输数据之前不需要先建立连接。在UDP模式的通信过程中,首先要对W5100S和Socket初始化,其次要建立Socket连接,然后调用Socket-UDP函数,最后是Socket数据接收、发送和W5100S中断处理。UDP通信模式特点有四个。一:在传送数据之前UDP是不需要先建立连接的。二:UDP传输过程当中是尽最大努力交付的,并且是面向报文的。三:UDP是没有拥塞控制的和编号的,并且UDP的首部开销小,只有8个字节。四:是UDP支持交互通信,即一对一、一对多、多对一、和多对多的通信。UDP通信实现过程流程如图12所示。图12UDP通信实现流程2.4中断处理程序设计本设计采用中断方式处理收发数据包来提高效率。当W5100S处理中断时,微处理器首先通过

温馨提示

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

评论

0/150

提交评论