STM32毕业论文Word文档下载推荐.docx

上传人:b****6 文档编号:8480230 上传时间:2023-05-11 格式:DOCX 页数:29 大小:1.15MB
下载 相关 举报
STM32毕业论文Word文档下载推荐.docx_第1页
第1页 / 共29页
STM32毕业论文Word文档下载推荐.docx_第2页
第2页 / 共29页
STM32毕业论文Word文档下载推荐.docx_第3页
第3页 / 共29页
STM32毕业论文Word文档下载推荐.docx_第4页
第4页 / 共29页
STM32毕业论文Word文档下载推荐.docx_第5页
第5页 / 共29页
STM32毕业论文Word文档下载推荐.docx_第6页
第6页 / 共29页
STM32毕业论文Word文档下载推荐.docx_第7页
第7页 / 共29页
STM32毕业论文Word文档下载推荐.docx_第8页
第8页 / 共29页
STM32毕业论文Word文档下载推荐.docx_第9页
第9页 / 共29页
STM32毕业论文Word文档下载推荐.docx_第10页
第10页 / 共29页
STM32毕业论文Word文档下载推荐.docx_第11页
第11页 / 共29页
STM32毕业论文Word文档下载推荐.docx_第12页
第12页 / 共29页
STM32毕业论文Word文档下载推荐.docx_第13页
第13页 / 共29页
STM32毕业论文Word文档下载推荐.docx_第14页
第14页 / 共29页
STM32毕业论文Word文档下载推荐.docx_第15页
第15页 / 共29页
STM32毕业论文Word文档下载推荐.docx_第16页
第16页 / 共29页
STM32毕业论文Word文档下载推荐.docx_第17页
第17页 / 共29页
STM32毕业论文Word文档下载推荐.docx_第18页
第18页 / 共29页
STM32毕业论文Word文档下载推荐.docx_第19页
第19页 / 共29页
STM32毕业论文Word文档下载推荐.docx_第20页
第20页 / 共29页
亲,该文档总共29页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

STM32毕业论文Word文档下载推荐.docx

《STM32毕业论文Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《STM32毕业论文Word文档下载推荐.docx(29页珍藏版)》请在冰点文库上搜索。

STM32毕业论文Word文档下载推荐.docx

本人所写的毕业论文《基于stm32无线数据基站的设计和实现》均系本人独立完成,没有抄袭行为,凡涉及其他作者的观点和材料,均作了注释,若有不实,后果由本人承担。

承诺人(签名):

年月日

摘要

随着人们的生活及其生产水平的不断提高,对生活中各种数据接收的速度和准确度的要求就显得尤为重要,无线数据收发控制就是一个典型的例子,因此无线数据基站就是现代生产生活中应运而生的一种智能、快捷、方便可靠的检测系统。

本设计通过STM32F107控制无线收发模块从无线网络节点接收数据,进行相关处理后通过以太网把数据发送至应用服务器.系统的用户统用户通过Internet网络访问应用服务器,其中本设计起到网桥和防火墙的作用。

其中本设计中采用的以太网控制器为DM9161芯片。

本设计软件部分的主要工作是在硬件平台的基础上实现TCP/IP协议栈,由于TCP/IP协议栈较复杂,功能实现比较困难,一般选择成熟的TCP/IP协议栈进行移植,此次选择开源并且较成熟的LwIP以太网协议栈.

关键词:

STM32F107以太网DM9161TCP/IP协议栈

ABSTRACT

Withthecontinuousimprovementofpeople'

slivesandtheirproductionlevels,thethelifedatareceptionspeedandaccuracyrequirementsisparticularlyimportant,wirelessdatatransceivercontrolisatypicalexample,thewirelessdatabasestationismodernproductionlifecameintobeingasmart,fast,convenientandreliabledetectionsystem.

ThisdesignSTM32F107controlwirelesstransceivermodulereceivesdatafromthewirelessnetworknodesrelatedviaEthernettransmitsdatatotheapplicationserver.ThesystemusersystemuseraccesstotheapplicationserverthroughtheInternet,includingthedesignplayaroleofbridgeandfirewall.DM9161Ethernetcontrollerchipusedinthedesign.

