一种消除数据传输干扰的方法与流程

文档序号:18406022发布日期:2019-08-10 00:23阅读:872来源:国知局
一种消除数据传输干扰的方法与流程

本发明属于数据抗干扰技术领域,具体涉及一种消除数据传输干扰的方法。



背景技术:

随着智能化电网中的智能技术设备的发展,对设备的控制功能提出了更全、更稳定的控制技术要求。由于端口数量的限制,目前采用带有处理器的管理板上的可编程逻辑单元与扩展板的可编程逻辑单元互联实现对遥控出口的扩展,扩展板连接需要遥控的继电器。管理板与扩展板通过通信线连接,管理板根据遥控需求,发送继电器对应的地址和继电器的状态,扩展板收到信号后,根据地址,将状态输出给相应的继电器。

由于工作环境复杂,在地址和数据传送期间,会产生干扰信号,如果不加区分验证,会造成继电器误动作,造成损失。

如何设计出简单可靠、响应迅速的数据传输方法,成为亟待解决的技术问题。



技术实现要素:

本发明要解决的技术问题是提供一种消除数据传输干扰的方法,通过改进发送模块和接收模块之间的数据发送模式,形成动态刷新数据流,在受到外界干扰时,使得数据接收单元中锁存的错误数据及时得到覆盖。

本发明采用的技术方案是:一种消除数据传输干扰的方法,基于数据发送单元和数据接收单元来实现,所述数据发送单元包括cpu控制模块、数据寄存器及发送模块,所述数据接收单元包括cpu处理模块、接收模块及驱动模块,驱动模块连接继电器,发送模块和接收模块之间通过x根地址线和y根数据线连接;驱动模块有n个输出端口,n≤2x,n个输出端口的地址从0到n-1;发送模块发送地址和该地址对应的数据;接收模块接收地址和该地址对应的数据,并将数据输出到对应地址的驱动模块输出端口,所述发送模块在地址线上循环发送地址0到n-1,同时在数据线上发送对应地址的数据;发送模块完成一次循环发送的时间t1小于继电器动作响应时间。

进一步地,所述发送模块完成一次循环发送的时间t1小于继电器动作响应时间的1/10。

进一步地,所述接收模块的接收时钟为(t1/n)的1/5-1/3;接收模块接收数据时,在接收时钟的每个上升沿工作。cpu处理模块记录上次正确接收到的地址m;当本次接收到的地址不是m+1,或者上次为n-1、本次不是0时,接收模块放弃本次数据、不输出。

本发明,主要利用了继电器线圈电感电流不能突变的特性,即继电器的动作响应时间为毫秒级,在此期间,不能响应外部命令做出动作。

本发明的工作原理:循环发送继电器对应的状态数据,即动作指令信息,且每次循环的周期小于继电器的动作响应时间,继电器在动作响应时间内至少可以收到2次状态数据。由于传输过程中产生错误是小概率事件,因此,即使收到一次错误的数据,也会被后来的收到的正确数据覆盖,由于是在继电器在动作响应时间内,不会造成继电器误动作。

另外,由于是按地址递增循环发送,在接收模块,将要收到什么地址信息是可以预期的,根据这个特点,当接收到的地址不是预期值时,可以放弃接收到的数据,避免继电器误动作。

进一步地改进措施是:在发送模块和接收模块之间增加数据反馈线,当接收模块接收的数据中发生地址或/和数据错误时,接收模块通过信息反馈线向数据发送单元发送错误指示,这有利于事后检修时排查干扰源。

采用本发明产生的有益效果:本发明通过改进数据发送模块和数据接收模块之间的发送数据方式,形成动态刷新的数据流,在受到外界干扰时,使得数据接收模块锁存的错误数据及时得到覆盖,并且利用了继电器动作需要反应时间的特性,将数据发送模块在地址线上发送地址从0到n-1所需时间设定成小于继电器动作反应时间,使得在有外界干扰下,继电器也可正常工作。

