如有你有帮助请购买下载谢谢基于STM32的智能建筑以太网与RS232数据
传输网关的设计
Design of Ethernet and RS232 Data Transmission GatewayBased on STM32
学生姓名 Xxx
学生学号 Xxx
专业名称 建筑电气与智能化
指导教师 Xxx
控制与机械工程学院
2015年6月 18 日
1页
如有你有帮助请购买下载谢谢
独创性声明
本人声明所呈交的毕业设计论文是本人在指导教师指导下进行的研究工作和取得的研究成果除了文中特别加以引用标注之处外论文中不包含其他人已经发表或撰写过的研究成果没有伪造数据的行为。
毕业设计论文作者签名 签字日期 年 月 日
毕业设计论文版权使用授权书
本毕业设计论文作者完全了解学校有关保留、使用论文的规定。同意学校保留并向有关管理部门或机构送交论文的复印件和电子版允许论文被查阅和借阅。本人授权天津城建大学可以将本论文的全部或部分内容编入有关数据进行检索可以采用影印、缩印或扫描等复制手段保存和汇编本论文。
保密的毕业设计论文在解密后适用本授权说明
毕业设计论文作者签名 指导教师签名
签字日期 年 月 日 签字日期 年 月 日
摘 要
根据RS232与以太网的特点为了实现以太网与RS232数据传输网关的设计提出一种基于STM32微控制器的数据传输转换接口器的设计方法。充分发挥STM32F107控制器的超强功能利用通用输入输出口、时钟、中断控制及以太网等辅助功能去阐述设计原理并细致地给出相应的硬件电路。网关设计的软件应该采用模块化设计每个相应的模块都应该做成独立的函数以便调用时更省时运用主程序和中断服务程序对数据传输功能进行软件实现。在设计的过程中实现了以下三点功能第一点实现了使用STM32芯片来设计网关电路第二点实现了网关具有以太网接口和RS232接口第三点在设计软件的过程中实现了以太网TCP协议到串行数据协议的转换传输。关键字 STM32F107 以太网 RS232数据传输网关
AB STRAC T
According to the characteristics of RS232 and Ethernet, gateways for Ethernet andRS232 data transmission design,proposed a STM32 microcontroller-based design method ofdata conversion interface. Super STM32F107 controller function into full play, and usinggeneral purpose input/output port, clock, interrupt controller and Ethernet,while accessibilityand design princip les,and detail is given the appropriate hardware.Gateway de sign so ftwarehas a modular design, each corresponding modules should be made an independent function,so that when more time,use main program and interrupt service routines for data transmissionsoftware. In the design process to achieve the following three functions: 1 th, realized using
2页
如有你有帮助请购买下载谢谢the STM32 chip circuit design gateway;2nd, implements a gateway with Ethernet interfaceand RS232 interfaces;3 rd, in the process of designing software, implement TCP protocol overEthernet to serial data protocol conversion and transport.
Key wo rds STM32F 107 Ethernet RS232 Data transmis sion gateway
目 录
第一章方案介绍. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。
1. 1课题设计背景. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。
1.2课题设计要求. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。
1.3课题设计工作. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。
第二章主控芯片的选择. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。
2. 1 STM32微型控制器的选择. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。
2.2 STM32F107芯片概述. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。
2.3 STM32F107芯片结构. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。
2.4 STM32的功能及优势. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。
第三章网关硬件设计. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。
3. 1总体框架设计. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。
3.2电源模块设计. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。
3.3 JTAG下载电路. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。
3.4复位电路. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。
3.5以太网模块电路设计. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。
3.6 RS232通讯电路设计. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。
第四章软件介绍. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。
4. 1 LWIP协议栈简介. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。
4. 1. 1 pbuf结构体定义. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。
4. 1.2 LWIP协议栈中各层的实现. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。
4. 1.3 LWIP协议栈的内存管理. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。
4.2 IP处理. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。
4.2. 1 IP接收包. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。
4.2.2 IP发送包. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。
4.3 TCP服务器的设计和实现. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。
4.3. 1 TCP协议的特点. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。
4.3.2 TCP协议结构. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。
4.3.3 TCP连接函数的建立. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。
4.3.4 TCP服务器的初始化. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。
4.4 RS232的通讯. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。
4.5软件设计. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。
3页
如有你有帮助请购买下载谢谢
4.6数据转换软件设计. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。
第五章系统的测试. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。
5. 1数据传输简介. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。
5.2硬件连接. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。
5.3程序的调试与下载. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。
5.4软件配置. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。
5.5 TCP与RS232的双向数据传输. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。
5.5. 1 TCP向RS232进行数据传输. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。
5.5.2 RS232向TCP进行数据传输. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。
5.5.3测试结论分析. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。
致谢. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。
参考文献. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。
附录. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。
4页
如有你有帮助请购买下载谢谢
第一章方案介绍
1 . 1课题设计背景
智能建筑就是把建筑物的结构、设备、服务和管理依据不同用户的要求而进行的最合理的设计从而为用户提供一个高效、舒适、便利的人性化建筑环境。因此和普通的建筑相比智能建筑不仅具有居住的功能还在结构上由单一居住逐渐转换成现代智慧的工具。智能建筑可以提供内部和外部的信息交换和数据传输帮助人们与建筑内部设备互动从而有效地安排时间通过智能建筑建立一个强大的网络系统实现把家庭设备的各项信息综合在一个平台上。
现代智能建筑已经进入数字化、智能化时代进入物联网时代。要求信息共享生产过程信息化、网络化管理。在当今高速实时数字信号处理系统中涉及的数据对象趋于多样化这些数据通常需要不同的网络接口。具有不同的传输速率不同的传输方向。由于智能建筑的迅猛发展为了满足智能建筑现场不同功能模块的信息交换以及不同网络接口的数据传输要求。因此为了符合上述的要求提出一种新的设计方法特别选用STM32微控制器作为数据传输的中心控制器。结合设计要求提出“基于STM32的智能建筑以太网与RS232数据传输网关”的设计。
1 .2课题设计要求
为了使网关的数据传输更加的高效实用论文的要求是实现利用功能强大的STM32系列芯片设计网关电路。且设计的网关电路必须要同时具备以太网与RS232的接口这样即能节省费用又能大大地提高系统的利用率。除此之外在设计软件程序的时候设计必须要完成以太网TCP协议到串行数据协议的转换传输。
1 .3课题设计工作
1.数据传输网关的简介本次的设计课题为“基于STM32的智能建筑以太网与RS232的数据传输网关的设计”这次设计相对于以往的数据传输网关设计而言最大的创新之处是选用了STM32芯片微型控制器。因为设计就是为了不断的创新不断的优化陈旧的东西而让原有的设计能够在实现同样的效果的前提下使设计的成本和时间都能大大的降低从而达到最好的效率。所以STM32F107芯片显然能达到这个要求它同时具有以太网和RS232接口的功能能同时连接以太网接口和RS232接口并在两者之间起到一个“桥梁”的作用使两者在进行数据传输的时候对各自发来的数据包进行解包
1页
如有你有帮助请购买下载谢谢和打包的操作最终转换成能传向对方的数据。
2.硬件设计本次设计的硬件设计理念其实很简单主要是把整个系统模块化然后再对各个模块的功能进行细致的阐述。简单的来说本次设计分为四个模块来进行分别是电源模块 以太网模块 RS232模块还有STM32主控芯片。通过对以上四个模块的实现来最终完成数据传输网关的设计。
3.软件设计充分理解LWIP协议栈的的数据传输还有RS232串口再结合GPIO,NVIC和以太网充分理解以太网到RS232的数据传输过程和RS232到以太网的数据传输过程。然后根据数据传输的过程写出相应的程序流程图和程序最终结合硬件设备来完成本次的设计。
4.最后完成系统的调试这是非常重要的一步因为不管是硬件的设计还是软件的设计最终还是要为最后的调试服务假如调试不成功一切都是白费功夫而已。所以最后需要运用sscomv20 串口调试程序和TCP-tester来进行模拟的数据传输网关的设计只有不断的调试和修改才能最终使得我们的设计符合最终的设计要求。
2页
如有你有帮助请购买下载谢谢
第二章主控芯片的选择
2. 1 STM32微型控制器的选择
在开始设计之前需要选用同时具有网络接口的以太网和RS232接口的微型控制器同时要满足设计的其他的一些具体功能我们不得不选择一个合适的微控制器。因此STM32系列的微型控制器就给了我们非常多的选择和开发的空间它提供了全新的32位产品的选择可能性结合高性能、低功耗、高实用性的出色特点另一方面又能保持很高的集成度还有很容易开发的巨大优势。 STM32产品至今已经开发出了四大产品系列 L1 、 F1 、 F2和F4。具体的不同如下
1.F2系列不仅拥有以太网接口还有crypto/hash模块和SDIO模式的音频模块同时还有一个时钟频率120MHz和2个USB-OTG-FS接口。
2.L1系列它的时钟频率一般来说是32MHz配带有USB-FS接口是大家公认的超低功率型控制器。
3.F1系列对于这种系列来说一般分为基本型和互联型两种基本型芯片
STM32F103的时钟频率是72MHz 同时还配有USB-FS接口互联型芯片
STM32F107的时钟频率也是72MHz但是却配有2个USB-OTG-FS接口。除此之外还拥有以太网接口模块和RS 232接口。
4.F4系列它的有一个功能是和F2系列的芯片是一致的那就是最新微型功能模块。而有所区别的是在功能上有所加强 内部组成有配有一个Cortex-M4内核以太网接口模快和crypto/hash模块一般它的时钟频率可以高达168M Hz还有2个USB-OTG-FS接口。
从以上的4种系列的STM32微控制器来看既要同时满足设计中要求的具有以太网接口和RS 232接口的微型控制器又要结合高性能和低功耗的特点 以上能满足条件的最优答案就是互联型芯片STM32F107了 因此最终决定选用F1互联型系列的STM32F107作为本设计的微型控制器。
2.2 STM32F107芯片概述
STM32F107是意法半导体公司最新推出的一款带有CORTEX-M3内核的32位微处理器其互联型接口和内部资源较多开发板最好的一点就是结合了大部分的主流外设网络例如USB接口、 UART和电机控制等等。除此之外 STM32F107微控制器是一种可以支持IEEE-802.3-2002的介质访问控制器主要通信的范围是以太局域网通过一个具有标准的介质无关端口 MI I或者是精简的介质无关端口 RMI I。 STM32F107想
3页
如有你有帮助请购买下载谢谢要和物理的局域网总线光纤或者是双绞线等等进行连接的话就必须外加一个外部的物理接口设备不然就不能连接成功。在使用的过程中一般多达9路的信号RMII和17路的信号MII, STM32F107的无关介质端口是可以被物理设备连接的。为了满足市场的不同需求 STM32开发板在性质和价格上都做出了巨大的取舍。相信一定能对工业市场的开发上做出一定的贡献。
众所周知 Cortex-M3是由Cortex-M系列所发布的这一款相对于其他系列的来说是非常的好用的其中配有低功耗的内核处理器。它的功能非常的齐全特点也是非常的显著比如说调试成本低中断延迟时间短 门数少等等。是专门为了把实时应用、高性能、低功耗、具有竞争性价格等优点集合到一起而要求设计的也是为了能使嵌入式应用的中断响应能力更加的迅速而专门为大家去设计的。
2.3 STM32F107芯片结构
STM32F107芯片运用的是性能高的ARM Cortex-M332位的精简型计算机内核一般来说工作频率在72MHz芯片内部有一个256k的Flash和一个64kb的Sram这个JTAG接口并不是15pin的而是一个20pin的标准JTAG接口除此之外还有一些重要的接口例如 以太网接口、 USB Host接口、 USB OTG接口、两路CAN接口。其他的接口就是一个DB9, SD卡插槽、一个I IC EEPROM、八个可控LED、三个按键、 10k可调电阻、 240*320LCD接口(背部未调试)。 以上介绍的接口都是可以通过各个复用功能的作用最终映射到不同的引脚上去的其目的就是为了能在设计中更好的去开发利用。 电路接口图如下
图2-1 开发板接口
2.4 STM32的功能及优势
1.配有专门以太网MAC还有DMA和硬件支持的IEEE1588。所以是低成本的网络化还有精确的时钟同步。
2.使用的是具有MI I或RMI I的以太网物理PHY接口 因此我们可以非常灵活的选择物理PHY接口。
3.片内具有内置的OTG PHY的USB 2.0 OTG全速的接口所以具有USB主机的功能不再需要外置的USB OTG或PHY.
4.它的核心是PLL模块配有高级的时钟配置方案为外设提供服务 目的就是为了更加的灵活而且成本也会更加的优化。除此之外我们也可以向USB、 CAN或者是以太网MAC提供时钟的控制。
5.它的启动模式非常的灵活可以向很多的设备提供启动的服务例如CAN、 USART和USB等设备完全可以为这些设备的固件升级提供启动。正是由于它灵活的通信接口
4页
如有你有帮助请购买下载谢谢所以在我们的启动程序出现故障在无法擦除的情况下它一样的可以保证新代码的烧录成功。
6.它具有许多低功耗模式的灵活电源还有时钟管理。另外可编程唤醒功能的时钟和84字节的后备数据寄存器的存在也是它的一大优势。正是因为这个原因 因此在运行的过程中甚至在待机的状态时都会裁减应用系统可以使性能和功耗能长期的保持在一个相对平衡的状态 电池可以为RTC的运行提供充足的电能 同时可以在84字节后备寄存器中保持应用程序关键数据。
7.它不仅支持多达80个5v容忍的通用I/O口还支持10个定时器的串口其他的例如 CAN、 USB、 USRT和以太网等都收到它的支持。模拟功能一般包含2个DAC还有完整的电源监控功能。因为STM32芯片的互联型产品功能非常的齐全是一个非常安全稳定的通信中枢器件所以在进行工作的时候这些所有的功能模块都是可以同时工作的。
5页
韩国服务器怎么样?韩国云服务器租用推荐?韩国服务器距离中国近,有天然的地域优势,韩国服务器速度快而且非常稳定!有不少有亚洲市场的外贸公司选择韩国服务器开拓业务,韩国服务器因自身的优势也受到不少用户的青睐。目前的IDC市场上,韩国、香港、美国三个地方的服务器几乎占据了海外服务器的百分之九十以上。韩国服务器相比美国服务器来说速度更快,而相比香港机房来说则带宽更充足,占用市场份额非常大。那么,韩国服务器...
Hostadvice主机目录对我们的服务进行了测试,然后给PQ.hosting颁发了十大WordPress托管奖。为此,宣布PQ.Hosting将在一周内进行折扣优惠,购买和续订虚拟服务器使用优惠码:Hostadvice ,全部优惠10%。PQ.hosting,国外商家,成天于2019年,正规公司,是全球互联网注册商协会 RIPE 的成员。主要是因为提供1Gbps带宽、不限流量的基于KVM虚拟的V...
弘速云怎么样?弘速云是创建于2021年的品牌,运营该品牌的公司HOSU LIMITED(中文名称弘速科技有限公司)公司成立于2021年国内公司注册于2019年。HOSU LIMITED主要从事出售香港vps、美国VPS、香港独立服务器、香港站群服务器等,目前在售VPS线路有CN2+BGP、CN2 GIA,该公司旗下产品均采用KVM虚拟化架构。可联系商家代安装iso系统,目前推出全场vps新开7折,...