ThesoftwarepartofthedesignworkisimplementedinhardwareplatformbasedontheTCP/IPprotocolstack,theTCP/IPprotocolstackismorecomplex,andmoredifficulttoachieve,usuallyselectedmatureTCP/IPprotocolstackfortransplantation,thechoiceopensourceandthemorematureLwIPEthernetprotocolstack。

Keywords:

STM32F107EthernetDM9161TCP/IPProtocolstack

1引言

随着人们的生活及其生产水平的不断提高,对生活中各种数据接收的速度和准确度的要求就显得尤为重要,无线数据收发控制就是一个典型的例子,因此无线数据基站就是现代生产生活中应运而生的一种智能、快捷、方便可靠的检测系统。

目前,无线网络标准按照通讯距离的不同分为WAN、WLAN、PAN.比较主流的无线技术有蓝牙、3G、HomeRF、WI-FI、WIMAX、GPRS、CDMA、UWB等.其中WI-FI运用最为广泛,其运用主要在WLAN/MESH领域。

无线网络推动了数据通信进入了新的里程碑,让办公、工作、学习不再受“线”制。

方便实现了移动办公,组建临时工作组,召开紧急会议等不在需要复杂的布线拆线,无线覆盖区域直接可以通过无线进行通信.校园环境等,可以让师生在任何环境,可以在广场、在草坪、在体育场地等任意位置连接上Internet。

随着无线网络在各个领域的成功案例及人们对它的关注程度,无线网络定是未来通信的发展方向,也定能在各领域中得到很好的应用。

本设计通过stm32控制无线收发模块从无线网络节点接收数据,进行相关处理后通过以太网把数据发送至应用服务器.系统的用户统用户通过Internet网络访问应用服务器,其中本设计起到网桥和防火墙的作用。

其中本设计中采用的以太网控制器为DM9161芯片.

2概述

2.1课题研究的背景

近几年来,随着科学技术日新月异的发展,计算机科技的快速发展,特别是互联网的快速普及,互联网在人类活动中也越来越紧密联系,尤其是对于工业控制和信息电器领域中同样有着越来越重要的应用。

同时计算机,通讯,消费电子三合一的快速发展,数字化时代已经到来。

而嵌入式接入设备是数字化时代的一大主流标志,形态各异的计算机,通讯,消费电子三合一产品也将是网络接入设备的一大主流。

因为PC机以及现有的Internet技术可以实现对非网络设备进行远程控制的部分的要求,而且成本费用较高,可靠性和期望值也有一定的距离,所以这种方案并没有被广泛的接受和使用.由于嵌入式设备具有低成本高性能的特点,而现今对嵌入式系统的开发研究和嵌入式技术也都进入到了一个成熟的阶段,将嵌入式系统和网络相结合来实现非网络系统的网络控制,那么世界可能就是另一番景象。

因特网技术的成熟,使得网上提供的信息更加丰富,应用项目也更加多样,人们对网络的需求也越来越广泛,利用PC机上网来查阅和发布各类信息等对于网络的日常应用已经不能满足人们的需求。

像传统的电器,电冰箱,微波炉,电视,空调等,这类电子设备的功能也不在单一,电器结构也更为复杂,也逐步开始应用嵌入式网络接入,使用户可以通过网络就能实现远程控制,信息通讯。

同样,互联网在全球范围内的连通性,那些能够连接因特网的设备也成为人们选择产品中考虑的一大问题,通过Internet对家用电器等非网络设备进行远程控制已经成为现今主流。

而一些小型轻便的设备,比如一些医学仪器上的身体上使用的传感器,体积小而且便宜,内存小,运算能力有限,因此必须在资源受限的情况下实现TCP/IP协议甚至处理接受到的信息.

TCP/IP协议可以分为四个层次,从底层到最高层分别是物理层和数据链路层,网络层,传输层,和最高层的应用层。

