基于STM32IO设备模拟器设计.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于STM32IO设备模拟器设计

基于STM32IO设备模拟器设计   摘 要:为解决实验室某些海洋观测类IO设备价格昂贵、体积较大、数量较少的问题,文中设计了一款IO设备模拟器。IO模拟器是一款模拟IO设备指令与相应响应的模块,系统以STM32F103为主控制器件,将Keil MDK-ARM作为软件平台,通过学习实际IO设备的指令与响应,模拟出实际IO设备的通信协议。文中主要介绍了模拟器的硬件搭建及软件设计。经实验验证,该模拟器可在实验室的系统联合调试中代替实际设备,也可以解决实际设备数量不足的问题。   关键词:模拟器;STM32;FLASH;设备学习   中图分类号:TP39;TM5 文献标识码:A 文章编号:2095-1302(2018)02-00-03   0 引 言   近年来,各国为各自利益逐渐加强了海洋研究,海洋观测方法日趋多样化,海洋观测平台成为研究海洋的重要途径[1]。海洋观测平台由MCU控制,外围接若干海洋设备终端,如采用温盐深仪传输海洋温度、盐度、压力;多普勒流速剖面仪传输海流流速、流向等数据。一个成功的海洋观测平台的开发需要首先经过实验室的联合调试。   若干个课题组协同工作时,经常共同使用有限个设备终端,或者存在订货周期过长、设备出海等问题,导致联合调试时因某些设备缺位而延长系统调试周期,而模拟器可以较好地解决这些问题[2]。此模拟器无需深入了解设备的通信协议与数据格式,只需对实际设备实现一次操作,即可学习实际设备的通信协议,最终达到代替实际设备参与系统调试的目的。   1 总体设计   系统总体结构如图1所示。   本文设计的模拟器由STM32F103微处理器模块、供电模块、LED灯指示模块、存储模块、串口模块、按键构成。按键用于系统硬件复位,拨动开关选择系统工作模式,LED灯指示系统的运行状态,存储模块用于存储系统数据,防止掉电丢失。其工作方式分为两种,一种是学习实际设备的指令与响应及实际设备收到指令与发出响应的时间间隔,学习数据存入FLASH;另一种是模拟实际设备,在收到上位机指令后,通过字符匹配FLASH中的指令,延长实际设备收到指令与发出响应的时间间隔,回复与指令对应的响应。模拟器工作简图如图2所示。   2 硬件设计   2.1 存储模块   STM32F103内核为Cortex-M3,采用ARM V7构架,是现今性价比最高的一款ARM微控制器,最高工作频率可达72 MHz,该芯片具有64 kB SRAM,512 kB FLASH,拥有快速的中断处理[3]。本设计使用了芯片的USART1、USART3、Timer3、Timer7及SPI接口。   串行外??设备接口(Serial Peripheral Interface,SPI)是一种全双工,高速、同步的通信总线,在芯片的管脚上只占用四根线。本设计使用STM32F103自带的SPI来实现对外部FLASH(W25Q128)的读写操作[4]。如图3所示,W25Q128是华邦公司推出的大容量SPI FLASH产品,容量为128 Mb,即16MB,可用于存储字库和其他用户数据,系统掉电后数据不丢失,满足了本设计的数据存储要求。设置SPI为全双工、主机模式、8位帧格式传输,高位在前,具有CRC校验功能[5]。SPI波特率预分频值为256分频,传输速度为36MHz/256=140.625 kHz。   2.2 串口通讯部分设计   仪器通讯通常采用串行通信和并行通信两种方式[6]。串行通信方式具有使用线路少、成本低的优点,在远程传输时,避免了多条线路特性的不一致而被广泛采用[7]。计算机和单片机都具有串行接口,可以完成上位机与模拟器、模拟器与实际设备之间的通讯任务。如图4所示,模拟器串口1可以实现两种不同的通讯模式,通过跳线帽或者拨动开关选择相应的通信方式,即RS 232,RS 485,理论上可实现不仅限于海洋仪器的模拟,具备较强的延伸性。   此设计使用SP3232芯片作为TTL转RS 232芯片。数据传输速率最高为20 kb/s,最大距离为15 m。可供两路串口共同使用,接口为延伸通讯接口,可同时使用DB-9与三线制连接法,两者均使用RXD、TXD、GND三条信号线,程序设计中未使用握手信号,可直接发送和接收数据。RS 485隶属于OSI模型物理层电气特性的规定,为两线、半双工、多点通信的标准。其电气特性和 RS 232不一样,而是用缆线两端的电压差值来表示传递信号,通讯距离为1 200 m[8]。本设计使用MAXIM公司生产的MAX3471,USART_RE为发送使能端,接STM32的GPIOA_8,高电平发送数据,低电平接收数据,接收和发送均由软件控制。串口3与串口1的电路图基本相同,处于学习模式时与实际IO设备连接。   2.3 状态控

文档评论(0)

189****7685 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档