附图说明

图1是本发明的结构框图;

图2是接收模块输入端接收的波形示意图;

图3为数据发送单元正常的输出时序图;

图4为出现干扰的几种情况;

图5为数据在发送过程中的波形图。

具体实施方式

参看附图1,本发明提供一种消除数据传输干扰的方法,基于数据发送单元和数据接收单元来实现,所述数据发送单元包括cpu控制模块、数据寄存器及发送模块,所述数据接收单元包括cpu处理模块、接收模块及驱动模块,驱动模块连接继电器,发送模块和接收模块之间通过x根地址线和y根数据线连接;驱动模块有n个输出端口,n≤2x,n个输出端口的地址从0到n-1;发送模块发送地址和该地址对应的数据;接收模块接收地址和该地址对应的数据,并将数据输出到对应地址的驱动模块输出端口,所述发送模块在地址线上循环发送地址0到n-1,同时在数据线上发送对应地址的数据;发送模块完成一次循环发送的时间为t1,发送模块完成一次循环发送的时间t1小于继电器动作响应时间。

为了简化设计,在数据寄存器中存储对应地址从0到n-1需要发送的数据;发送模块依照地址从0到n-1循环发送时,从数据寄存器中取得该地址对应的数据。

发送模块根据遥控需求,实时生成每个继电器的动作数据,并写入数据寄存器,发送时,根据地址取得相应数据来进行发送。继电器的动作数据包括闭合或断开状态、使能信号等。

本实施例中,为简化设计,只使用1条数据线传输继电器对应的状态。

接收单元接收地址线上的数据,当地址线上的信号稳定后,接收数据线上的数据。根据地址线上信号的变化,来区分不同的数据。

参看附图3,在地址线上,循环发送0到n-1,数据线上发送对应地址的数据。需要说明的是,图中显示的数据,是为了区分与地址对应的关系,并不代表真正的数据为0或1。

为了提高消除干扰的能力,将从地址0到n-1循环发送一次的时间,即刷新周期缩短到小于继电器动作响应时间的1/10。本实施例中,继电器的动作响应时间为1.5ms至3.5ms,刷新周期设定为100μs,这样,在继电器的动作相应时间内,可以允许出现多个数据错误而不会引起误动作。

如图4所示,在外界电磁干扰信号对单元之间信号线干扰时,会存在数据线受干扰、地址线受干扰、地址和数据线同时受干扰这三种情况。如图中,线条标出的位置为数据线受干扰的位置。

在外界干扰导致接收模块接收的地址或数据出现错误时,会在下个遥控数据的刷新周期将会被正确的数据刷新,这是由于遥控数据每个刷新周期相当于继电器线圈动作时间占比非常小,使得加在这几个地址或数据上的干扰脉冲达不到继电器线圈动作时间。图5中,对应地址0(出口1)的数据线上出现了两个脉冲干扰t10和t11,对应地址1(出口2)的数据线上出现了两个脉冲干扰t20和t21,对应地址n-1(出口n)的数据线上出现了三个脉冲干扰tn0、tn1和tm,但由于干扰脉冲的维持时间大大小于继电器线圈动作时间td,达不到继电器线圈动作时间,继电器不会误动。

上述实施例,利用了继电器线圈电感电流不能突变的特性,在短时间内循环发送地址和数据,由于干扰造成的错误可以由数据刷新来消除。

在地址和数据循环发送的基础上,本申请还提出了另一种消除干扰的方法。

提高接收模块的接收时钟,接收模块在每个地址和对应数据的发送时间内采样3-5次;从地址0到n-1循环发送一次需要t1时间,发送一个地址和对应的数据的时间是t1/n,接收模块的接收时钟为(t1/n)的五分之一至三分之一之间。接收模块接收数据时,在接收时钟的每个上升沿工作;因此接收模块在每个地址和对应数据的发送周期(t1/n)内,接收模块会采样3-5次,在此期间,没有干扰的情况下,地址线和数据线上的波形保持不变。