物理层和数据链路层是TCP/IP协议的最低层,要求提供给上层一个访问接口,以便传递IP分组信息。

网络层是第二层,也是整个TCP/IP协议栈的核心,其功能是把分组发往目标网络或主机,源主机与目的主机可以在同一个网上,也可以在不同的网上。

其中定义了分组格式和协议,即IP协议,来对分组进行排序。

IP协议是一种不可靠、无连接的数据报发传送服务的协议,提供的只是一种尽力而为的服务。

传输层是第三层,负责在应用进程中的端到端之间的通信.传输层定义了两种服务质量不同的协议,TCP和UDP。

TCP是一种可靠的面向连接的协议,允许将源主机的字节数据流无差别的传送到目的主机.同时能够完成流量的控制功能,协调收发主机之间的发送和接受速度,从而控制正确的传输.应用层是最高层,其中也包括了很多协议:

文件传送协议,简单邮件传送协议,简单网络管理协议,超文本传送协议等。

LwIP是瑞士计算机科学院一个开源的TCP/IP协议栈实现。

LwIP是LightWeightIP协议,有无操作系统都可以运行,其实现的重点是在保持TCP/IP协议的主要功能的基础上减少对内存的占用,一般只需要几百字节的RAM和40K左右的ROM就可以运行,这使得LwIP成为在资源受限的情况下实现及处理TCP/IP协议的解决方法。

LwIP可以支持多网络接口下的IP转发,提供专门的内部回调接口RawAPI,这样可以提高应用程序性能.

像LwIP的目标系统是最小限度系统,所使用的操作系统通常不能在内核与应用层进程之间维持一个严格的保护屏障.这里允许使用一种比较宽松的通许机制,通过共享内存的方式实现应用层与底层协议族之间的通讯。

应用层可以知道底层协议使用的缓冲处理机制,这使得应用层可以有效的重复使用缓冲区。

同样,应用层与网络代码使用的是相同的内存区,那么应用层就可以直接读写内部缓冲区。

2。

2国内外stm32控制以太网技术发展现状及趋势

中国的嵌入式系统开发走过了二十多年的历程,有超过数十万名从事开发应用的工程师,但大多数以上是几个人的小组以孤军奋战的封闭方式开发几乎不可重用的软件。

今天面对的是嵌入式系统工业化的潮流,如果不能认识到嵌入式软件必须以工业化的方式生产开发,不理解在短时间内装配集成“数百人/年”的嵌入式产品,那么将失去更多的上游产品的市场机遇.

嵌入式软件方面逐渐形成了系统软件、应用软件的架构。

国际上用于信息电器的嵌入式操作系统有40种左右.其中,国外涌现了一些著名的嵌入式操作系统,如:

Vxworks、pSOS、WinCE、RTEK、palmOS、EpOC、QNX、LynxOS、DSPhnux等。

其中Vx/Orks是目前嵌入式系统领域中使用最广泛、市场占有率最高的系统:

WinCE是一种32位的多任务操作系统,可以移植,能够开发多种企业和客户类设备,是微软公司的“维纳斯计划"

的核心:

3COM公司的Palm0S在PDA市场上占有很大的市场份额,它有开放的操作系统应用程序接口(API),开发商可以根据需要自行开发所需要的应用程序.

国内外有大量嵌入式应用软件已广泛用于各类嵌入式系统中.大有国内紧跟国外趋势的形势.但是对于嵌入式Web服务器方面的研究国内现状不容乐观,目前国外的相关研究相对多些。

如林C/IP研究项目,它是一个为微控制器和嵌入式系统而设计的小型TCP/IP协议栈:

又如CMX公司的MieroNetTCP/IP,它是为8位或16位微处理器而设计的,支持大部分的标准协议,连接方式有以太网连接、拨号连接和直接连接方式。

而国内也相应提出了Webito协议标准,但是相对滞后,缺少具体的工程实现方面的研究和具体产品的开发。

