支持以太网的嵌入式控制器设计毕业论文
2020-04-10 16:58:16
摘 要
随着以太网的不断发展,终端设备发展方向趋向于高度集成化,工业以太网在远程监控系统中的应用也变得更加广泛。由于工业底层网络的不同现场总线,协议间兼容问题一直没有得到有效地解决,以太网技术得以迅猛发展。以太网的引入,不仅可以减少不同厂家设备的集成成本,也方便控制层、管理层及现场层的集成。
本文的主要内容:根据国内外发展现状,分析了嵌入式以太网技术的实现方法,确定了本次设计中实现嵌入式以太网技术的设计方案;完成了嵌入式控制器的整体结构设计,分析设计了嵌入式控制器硬件部分的整体结构。
论文主要基于TCP/IP模型,完成了嵌入式控制器软件部分的编写;完成了LWIP协议栈在STM32F407底层驱动上的移植;采用传输控制协议TCP作为运输层协议,实现了开发板与PC端的网络调试助手之间的网络通信功能;应用IAP程序对固件程序进行了更新升级;通过串口调试助手以及网络调试助手,对嵌入式控制器进行整体的测试,验证了此嵌入式控制器可以进行网络通信,并且可以利用IAP实现固件更新与升级。
关键词:以太网;STM32F407;嵌入式LWIP;TCP/IP
Abstract
With the continuous development of Ethernet, the development direction of terminal equipment tends to be highly integrated, and the application of industrial Ethernet in remote monitoring systems has become more extensive. Due to the different fieldbuses of the industrial bottom layer network, the compatibility problem between protocols has not been effectively solved, and Ethernet technology has been rapidly developed. The introduction of Ethernet can not only reduce the integration cost of equipment from different manufacturers, but also facilitate the integration of the control layer, management layer and field layer.
The characteristics of this paper: According to the development status at home and abroad, the implementation method of embedded Ethernet technology is analyzed, the design scheme of implementing embedded Ethernet technology in this design is determined, the overall structure design of the embedded controller is completed, and the analysis and design is completed. The overall structure of the embedded controller hardware section.
The paper mainly based on TCP/IP model, completed the writing of the software part of the embedded controller; completed the transplantation of the LWIP protocol stack on the bottom driver of STM32F407; adopted the transmission control protocol TCP as the transport layer protocol, and realized the development board and the PC side network. Network communication function between debugging assistants; application of IAP program to update the firmware program; through the serial debugging assistant and network debugging assistant, the embedded controller is tested as a whole, which verifies that the embedded controller can perform network communication. , And can use IAP to achieve firmware updates and upgrades.
Key Words:Ethernet; STM32F407; Embedded LWIP; TCP/IP
目 录
目 录 3
第1章 绪论 1
1.1 课题研究背景及意义 1
1.2 国内外研究现状 1
1.2.1 嵌入式系统发展现状 1
1.2.2 工业以太网技术发展现状 2
1.2.3 嵌入式以太网技术的具体实现 2
1.3 嵌入式以太网技术的实现及设计方案选定 3
1.3.1 嵌入式以太网技术的具体实现 3
1.3.2 本文采用的设计方案 4
1.4 本论文主要研究内容 4
第2章 嵌入式控制器方案设计 5
2.1 嵌入式控制器整体结构 5
2.2 嵌入式微控制单元的选择 5
2.3 嵌入式控制器网络协议栈的选择 6
2.4 本章小结 6
第3章 嵌入式控制器硬件设计 7
3.1 嵌入式控制器硬件整体结构图 7
3.2 微控制器以太网模块 7
3.3 STM32最小系统设计 8
3.3.1 复位电路设计 9
3.3.2 供电电路设计 9
3.3.3 时钟电路设计 10
3.3.4 BOOT启动模式选择电路设计 11
3.3.5 下载电路设计 12
3.4 外围电路设计 12
3.4.1 以太网接口电路设计 12
3.4.2 输入输出电路设计 15
3.5 本章小结 17
第4章 嵌入式控制器软件设计 18
4.1 TCP/IP协议介绍 18
4.2 网络驱动程序设计 19
4.2.1 STM32F407网卡驱动程序设计 19
4.2.2 LWIP动态内存管理 24
4.2.3 LWIP数据包管理 26
4.2.4 LWIP网络接口管理 28
4.2.5 编写lwip_comm.c文件 29
4.2.6 ethernetif.c程序编写 30
4.3 TCP客户端实现 33
4.3.1 TCP数据报 34
4.3.2 TCP的运输连接管理 34
4.3.3 TCPclient程序编写 36
4.4 IAP固件升级 38
4.5 本章小结 40
第5章 嵌入式控制器的测试 41
5.1 实验测试环境 41
5.2 实现测试过程 41
5.3 本章小结 44
第6章 总结与展望 45
参考文献 46
附录 47
致谢 48
绪论
- 课题研究背景及意义
随着城市化进程的快速发展,很多城市正向区域性特大型城市迈进,高层建筑成为城市建设的主导,二次供水越来越普遍,为了让人们喝上干净水、放心水,政府对二次供水安全提出了更高的要求,为解决二次供水管理无序、设备老旧、技术落后等问题,确保高层住宅安全稳定供水,许多供水集团公司都开始研发建立二次供水远程监控系统,从而对各子站采取远程监控、无人值守、定期巡检、排除隐患的综合管理运行模式,保证二次供水安全、稳定可靠运行[[1]]。
现今,工业控制领域常采用嵌入式系统实现各种自动控制功能,并且随着以太网技术的不断成熟,常常将嵌入式系统与以太网技术结合起来,组成监控系统,实现远端的无人值守或少人值守,从而提升工业现代化操作水平。
本课题基于这一背景研究一种支持以太网通讯的嵌入式控制器设计,以实时监控二次供水系统的运行状态。
- 国内外研究现状
- 嵌入式系统发展现状
- 国内外研究现状
嵌入式系统是一种嵌入机械或电气系统内部、具有专一功能和实时计算性能的计算机系统。嵌入式系统通常被用来嵌入到具有机械部件和数字硬件的完整设备中,用来提高设备的运行效率。
嵌入式系统是随着单片机的发展而出现的,单片机最初出现在70年代,被应用在工业机器、汽车等产品中,内嵌在这些产品中的单片机是8位的,仅仅只是执行一些简单的程序,但从80年代早期开始,商业级的“操作系统”被程序员用来编写嵌入式应用软件,这一方式提高了开发效率,减少开发成本,并且缩短了开发后期,这个时候嵌入式系统的概念才真正的出现,于是各种嵌入式系统发展起来了,例如QNX公司的QNX、ISI的PSOS和Ready System 公司的VRTX等等,90年代后,由于软件规模的逐步提升以及对嵌入式实时性要求的增加,RTOS实时多任务操作系统成为了目前国际嵌入式系统的主流,目前,市面上有许多各具特色嵌入式实时操作系统,例如Windows Embedded CE、uC/OS-II、uC/OS -III、嵌入式Linux、VxWorks、eCos、uCLinux等。嵌入式系统产品的研发和应用带动了国信息化和工业化的发展,是国一个新的重要的国民经济增长点。
- 工业以太网技术发展现状
由于测控装置、被控对象等设备在地理位置上面十分的分散,并且随着控制系统规模的逐渐增大,控制系统的规模也在逐步地增大,因此集中控制系统已经满足不了工业自动控制的需求,现场总线就是在这样的背景下出现,它可以在程度上解决这一问题,可是由于在工业底层网络的不同现场总线协议之间的兼容问题一直没有有效地解决,现场总线的发展遇到一定的阻碍,这时,以太网技术开始迅猛地发展起来。
以太网技术已经成功地引入到Internet以及局域网中,以太网的引入不仅可以减少不同厂家设备的集成成本,也方便控制层、管理层和现场层的集成,在工业控制系统的底层网络中应用以太网技术使办公自动化和工业自动化的结合得以实现,工业以太网的优势如下:
- 成本低;
- 数据传输速率高;
- 具有广泛的技术支持;
- 资源共享能力强;
- 易于组网,易于与Internet连接[[2]]。
工业以太网技术的出现使得工业控制技术得到了新的发展,目前工业以太网技术成为当今工业自动控制领域的发展热点之一,但是由于工业以太网结构中存在一定的局限性并且在工业以太网中缺乏通用的应用层标准,工业以太网的功能受到一定影响并且还不可以在所有的工业自动化控制系统中使用,但是随着对工业以太网研究的不断深入,它的应用领域一定会持续扩大。
- 嵌入式以太网技术的具体实现
在工业自动控制领域中,嵌入式系统通常被用作下位机来对数据进行采集与控制,PC机则被用作下位机来完成多种管理任务。由于进行数据处理的地点一般距离嵌入式系统较远,并且单个的嵌入式系统能完成的任务有限,各种局部总线技术相继出现,例如RS-485、CAN等等,将局部总线技术引入到嵌入式系统中使得多个嵌入式系统构成局域网,大大增强了嵌入式系统的功能,并且可以实现远程控制。
如今在远程实验、产品的升级诊断、远程通讯等各个领域都对嵌入式系统提出更高的要求,希望系统不仅能长距离大范围传送数据,并且还要满足安全性和可靠性的要求。由于因特网的信息资源十分丰富,世界各地的人都可以通过因特网进行通信,因此,人希望能将嵌入式系统与因特网连接起来,嵌入式因特网技术便出现了[[3]]。
早期以太网的速度及确定性满足不了工业通信的要求,并且当时只有少部分32以上的处理器可以满足网络通信协议读嵌入式存储器容量以及运算速度等的要求,因此嵌入式系统和以太网技术的结合存在很大的困难。但是随着IT公司对嵌入式系统的不断研发,各种支持网络协议通信的新的嵌入式处理器相继出现,例如Microchip公司的18F、Ubicom公司的SX系列处理器等。于是嵌入式以太网技术的发展十分快速,具有极大的商业价值和市场潜力[[4]]。
发展应用嵌入式以太网技术使远距离通信成为可能,便于集中管理和高层监控,提高决策水平,并且能够提高生产效益,控制质量,降低成本。
- 嵌入式以太网技术的实现及设计方案选定
嵌入式以太网技术的具体实现
TCP/IP协议是以太网技术的基础,传统的TCP/IP协议在数据流量控制以及数据传输可靠性方便做的很不错,但是由于传统的TCP/IP协议在实时性方面存在欠缺以及对系统资源的占用较大,传统的TCP/IP协议不能满足要求。因此在传统TCP/IP协议的基础上进行改进与精简,并且保留其原来的优点,从而适应系统要求。嵌入式以太网技术的主要特点是代码精简、具有灵活性和实时性强。它的实现有以下四种方式:
- RTOS与嵌入式微控制器组合。
- 分布式嵌入式以太网技术。一般来说有三种实现方式:
- TCP/IP协议栈 实时操作系统RTOS;
- 裁减TCP/IP协议栈+MCU;
- TCP/IP硬件芯片+MCU。
- 集中式嵌入式以太网技术。
- EMIT协议、MCU以及Emgateway协议[[5]]。
本文采用的设计方案
本文采用分布式嵌入式以太网技术,使用MCU+裁减TCP/IP协议栈方式实现嵌入式以太网通讯,选择STM32F407ZGT6作为MCU,选择LWIP协议作为网络协议栈,能够直接在嵌入式处理器上实现LWIP协议栈,在设计软件的过程中,选择使用轮询与终端的方式对外设进行控制。
- 本论文主要研究内容
分析嵌入式控制器的工作原理,制定整体的硬件及软件设计方案。硬件电路设计采用意法半导体公司生产的基于ARMcortex M4内核的STM32F407ZGT6作为嵌入式控制器的主控芯片,完成嵌入式控制器各个模块的电路:微控制器模块电路、输入输出电路,以太网接口电路,电源电路;完成不带操作系统的LWIP协议栈移植,分析网络协议栈的基本结构,编写嵌入式控制器的底层驱动程序,实现网络通信功能,并且实现固件升级功能。
嵌入式控制器方案设计
- 嵌入式控制器整体结构
嵌入式控制器通常由嵌入式处理器、嵌入式网络协议、外围扩展电路以及软件程序组成,在本次设计中,将整体的设计分为软件程序设计、LWIP协议栈移植、微处理器及外围扩展电路的硬件设计三个部分,这三个部分相互结合与协调共同实现嵌入式控制器的网络通信功能。嵌入式整体结构框如图2.1所示:
图2.1 系统整体结构图
嵌入式微控制单元的选择
微控制单元也称为单片机,它将一个计算机的系统集成到一个芯片上,不仅仅只是完成某一个功能,应用单片机可以在各种场合对不同的设备进行控制。单片机在很多领域都应用的十分广泛。由于单片机具有很强的控制功能,并且体积小、扩展灵活、功率消耗很低,能适应各种各样的工作环境,所以单片机在有着多种多样控制系统的工业控制领域中被广泛地应用,例如不同的报警系统、汽车的安全保障系统等等。
在单片机出现的初期阶段,单片机都是4位或者8位,例如4位的Intel 4004、8位的Intel 8008等单片机,随着工业控制的发展,16位单片机出现了,例如Intel的MCS-96/196、TI的MSP430系列、凌阳SPCE061A系列等等,但是因为16位单片机的性价比低,应用得很少。近年来,单片机技术迅速发展,32位单片机出现并且在市场中占有极大的地位,如今了许多嵌入式操作系统与单片机结合,极大提高了单片机的整理功能。
32位单片机具有高效的数据处理性能、较低的成本价格、丰富的芯片外设资源以及完善的技术支持,因此在设计当中选择使用32位的单片机,此次设计中按照功能的要求,单片机需要具有网络控制接口、I/O控制、SPI接口、通用串行接口并且需要移植网络协议栈等功能,结合二次供水工业控制系统对单片机性能、价格、功耗等实际要求,选择意法半导体ST公司的探索者STM32F4开发板作为本设计的核心处理器。
嵌入式控制器网络协议栈的选择
在设计中,通过对比选择LWIP协议栈作为通信协议,小型开源的LWIP协议栈是由瑞典计算机科学院的AdamDunkels开发的,无论有没有操作系统的支持LWP协议栈都可以运行,LWIP极大地降低对RAM的占用,并且保留了TCP/IP协议的主要功能,LWIP协议栈包含许多常见协议,例如HTTP协议、IP协议、ARP协议等等,通过配置lwippopts.h文件可以控制这些协议功能的开启和关闭,综上考虑,将LWIP协议栈用于本设计中的嵌入式控制器是十分适用的。
LWIP协议栈有三种应用程序接口(API),第一种接口是RAW接口,采用这种API时,由于应用程序和协议栈在同一个进程,并且采用的是函数回调的方法,所以RAW接口的应用程序不能进行连续操作,降低通讯性能,但同时也具有接收发送数据时无需产生进程切换的优势。后两种接口必须在有操作系统的情况下使用,本设计中没有移植操作系统,故采用第一种应用程序接口[[6]]。
本章小结
以上是毕业论文大纲或资料介绍,该课题完整毕业论文、开题报告、任务书、程序设计、图纸设计等资料请添加微信获取,微信号:bysjorg。
相关图片展示: