当前位置:首页 > 物联网 > 《物联网技术》杂志
[导读]摘 要:为解决实验室某些海洋观测类IO设备价格昂贵、体积较大、数量较少的问题,文中设计了一款IO设备模拟器。IO模拟器是一款模拟IO设备指令与相应响应的模块,系统以STM32F103为主控制器件,将Keil MDK-ARM作为软件平台, 通过学习实际IO设备的指令与响应,模拟出实际IO设备的通信协议。文中主要介绍了模拟器的硬件搭建及软件设计。经实验验证,该模拟器可在实验室的系统联合调试中代替实际设备,也可以解决实际设备数量不足的问题。

引 言

近年来,各国为各自利益逐渐加强了海洋研究,海洋观测方法日趋多样化,海洋观测平台成为研究海洋的重要途径 [1]。海洋观测平台由MCU 控制,外围接若干海洋设备终端,如采用温盐深仪传输海洋温度、盐度、压力;多普勒流速剖面仪传输海流流速、流向等数据。一个成功的海洋观测平台的开发需要首先经过实验室的联合调试。

若干个课题组协同工作时,经常共同使用有限个设备终端,或者存在订货周期过长、设备出海等问题,导致联合调试时因某些设备缺位而延长系统调试周期,而模拟器可以较好地解决这些问题。此模拟器无需深入了解设备的通信协议与响应数据格式,只需对实际设备实现一次操作,即可学习实际设备的通信协议,最终达到代替实际设备参与系统调试的目的。

1 总体设计

系统总体结构如图 1 所示。

基于STM32的IO设备模拟器设计

本文设计的模拟器由STM32F103 微处理器模块、供电模块、LED 灯指示模块、存储模块、串口模块、按键构成。 按键用于系统硬件复位,拨动开关选择系统工作模式,LED 灯指示系统的运行状态,存储模块用于存储系统数据,防止 掉电丢失。其工作方式分为两种,一种是学习实际设备的指令 与响应及实际设备收到指令与发出响应的时间间隔,学习数据 存入 FLASH ;另一种是模拟实际设备,在收到上位机指令后, 通过字符匹配 FLASH 中的指令,延长实际设备收到指令与发 出响应的时间间隔,回复与指令对应的响应。模拟器工作简图 如图 2 所示。

基于STM32的IO设备模拟器设计

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, 即 16 MB,可用于存储字库和其他用户数据,系统掉电后数 据不丢失,满足了本设计的数据存储要求。设置 SPI 为全双 工、主机模式、8 位帧格式传输,高位在前,具有 CRC 校 验功能 [5]。SPI 波特率预分频值为 256 分频,传输速度为36 MHz/256=140.625 kHz。

基于STM32的IO设备模拟器设计

2.2 串口通讯部分设计

仪器通讯通常采用串行通信和并行通信两种方式[6]。串行通信方式具有使用线路少、成本低的优点,在远程传输时, 避免了多条线路特性的不一致而被广泛采用 [7]。计算机和单片机都具有串行接口,可以完成上位机与模拟器、模拟器与实际设备之间的通讯任务。如图 4所示,模拟器串口1可以实现两种不同的通讯模式,通过跳线帽或者拨动开关选择相应的通信方式,即 RS232,RS485,理论上可实现不仅限于海洋仪器的模拟,具备较强的延伸性。

基于STM32的IO设备模拟器设计

此设计使用 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 状态控制部分设计

系统运行状态由 STM32 的 GPIOE_3 的输入逻辑电平控 制,连接外部三脚拨动开关,通过判断该引脚的输入逻辑电 平来决定模拟器的工作方式,电平状态改变则系统工作状态 改变。运行状态指示灯(红色 LED 灯)连接引脚 GPIOB_5, 系统运行状态不同则指示灯闪烁运行方式改变。

2.4 供电设计

供电电路采用电平转换芯片 AMS1117-3.3,这是一个 5 V 转 3 V 稳压电源芯片,内部集成有过热保护与限流电路。通过 该芯片,可以实现对模拟器的 3.3 V 供电与 5 V 供电,同时也 可以使用 USB 供电,保证了模拟器在多供电环境的使用。供 电模块还具有供电状态指示灯(蓝色 LED 灯)。

3 系统软件设计

(1)程序初始化:初始化包括串口初始化,定时器初始化, W25Q128 初始化。程序中加入了看门狗,可防止系统因外界 环境的干扰而出现程序跑飞的现象 [9]。为保证模拟器正常稳定 地工作,程序采用轮询方式确定是否改变模拟器的工作状态。