美国DEC公司开发的VMSeluster系统开发最早,技术也较成熟,应用也很广泛,但由于VMS操作系统只能在DEC公司的VAX系列和AIPha系列服务器上运行,VMScluster的应用受到很大限制.

Platform公司开发的高可用性集群系统LSF提供了分布式集群系统的解决方案,通过将物理上分离的多个集群连接在一起使多个同构或异构的计算机能够通过局域网或广域网共享计算资源,并能够为用户提供对资源的透明访问。

国内也有不少公司进行了集群系统的研究和开发工作.

联想公司在1999年9月推出了用于分布式高性能计算的NS10000高性能集群服务,该系统是一个四节点的系统,主要基于联想万全45008服务器,以总体成本相对较低的设备组合,足以替代传统班SC小型机和中型机的工作,而价格仅为市场上同等性能小型机的1/2--1/40。

朗讯公司也推出了类似于Urboduster的高可用性集群系统LongshineClusterServer.

从国内外的研究现状看,目前集群系统的应用大都致力于高可用性问题的解决,真正基于负载均衡的集群系统还比较少,而且在大部分负载均衡集群中采用的都是轮转调度、加权轮转调度等静态调度算法。

3研发方向和技术关键

(1)合理设计硬件电路,使各模块功能协调;

(2)STM32对DM9161的控制;

(3)STM32对串口模块的控制;

(4)STM32对TCP/IP协议栈的开发;

2.4主要技术指标

(1)合理设计硬件电路,使各模块功能协调

(2)STM32可以实现对数据的处理和传输。

(3)对DM9161的控制的数据的传输

3总体设计

3。

1系统方案选择与论证

总体设计思路,分为三部分,无线数据采集部分,网络控制部分,控制部分。

并利用stm32对各部分进行控制。

应用DM9161通过网线与上位机相连接,可以处理和传递下系统相关参数。

设计模块图如图3.1所示。

图3。

1整体模块图

3.1。

1控制部分方案

在本次设计中,单片机是系统的控制核心,所以单片机的性能关系到整个系统的好坏。

因此单片机的选择,对所设计系统的实现以及功能的扩展有着很大的影响。

单片机种类很多,STM32系列基于专为要求高性能、低成本、低功耗的嵌入式应用专门设计的ARMCortex—M3内核.按性能分成两个不同的系列:

STM32F103“增强型"

系列和STM32F101“基本型”系列.增强型系列时钟频率达到72MHz,是同类产品中性能最高的产品;

基本型时钟频率为36MHz,以16位产品的价格得到比16位产品大幅提升的性能,是16位产品用户的最佳选择.两个系列都内置32K到128K的闪存,不同的是SRAM的最大容量和外设接口的组合。

时钟频率72MHz时,从闪存执行代码,STM32功耗36mA,是32位市场上功耗最低的产品,相当于0.5mA/MHz。

因此,在本次设计中选用了stm32F107单片机作为主控芯片.

1。

2无线数据采集部分方案

本设计有单片机控制无线模块,接收从无线网络的数据,并经过单片机进行处理,通过网络控制部分传送给PC接收.通过UTC4832无线网络把数据上传至主通信节点,主通信节点对数据进行进一步处理,通过以太网把数据发送至应用服务器.

2.1。

3网络控制部分方案

方案一:

采用基于RTL8019AS实现以太网通讯。

RTL8019AS是由台湾Realtek公司生产的100pinPQFP封装10Mbps以太网控制器,符和EthernetII与IEEE802。

3标准,其应用成熟广泛,但是由于RTL8019AS没有集成内部硬件协议,此方案需要在主控制器内部编写以太网通讯协议、程序繁琐、耗费时间,不利于系统的快速开发和稳定运行。

且由于其封装引脚太多,也不方便系统的硬件设计。

方案二:

采用基于DM9161的网络控制器的以太网通讯系统设计.

DM9161DM9161AEP是一款完全集成的和符合成本效益单芯片快速以太PHY,是采用较小工艺0。

25um的10/100M自适应的以太网收发器.DM9161AEP通过可变电压的MII或RMII标准数字接口连接到MAC层,支持HPAuto-MDIX†。

