ImageVerifierCode 换一换
格式:DOCX , 页数:29 ,大小:1.15MB ,
资源ID:5519468      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5519468.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(STM32毕业论文.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

STM32毕业论文.docx

1、STM32毕业论文本科毕业设计(20 届)题 目基于stm32无线数据基站的设计和实现学 院电子信息学院专 业电子信息工程姓 名陈洁班 级09091813学 号09918307指导教师周磊完成日期20 年3月诚 信 承 诺我谨在此承诺:本人所写的毕业论文基于stm32无线数据基站的设计和实现均系本人独立完成,没有抄袭行为,凡涉及其他作者的观点和材料,均作了注释,若有不实,后果由本人承担。 承诺人(签名): 年 月 日摘 要随着人们的生活及其生产水平的不断提高,对生活中各种数据接收的速度和准确度的要求就显得尤为重要,无线数据收发控制就是一个典型的例子,因此无线数据基站就是现代生产生活中应运而生的

2、一种智能、快捷、方便可靠的检测系统。本设计通过STM32F107控制无线收发模块从无线网络节点接收数据,进行相关处理后通过以太网把数据发送至应用服务器.系统的用户统用户通过Internet网络访问应用服务器,其中本设计起到网桥和防火墙的作用。其中本设计中采用的以太网控制器为DM9161芯片。本设计软件部分的主要工作是在硬件平台的基础上实现TCP/IP协议栈,由于TCP/IP协议栈较复杂,功能实现比较困难,一般选择成熟的TCP/IP协议栈进行移植,此次选择开源并且较成熟的LwIP以太网协议栈.关键词:STM32F107 以太网 DM9161 TCP/IP协议栈ABSTRACTWith the c

3、ontinuous improvement of peoples lives and their production levels, the the life data reception speed and accuracy requirements is particularly important, wireless data transceiver control is a typical example, the wireless data base station is modern production lifecame into being a smart, fast, co

4、nvenient and reliable detection system.This design STM32F107 control wireless transceiver module receives data from the wireless network nodes related via Ethernet transmits data to the application server. The system user system user access to the application server through the Internet, including t

5、he design play a role of bridge and firewall. DM9161 Ethernet controller chip used in the design. The software part of the design work is implemented in hardware platform based on the TCP / IP protocol stack, the TCP / IP protocol stack is more complex, and more difficult to achieve, usually selecte

6、d mature TCP / IP protocol stack for transplantation, the choiceopen source and the more mature LwIP Ethernet protocol stack。Key words:STM32F107 Ethernet DM9161 TCP/IP Protocol stack1 引言随着人们的生活及其生产水平的不断提高,对生活中各种数据接收的速度和准确度的要求就显得尤为重要,无线数据收发控制就是一个典型的例子,因此无线数据基站就是现代生产生活中应运而生的一种智能、快捷、方便可靠的检测系统。目前,无线网络标准

7、按照通讯距离的不同分为WAN、WLAN、PAN.比较主流的无线技术有蓝牙、3G、HomeRF、WI-FI、WIMAX、GPRS、CDMA、UWB等.其中WI-FI运用最为广泛,其运用主要在WLAN/MESH领域。无线网络推动了数据通信进入了新的里程碑,让办公、工作、学习不再受“线”制。方便实现了移动办公,组建临时工作组,召开紧急会议等不在需要复杂的布线拆线,无线覆盖区域直接可以通过无线进行通信.校园环境等,可以让师生在任何环境,可以在广场、在草坪、在体育场地等任意位置连接上Internet。随着无线网络在各个领域的成功案例及人们对它的关注程度,无线网络定是未来通信的发展方向,也定能在各领域中得

8、到很好的应用。本设计通过stm32控制无线收发模块从无线网络节点接收数据,进行相关处理后通过以太网把数据发送至应用服务器.系统的用户统用户通过Internet网络访问应用服务器,其中本设计起到网桥和防火墙的作用。其中本设计中采用的以太网控制器为DM9161芯片.2 概述2.1 课题研究的背景近几年来,随着科学技术日新月异的发展,计算机科技的快速发展,特别是互联网的快速普及,互联网在人类活动中也越来越紧密联系,尤其是对于工业控制和信息电器领域中同样有着越来越重要的应用。同时计算机,通讯,消费电子三合一的快速发展,数字化时代已经到来。而嵌入式接入设备是数字化时代的一大主流标志,形态各异的计算机,通

9、讯,消费电子三合一产品也将是网络接入设备的一大主流。因为PC机以及现有的Internet技术可以实现对非网络设备进行远程控制的部分的要求,而且成本费用较高,可靠性和期望值也有一定的距离,所以这种方案并没有被广泛的接受和使用.由于嵌入式设备具有低成本高性能的特点,而现今对嵌入式系统的开发研究和嵌入式技术也都进入到了一个成熟的阶段,将嵌入式系统和网络相结合来实现非网络系统的网络控制,那么世界可能就是另一番景象。 因特网技术的成熟,使得网上提供的信息更加丰富,应用项目也更加多样,人们对网络的需求也越来越广泛,利用PC机上网来查阅和发布各类信息等对于网络的日常应用已经不能满足人们的需求。像传统的电器,

10、电冰箱,微波炉,电视,空调等,这类电子设备的功能也不在单一,电器结构也更为复杂,也逐步开始应用嵌入式网络接入,使用户可以通过网络就能实现远程控制,信息通讯。同样,互联网在全球范围内的连通性,那些能够连接因特网的设备也成为人们选择产品中考虑的一大问题,通过Internet对家用电器等非网络设备进行远程控制已经成为现今主流。而一些小型轻便的设备,比如一些医学仪器上的身体上使用的传感器,体积小而且便宜,内存小,运算能力有限,因此必须在资源受限的情况下实现TCP/IP协议甚至处理接受到的信息.TCP/IP协议可以分为四个层次,从底层到最高层分别是物理层和数据链路层,网络层,传输层,和最高层的应用层。物

11、理层和数据链路层是TCP/IP协议的最低层,要求提供给上层一个访问接口,以便传递IP分组信息。网络层是第二层,也是整个TCP/IP协议栈的核心,其功能是把分组发往目标网络或主机,源主机与目的主机可以在同一个网上,也可以在不同的网上。其中定义了分组格式和协议,即IP协议,来对分组进行排序。IP协议是一种不可靠、无连接的数据报发传送服务的协议,提供的只是一种尽力而为的服务。传输层是第三层,负责在应用进程中的端到端之间的通信.传输层定义了两种服务质量不同的协议,TCP和UDP。TCP是一种可靠的面向连接的协议,允许将源主机的字节数据流无差别的传送到目的主机.同时能够完成流量的控制功能,协调收发主机之

12、间的发送和接受速度,从而控制正确的传输.应用层是最高层,其中也包括了很多协议:文件传送协议,简单邮件传送协议,简单网络管理协议,超文本传送协议等。LwIP是瑞士计算机科学院一个开源的TCP/IP协议栈实现。LwIP是Light Weight IP协议,有无操作系统都可以运行,其实现的重点是在保持TCP/IP协议的主要功能的基础上减少对内存的占用,一般只需要几百字节的RAM和40K左右的ROM就可以运行,这使得LwIP成为在资源受限的情况下实现及处理TCP/IP协议的解决方法。LwIP可以支持多网络接口下的IP转发,提供专门的内部回调接口Raw API,这样可以提高应用程序性能.像LwIP的目标

13、系统是最小限度系统,所使用的操作系统通常不能在内核与应用层进程之间维持一个严格的保护屏障.这里允许使用一种比较宽松的通许机制,通过共享内存的方式实现应用层与底层协议族之间的通讯。应用层可以知道底层协议使用的缓冲处理机制,这使得应用层可以有效的重复使用缓冲区。同样,应用层与网络代码使用的是相同的内存区,那么应用层就可以直接读写内部缓冲区。2。2 国内外stm32控制以太网技术发展现状及趋势中国的嵌入式系统开发走过了二十多年的历程,有超过数十万名从事开发应用的工程师,但大多数以上是几个人的小组以孤军奋战的封闭方式开发几乎不可重用的软件。今天面对的是嵌入式系统工业化的潮流,如果不能认识到嵌入式软件必

14、须以工业化的方式生产开发,不理解在短时间内装配集成“数百人/年”的嵌入式产品,那么将失去更多的上游产品的市场机遇.嵌入式软件方面逐渐形成了系统软件、应用软件的架构。国际上用于信息电器的嵌入式操作系统有40种左右.其中,国外涌现了一些著名的嵌入式操作系统,如:Vxworks、pSOS、WinCE、RTEK、palmOS、EpOC、QNX、LynxOS、DSPhnux等。其中Vx/Orks是目前嵌入式系统领域中使用最广泛、市场占有率最高的系统:WinCE是一种32位的多任务操作系统,可以移植,能够开发多种企业和客户类设备,是微软公司的“维纳斯计划的核心:3COM公司的Palm0S在PDA市场上占有

15、很大的市场份额,它有开放的操作系统应用程序接口(API),开发商可以根据需要自行开发所需要的应用程序.国内外有大量嵌入式应用软件已广泛用于各类嵌入式系统中.大有国内紧跟国外趋势的形势.但是对于嵌入式Web服务器方面的研究国内现状不容乐观,目前国外的相关研究相对多些。如林C/IP研究项目,它是一个为微控制器和嵌入式系统而设计的小型TCP/IP协议栈:又如CMX公司的MieroNetTCP/IP,它是为8位或16位微处理器而设计的,支持大部分的标准协议,连接方式有以太网连接、拨号连接和直接连接方式。而国内也相应提出了Webito协议标准,但是相对滞后,缺少具体的工程实现方面的研究和具体产品的开发。

16、美国DEC公司开发的VMSeluster系统开发最早,技术也较成熟,应用也很广泛,但由于VMS操作系统只能在DEC公司的VAX系列和AIPha系列服务器上运行,VMScluster的应用受到很大限制.Platform公司开发的高可用性集群系统LSF提供了分布式集群系统的解决方案,通过将物理上分离的多个集群连接在一起使多个同构或异构的计算机能够通过局域网或广域网共享计算资源,并能够为用户提供对资源的透明访问。国内也有不少公司进行了集群系统的研究和开发工作.联想公司在1999年9月推出了用于分布式高性能计算的NS10000高性能集群服务,该系统是一个四节点的系统,主要基于联想万全45008服务器,

17、以总体成本相对较低的设备组合,足以替代传统班SC小型机和中型机的工作,而价格仅为市场上同等性能小型机的1/2-1/40。朗讯公司也推出了类似于Urboduster的高可用性集群系统LongshineClusterServer.从国内外的研究现状看,目前集群系统的应用大都致力于高可用性问题的解决,真正基于负载均衡的集群系统还比较少,而且在大部分负载均衡集群中采用的都是轮转调度、加权轮转调度等静态调度算法。2。3 研发方向和技术关键(1)合理设计硬件电路,使各模块功能协调;(2)STM32对DM9161的控制;(3)STM32对串口模块的控制;(4)STM32对TCP/IP协议栈的开发;2.4 主

18、要技术指标(1)合理设计硬件电路,使各模块功能协调(2)STM32可以实现对数据的处理和传输。(3)对DM9161的控制的数据的传输3 总体设计3。1系统方案选择与论证总体设计思路,分为三部分,无线数据采集部分,网络控制部分,控制部分。并利用stm32对各部分进行控制。应用DM9161通过网线与上位机相连接,可以处理和传递下系统相关参数。设计模块图如图3.1所示。图3。1 整体模块图3.1。1 控制部分方案在本次设计中,单片机是系统的控制核心,所以单片机的性能关系到整个系统的好坏。因此单片机的选择,对所设计系统的实现以及功能的扩展有着很大的影响。单片机种类很多,STM32系列基于专为要求高性能

19、、低成本、低功耗的嵌入式应用专门设计的ARM CortexM3内核.按性能分成两个不同的系列:STM32F103“增强型系列和STM32F101“基本型”系列.增强型系列时钟频率达到72MHz,是同类产品中性能最高的产品;基本型时钟频率为36MHz,以16位产品的价格得到比16位产品大幅提升的性能,是16位产品用户的最佳选择.两个系列都内置32K到128K的闪存,不同的是SRAM的最大容量和外设接口的组合。时钟频率72MHz时,从闪存执行代码,STM32功耗36mA,是32位市场上功耗最低的产品,相当于0.5mA/MHz。因此,在本次设计中选用了stm32F107单片机作为主控芯片.2。1。2

20、无线数据采集部分方案本设计有单片机控制无线模块,接收从无线网络的数据,并经过单片机进行处理,通过网络控制部分传送给PC接收.通过UTC4832无线网络把数据上传至主通信节点,主通信节点对数据进行进一步处理,通过以太网把数据发送至应用服务器.2.1。3网络控制部分方案方案一:采用基于RTL8019AS实现以太网通讯。RTL8019AS是由台湾Realtek公司生产的100pin PQFP 封装10Mbps以太网控制器,符和Ethernet II与IEEE802。3标准,其应用成熟广泛,但是由于RTL8019AS没有集成内部硬件协议,此方案需要在主控制器内部编写以太网通讯协议、程序繁琐、耗费时间,

21、不利于系统的快速开发和稳定运行。且由于其封装引脚太多,也不方便系统的硬件设计。方案二:采用基于DM9161的网络控制器的以太网通讯系统设计.DM9161DM9161AEP是一款完全集成的和符合成本效益单芯片快速以太PHY,是采用较小工艺0。25um的10/100M自适应的以太网收发器.DM9161AEP通过可变电压的 MII 或 RMII 标准数字接口连接到 MAC 层,支持 HP Auto-MDIX。是目前常见的一款物理层收发器,由于全球的MCU集成度不断提高,由MAC+PHY+MII的衍生到现在的PHY,在以太网部分的成本,逐渐降低。方案三:采用基于ENC28J60的网络控制器的设计.EN

22、C28J60是带有行业标准串行外设SPI接口的独立以太网控制器,具有28pinDIP封装,符合IEEE802。3的全部规范,采用了一系列包过滤机制以对传入数据包进行限制。他还提供了一个内部DMA模块,以实现快速数据吞吐和硬件支持的IP较验和计算.与主控制器的通信通过两个中断引脚和SPI实现,传输数据速率高达10Mb/s。两个专用的引脚用于连接LED,进行网络活动状态指示。虽然ENC28J60同样也没有像DM9161那样集成了了内部硬件协议栈,但是由于其具有28pinDIP封装,大大便于硬件设计和制版,符合我们这次系统设计的基本要求。综上所述所述,方案二和方案三都适合作为本次设计的网络控制部分,

23、由于条件所限我们选择方案二。3。2 系统软件总体结构系统软件总体结构如图32所示,整个程序是围绕STM32F107VCT6单片机设计的,软件程序采用模块化设计,更容易理解和调试.整个程序除主程序之外还有5个部分:系统初始化子程序、RS232通讯子程序、网口通讯子程序、I/O数据采集子程序和RS485通讯子程序。图3-2软件结构图主程序流程图如图3-3所示。系统运行后进入主程序,首先对系统硬件进行初始化,而后再对网络进行初始化,然后检查网络连接是否正常,连接正常则进行周期运行显示,不正常则重新进行连接。图33主程序流程图3。3 本章小结本章主要讲述了本设计的工作原理和本设计系统的工作流程。在说明

24、工作原理的过程中,突出了电路的组成单元以及这些单元如何实现数据采集和数据处理控制功能。在说明系统流程时,结合本设计的内容指出了参数设置的方法和意义。4 硬件设计4。1 主控芯片STM32F107 32位ARM CortexM3结构,72MHz运行频率,1.25 DMIPS/MHz,硬件除法和单周期乘法,并可快速可嵌套中断,612个时钟周期,有64K256KB的FLASH,以及高达64KB的SRAM。另外在网络通信功能上,具有一个RJ45网络接口,支持10M/100M自适应网络,还有一个Zigbee无线网络通讯接口,一个Wi-Fi WLAN无线宽带网络通讯接口。在本开发板上,添加了一些人机交互接

25、口,一个大屏幕320240,262144色TFTLCD,支持SPI接口式/总线接口,四个LED发光管,一个电源LED指示灯,另外一个标准3.5mm耳机接口,一个五方向的输入摇杆,3个GPIO按键,1个RESTE按键,以及音频级处理芯片,USB OTG功能能,支持外接鼠标和键盘.串行通信功能上,有两个RS232连接插座,其中一个RS232带硬件流控制引脚,一个mini型USB插座,两个CAN连接口。其中与以太网最重要的硬件是MAC(介质访问控制)及其专用的DMA。专用的DMA控制器允许专用SRAM和描述符之间高速传输,其中一些地址过滤模式,对物理和组发送地址,以及32位状态编码,用于每个传送和接

26、受帧。内部的FIFO用于缓存传输和接受帧,传输FIFO和接受FIFO都是2Kbyte,总共4Kbytes。实物图如图4。1所示:图4.1stm32实物图图STM32F107xx包括以下特性:1.支持10和100Mbit/s两种速率2.专用DMA控制器允许专用SRAM和描述符之间高速传输。3.标记的MAC帧支持,支持VLAN(虚拟局域网)4.半双工和全双工两种操作模式,半双工下采用CSMA/CD(带有检测冲突的载波侦听多路存取)5.支持MAC控制子层,用于控制帧。6.32位CRC产生和清除。7.一些地址过滤模式,对物理和组播地址。8.32位状态编码,用于每个传送和接受帧。9.内部FIFO用于缓存

27、传输和接收帧。传输FIFO和接收FIFO都是2Kbyte,总计4Kbytes.10.支持硬件PTP(精确时间协议),时间戳比较器连接到TIM2触发输入端。当系统时间比预定目标时间大时,触发中断。4.1。1 STM32F107的以太网功能描述STM32F107支持两种工业标准的物理层接口,默认的介质无关接口MII和精简的介质无关接口RMII。以太网的外设由MAC和一个专用的DMA控制器,支持默认的MII和RMII通过一个选择位来设置默认的MII接口或者精简MII接口。TDMA控制器接口通过AHB主从接口连接核和内存,AHB主接口控制数据传输当AHN从接口访问控制盒状态寄存器空间.在MAC核传输前

28、,传输FIFO缓存通过DMA从系统内存中读取数据,类似的,接受的FIFO队列从线上储存以太网帧从而知道它们被DMA传送到了系统内存中。以太网的外设还包括一个SMI用于和外部的PHY通信.配置寄存器允许用户为MAC和DMA控制器选择想要的模式和特性。图4.2 STM32F107以太网原理框图4。1。2 SMI站管理接口SMI(station management interface 站管理接口)允许应用程序通过一根时钟数据线来读取配置中任意一个物理寄存器,接口最多支持访问是32个PHY。应用程序可以在SMI的允许下选择32个PHY中的其中一个,再在PHY中32个寄存器中的任意一个来发送控制数据或

29、者接受状态信息。但是在给定的时间里,只能访问一个PHY中的寄存器。如图4。2所示,图中微控制器执行使MDC时钟线和MDIO数据线来为交替的功能I/O扣。MDC是一个用于给数据传输提供时间参考的周期性时钟,最大的频率为2。5MHz,最小的MDC的高低时间是每次160ns,最小的周期是400ns。值得注意的是,在不工作的情况下,SMI管理接口驱动MDC时钟信号为低,即为0.而MDIO是数据输入和输出数据是要用MDC时钟信号来同步传输状态信号给物理设备,或者从物理设备那得到状态信号。图4。3 SMI管理接口框图4.1.3 SMI写操作当应用程序设置介质无关接口MII写和忙位时,SMI通过传输PHY的

30、地址,PHY中的寄存器地址以及写数据来启动一个写操作到PHY寄存器上。当然,在传输过程中应用程序不能改变MII的地址寄存器中的内存或者是MII数据寄存器。在这个写操作的时间里,任何对MII地址寄存器和MII数据寄存器的写操作都会被忽略(忙时位为高,即为1),保证传输过程无差错完成。这个写操作完成之后,SMI又通过复位忙位,使得可以重新接受新的写操作。图4.4 SMI写操作4.1。4 SMI的读操作用户设置以太网MAC中MII的地址寄存器中的MII Busy bit时,MII Write bit 为零,SMI就通过传输PHY地址和PHY中的寄存器的地址,然后在PHY寄存器中就启动一个读操作。同样

31、的,在传输过程中应用程序不能改变MII地址寄存器中的内容或者MII数据寄存器中的内容。同时在读操作过程中,对MII地址寄存器和MII数据寄存器的写操作也会被忽略(Busy bit为高,即为1),保证传输过程不差错,能够正确完成.读操作完成后,SMI复位Busy bit,然后用从PHY中读到的数据来更新MII数据寄存器。图4.5 SMI读操作4。2 STM32串口通讯STM32的串口是相当丰富的,功能也很强劲。最多可提供5路串口(MiniSTM32使用的是STM32F103RBT6,具有3个串口),有分数波特率发生器、支持单线光通信和半双工单线通讯、支持LIN、智能卡协议和IrDASIR END

32、EC规范(仅串口3支持)、具有DMA等。图4。5 485电路 串口最基本的设置,就是波特率的设置。STM32的串口使用起来还是蛮简单的,只要你开启了串口时钟,并设置相应IO口的模式,然后配置一下波特率,数据位长度,奇偶校验位等信息,就可以使用了.下面,我们就简单介绍下这几个与串口基本配置直接相关的寄存器。 1,串口时钟使能。串口作为STM32的一个外设,其时钟由外设时钟使能寄存器控制,这里我们使用的串口1是在APB2ENR寄存器的第14位。APB2ENR寄存器在之前已经介绍过了,这里不再介绍.只是说明一点,就是除了串口1的时钟使能在APB2ENR寄存器,其他串口的时钟使能位都在APB1ENR. 2,串口复位。当外设出现异常的时候可以通过复位寄存器里面的对应位设置,实现该外设的复位,然后重新配置这个外设达到让其重新工作的目的.一

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1