APP下载

基于UART的嵌入式设备间连接方式的研究与验证

2023-01-07徐振中张佳民孙立辉通信作者

信息记录材料 2022年11期
关键词:通信协议电路板电平

徐振中,张佳民,周 洁,孙立辉(通信作者)

(1 吉林化工学院信息与控制工程学院 吉林 吉林 132022)

(2 吉林市特种设备检验中心< 吉林市特种设备事故调查服务中心> 吉林 吉林 132022)

0 引言

从传输介质来看,通信无非分为两种,有线通信和无线通信[1]。在信息技术高速发展的今天,基于UART 的嵌入式设备之间可以非常简便地通过各种通讯接口或借助各种无线模块实现有线通信和无线通信。在对UART 的研究与应用中,许多工程技术及研究人员设计出各种应用方案。杨潇等[2]针对单片机串行接口信号的桢格式,设计并实现了能够直接对其进行调制/解调的通信方案。翟玉文等[3]介绍了一种基于RS485 现场总线的温度采集模块的设计方法。王影等[4]利用Wi-Fi 无线模块与UART实现了基于STM32 的无线通信,并通过上位机进行数据收发。UART 在工程应用中是广泛的,本文以带有ARM 处理器的SoC 电路板和带有51 系列单片机的MCU 电路板通过UART 进行通信为例,介绍串口通信原理,提出串口通信方案,验证并总结实现串口通信的条件。

1 串口通信原理

1.1 串口通信协议

UART 属于异步串口通信协议的一种,串口通信中重要的参数包括波特率、停止位、数据位、奇偶校验位等[5]。通信前,通信双方必须将这些参数约定相同。典型的串口通信仅需三根线,发送数据线、接收数据线和地线。要传输的数据会与起始位、停止位、校验位共同封装成数据包。数据可以是5、6、7、8 位等,通信时,要发送或接收的数据包会被逐位进行传输,数据传输速率由双方约定的波特率决定。UART 数据帧格式及通信原理图如图1所示。

图1 UART 数据帧格式及通信原理图

1.2 通信电平标准

常见的电平标准有TTL 电平、CMOS 电平、RS232 电平和RS485 电平等[6]。电平表示的是电压的范围。在数字电路中,由TTL 电子元器件构成的电路所使用的电平就称为TTL 电平,TTL 电路的电源工作电压为5 V,所以TTL 电平是相对于5 V 而言的。相较于TTL 电平,CMOS 电路的电源工作电压的范围就比较宽了,为3~18 V,因此,CMOS 电平的具体数值要依据当前电路的电源工作电压来定。

RS232 和RS485 都规定了一种异步串行通信口的接口标准和总线标准,包括通信双方的电气特性、接口的机械特性、传输速率等内容。RS232 标准规定通信逻辑电平采用负逻辑,通信接头常用DB-9 针连接头。RS485 标准规定通信逻辑电平采用正逻辑,数据信号采用差分接收和平衡发送[7]。TTL、CMOS、RS232 和RS485 逻辑电平规定如表1所示。

表1 TTL、CMOS、RS232、RS485 逻辑电平规定

1.3 通信电平/协议转换

使用UART 进行串口通信时往往需要涉及到电平转换和协议转换。嵌入式设备使用的电平为TTL/CMOS 电平,因此,当嵌入式设备间采用RS232 或RS485 通信协议进行通信时,就需要在TTL/CMOS 电平和RS232 或RS485 电平之间进行转换。一般在电子设备中,RS232 电平和TTL 电平之间的通信电平转换芯片可使用MAX232[8],RS485 电平和TTL 电平之间可使用MAX485[9]。

在电脑上,串行通信端口的关键部件也是UART,串行通信端口即COM 口,简称为串口。由于历史等原因,电脑串口使用的接口标准为RS232,台式机或传统笔记本主板通常会有DB-9 针连接头,而随着时代的发展,9 针串口已基本被USB 口所取代。当用户需要进行串口通信时,就需要用到USB 转串口模块,这个模块可看作是一个USB2.0 协议转串口通信协议的转换器,可用CH340 系列芯片实现[10]。

2 串口通信实验

2.1 实验硬件介绍

