串行通信方法、装置、计算机设备和存储介质制造方法及图纸

技术编号:21803096 阅读:34 留言:0更新日期:2019-08-07 11:33
本申请涉及一种串行通信方法、装置、计算机设备和存储介质。所述方法包括:接收端获取滤波器输出的当前滤波数据;当检测到当前滤波数据中的预设状态时,获取当前滤波数据中预设状态之后的有效数据;当有效数据接收完毕后等待接收延迟时长,接收端获取滤波器输出的下一滤波数据;将下一滤波数据作为当前滤波数据,进入当检测到当前滤波数据中的预设状态时,获取当前滤波数据中预设状态之后的有效数据。通过滤波器对数据进行滤波处理,接收端只需要捕获到滤波器输出的当前滤波数据,当检测到当前滤波数据中的预设状态时,即可获取到其中的有效数据,并延长接收端接收数据的时长,即延时接收,从而可以确保接收端接收到的数据的准确性。

Serial communication methods, devices, computer equipment and storage media

【技术实现步骤摘要】
串行通信方法、装置、计算机设备和存储介质
本申请涉及通信
,特别是涉及一种串行通信方法、装置、计算机设备和存储介质。
技术介绍
在工业领域,串行通信使用非常广泛,常用的串行通信方式有RS232、RS485、RS422、CAN等通信方式。而串行通信用的主控芯片有单片机、ARM、DSP、FPGA等。单片机、ARM和DSP一般内部包含有硬核串行处理模块,硬核串行处理模块接收数据后通知CPU接收,或CPU把数据发送到串行处理模块后,串行处理模块会负责把数据按顺序发送出去。而FPGA一般不带有这种串行硬核处理模块,需要用户自己编写程序实现串行接收、发送模块功能。串行数据一般包含一个起始位、5至8位数据、1、1.5或2位停止位。如图1所示。通常情况下,FPGA捕获起始位的下降沿后,开始计算,每隔一个波特率周期,采集一位数据,直到停止位后,停止采集,并等待下一帧数据。通常情况下,FPGA能正常采集到起始位的下降沿,但由于串行通信是异步的,在发送端先发送,接收端有可有在数据区开始捕获,捕获到数据段的下降沿,这样会收到错误的数据,并有可能一直保持错误的接收,同理,当有干扰的情况下,也可能误触发下降沿的捕获,导致错误产生。
技术实现思路
基于此,有必要针对上述技术问题,提供一种串行通信方法、装置、计算机设备和存储介质。一种串行通信方法,所述方法包括:接收端获取滤波器输出的当前滤波数据;当检测到所述当前滤波数据中的预设状态时,获取所述当前滤波数据中所述预设状态之后的有效数据;当所述有效数据接收完毕后等待接收延迟时长,所述接收端获取所述滤波器输出的下一滤波数据;将所述下一滤波数据作为所述当前滤波数据,进入当检测到所述当前滤波数据中的预设状态时,获取所述当前滤波数据中所述预设状态之后的有效数据。一种串行通信装置,装置包括接收端,接收端包括:滤波模块,用于获取滤波器输出的当前滤波数据;数据接收模块,用于当检测到所述当前滤波数据中的预设状态时,获取所述当前滤波数据中所述预设状态之后的有效数据;当所述有效数据接收完毕后等待接收延迟时长,所述接收端获取所述滤波器输出的下一滤波数据;将所述下一滤波数据作为所述当前滤波数据,进入当检测到所述当前滤波数据中的预设状态时,获取所述当前滤波数据中所述预设状态之后的有效数据。一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:接收端获取滤波器输出的当前滤波数据;当检测到所述当前滤波数据中的预设状态时,获取所述当前滤波数据中所述预设状态之后的有效数据;当所述有效数据接收完毕后等待接收延迟时长,所述接收端获取所述滤波器输出的下一滤波数据;将所述下一滤波数据作为所述当前滤波数据,进入当检测到所述当前滤波数据中的预设状态时,获取所述当前滤波数据中所述预设状态之后的有效数据。一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:接收端获取滤波器输出的当前滤波数据;当检测到所述当前滤波数据中的预设状态时,获取所述当前滤波数据中所述预设状态之后的有效数据;当所述有效数据接收完毕后等待接收延迟时长,所述接收端获取所述滤波器输出的下一滤波数据;将所述下一滤波数据作为所述当前滤波数据,进入当检测到所述当前滤波数据中的预设状态时,获取所述当前滤波数据中所述预设状态之后的有效数据。上述串行通信方法、装置、计算机设备和存储介质。所述方法包括:接收端获取滤波器输出的当前滤波数据;当检测到所述当前滤波数据中的预设状态时,获取所述当前滤波数据中所述预设状态之后的有效数据;当所述有效数据接收完毕后等待接收延迟时长,所述接收端获取所述滤波器输出的下一滤波数据;将所述下一滤波数据作为所述当前滤波数据,进入当检测到所述当前滤波数据中的预设状态时,获取所述当前滤波数据中所述预设状态之后的有效数据。通过滤波器对数据进行滤波处理,接收端只需要捕获到滤波器输出的当前滤波数据,当检测到当前滤波数据中的预设状态时,即可获取到其中的有效数据,并延长接收端接收数据的时长,即延时接收,当接收端和发送端不同步的情况下,即使接收端接收到的第一帧数据错误,也可以通过延迟接收的方式保证接收端下一阵数据的正确接收,从而可以确保接收端接收到的数据的准确性。附图说明图1为一个实施例中传统技术中串行通信方法的示意图;图2为一个实施例中串行通信方法的应用环境图;图3为一个实施例中串行通信方法的流程示意图;图4为一个实施例中发送端发送数据的流程示意图;图5为一个实施例中接收端接收数据的流程示意图;图6为一个实施例中串行通信装置的结构框图;图7为一个实施例中计算机设备的内部结构图。具体实施方式为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。本申请提供的串行通信方法,可以应用于如图2所示的应用环境中。其中,发送端202与接收端204进行通信。其中,发送端202可以将待发送的数据发送至接收端204,接收端204中的滤波器可以接收发送端202发送的数据并进行滤波处理,将滤波过的数据输出至接收端204,接收端204则依次接收发送端202发送的数据。在一个实施例中,如图3所示,提供了一种串行通信方法,包括以下步骤:步骤301,接收端获取滤波器输出的当前滤波数据。发送端可以将数据进行发送,当滤波器获取到发送端发送的发送端发送的数据数据后,滤波器可以发送端发送的数据对数据发送端发送的数据进行滤波处理。在一个实施例中,接收端获取滤波器输出的当前滤波数据,包括:接收端获取波特率设为预设倍数的滤波器对当前滤波数据的IO状态进行采集并通过计数器计数的方式进行过滤后,输出的当前滤波数据。预先设计的数字滤波器输入信号有IO口状态信号,高频率时钟输出有滤波后的IO信号。波特率表示每秒钟传送的码元符号的个数,是衡量数据传送速率的指标,它用单位时间内载波调制状态改变的次数来表示,可以将滤波器的波特率设为预设倍数N,通过波特率为N倍的高频率对发送端发送的数据的IO状态进行采集并可以通过计数器进行计数。在一个实施例中,上述串行通信方法还包括:当计数器小于或等于预设倍数且IO口状态为高电平状态时,计数器的数值增加预设特定数值;当计数器大于0且IO口状态为低电平状态时,计数器的数值减少预设特定数值。在通过波特率为预设倍数N的滤波器对发送端发送的数据进行滤波处理时,滤波器还会对发送端发送的数据的IO状态进行采集,并进行计数,通过计数的方式进行滤波处理。具体的,当计数器小于或等于预设倍数且IO口状态为高电平状态时,计数器的数值增加预设特定数值,而当计数器大于0且IO口状态为低电平状态时,计数器的数值减少预设特定数值。假设预设倍数N为256,预设特定数值为1,计数器的数值为num,那么当num小于或等于N,且采集到输入IO口为高电平状态时,可以将num的数值加一,当num大于0且IO口状态为低电平状态时,可以将num的数值减一。在一个实施例中,上述串行通信方法还包括:当计数器的数值小于预设阈值时,滤波器输出信号为第一状态信号;当计数器的数值大于预设倍数与预设阈值的差值时,滤波器输出信号为第本文档来自技高网...