(2) 定 时 器 在串口通信中的 软件 设 计:USART1 和 USART3 采用中断接收字符方式共同使用 Timer7,通过判断 接收到的两个字符间的时间差来断定是否为连续的数据 [10]。 Timer7 是 STM32F103 自带的两个基本定时器之一,定时器中 断优先级为 0,高于串口优先级,采用由下至上的计数方式, 10 ms 进入一次定时器中断,定时器中断中串口接收标记设 置为接收完成,两个字节接收时间间隔小于 10 ms 即认为这 两个字节属于同一字符串,通过定时器来判断接收的字节是 否属于同一次数据,避免两次数据间的干扰。将 USART1 和 USART3 接嵌入式模块。Timer3 是通用定时器,在本设计中 用来记录 USART1 开始透传数据至 USART3 到 USART3 收 到外部数据之间的时间间隔,即实际设备的响应时间,定时器 中断每隔 1 s 进入一次,在中断时间间隔执行自加操作,以一 定的格式将时间间隔写入 FLASH 保存,便于后续读取。

(3)为了保证上位机指令与设备响应正常匹配,W25Q128 中的数据存储格式如图 5 所示。

基于STM32的IO设备模拟器设计

模拟器模拟设备时析出有效数据,程序流程如图 6 所示。

基于STM32的IO设备模拟器设计

4 结 语

本设计以模拟美国 TELEDYN 分析仪表公司的多普勒流 速剖面仪(ADCP)以及 Sea-Bird 公司的 SBE39-IM 型温盐深 仪为例,实现了对这些实际仪器IO功能的模拟。通过实验检验, 成功实现了实验室环境下模拟器代替 ADCP 在定时卫星通信 系统中的作用以及代替 SBE39-IM 型温盐深仪在电磁耦合浮标 系统中的作用。


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

在微控制器领域,MSP430与STM32无疑是两颗璀璨的明星。它们各自凭借其独特的技术特点和广泛的应用领域,在市场上占据了重要的位置。本文将深入解析MSP430与STM32之间的区别,探讨它们在不同应用场景下的优势和局限...

关键字: MSP430 STM32 单片机

电池模拟器的作用是取代现有的电池,模拟真实电池的输出状态和电池的充放电特性,并可以按用户的需要,随时改变多种条件,快速验证待测设备在不同电池条件下的响应。

关键字: 电池 模拟器 充放电特性

STM32是由意法半导体公司(STMicroelectronics)推出的基于ARM Cortex-M内核的32位微控制器系列,以其高性能、低功耗、丰富的外设接口和强大的生态系统深受广大嵌入式开发者喜爱。本文将详细介绍S...

关键字: STM32 单片机

在不断追求创新的旅程中,ITECH艾德克斯于2024年3月29日正式发布标志着图形化直流电源新纪元的IT6600直流电源系列。该系列产品不仅象征着技术创新的新里程碑,而且设定了易操作性与环境友好理念的新标准。IT6600...

关键字: 可编程直流电源 模拟器

STM32与51单片机之间有什么差异呢?两者可以说是一场科技与性能的较量了。在科技飞速发展的今天,微控制器(MCU)已广泛应用于各类电子设备和系统中,发挥着举足轻重的作用。其中,STM32和51单片机作为两种常见的微控制...

关键字: STM32 51单片机 MCU

西班牙塞维利亚,2024年3月12日 — Teledyne Technologies旗下公司、全球成像解决方案创新者Teledyne e2v宣布扩展其Flash™ CMOS图像传感器系列,推出Flash 2K LSA,该...

关键字: 图像传感器 Flash 摄像机

电磁铁是一种利用电流产生磁场的装置,具有快速响应、易于控制等特点,在工业自动化、电子设备、科学实验等领域有着广泛的应用。STM32是一款功能强大的微控制器,具有高性能、低功耗、易于编程等优点,是控制电磁铁的理想选择。本文...

关键字: 电磁铁 微控制器 STM32

边缘人工智能的实现涉及到三个基本 要素:安全性,连接性、自主性,而其中自主性是AI能力的体现,也是边缘AI有别于其他传统的物联网的关键。而通过ST Edge AI套件,就可以帮助各种不同类型的开发者实现覆盖全硬件平台的全...

关键字: 边缘人工智能 AI STM32

今天,小编将在这篇文章中为大家带来STM32单片机最小系统的有关报道,通过阅读这篇文章,大家可以对它具备清晰的认识,主要内容如下。

关键字: 单片机 单片机最小系统 STM32

STM32是一款由STMicroelectronics生产的微控制器系列,具有高性能、低功耗和丰富的外设资源。其中,串口通信是一种常用的通信方式,可以实现与其他设备之间的数据传输。

关键字: STM32 串口通信 微控制器
关闭
关闭