APP下载

基于STM32的RS-485数据通信稳定性分析

2019-11-13张微王韵琪杨博云

科技视界 2019年29期
关键词:低功耗上位串口

张微 王韵琪 杨博云

【摘 要】RS-485是一种工业控制环境中常用的串口通信协议,它具有抗干扰能力强,传输距离远的特点。本文利用RS-485实现上位机与STM32的数据发送与接收,并在不同环境下对其通信稳定性进行了测试。

【关键词】RS-485;STM32;数据通信

中图分类号: TP334.3;TP368.1 文献标识码: A 文章编号: 2095-2457(2019)29-0094-002

DOI:10.19694/j.cnki.issn2095-2457.2019.29.043

Stability Analysis of RS485 Data Communication Based on STM32

ZHANG Wei WANG Yun-qi YANG Bo-yun

(College of Electornic & Information Engineering,Suzhou Vocational University,Suzhou Jiangsu 215021,China)

【Abstract】RS-485 is a communication protocol widely used in industrial control environment.It has the characteristics of strong anti-interference and long transmission distance.This paper introduce how to use RS485 to send and receive data between host computer and STM32,and analyse its communication stability in different harsh environments.

【Key words】RS-485;STM32;Date Commucation

0 引言

RS-485通信是由RS-232通信改进而来,其协议层不变,只是改进了物理层。与此同时,传输的信号由单端信号改为差分信号,因此具有传输距离长,传输效率高,可适用于多机通讯的特点[1]。如今,其应用范围已扩展到了机械工业、交通工业、医疗设备、建筑、環境控制等。本课题使用嵌入式微控制器STM32编写程序,实现上位机与STM32的RS-485通讯,并在不同环境下对其通信稳定性进行测试。

1 硬件线路设计

硬件部分结构图如图1,CPU类型为STM32F107VC,STM32F107VC是意法半导体公司推出的性能较强的全新STM32互连型系列微控制器,此芯片集成了各种高性能工业标准接口,工作温度范围–40~+105°C,最大工作频率72MHz,为低功耗设计应用提供了一组完整的节电模式[2]。

Max3485是一种+3.3V低功耗半双工收发器,它可以满足RS-485串行协议通信要求。同时兼容工业标准规范,带负载条件下数据传输速率高达10Mbs。自带低功耗关断模式,输出短路保护功能。工作温度范围为-40℃-85℃。

如图1所示,上位机通过RS-485串口调试软件向STM32发送数据,微处理控制器接收到数据后返回原数据到上位机,设置上位机串口调试软件的参数为波特率为115200bit/s,8个数据位,1个停止位,偶校验。上位机串口调试软件显示接收到的数据表示通信成功。通过在不同温度,不同电磁干扰条件下不间断发送数据,测试数据传输的稳定性。

图1 RS-485通信硬件结构示意图

2 软件程序设计

软件部分结构图如图2,软件部分主要包括初始化、数据接收检测和数据发送三部分。

图2 RS-485通信软件结构示意图

初始化部分包括标识定义,时钟使能,GPIO端口使能等等。主程序部分通过定义一个标识符RS485_REC_Flag代表是否接收到数据,如果标识符为1,表示STM32接收到数据,后通过数据发送程序将接收到的数据返回到上位机串口调试软件。

通过恒温箱分别在高温45℃和低温-25℃下进行实验,自动发送10000条重复数据,并计算误差率,误差率为0。通过EMI测试仪分别将RS-485通讯数据线放置在不同的噪声环境中,自动发送10000条数据,误差率为0,可以看出采用差分信号传输的RS-485通信稳定性很高[3]。部分主程序代码如下:

int main(void)

{

...

while (1)

{

if(RS485_REC_Flag == 1)

{

RS485_REC_Flag = 0;

RS485_Send_Data(RS485_buff,RS485_rec_counter);

RS485_rec_counter = 0;

}

}

}

3 结束语

本文主要讲述了利用RS-485实现上位机和STM32的数据接收与发送,并在不同实验环境下测试了其通信稳定性,测试结果表明采用差分信号传输的RS-485通信传输数据稳定性较好,验证了理论分析。学校在目前的《工业数据通信与控制网络》课程教学过程中,有profibubus总线通讯实验,CAN总线通讯实验,本实验为后续RS-485串口通讯实验的开展打下了一定的基础。

【参考文献】

[1]吴皓月,浅谈RS232与RS485串行通讯,《中国新通信》,2016.10.

[2]姚宇阳,基于SJA1000的双CAN收发器通信实现,《科技视界》,2019.4.

[3]姜传彦,工业现场RS485通讯干扰问题处理,《科技创新与应用》,2019.2.

猜你喜欢

低功耗上位串口
一种高速低功耗比较器设计
浅谈AB PLC串口跟RFID传感器的通讯应用
特斯拉 风云之老阿姨上位
“三扶”齐上位 决战必打赢
基于ZigBee和VC上位机的教室智能监测管理系统
USB接口的多串口数据并行接收方法探索
基于蓝牙串口适配器的GPS接收机与AutoCAD的实时无线通信
以新思路促推现代农业上位
基于并行控制的FPGA多串口拓展实现
ADI推出三款超低功耗多通道ADC