【技术保护点】
1.一种串行通信方法,其特征在于,所述方法包括:接收端获取滤波器输出的当前滤波数据;当检测到所述当前滤波数据中的预设状态时,获取所述当前滤波数据中所述预设状态之后的有效数据;当所述有效数据接收完毕后等待接收延迟时长,所述接收端获取所述滤波器输出的下一滤波数据;将所述下一滤波数据作为所述当前滤波数据,进入所述当检测到所述当前滤波数据中的预设状态时,获取所述当前滤波数据中所述预设状态之后的有效数据。

【技术特征摘要】
1.一种串行通信方法,其特征在于,所述方法包括:接收端获取滤波器输出的当前滤波数据;当检测到所述当前滤波数据中的预设状态时,获取所述当前滤波数据中所述预设状态之后的有效数据;当所述有效数据接收完毕后等待接收延迟时长,所述接收端获取所述滤波器输出的下一滤波数据;将所述下一滤波数据作为所述当前滤波数据,进入所述当检测到所述当前滤波数据中的预设状态时,获取所述当前滤波数据中所述预设状态之后的有效数据。2.根据权利要求1所述的方法,其特征在于,所述接收端获取滤波器输出的当前滤波数据,包括:所述接收端获取波特率设为预设倍数的滤波器对当前滤波数据的IO状态进行采集并通过计数器计数的方式进行过滤后,输出的当前滤波数据。3.根据权利要求2所述的方法,其特征在于,所述方法还包括:当所述计数器小于或等于所述预设倍数且所述IO口状态为高电平状态时,计数器的数值增加预设特定数值;当所述计数器大于0且所述IO口状态为低电平状态时,计数器的数值减少所述预设特定数值。4.根据权利要求3所述的方法,其特征在于,所述方法还包括:当所述计数器的数值小于预设阈值时,所述滤波器输出信号为第一状态信号;当所述计数器的数值大于所述预设倍数与所述预设阈值的差值时,所述滤波器输出信号为第二状态信号。5.根据权利要求1所述的方法,其特征在于,在所述接收端获取滤波器输出的当前滤波数据之前,还包括:发送端发送当前待滤波数据,所述滤波器对所述当前待滤波数据进行滤波后...

【专利技术属性】
技术研发人员:何春茂尚波翟亚飞王长恺
申请(专利权)人:珠海格力电器股份有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1