您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 其它文档 > 基于意法半导体STM32的远程升级系统的设计
期刊杂志科技广场1基于STM32的远程升级系统的设计温世坚(广州市雄兵汽车电器有限公司,广东广州511338)摘要::::该文介绍了一种基于STM32芯片的远程升级系统的设计方案。简述了从数据下载线、客户端、服务器到数据库MYSQL设计的全部过程,并提供了客户端、服务器的通信细节分析,提供了升级操作的可靠性和便利性。关键词::::远程升级;STM32;ISP;MYSQL;VB.NET中图分类号:G712文献标识码:A文章编号:SN.2013071208DesignDesignDesignDesignofofofofRRRRemoteemoteemoteemote----UUUUppppdatedatedatedatesystemsystemsystemsystembasedbasedbasedbasedononononSTM32STM32STM32STM32WenShijian,(SPACEKEYAutoElectronicsCO.GuangDongGuangZhou511338,China)AbstractAbstractAbstractAbstract::::ThispaperintroducesadesignofRemote-UpdatesystembasedonSTM32chip.Thedesignprocessincludethedownloadcable,theclient,theserverandthedatabaseMYSQL.Andprovidesanalysisofcommunicationdetailsbetweenclientandserver,ensuringthereliabilityandconvenienceofupgradingoperation.KeyKeyKeyKeywordswordswordswords::::Remote-Update;STM32;ISP;MYSQL;VB.NET一、引言越来越多的电子产品采用意法半导体芯片STM32系列(简称STM32)作为其核心控制单元,随之便产生了产品的软件升级问题。由于电子产品具有区域分散性,不利于企业进行集中式升级。所以如果需要升级主机硬件上的芯片程序,以前的办法是直接把硬件主机打包快递到企业总部,然后再修改刷新程序,并测试完了再发回去。这种方式费时费力,而且难免忙中出错。为进一步提高工作效率,降低由此而产生的快递费、人工费等额外的支出,减少时间损失,特开发基于STM32芯片的远程升级系统。该系统有效使用了因特网的方便快捷,避免了传统物流模式的各种缺点,并且可以保护企业的知识产权,防止程序源文件泄露。本系统属于服务器/客户端模式,用户界面均采用VB.NET设计。服务器端后台运行的是MYSQL数据库,客户端则只需要匹配一条专用串口下载线。维护人员只在能上网的电脑上使用这条下载线,就能通过客户端登陆到服务器,进行STM32芯片的软件升级操作。二、工作原理客户端通过因特网,从服务器端获取程序源文件的数据,然后使用串口下载线擦除STM32芯片的FLASH,并把已获取的数据写入到FLASH,即可实现远程更新。本节介绍该系统涉及到的相关技术内容,如ISP协议/ISP硬件电路、客户端/服务器工作流程、数据库MYSQL设计等。(一)ISP协议/ISP硬件电路STM32芯片具有开放式的在线烧录ISP协议【1】,允许第三方根据该协议编写ISP下载软件,对STM32芯片进行FLASH的更新操作。该协议采用串行通信方式,有两个握手信号(nRST/BOOT0),能够自动识别最高可达115200bps的串口波特率,可达到较快的下载速度。该ISP协议已经包含在STM32芯片的内置BootLoad固件中。ISP下载过程只需要简单的硬件电路支持。如图1所示,左侧板载端为STM32芯片端,预留6PIN的下载线接口,分别为电源线(VDD/GND)、串行通信线(TXD/RXD)、握手线(nRST/BOOT0);右侧下载线端采用USB转串口芯片PL2303,握手电路是由nDTR/nRTS和两个三极管组成的硬件逻辑电路,客户端软件通过控制nDTR/nRTS的输出来实现ISP握手过程。期刊杂志科技广场2图1ISP下载电路(左:板载端右:下载线)(二)客户端/服务器工作流程客户端/服务器采用微软的VB.NET编程语言,在VS2010开发环境上,基于.NET4.0编写而成。客户端与服务器之间通过套接字Socket方式进行通信及传输文件。服务器端的Socket进程用于侦听客户端连接,示意代码如下:s=NewSocket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp)'创建Socket,使用TCP协议DimlocalEndPointAsNewIPEndPoint(IPAddress.Parse(10.0.0.6),11126)'指定服务器端IP地址和Port端口号s.Bind(localEndPoint)'绑定到该Sockets.Listen(100)'侦听,最多接受100个连接服务器端的Socket自从创建之后就一直处于侦听状态,直到侦听到客户端的Socket连接。然后服务器端立即开辟新的线程,并执行以下代码与客户端进行连接,自此Socket连接过程成功完成。DimssAsSocket=s.Accept()'接收到客户端请求,则创建新的Socket连接ss.Receive(bytes)'接收客户端信息使用Socket套接字的Receive方法可以接收客户端发来的信息,使用send方法可以发送信息到客户端。客户端的Socket不需要侦听,在创建Socket之后直接连接服务器端即可,客户端同样可以使用Receive方法和send方法实现与服务器的通信。示意代码如下:Dims=NewSocket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp)'创建Socket,使用TCP协议DimRemotEndPointAsNewIPEndPoint(IPAddress.Parse(10.0.0.6),11126)'服务器端IP地址和Port端口号s.Connect(RemotEndPoint)'连接到服务器的指定IP地址和Port端口号当然在实际应用中,客户端与服务器处于不同局域网络,无法直接通过固定的IP地址进行通信。应该根据实际情况设置IP地址及端口号,配置服务器的网络域名。还需要对服务器端的网络防火墙、路由器、网关等进行相应修改,设置端口映射、域名访问等。因为内容较多,文章中不予详细说明。服务器最主要工作的是接收信息、文件发送、信息记录。即接收客户端的信息,并发送客户端指定的文件,并记录客户端的操作。当然服务器还有其他重要的工作,如数据库维护、用户名管理、文件系统管理等,不予详细描述。客户端接通过查询数据库,找到适合的文件之后就发送指令到服务器,要求服务器发送相关文件。接收到文件之后就立刻读取文件到内存缓冲区,然后删除该文件并启动STM32下载流程(图2)。除此之外,客户端还提供其他重要服务,如用户登录、信息查询、文件处理、烧写FLASH等。期刊杂志科技广场3图2客户端界面(三)MYSQL数据库设计MYSQL作为一款开放源代码的小型关系型数据库,由于体积小、速度快、配置低而被普遍使用。本系统采用MYSQL作为后台数据库,实现了整个系统信息的快速、集中存储功能。采用标准化的SQL语言,客户端和服务器的界面可以轻松访问MYSQL数据库,并进行查询、删除、添加、修改、合并等操作,如对MYSQL数据库的查询操作:DimMyCommdAsString'定义字符串变量MyCommd=select*fromTbFilewhereID=34FF167'SQL语句,从TbFile表查找符合ID=34FF167的所有内容comm=NewMySqlCommand(MyCommd,conn)'执行SQL语句a=Convert.ToInt32(comm.ExecuteNonQuery())'查询执行结果Ifa0Then'判断是否执行成功msgbox(SQL语句执行成功!)EndIf在该远程升级系统中,一共设置了6张关系型的数据表,分别为用户信息表、文件信息表、操作记录表、硬件序列号表、远程升级记录表、库存及出库统计表。各数据表之间通过关键字互相关联,服务器端可以通过这些关键字串联起所有信息,实现对产品的全程监控。该数据库具有独立的网关及安全管理策略。经过大量实践表明,因WINDOWS系统安全漏洞比较多,MYSQL服务器容易招到恶意攻击、端口扫描、病毒木马等,因而导致MYSQL服务下线。为保证系统安全及防止黑客攻击,系统应用时需要修改该数据库的默认端口号(3306),设置较为复杂的ROOT密码,并且适当提高数据库主机的系统安全等级。三、结束语根据企业实际经验,并结合现有技术,该远程升级系统实现了高效的远程升级过程,有效增加了产品的附加值,并提升了实际工作效率。通过修改相关ISP协议及ISP硬件电路,可以增加该系统对ATMEL、STC、NXP等主流芯片的支持,增强该远程升级系统的兼容性。参考文献:[1]意法半导体《AN2606》STM32FXXsystemmemorybootmode,2010[2]意法半导体《AN3154》CANprotocolusedintheSTM32™bootloader.2009[3]潘凯华等.MYSQL快速入门.北京:清华大学出版社,2012.[4]ThearonWills,BryanNewsome.BeginningVisualBasic2010.北京:清华大学出版社,2011.Email:wenshijian4@163.com
本文标题:基于意法半导体STM32的远程升级系统的设计
链接地址:https://www.777doc.com/doc-5473999 .html