是目前常见的一款物理层收发器,由于全球的MCU集成度不断提高,由MAC+PHY+MII的衍生到现在的PHY,在以太网部分的成本,逐渐降低。

方案三:

采用基于ENC28J60的网络控制器的设计.

ENC28J60是带有行业标准串行外设SPI接口的独立以太网控制器,具有28pinDIP封装,符合IEEE802。

3的全部规范,采用了一系列包过滤机制以对传入数据包进行限制。

他还提供了一个内部DMA模块,以实现快速数据吞吐和硬件支持的IP较验和计算.与主控制器的通信通过两个中断引脚和SPI实现,传输数据速率高达10Mb/s。

两个专用的引脚用于连接LED,进行网络活动状态指示。

虽然ENC28J60同样也没有像DM9161那样集成了了内部硬件协议栈,但是由于其具有28pinDIP封装,大大便于硬件设计和制版,符合我们这次系统设计的基本要求。

综上所述所述,方案二和方案三都适合作为本次设计的网络控制部分,由于条件所限我们选择方案二。

2系统软件总体结构

系统软件总体结构如图3—2所示,整个程序是围绕STM32F107VCT6单片机设计的,软件程序采用模块化设计,更容易理解和调试.整个程序除主程序之外还有5个部分:

系统初始化子程序、RS232通讯子程序、网口通讯子程序、I/O数据采集子程序和RS485通讯子程序。

图3-2软件结构图

主程序流程图如图3-3所示。

系统运行后进入主程序,首先对系统硬件进行初始化,而后再对网络进行初始化,然后检查网络连接是否正常,连接正常则进行周期运行显示,不正常则重新进行连接。

图3—3主程序流程图

3本章小结

本章主要讲述了本设计的工作原理和本设计系统的工作流程。

在说明工作原理的过程中,突出了电路的组成单元以及这些单元如何实现数据采集和数据处理控制功能。

在说明系统流程时,结合本设计的内容指出了参数设置的方法和意义。

4硬件设计

4。

1主控芯片STM32F107

32位ARMCortex—M3结构,72MHz运行频率,1.25DMIPS/MHz,硬件除法和单周期乘法,并可快速可嵌套中断,6~12个时钟周期,有64K~256KB的FLASH,以及高达64KB的SRAM。

另外在网络通信功能上,具有一个RJ45网络接口,支持10M/100M自适应网络,还有一个Zigbee无线网络通讯接口,一个Wi-FiWLAN无线宽带网络通讯接口。

在本开发板上,添加了一些人机交互接口,一个大屏幕320*240,262144色TFT—LCD,支持SPI接口式/总线接口,四个LED发光管,一个电源LED指示灯,另外一个标准3.5mm耳机接口,一个五方向的输入摇杆,3个GPIO按键,1个RESTE按键,以及音频级处理芯片,USBOTG功能能,支持外接鼠标和键盘.串行通信功能上,有两个RS232连接插座,其中一个RS232带硬件流控制引脚,一个mini型USB插座,两个CAN连接口。

其中与以太网最重要的硬件是MAC(介质访问控制)及其专用的DMA。

专用的DMA控制器允许专用SRAM和描述符之间高速传输,其中一些地址过滤模式,对物理和组发送地址,以及32位状态编码,用于每个传送和接受帧。

内部的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用于缓存传输和接收帧。

传输FIFO和接收FIFO都是2Kbyte,总计4Kbytes.

10.支持硬件PTP(精确时间协议),时间戳比较器连接到TIM2触发输入端。

当系统时间比预定目标时间大时,触发中断。

4.1。

1STM32F107的以太网功能描述

STM32F107支持两种工业标准的物理层接口,默认的介质无关接口MII和精简的介质无关接口RMII。

以太网的外设由MAC和一个专用的DMA控制器,支持默认的MII和RMII通过一个选择位来设置默认的MII接口或者精简MII接口。

