串口干扰 linux复位,消除RS422串口干扰的方法与流程

本发明涉及RS422串口技术,特别涉及消除RS422串口干扰的技术。

背景技术:

在日常项目开发及设计中,经常会遇到串口收发数据产生的干扰,造成串口无法正常工作,给产品可靠性造成严重的影响;造成串口干扰的常见干扰源有:自认串口发送数据线(TX+、TX-)引起的干扰,其他信号靠近串口接收(RX+、RX-)引起的干扰,匹配电阻不合适引起的谐振干扰等。

传统消除干扰的方法有:通过外加屏蔽线的方式隔离干扰信号、通过下拉电阻将干扰信号消除在地上或通过软件使能串口等方式解决串口干扰的方式。通过屏蔽的方式解决传输线上的串扰,但对于从电路板端就开始的串扰,通过屏蔽是无法完成或不能完全清楚干扰的。软件串口使能的方式会造成高输出频率时,串口禁能使能间隙造成串口发送数据丢失的问题。由于串口发数据时,数据是以电平变化指示数据,在电平变化时,产生的高低脉冲,通过空间或传输线辐射出去,造成接收传输线上感应出电平变化,回传到串口接收端,在电平足够大于高电平的门限时,串口接收寄存器中就会指示接收到数据,而没有对串口接收寄存器操作,就会造成串口接收寄存器装满,影响串口正常工作。当串口TX+和TX-上有数据产生的脉冲时,会串扰到RX+和RX-上,此时串口接收寄存器中就有干扰数据缓存在里面。

技术实现要素:

本发明的目的是提供一种消除RS422串口干扰的方法,解决串口收发数据时会产生的干扰,造成串口无法正常工作,给产品可靠性造成严重的影响的问题。

本发明解决其技术问题,采用的技术方案是:消除RS422串口干扰的方法,其特征在于,包括以下步骤:

步骤1、启动应用程序,将串口初始化;

步骤2、应用程序内部向串口发送端发送串口数据,串口发送端接收到串口数据后,根据串口协议将串口数据发送到发送寄存器中;

步骤3、当串口发送端向外发送所需串口数据时,串口接收端将接收到对应数据,串口接收端接收到对应数据后,将对应数据存储在接收寄存器中,并判断对应数据中是否包含干扰数据,若是则进入步骤4,否则不进行处理;

步骤4、全部读出接收寄存器中的所述干扰数据,清除干扰数据所占接收寄存器的空间。

具体地,步骤1中,所述将串口初始化过程包括串口配置、串口打开和串口使能,所述串口配置、串口打开和串口使能均只执行一次。

本发明的有益效果是,通过上述消除RS422串口干扰的方法,通过将存储在接收寄存器中的干扰数据清空,避免接收寄存器存满,从而无法响应串口发送寄存器的问题。

具体实施方式

下面结合实施例,详细描述本发明的技术方案。

本发明所述消除RS422串口干扰的方法,由以下步骤组成:

步骤1、启动应用程序,将串口初始化;

步骤2、应用程序内部向串口发送端发送串口数据,串口发送端接收到串口数据后,根据串口协议将串口数据发送到发送寄存器中;

步骤3、当串口发送端向外发送所需串口数据时,串口接收端将接收到对应数据,串口接收端接收到对应数据后,将对应数据存储在接收寄存器中,并判断对应数据中是否包含干扰数据,若是则进入步骤4,否则不进行处理;

步骤4、全部读出接收寄存器中的干扰数据,清除干扰数据所占接收寄存器的空间。

实施例

本发明实施例消除RS422串口干扰的方法,包括下步骤:

步骤1、启动应用程序,将串口初始化;

步骤2、应用程序内部向串口发送端发送串口数据,串口发送端接收到串口数据后,根据串口协议将串口数据发送到发送寄存器中;

步骤3、当串口发送端向外发送所需串口数据时,串口接收端将接收到对应数据,串口接收端接收到对应数据后,将对应数据存储在接收寄存器中,并判断对应数据中是否包含干扰数据,若是则进入步骤4,否则不进行处理;

步骤4、全部读出接收寄存器中的干扰数据,清除干扰数据所占接收寄存器的空间。

上述方法中,步骤1中,将串口初始化过程优选地包括串口配置、串口打开和串口使能,其中,串口配置、串口打开和串口使能均只执行一次。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值