基于STM32的智能建筑以太网与RS232数据传输网关的设计.docx
- 文档编号:12013829
- 上传时间:2023-04-16
- 格式:DOCX
- 页数:90
- 大小:765.74KB
基于STM32的智能建筑以太网与RS232数据传输网关的设计.docx
《基于STM32的智能建筑以太网与RS232数据传输网关的设计.docx》由会员分享,可在线阅读,更多相关《基于STM32的智能建筑以太网与RS232数据传输网关的设计.docx(90页珍藏版)》请在冰豆网上搜索。
基于STM32的智能建筑以太网与RS232数据传输网关的设计
基于STM32的智能建筑以太网与RS232数据
传输网关的设计
DesignofEthernetandRS232DataTransmissionGatewayBasedonSTM32
毕业设计(论文)原创性声明和使用授权说明
原创性声明
本人郑重承诺:
所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。
尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。
对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。
作者签名:
日 期:
指导教师签名:
日 期:
使用授权说明
本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:
按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。
作者签名:
日 期:
学位论文原创性声明
本人郑重声明:
所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。
除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。
对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。
本人完全意识到本声明的法律后果由本人承担。
作者签名:
日期:
年月日
学位论文版权使用授权书
本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。
本人授权 大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。
涉密论文按学校规定处理。
作者签名:
日期:
年月日
导师签名:
日期:
年月日
注意事项
1.设计(论文)的内容包括:
1)封面(按教务处制定的标准封面格式制作)
2)原创性声明
3)中文摘要(300字左右)、关键词
4)外文摘要、关键词
5)目次页(附件不统一编入)
6)论文主体部分:
引言(或绪论)、正文、结论
7)参考文献
8)致谢
9)附录(对论文支持必要时)
2.论文字数要求:
理工类设计(论文)正文字数不少于1万字(不包括图纸、程序清单等),文科类论文正文字数不少于1.2万字。
3.附件包括:
任务书、开题报告、外文译文、译文原文(复印件)。
4.文字、图表要求:
1)文字通顺,语言流畅,书写字迹工整,打印字体及大小符合要求,无错别字,不准请他人代写
2)工程设计类题目的图纸,要求部分用尺规绘制,部分用计算机绘制,所有图纸应符合国家技术标准规范。
图表整洁,布局合理,文字注释必须使用工程字书写,不准用徒手画
3)毕业论文须用A4单面打印,论文50页以上的双面打印
4)图表应绘制于无格子的页面上
5)软件工程类课题应有程序清单,并提供电子文档
5.装订顺序
1)设计(论文)
2)附件:
按照任务书、开题报告、外文译文、译文原文(复印件)次序装订
3)其它
摘要
根据RS232与以太网的特点,为了实现以太网与RS232数据传输网关的设计,提出一种基于STM32微控制器的数据传输转换接口器的设计方法。
充分发挥STM32F107控制器的超强功能,利用通用输入输出口、时钟、中断控制及以太网等辅助功能去阐述设计原理,并细致地给出相应的硬件电路。
网关设计的软件应该采用模块化设计,每个相应的模块都应该做成独立的函数,以便调用时更省时,运用主程序和中断服务程序对数据传输功能进行软件实现。
在设计的过程中实现了以下三点功能:
第一点,实现了使用STM32芯片来设计网关电路;第二点,实现了网关具有以太网接口和RS232接口;第三点,在设计软件的过程中,实现了以太网TCP协议到串行数据协议的转换传输。
关键字:
STM32F107;以太网;RS232;数据传输网关;
ABSTRACT
AccordingtothecharacteristicsofRS232andEthernet,gatewaysforEthernetandRS232datatransmissiondesign,proposedaSTM32microcontroller-baseddesignmethodofdataconversioninterface.SuperSTM32F107controllerfunctionintofullplay,andusinggeneralpurposeinput/outputport,clock,interruptcontrollerandEthernet,whileaccessibilityanddesignprinciples,anddetailisgiventheappropriatehardware.Gatewaydesignsoftwarehasamodulardesign,eachcorrespondingmodulesshouldbemadeanindependentfunction,sothatwhenmoretime,usemainprogramandinterruptserviceroutinesfordatatransmissionsoftware.Inthedesignprocesstoachievethefollowingthreefunctions:
1th,realizedusingtheSTM32chipcircuitdesigngateway;2nd,implementsagatewaywithEthernetinterfaceandRS232interfaces;3rd,intheprocessofdesigningsoftware,implementTCPprotocoloverEthernettoserialdataprotocolconversionandtransport.
Keywords:
STM32F107;Ethernet;RS232;Datatransmissiongateway;
第一章方案介绍
1.1课题设计背景
智能建筑就是把建筑物的结构、设备、服务和管理依据不同用户的要求而进行的最合理的设计,从而为用户提供一个高效、舒适、便利的人性化建筑环境。
因此和普通的建筑相比,智能建筑不仅具有居住的功能,还在结构上由单一居住逐渐转换成现代智慧的工具。
智能建筑可以提供内部和外部的信息交换和数据传输,帮助人们与建筑内部设备互动,从而有效地安排时间,通过智能建筑建立一个强大的网络系统,实现把家庭设备的各项信息综合在一个平台上。
现代智能建筑已经进入数字化、智能化时代,进入物联网时代。
要求信息共享,生产过程信息化、网络化管理。
在当今高速实时数字信号处理系统中,涉及的数据对象趋于多样化,这些数据通常需要不同的网络接口。
具有不同的传输速率,不同的传输方向。
由于智能建筑的迅猛发展,为了满足智能建筑现场不同功能模块的信息交换,以及不同网络接口的数据传输要求。
因此为了符合上述的要求,提出一种新的设计方法,特别选用STM32微控制器作为数据传输的中心控制器。
结合设计要求,提出“基于STM32的智能建筑以太网与RS232数据传输网关”的设计。
1.2课题设计要求
为了使网关的数据传输更加的高效实用,论文的要求是实现利用功能强大的STM32系列芯片设计网关电路。
且设计的网关电路必须要同时具备以太网与RS232的接口,这样即能节省费用,又能大大地提高系统的利用率。
除此之外,在设计软件程序的时候,设计必须要完成以太网TCP协议到串行数据协议的转换传输。
1.3课题设计工作
1.数据传输网关的简介:
本次的设计课题为“基于STM32的智能建筑以太网与RS232的数据传输网关的设计”,这次设计相对于以往的数据传输网关设计而言,最大的创新之处是选用了STM32芯片微型控制器。
因为设计就是为了不断的创新,不断的优化陈旧的东西,而让原有的设计能够在实现同样的效果的前提下,使设计的成本和时间都能大大的降低,从而达到最好的效率。
所以STM32F107芯片显然能达到这个要求,它同时具有以太网和RS232接口的功能,能同时连接以太网接口和RS232接口,并在两者之间起到一个“桥梁”的作用,使两者在进行数据传输的时候,对各自发来的数据包进行解包和打包的操作,最终转换成能传向对方的数据。
2.硬件设计:
本次设计的硬件设计理念其实很简单,主要是把整个系统模块化,然后再对各个模块的功能进行细致的阐述。
简单的来说,本次设计分为四个模块来进行,分别是电源模块,以太网模块,RS232模块,还有STM32主控芯片。
通过对以上四个模块的实现来最终完成数据传输网关的设计。
3.软件设计:
充分理解LWIP协议栈的的数据传输,还有RS232串口,再结合GPIO,NVIC和以太网,充分理解以太网到RS232的数据传输过程和RS232到以太网的数据传输过程。
然后根据数据传输的过程写出相应的程序流程图和程序,最终结合硬件设备来完成本次的设计。
4.最后完成系统的调试,这是非常重要的一步,因为不管是硬件的设计还是软件的设计,最终还是要为最后的调试服务,假如调试不成功,一切都是白费功夫而已。
所以最后需要运用sscomv20(串口调试程序)和TCP-tester来进行模拟的数据传输网关的设计,只有不断的调试和修改,才能最终使得我们的设计符合最终的设计要求。
第二章主控芯片的选择
2.1STM32微型控制器的选择
在开始设计之前,需要选用同时具有网络接口的以太网和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接口。
除此之外,还拥有以太网接口模块和RS232接口。
4.F4系列:
它的有一个功能是和F2系列的芯片是一致的,那就是最新微型功能模块。
而有所区别的是在功能上有所加强,内部组成有:
配有一个Cortex-M4内核,以太网接口模快和crypto/hash模块,一般它的时钟频率可以高达168MHz,还有2个USB-OTG-FS接口。
从以上的4种系列的STM32微控制器来看,既要同时满足设计中要求的具有以太网接口和RS232接口的微型控制器,又要结合高性能和低功耗的特点,以上能满足条件的最优答案就是互联型芯片STM32F107了,因此最终决定选用F1互联型系列的STM32F107作为本设计的微型控制器。
2.2STM32F107芯片概述
STM32F107是意法半导体公司最新推出的一款带有CORTEX-M3内核的32位微处理器,其互联型接口和内部资源较多,开发板最好的一点就是结合了大部分的主流外设网络,例如USB接口、UART和电机控制等等。
除此之外,STM32F107微控制器是一种可以支持IEEE-802.3-2002的介质访问控制器,主要通信的范围是以太局域网,通过一个具有标准的介质无关端口(MII)或者是精简的介质无关端口(RMII)。
STM32F107想要和物理的局域网总线(光纤或者是双绞线等等)进行连接的话,就必须外加一个外部的物理接口设备,不然就不能连接成功。
在使用的过程中,一般多达9路的信号RMII和17路的信号MII,STM32F107的无关介质端口是可以被物理设备连接的。
为了满足市场的不同需求,STM32开发板在性质和价格上都做出了巨大的取舍。
相信一定能对工业市场的开发上做出一定的贡献。
众所周知,Cortex-M3是由Cortex-M系列所发布的,这一款相对于其他系列的来说是非常的好用的,其中配有低功耗的内核处理器。
它的功能非常的齐全,特点也是非常的显著,比如说:
调试成本低,中断延迟时间短,门数少等等。
是专门为了把实时应用、高性能、低功耗、具有竞争性价格等优点集合到一起而要求设计的,也是为了能使嵌入式应用的中断响应能力更加的迅速而专门为大家去设计的。
2.3STM32F107芯片结构
STM32F107芯片运用的是性能高的ARMCortex-M332位的精简型计算机内核,一般来说工作频率在72MHz,芯片内部有一个256k的Flash和一个64kb的Sram,这个JTAG接口并不是15pin的,而是一个20pin的标准JTAG接口,除此之外,还有一些重要的接口,例如:
以太网接口、USBHost接口、USBOTG接口、两路CAN接口。
其他的接口就是一个DB9,SD卡插槽、一个IICEEPROM、八个可控LED、三个按键、10k可调电阻、240*320LCD接口(背部,未调试)。
以上介绍的接口都是可以通过各个复用功能的作用,最终映射到不同的引脚上去的,其目的就是为了能在设计中更好的去开发利用。
电路接口图如下:
图2-1开发板接口
2.4STM32的功能及优势
1.配有专门以太网MAC,还有DMA和硬件支持的IEEE1588。
所以是低成本的网络化,还有精确的时钟同步。
2.使用的是具有MII或RMII的以太网物理PHY接口,因此,我们可以非常灵活的选择物理PHY接口。
3.片内具有内置的OTGPHY的USB2.0OTG全速的接口,所以,具有USB主机的功能,不再需要外置的USBOTG或PHY.
4.它的核心是PLL模块,配有高级的时钟配置方案为外设提供服务,目的就是为了更加的灵活,而且成本也会更加的优化。
除此之外,我们也可以向USB、CAN或者是以太网MAC提供时钟的控制。
5.它的启动模式非常的灵活,可以向很多的设备提供启动的服务,例如CAN、USART和USB等设备,完全可以为这些设备的固件升级提供启动。
正是由于它灵活的通信接口,所以在我们的启动程序出现故障,在无法擦除的情况下,它一样的可以保证新代码的烧录成功。
6.它具有许多低功耗模式的灵活电源,还有时钟管理。
另外,可编程唤醒功能的时钟和84字节的后备数据寄存器的存在,也是它的一大优势。
正是因为这个原因,因此在运行的过程中,甚至在待机的状态时都会裁减应用系统,可以使性能和功耗能长期的保持在一个相对平衡的状态,电池可以为RTC的运行提供充足的电能,同时可以在84字节后备寄存器中保持应用程序关键数据。
7.它不仅支持多达80个5v容忍的通用I/O口,还支持10个定时器的串口,其他的例如:
CAN、USB、USRT和以太网等都收到它的支持。
模拟功能一般包含2个DAC,还有完整的电源监控功能。
因为STM32芯片的互联型产品功能非常的齐全,是一个非常安全稳定的通信中枢器件,所以,在进行工作的时候,这些所有的功能模块都是可以同时工作的。
第三章网关硬件设计
3.1总体框架设计
为了能够极大地提高系统的稳定性和可靠性,也为了能够最大化地缩短开发时间和节约开发所花费的费用,在系统硬件的设计选型时,能选取一种既具有以太网接口,又具有RS232接口的芯片当然是最好的结果了。
因为当我们需要的芯片同时具有了以太网和RS232的功能,那么在实现以太网和RS232的数据传输的时候,就会减少很多不必要的外围电路的设计了。
显然,尽量的减少对外围电路的设计,会减少我们设计的一大部分时间。
这样大大地提高了系统的利用率,同时也减少了成本。
因此,为了实现项目的开发要求,选用控制系统开发芯片STM32f107作为系统控制主芯片,它不仅广泛地用于工业方面,而且自身功能非常的强大。
对于STM32F107芯片来说,他不仅功能非常的强大,而且性价比也是非常的高。
它主要是以Cotex-M3内核为基础而存在的32位闪存微控制器,它所采用的指令也是非常的高端,是一种高代码、高性能密度的指令集,除此之外,还运用到了一个叫作紧藕合嵌套向量中断控制器。
一般来说,配有一个RMII接口,还有以太网接口和RS232接口。
正是因为它的配置齐全,所以它的优点就是低功耗,低成本和高性能等等。
设计的网关电路将系统分为四个模块设计如下:
图3-1网关电路模块结构框
由图3-1可知,以太网可以通过双绞线与STM32芯片相连,而RS232接口也与STM32芯片相连。
这样一来,我们的以太网就可以很容易地通过STM32F107芯片与RS232之间形成信息交换了。
当以太网需要传送数据到RS232的时候,或者RS232需要传送数据到以太网的时候,STM32芯片就显得格外的重要,因为它是协议转换的控制中心,不管是转换成以太网数据包还是RS232帧的数据,都是需要STM32来进行协议转换的。
所以必须对以上各个模块进行严谨的设计,才能使数据能够顺利的传输。
3.2电源模块设计
在实验的设计过程中,要想使实验中的各个模块能够正常的运行,就需要对STM32F107芯片提供有效且充足的电源。
对于STM32F107开发板来说,供电方式一般有两种:
第一种是5v电源适配器进行供电;第二种是USB串口进行供电。
而本设计主要用到的是5v电源适配器供电。
当我们直接把适配器的一端插在220v的插座上,一端接在STM32F107芯片的J6上时,就能对STM32芯片提供5v的电压了。
电路图如下:
图3-25v适配器供电电路
而无论我们采取什么样的供电方式对STM32芯片进行供电,最后都会把5v的电源转换为3.3v的电源为系统进行供电。
因此,我们选取SPX1117芯片来实现对STM32芯片电压的转换,SPX芯片是一种常用的3.3v稳压芯片,能够产生3.3v的稳压电源,对我们系统的正常运行至关重要。
转换电路如下:
图3-35v转3.3v电路
3.3JTAG下载电路
JTAG的主要功能有两种:
一种是对系统仿真调试,另一种是芯片内部测试,一般来说,标准的JTAG接口包括四线:
第一条是TD0(测试数据输出)、第二条是TDI(测试数据输入)、第三条是TMS(测试模式选择)、第四条是TCK(测试时钟)。
JTAG有14针的接口和20针的接口,在本次设计当中,我们采用的是20针的接口来进行调试电路和下载程序。
详细的接口电路图如下:
图3-4JTAG下载电路
3.4复位电路
复位电路是一个很简单的电路,如下电路图所示,当按下开关S2的时候,电路接通,复位引脚电平就会降低,因此就达到了系统复位的效果。
一般来说,复位电路有两个作用,即可以对系统上电进行复位,又可以在系统运行过程中,通过按键来进行手动复位。
图3-5复位电路
3.5以太网模块电路设计
当在实际的模块与模块间的设计过程中,怎样解决STM32F107芯片和以太网之间的连接,将是我们需要重视的问题。
对于这个设计而言,必须在芯片和以太网间加一个物理层的接口芯片才能完成连接,因此我们选取一个能支持MII(介质无关接口)和RMII(精简的介质无关接口)的DP83848C芯片,这是一款功能齐全,功耗低的单路物理层器件,它所具有的MII和RMII接口,可以让我们的设计变得更加的简单。
除此之外,这个芯片还支持10BASE-T和100BASE-TX的以太网外设,对于任何以太网的问题都有很好的兼容性和通用性。
下面是STM32芯片与DP83848C芯片的以太网接口硬件连接图:
图3-6STM32F107以太网接口硬件连线设计
3.6RS232通讯电路设计
一般来说,STM32F107芯片的接口电路的电平为1TL,但是标准的RS232电平是采用负逻辑形式的,显然和1TL与COMS电平是完全不一样的,且规定+3-+15v间的电平为逻辑“0”电平,而-3-15v间的电平为逻辑“1”电平。
所以在设计通信的过程中必须采用电平转换的方法,以便使两者的电平相配。
因此,在这次设计中,我们采用的是SP3232芯片来完成电平的转换工作。
详细的电平转换电路图如下:
图3-7RS232电平转换电路
第四章软件介绍
4.1LWIP协议栈简介
在网络传输中,为了顺利地完成通讯,必须使用具有多层以上的多种协议,这些协议按一定的层次顺序组合在一起,便会组成一个协议栈(ProtocolSTack)了,换句话说,也叫协议族(ProtocolSuite)。
LWIP协议其实主要是一种专门适用于嵌入式系统的TCP/IP协议栈,它的通俗意思就是大家都熟悉的LightWeight(轻型)IP协议,在运行的范围方面,即可以移植到操作系统上运行,也可以在没有操作系统的情况下独立的运行。
LWIP的主要目地其实只有一个,那就是能够最大化的减少存储器利用量和代码的尺寸,一般情况下,LWIP协议能够在只有几十K的RAM的情况下,或者在只有40K左右的ROM的情况下就可以正常的运行,正因为如此,LWIP协议就可以很容易的适合于空间小的和资源有限的处理器,例如嵌入式系统。
为了符合减少处理器和存储器的设计要求,LWIP可以利用不需要任何拷贝的API进行裁减。
TCP/IP协议是一个缩写的名称,其实它的全名叫做传输控制/因特网互联网协议(TransmissionControlProtocol/InternetProtocol),它对Internet来说是非常的重要的,因为它是互联网络的基础,也是人们运用的最基础的传输协议,它的组成单元包括两种:
第一种是网络层的IP协议,第二种是传输层的TCP协议。
4.1.1pbuf结构体定义
LWIP协议栈中的数据包是用pbuf结构体来进行定义的,该结构体的主要定义如下面所述:
Structpbuf{
Structpbuf*next;
Void*payload;
u16_ttot_len;
u16_tlen;
u8_ttype;
u8_tflags;
u16_tref;
}
Next指针的作用主要是指向下一个需要用到的pbuf数据包,其中,当你要运用当前的数据包的时候,就需要用到payload指针,而当前的pbuf长度则需要totl_en来表示,在pbuf链中接下来的pbufs的所有len领域的总数也是需要totl_en来表示的,然而当前pbuf的长度则是需要利用len来表示的,flags和type表示的是pbuf的类型,具体来说,pbuf具有三种类型,分别是pbufram、pbufrom和pbufpool,ref则包含一个参考计数。
4.1.2LWIP协议栈中各层的实现
1.网络的接口:
next指针一般会指向它的下一个接口,ip_add
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 STM32 智能建筑 以太网 RS232 数据传输 网关 设计