STM32毕业论文.docx

上传人:b****4 文档编号:12129719 上传时间:2023-04-17 格式:DOCX 页数:33 大小:1.14MB
下载 相关 举报
STM32毕业论文.docx_第1页
第1页 / 共33页
STM32毕业论文.docx_第2页
第2页 / 共33页
STM32毕业论文.docx_第3页
第3页 / 共33页
STM32毕业论文.docx_第4页
第4页 / 共33页
STM32毕业论文.docx_第5页
第5页 / 共33页
点击查看更多>>
下载资源
资源描述

STM32毕业论文.docx

《STM32毕业论文.docx》由会员分享,可在线阅读,更多相关《STM32毕业论文.docx(33页珍藏版)》请在冰豆网上搜索。

STM32毕业论文.docx

STM32毕业论文

本科毕业设计

(20届)

题目

基于stm32无线数据基站的设计和实现

学院

电子信息学院

专业

电子信息工程

姓名

陈洁

班级

09091813

学号

09918307

指导教师

周磊

完成日期

20年3月

诚信承诺

我谨在此许诺:

本人所写的毕业论文《基于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概述

课题研究的背景

近几年来,随着科学技术日新月异的进展,运算机科技的快速进展,专门是互联网的快速普及,互联网在人类活动中也愈来愈紧密联系,尤其是关于工业操纵和信息电器领域中一样有着愈来愈重要的应用。

同时运算机,通信,消费电子三合一的快速进展,数字化时期已经到来。

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

因为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的目标系统是最小限度系统,所利用的操作系统通常不能在内核与应用层进程之间维持一个严格的爱惜屏障。

那个地址许诺利用一种比较宽松的通许机制,通过共享内存的方式实现应用层与底层协议族之间的通信。

应用层能够明白底层协议利用的缓冲处置机制,这使得应用层能够有效的重复利用缓冲区。

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

国内外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。

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

研发方向和技术关键

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

(2)STM32对DM9161的操纵;

(3)STM32对串口模块的操纵;

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

要紧技术指标

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

(2)STM32能够实现对数据的处置和传输。

(3)对DM9161的操纵的数据的传输

 

3整体设计

系统方案选择与论证

整体设计思路,分为三部份,无线数据搜集部份,网络操纵部份,操纵部份。

并利用stm32对各部份进行操纵。

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

设计模块图如下图。

 

图整体模块图

操纵部份方案

在本次设计中,单片机是系统的操纵核心,因此单片机的性能关系到整个系统的好坏。

因此单片机的选择,对所设计系统的实现和功能的扩展有着专门大的阻碍。

单片机种类很多,STM32系列基于专为要求高性能、低本钱、低功耗的嵌入式应用专门设计的ARM内核。

按性能分成两个不同的系列:

STM32F103“增强型”系列和STM32F101“大体型”系列。

增强型系列时钟频率达到72MHz,是同类产品中性能最高的产品;大体型时钟频率为36MHz,以16位产品的价钱取得比16位产品大幅提升的性能,是16位产品用户的最正确选择。

两个系列都内置32K到128K的闪存,不同的是SRAM的最大容量和外设接口的组合。

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

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

无线数据搜集部份方案

本设计有单片机操纵无线模块,接收从无线网络的数据,并通过单片机进行处置,通过网络操纵部份传送给PC接收。

通过UTC4832无线网络把数据上传至主通信节点,主通信节点对数据进行进一步处置,通过以太网把数据发送至应用效劳器。

网络操纵部份方案

方案一:

采纳基于RTL8019AS实现以太网通信。

RTL8019AS是由台湾Realtek公司生产的100pinPQFP封装10Mbps以太网操纵器,符和EthernetII与标准,其应用成熟普遍,可是由于RTL8019AS没有集成内部硬件协议,此方案需要在主操纵器内部编写以太网通信协议、程序繁琐、花费时刻,无益于系统的快速开发和稳固运行。

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

方案二:

采纳基于DM9161的网络操纵器的以太网通信系统设计。

DM9161DM9161AEP是一款完全集成的和符合本钱效益单芯片快速以太PHY,是采纳较小工艺的10/100M自适应的以太网收发器。

DM9161AEP通过可变电压的MII或RMII标准数字接口连接到MAC层,支持HPAuto-MDIX†。

是目前常见的一款物理层收发器,由于全世界的MCU集成度不断提高,由MAC+PHY+MII的衍生到此刻的PHY,在以太网部份的本钱,慢慢降低。

方案三:

采纳基于ENC28J60的网络操纵器的设计。

ENC28J60是带有行业标准串行外设SPI接口的独立以太网操纵器,具有28pinDIP封装,符合的全数标准,采纳了一系列包过滤机制以对传入数据包进行限制。

他还提供了一个内部DMA模块,以实现快速数据吞吐和硬件支持的IP较验和计算。

与主操纵器的通信通过两个中断引脚和SPI实现,传输数据速度高达10Mb/s。

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

尽管ENC28J60一样也没有像DM9161那样集成了了内部硬件协议栈,可是由于其具有28pinDIP封装,大大便于硬件设计和制版,符合咱们这次系统设计的大体要求。

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

系统软件整体结构