如图2所示,接收模块从第二个时钟的上升沿采样作为接收数据,有效接收的数据有2-4个。正常情况下,有效接收的数据在一个地址发送周期内不会发生变化,如果发生变化,则说明有干扰。还有一种情况,即在一个地址和对应数据的发送周期(t1/n)内,干扰一直存在,导致有效接收的数据没有发生变化,由于地址是按顺序发送的,这时,可根据上次正确接收到的地址来判断本次接收的地址是否正确。本实施例中,cpu处理模块记录上次正确接收到的地址m;当本次接收到的地址不是m+1,或者上次为n-1、本次不是0时,接收模块放弃本次数据、不输出。

接收模块采用高采样时钟接收数据即每个地址接收的数据至少采样3次,通过判断数据在发送单个地址期间内接收数据是否发生变化,来判断是否发生干扰。本实施例中,在发送模块发送每个地址和对应数据的时间内,当cpu处理模块发现接收的地址或数据发生变化时,接收模块放弃本次数据、不输出。

该实施例是根据地址连续发送的特点,根据接收到的地址的连续性来判断是否发生干扰。当接收模块判断出发生干扰时,可以将信息反馈给发送模块,供分析判断干扰原因。本实施例中,在发送模块和数据接收模块之间设置信息反馈线,当接收模块接收放弃数据时,接收模块通过信息反馈线向数据发送单元发送错误指示。

上述信息反馈线采用串行发送方式传输反馈数据,反馈数据包括开始位、数据位、停止位;开始位为0x55,停止位为0x55,数据位的数据长度为2bits,数据位中01代表地址错误、10代表数据错误、11代表都错误。通过cpu处理模块对接收的数据识别,判断发生干扰是在地址线还是数据线,这有利于事后检修时排查干扰源。

本申请不仅简化了数据发送单元和数据接收单元之间通讯接口,而且由于采用动态刷新数据方式使得受到外界干扰而锁存的错误数据及时得到覆盖。同时,对于在扩展遥控出口应用中,对于数据发送单元和数据接收单元之间的数据线、地址线受干扰的情况,应用本申请可有效保证对遥控出口的正常操作。

本发明应用在智能电网中跨板扩展遥控上的实施例,数据发送单元为跨板扩展遥控的管理板卡,cpu控制模块与数据寄存器和发送模块之间采用控制总线连接方式。该控制总线包括16位数据总线、20地址总线及读写信号控制线;数据接收单元为跨板扩展遥控的扩展板卡,管理板卡和扩展板卡之间采用x根地址线和一根数据线进行数据传输。

在驱动模块的输出端口为n的情况下,cpu控制模块根据驱动模块的输出端口地址,将该地址对应的继电器状态数据,写入数据寄存器中存储。

发送模块将采用地址与该地址对应的继电器状态数据一一对应的关系进行输出,把当前地址和该地址所对应继电器的状态数据分别由地址线和数据线输出。

在具体实施时,cpu控制模块根据电网中继电器开合状态或断开需求,在数据寄存器中存储地址从0到n-1需要发送的继电器状态数据;发送模块在地址线上循环发送地址0到n-1,同时在数据线上发送对应地址的继电器状态数据;接收模块实时接收地址和对应继电器状态数据,并发送到驱动模块;驱动模块根据收到的地址和对应继电器状态数据进行锁存,并根据传入地址将继电器状态数据输出到该地址对应的输出端口完成继电器开合状态控制。在外界电磁干扰信号对发送模块和接收模块之间传输的数据干扰时,存在数据线受干扰、地址线受干扰、地址和数据线同时受干扰这三种情况,因为发送模块的一个完整发送周期远小于继电器动作反应时间,即使地址线或数据线存在干扰状况,其继电器状态数据的累计时间也达不到继电器动作反应时间,因此继电器不会误动。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1