串口通信双方选用一个带有ARM 处理器的SoC 电路板和一个带有51 系列单片机的MCU 电路板。SoC 电路板的供电电压为5~16 V,ARM 处理器的具体型号为i.MX6ULL,有多达8 个UART,单片机的具体型号为STC15F2K60S2,工作电压为5 V,有2 个UART。SoC 电路板上还有RS232接口和RS485 接口,两个电路板上的RXD、TXD、GND 引脚均已引出。实验硬件示意图如图2所示。

图2 实验硬件平台示意图

2.2 连接方案列举

由于硬件实验平台的限制,经过分析,现列出合理的串口通信连接方案如下。

(1)有线连接

方案一:双方使用RS232 通信协议来实现通信,这样,就需要在MCU 端加上一个带DB-9 母头的RS232 模块,然后再通过两端为DB-9 公头的RS232 接口电缆进行连接。RS232 通信电路连接图如图3所示。

图3 RS232 通信电路连接图

方案二:双方使用RS485 通信协议来实现通信,这样,就需要在MCU 端加上一个RS485 模块,然后再通过两根杜邦线进行连接。需要说明的是,接线端对应连接,即A-A 连接,B-B 连接。此外,终端的120 Ω 电阻不可省。RS485 通信电路连接图如图4所示。

图4 RS485 通信电路连接图

(2)无线连接

方案三:双方使用蓝牙、Wi-Fi 等带有无线功能的模块来实现通信[11],这样,就需要在SoC 端和MCU 端各加上一个无线模块,然后设置配对来实现通信连接。需要说明的是,所使用的无线模块需要支持UART 接口。蓝牙通信电路连接图如图5所示。

图5 蓝牙通信电路连接图

2.3 连接方案验证

在实验硬件平台上,两个电路板端都预留了两个LED灯、两个按键以及一个USB 转串口。

(1)软件方案设计

逐个实施上述三个硬件方案,再通过编程建立软件连接,最终实现双方通信。

软件方案设计功能:初始化SoC 端和MCU 端的串口通信,双方建立有线或无线连接后,分别按下各自端的按键,可实现数据发送,对方端接收到数据后,通过USB 转串口显示在电脑上的串口调试软件上,并根据不同数据做出响应。比如MCU 端按下KEY1,发送字符串“Hello-I am MCU.”,再按下KEY2,发送字符“1”。SoC 端接收到字符串后,直接显示在串口调试软件上,接收到字符“1”后,点亮LED1灯。

(2)验证方案实施

为验证双方通信过程是否正常,需要用到串口调试工具。本文采用QT 开发出一个串口调试软件,该软件具有串口选择、参数设定、接收和发送信息等基本功能,能够满足验证方案的需要。

软件方案实施后,通过USB 线将两个电路板分别连接到电脑上的不同USB 口,打开串口调试软件,并选择双方约定好的通信参数,再分别按下各自板端的按键,通过查看对方端串口调试工具输出的调试信息或板端LED 灯状态来验证双方通信是否成功。

以方案二RS485 通信为例,当SoC 端和MCU 端上电后,首先通过各自USB 转串口输出初始化成功信息,即“xxx RS485 Init Success!”。然后,按下SoC 端上的KEY1向MCU 端发送信息“Hello-I am SoC.”,当MCU 端接收到信息后通过USB 转串口显示到串口调试软件的接收区中。MCU 端操作亦如此。RS485 通信调试信息图如图6所示。

图6 RS485 通信调试信息图

3 结论

在实验过程中发现,嵌入式设备间能否成功通信的关键在于通信双方在参数约定一致的条件下,一端的RXD 与另一端的TXD 是否正确连接。此外,由于有些单片机只有一个UART,当用于电脑端串口调试时,就无法再用于设备间通信,否则就会无法正常工作。因此,在实际应用时只能选择多串口的单片机。总之,基于UART 的嵌入式设备间连接方式的研究与验证有助于对UART的研究与应用。

猜你喜欢

通信协议电路板电平
二电平和三电平网侧变流器控制及谐波比较*
三电平PWM整流器下的地铁牵引供电系统探讨
基于Wireshark的列控中心以太网通信协议解析器的研究与实现
电路板外壳注塑Moldflow工艺优化与模具制造技术
车载网络通信协议标准化问题研究
废旧手机电路板中不同金属回收的实验研究
三电平H桥逆变器差模干扰源研究
96 芯插接电路板控制系统的故障设置装置设计
电动汽车充电接口及通信协议新国标发布
电路板维修中的问题故障与应对策略