系统软件整体结构如图3-2所示,整个程序是围绕STM32F107VCT6单片机设计的,软件程序采纳模块化设计,更易明白得和调试。

整个程序除主程序之外还有5个部份:

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

图3-2软件结构图

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

系统运行后进入主程序,第一对系统硬件进行初始化,而后再对网络进行初始化,然后检查网络连接是不是正常,连接正常那么进行周期运行显示,不正常那么从头进行连接。

图3-3主程序流程图

本章小结

本章要紧讲述了本设计

的工作原理和本设计系统的工作流程。

在说明工作原理的进程中,突出了电路的组成单元和这些单元如何实现数据搜集和数据处置操纵功能。

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

4硬件设计

主控芯片STM32F107

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

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

在本开发板上,添加了一些人机交互接口,一个大屏幕320*240,262144色TFT-LCD,支持SPI接口式/总线接口,四个LED发光管,一个电源LED指示灯,另外一个标准耳机接口,一个五方向的输入摇杆,3个GPIO按键,1个RESTE按键,和音频级处置芯片,USBOTG功能能,支持外接鼠标和键盘。

串行通信功能上,有两个RS232连接插座,其中一个RS232带硬件流操纵引脚,一个mini型USB插座,两个CAN连接口。

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

专用的DMA操纵器许诺专用SRAM和描述符之间高速传输,其中一些地址过滤模式,对物理和组发送地址,和32位状态编码,用于每一个传送和同意帧。

内部的FIFO用于缓存传输和同意帧,传输FIFO和同意FIFO都是2Kbyte,总共4Kbytes。

实物图如下图:

 

图实物图图 

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触发输入端。

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

STM32F107的以太网功能描述

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

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

TDMA操纵器接口通过AHB主从接口连接核和内存,AHB主接口操纵数据传输当AHN从接口访问操纵盒状态寄放器空间。

在MAC核传输前,传输FIFO缓存通过DMA从系统内存中读取数据,类似的,同意的FIFO队列从线上贮存以太网帧从而明白它们被DMA传送到了系统内存中。

以太网的外设还包括一个SMI用于和外部的PHY通信。

配置寄放器许诺用户为MAC和DMA操纵器选择想要的模式和特性。

图STM32F107以太网原理框图

SMI站治理接口

SMI(stationmanagementinterface

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

应用程序能够在SMI的许诺下选择32个PHY中的其中一个,再在PHY中32个寄放器中的任意一个来发送操纵数据或同意状态信息。

可是在给定的时刻里,只能访问一个PHY中的寄放器。

如下图,图中微操纵器执行使MDC时钟线和MDIO数据线来为交替的功能I/O扣。

MDC是一个用于给数据传输提供时刻参考的周期性时钟,最大的频率为,最小的MDC的高低时刻是每次160ns,最小的周期是400ns。

值得注意的是,在不工作的情形下,SMI治理接口驱动MDC时钟信号为低,即为0。

而MDIO是数据输入和输出数据是要用MDC时钟信号来同步传输状态信号给物理设备,或从物理设备那取得状态信号。

图SMI治理接口框图

SMI写操作

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

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

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

那个写操作完成以后,SMI又通过复位忙位,使得能够从头同意新的写操作。

图SMI写操作

SMI的读操作

用户设置以太网MAC中MII的地址寄放器中的MIIBusybit时,MIIWritebit

为零,SMI就通过传输PHY地址和PHY中的寄放器的地址,然后在PHY寄放器中就启动一个读操作。

一样的,在传输进程中应用程序不能改变MII地址寄放器中的内容或MII数据寄放器中的内容。

同时在读操作进程中,对MII地址寄放器和MII数据寄放器的写操作也会被忽略(Busybit为高,即为1),保证传输进程只是失,能够正确完成。

读操作完成后,SMI复位Busybit,然后用从PHY中读到的数据来更新MII数据寄放器。

图SMI读操作

STM32串口通信

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

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

 

图485电路

串口最大体的设置,确实是波特率的设置。

STM32的串口利用起来仍是蛮简单的,只要你开启了串口时钟,并设置相应IO

口的模式,然后配置一下波特率,数据位长度,奇偶校验位等信息,就能够够够利用了。

下面,咱们就简单介绍下这几个与串口大体配置直接相关的寄放器。

1,串口时钟使能。

串口作为STM32的一个外设,其时钟由外设时钟使能寄放器操纵,那个地址咱们利用的串口1是在APB2ENR寄放器的第14位。

APB2ENR寄放器在之前已经介绍过了,那个地址再也不介绍。

只是说明一点,确实是除串口1的时钟使能在APB2ENR寄放器,其他串口的时钟使能位都在APB1ENR。

2,串口复位。

当外设显现异样的时候能够通过复位寄放器里面的对应位设置,实现该外设的复位,然后从头配置那个外设达到让其从头工作的目的。

一样在系统刚开始配置外设的时候,都会先执行复位该外设的操作。

串口1的复位是通过配置APB2RSTR寄放器的第14位来实现的。

APB2RSTR寄放器的列位描述如下:

           

图寄放器APB2RSTR列位描述

从上图可知串口1的复位设置

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

当前位置:首页 > 工程科技 > 能源化工

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

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