TDMA控制器接口通过AHB主从接口连接核和内存,AHB主接口控制数据传输当AHN从接口访问控制盒状态寄存器空间.在MAC核传输前,传输FIFO缓存通过DMA从系统内存中读取数据,类似的,接受的FIFO队列从线上储存以太网帧从而知道它们被DMA传送到了系统内存中。

以太网的外设还包括一个SMI用于和外部的PHY通信.配置寄存器允许用户为MAC和DMA控制器选择想要的模式和特性。

图4.2STM32F107以太网原理框图

2SMI站管理接口

SMI(stationmanagementinterface站管理接口)允许应用程序通过一根时钟数据线来读取配置中任意一个物理寄存器,接口最多支持访问是32个PHY。

应用程序可以在SMI的允许下选择32个PHY中的其中一个,再在PHY中32个寄存器中的任意一个来发送控制数据或者接受状态信息。

但是在给定的时间里,只能访问一个PHY中的寄存器。

如图4。

2所示,图中微控制器执行使MDC时钟线和MDIO数据线来为交替的功能I/O扣。

MDC是一个用于给数据传输提供时间参考的周期性时钟,最大的频率为2。

5MHz,最小的MDC的高低时间是每次160ns,最小的周期是400ns。

值得注意的是,在不工作的情况下,SMI管理接口驱动MDC时钟信号为低,即为0.而MDIO是数据输入和输出数据是要用MDC时钟信号来同步传输状态信号给物理设备,或者从物理设备那得到状态信号。

图4。

3SMI管理接口框图

4.1.3SMI写操作

当应用程序设置介质无关接口MII写和忙位时,SMI通过传输PHY的地址,PHY中的寄存器地址以及写数据来启动一个写操作到PHY寄存器上。

当然,在传输过程中应用程序不能改变MII的地址寄存器中的内存或者是MII数据寄存器。

在这个写操作的时间里,任何对MII地址寄存器和MII数据寄存器的写操作都会被忽略(忙时位为高,即为1),保证传输过程无差错完成。

这个写操作完成之后,SMI又通过复位忙位,使得可以重新接受新的写操作。

图4.4SMI写操作

4SMI的读操作

用户设置以太网MAC中MII的地址寄存器中的MIIBusybit时,MIIWritebit为零,SMI就通过传输PHY地址和PHY中的寄存器的地址,然后在PHY寄存器中就启动一个读操作。

同样的,在传输过程中应用程序不能改变MII地址寄存器中的内容或者MII数据寄存器中的内容。

同时在读操作过程中,对MII地址寄存器和MII数据寄存器的写操作也会被忽略(Busybit为高,即为1),保证传输过程不差错,能够正确完成.读操作完成后,SMI复位Busybit,然后用从PHY中读到的数据来更新MII数据寄存器。

图4.5SMI读操作

2STM32串口通讯

STM32的串口是相当丰富的,功能也很强劲。

最多可提供5路串口(MiniSTM32使用的是STM32F103RBT6,具有3个串口),有分数波特率发生器、支持单线光通信和半双工单线通讯、支持LIN、智能卡协议和IrDASIRENDEC规范(仅串口3支持)、具有DMA等。

5485电路

串口最基本的设置,就是波特率的设置。

STM32的串口使用起来还是蛮简单的,只要你开启了串口时钟,并设置相应IO口的模式,然后配置一下波特率,数据位长度,奇偶校验位等信息,就可以使用了.下面,我们就简单介绍下这几个与串口基本配置直接相关的寄存器。

1,串口时钟使能。

串口作为STM32的一个外设,其时钟由外设时钟使能寄存器控制,这里我们使用的串口1是在APB2ENR寄存器的第14位。

APB2ENR寄存器在之前已经介绍过了,这里不再介绍.只是说明一点,就是除了串口1的时钟使能在APB2ENR寄存器,其他串口的时钟使能位都在APB1ENR.

2,串口复位。

当外设出现异常的时候可以通过复位寄存器里面的对应位设置,实现该外设的复位,然后重新配置这个外设达到让其重新工作的目的.一

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2