CN108132906B - 一种同步串口总线接收端抗干扰设计方法 - Google Patents
一种同步串口总线接收端抗干扰设计方法 Download PDFInfo
- Publication number
- CN108132906B CN108132906B CN201711242957.7A CN201711242957A CN108132906B CN 108132906 B CN108132906 B CN 108132906B CN 201711242957 A CN201711242957 A CN 201711242957A CN 108132906 B CN108132906 B CN 108132906B
- Authority
- CN
- China
- Prior art keywords
- synchronous
- serial port
- signal
- clk
- port bus
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
- G06F13/4291—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a clocked protocol
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
本发明公开了一种同步串口总线接收端抗干扰设计方法,在总线拓扑结构不规范、同步串口总线时钟速度较低的情况下,不改变标准硬件接收电路,在FPGA芯片内对同步串口信号采用使能控制、统一时钟、时分采样和三模判决进行处理,提高了信号接收的正确性和可靠性;对外围的RS422/RS485标准同步串口总线拓扑结构约束宽松,总线上的每一条分支长度没有严格限制;本发明抗脉冲干扰能力强,可以滤除总线上的偶发毛刺。
Description
技术领域
本发明涉及一种同步串口总线接收端抗干扰设计方法,属于总线接收处理技术领域。
背景技术
RS422/485标准是美国电子工业协会(EIA)在20世纪70年代末推出的数字通讯电气标准。该标准采用平衡驱动差分接收电路,具有抗共模干扰能力强、驱动能力强、传输距离远、支持总线传输、信号容差性好等诸多优点,目前被广泛应用在多种工控数据通信场合。
目前,解决RS422/RS485接口总线上传输信号边沿单调性翻转问题和偶发毛刺干扰问题的方法有以下几种:
①在RS422/RS485标准接口总线的接收/发送端,增加专用隔离芯片,用以滤除总线上的干扰,保证传输信号的正确接收;
②在硬件上,设计合理的总线拓扑结构和接口电路,选用适当的接口芯片,尽量保证RS422/RS485接口总线上首末端阻抗匹配,并且分支尽量短,从而保证传输信号在总线上的传输质量;
③在软件上,采用合适的传输策略和编码方式,如添加CRC校验信息、奇偶校验等,使得传输信号在传输过程中由于信号完好性差和干扰而在接收端引起的误码可以通过软件进行纠正。
一般情况下,对于RS422/RS485传输总线,典型的总线拓扑连接方式为链式结构,总线上的每一条分支都有长度限制,这样可以保证总线上传输信号的信号完整性。但在某些特定的应用场合,如对空间布局、布线要求苛刻的卫星有效载荷舱内,由于受多个接收端/发送端的物理位置、总线线束的要求所限,无法使用传统的链式拓扑结构,总线上各支线的长度不能满足阻抗匹配的要求,地线数量较少,导致总线上的传输信号边沿有畸变,且传输信号上可能叠加有毛刺干扰。
发明内容
本发明解决的技术问题是:为了克服现有技术不足,提供一种同步串口总线接收端抗干扰设计方法,以提高信号接收的正确性和可靠性。
本发明的技术解决方案是:
一种同步串口总线接收端抗干扰设计方法,如图7所示,具体步骤如下:
(1)将原始的同步串口总线的同步时钟、同步使能、同步数据的输入信号经转换输入给FPGA芯片,设定FPGA输入参考时钟fclk频率至少为同步串口总线同步时钟频率的1000倍;
(2)在FPGA芯片内部,对输入参考时钟fclk进行分频,形成脉冲信号,将该信号作为使能信号EN,该使能信号频率至少为同步串口总线同步时钟频率的100倍、最大为fclk频率;
(3)当使能信号EN有效时,用fclk时钟信号边沿检测同步串口总线同步时钟信号采样值是否由低变高,变高后,在使能信号EN有效情况下,用fclk时钟信号边沿连续2次检测同步串口总线的同步时钟信号是否维持为高,对三次采样值进行一致性表决,若三次采样值中至少2次采样值一致且为高,从而得到同步串口总线同步时钟信号上升沿;
(4)在判断上升沿到来的情况下,当使能信号EN有效时,用fclk时钟信号边沿检测同步串口总线同步时钟信号采样值是否由高变低,变低后,在使能信号EN有效情况下,用fclk时钟信号边沿连续2次检测同步串口总线的同步时钟信号是否维持为低,对三次采样值进行一致性表决,若三次采样值中至少2次采样值一致且为低,从而得到同步串口总线同步时钟信号下降沿;
(5)当判断同步时钟下降沿到来后,在使能信号EN有效的情况下,用fclk时钟信号边沿连续采样三次同步总线的同步使能信号,并进行一致性判决,若三次采样值中至少2次采样值一致且为有效,则表示同步总线的同步使能信号有效;
(6)在判断同步总线的同步使能信号有效的情况下,同时在使能信号EN有效的情况下,用fclk时钟信号边沿连续采样三次同步总线的同步数据信号,并进行一致性判决,若三次采样值中至少2次采样值一致,则表示该采样值为原始的同步串口总线的同步时钟、同步使能、同步数据的输入信号。
步骤3-5中,若三次采样值中达不到至少2次采样值一致且为设定值,则将下一刻值作为当前值,继续更新,直至至少2次采样值一致且为设定值为止。
步骤6中,若三次采样值中达不到至少2次采样值一致,则将下一刻值作为当前值,继续更新,直至至少2次采样值一致为止。
步骤3-6中,三次采样值均一致。
步骤2中,对输入参考时钟fclk进行分频后,形成宽度为一个fclk时钟宽度、频率至少100倍同步串口总线同步时钟频率、最大为fclk频率的脉冲信号。
本发明与现有技术相比的有益效果是:
(1)本发明在总线拓扑结构不规范、同步串口总线时钟速度较低的情况下,不改变标准硬件接收电路,在FPGA芯片内对同步串口信号采用使能控制、统一时钟、时分采样和三模判决进行处理,提高了信号接收的正确性和可靠性;
(2)本发明对外围的RS422/RS485标准同步串口总线拓扑结构约束宽松,总线上的每一条分支长度没有严格限制;
(3)本发明抗脉冲干扰能力强,可以滤除总线上的偶发毛刺。
附图说明
图1为本发明RS422/RS485接口电路简图;
图2为本发明RS422/RS485同步信号内部逻辑处理简图;
图3为本发明fclk与EN信号时序关系简图;
图4为本发明EN、fclk与rs_clk信号上升沿时序关系简图;
图5为本发明EN、fclk与rs_clk信号下降沿时序关系简图;
图6为本发明EN、fclk、rs_clk下降沿与rs_en信号时序关系简图;
图7为本发明同步串口总线接收判决流程图。
具体实施方式
下面结合附图对本发明做进一步描述。
一种同步串口总线接收端抗干扰设计方法,具体步骤如下:
(1)将原始的同步串口总线的同步时钟、同步使能、同步数据的输入信号经转换输入给FPGA芯片,设定FPGA输入参考时钟fclk频率至少为同步串口总线同步时钟频率的1000倍;
(2)在FPGA芯片内部,对输入参考时钟fclk进行分频,形成脉冲信号,将该信号作为使能信号EN;
(3)当使能信号EN有效时,用fclk时钟信号边沿检测同步串口总线同步时钟信号采样值是否由低变高,变高后,在使能信号EN有效情况下,用fclk时钟信号边沿连续2次检测同步串口总线的同步时钟信号是否维持为高,对三次采样值进行一致性表决,若三次采样值中至少2次采样值一致且为高,从而得到同步串口总线同步时钟信号上升沿;
(4)在判断上升沿到来的情况下,当使能信号EN有效时,用fclk时钟信号边沿检测同步串口总线同步时钟信号采样值是否由高变低,变低后,在使能信号EN有效情况下,用fclk时钟信号边沿连续2次检测同步串口总线的同步时钟信号是否维持为低,对三次采样值进行一致性表决,若三次采样值中至少2次采样值一致且为低,从而得到同步串口总线同步时钟信号下降沿;
(5)当判断同步时钟下降沿到来后,在使能信号EN有效的情况下,用fclk时钟信号边沿连续采样三次同步总线的同步使能信号,并进行一致性判决,若三次采样值中至少2次采样值一致且为有效,则表示同步总线的同步使能信号有效;
(6)在判断同步总线的同步使能信号有效的情况下,同时在使能信号EN有效的情况下,用fclk时钟信号边沿连续采样三次同步总线的同步数据信号,并进行一致性判决,若三次采样值中至少2次采样值一致,则表示该采样值为原始的同步串口总线的同步时钟、同步使能、同步数据的输入信号。
步骤3-5中,若三次采样值中达不到至少2次采样值一致且为设定值,则将下一刻值作为当前值,继续更新,直至至少2次采样值一致且为设定值为止。
步骤6中,若三次采样值中达不到至少2次采样值一致,则将下一刻值作为当前值,继续更新,直至至少2次采样值一致为止。
步骤2中,对输入参考时钟fclk进行分频后,形成宽度为一个fclk时钟宽度、频率至少100倍同步串口总线同步时钟频率、最大为fclk频率的脉冲信号。
本发明原理:参照图1,通过RS422/RS485同步串口总线发送来的使能、数据、时钟信号经过接口芯片DS26C31(或DS96F175)和双向收发芯片164245后,形成LVTTL电平信号,之后,这三路信号送入FPGA芯片内进行处理。
参照图2,在同步串口总线的时钟信号频率远小于FPGA输入参考时钟fclk频率条件下(1/1000倍以下),在FPGA芯片内部,首先对fclk时钟信号进行分频,形成宽度为一个fclk时钟宽度、频率至少100倍同步串口总线同步时钟频率、最大为fclk频率的RS422/RS485总线同步串口时钟周期的脉冲信号,将该信号作为使能信号,当该使能信号为高时,用fclk时钟信号上升沿检测RS422/RS485信号时钟是否由低变高,变高后连续采样三次,对这三个采样数据进行一致性表决,从而得到同步RS422/RS485接口时钟信号上升沿。在此基础上,采用类似判决方法判读时钟信号下降沿,当判断到时钟下降沿到来时,若RS422/RS485总线选通信号在使能有效情况下连续三次采样值一致且都表示有效,那么在使能有效情况下,若连续三次采样RS422/RS485总线上的数据信号采样值一致,即可得到RS422/RS485总线上的数据信号。该方法可以有效防止由于RS422/RS485标准同步串口总线上传输的信号边沿单调性翻转而造成的后续电路误动作问题,并滤除总线上的干扰毛刺。
实施例
本发明的核心是在FPGA芯片内部对接收的RS422/RS485标准同步串口信号在内部使能信号的控制下,采用统一时钟进行时分采样和三模一致性判决方法和策略,详细步骤如下:
步骤1:采用典型的RS422/RS485标准接口芯片将同步串口总线信号转换为LVTTL信号电平并输入FPGA芯片后,记FPGA信号输入主频为fclk,从RS422/RS485总线接收并经过接口芯片转换后的同步串口信号分别为:
rs_clk(同步时钟信号)、rs_en(同步使能信号)、rs_data(同步数据信号);
步骤2:对fclk信号进行分频,生成宽度为一个fclk时钟宽度、频率至少100倍同步串口总线同步时钟频率、最大为fclk频率的脉冲使能信号,记为EN,fclk与EN的时序关系如图3所示;
步骤3:当EN为高时,用fclk上升沿采样rs_clk、rs_en、rs_data信号并存储,在EN第n次、n+1次、n+2次、n+3次…为高时,记fclk上升沿采样的rs_clk、rs_en、rs_data信号值依次为:rs_clk(n)、rs_clk(n+1)、rs_clk(n+2)、rs_clk(n+3)…、rs_en(n)、rs_en(n+1)、rs_en(n+2)、rs_en(n+3)…、rs_data(n)、rs_data(n+1)、rs_data(n+2)、rs_data(n+3)…;
步骤4:判断rs_clk信号当前时刻采样值rs_clk(n)为低而下一时刻采样值rs_clk(n+1)值为高,若满足该条件,则继续判断rs_clk(n+1)、
rs_clk(n+2)、rs_clk(n+3)值是否全部为高,若全部为高,则表示rs_clk信号上升沿到来,若上述两个条件任何一个不能满足,则将当前时刻更新为n+1,继续按照步骤四进行判断,直至判断出rs_clk信号上升沿到来,此时的EN、fclk、rs_clk信号的时序逻辑简图如图4所示;
步骤5:当判断出rs_clk信号上升沿到来后,继续判断rs_clk信号下降沿是否到来,判断标准是:rs_clk(n)值为高而下一时刻rs_clk(n+1)值为低,同时rs_clk信号第n+1、n+2、n+3时刻采样值rs_clk(n+1)、
rs_clk(n+2)、rs_clk(n+3)值是否全部为低,若上述两个条件任何一个不能满足,则将当前时刻更新为n+1,继续按照步骤五进行判断,直至判断出rs_clk信号下降沿到来,此时的EN、fclk、rs_clk信号的时序逻辑简图如图5所示;
步骤6:当判断出rs_clk信号下降沿到来后,继续判断rs_en信号是否为低,判断条件是:rs_en信号第n+1、n+2、n+3时刻采样值rs_en(n+1)、rs_en(n+2)、rs_en(n+3)值是否全部为低,若全部为低,则表示rs_en信号为低,若不全部为低,则将当前时刻更新为n+1,继续按照步骤六进行判断,直至判断出rs_en信号为低,则表示同步总线的同步使能信号有效,此时的EN、fclk、rs_clk、rs_en信号的时序逻辑简图如图6所示;
步骤7:在判断出rs_clk信号下降沿到来后和rs_en信号为低的情况下,判读rs_data信号第n+1、n+2、n+3时刻的采样值并进行一致性判读,若rs_data(n+1)、rs_data(n+2)、rs_data(n+3)值一致,则该值即为此时RS422/RS485总线上传输的数据,若rs_data(n+1)、rs_data(n+2)、
rs_data(n+3)值不一致,则将当前时刻更新为n+1,继续判读下三个时刻rs_data信号的采样值是否一致,直至判断一致并将该值更新为
RS422/RS485总线上传输的原始数据。更新完毕后,返回步骤3继续下一个同步数据的接收。步骤1至步骤7的判决流程如图7所示。
上述方法在内部自主生成的使能信号的控制下,采用统一时钟、时分采样和三模判决的方法和策略实现RS422/RS485标准同步串口总线接收数据的判读,提高了接收数据的正确性和可靠性。对外围的RS422/RS485标准同步串口总线拓扑结构约束宽松,总线上的每一条分支长度没有严格限制。该方法抗脉冲干扰能力强,可以滤除总线上的偶发毛刺。
本发明说明书中未做详细描述的内容属本领域技术人员的公知技术。
Claims (4)
1.一种同步串口总线接收端抗干扰设计方法,其特征在于,具体步骤如下:
(1)将原始的同步串口总线的同步时钟、同步使能、同步数据的输入信号经转换输入给FPGA芯片,设定FPGA输入参考时钟fclk频率至少为同步串口总线同步时钟频率的1000倍;
(2)在FPGA芯片内部,对输入参考时钟fclk进行分频,形成脉冲信号,将该脉冲信号作为使能信号EN;
(3)当使能信号EN有效时,用fclk时钟信号边沿检测同步串口总线同步时钟信号采样值是否由低变高,变高后,在使能信号EN有效情况下,用fclk时钟信号边沿连续2次检测同步串口总线的同步时钟信号是否维持为高,对三次采样值进行一致性表决,若三次采样值中至少2次采样值一致且为高,从而得到同步串口总线同步时钟信号上升沿;
(4)在判断上升沿到来的情况下,当使能信号EN有效时,用fclk时钟信号边沿检测同步串口总线同步时钟信号采样值是否由高变低,变低后,在使能信号EN有效情况下,用fclk时钟信号边沿连续2次检测同步串口总线的同步时钟信号是否维持为低,对三次采样值进行一致性表决,若三次采样值中至少2次采样值一致且为低,从而得到同步串口总线同步时钟信号下降沿;
(5)当判断同步时钟下降沿到来后,在使能信号EN有效的情况下,用fclk时钟信号边沿连续采样三次同步串口总线的同步使能信号,并进行一致性判决,若三次采样值中至少2次采样值一致且为有效,则表示同步串口总线的同步使能信号有效;
(6)在判断同步串口总线的同步使能信号有效的情况下,同时在使能信号EN有效的情况下,用fclk时钟信号边沿连续采样三次同步串口总线的同步数据信号,并进行一致性判决,若三次采样值中至少2次采样值一致,则表示该采样值为原始的同步串口总线的同步数据的输入信号。
2.如权利要求1所述一种同步串口总线接收端抗干扰设计方法,其特征在于:步骤(3)-(5)中,若三次采样值中达不到至少2次采样值一致且为设定值,则将下一刻值作为当前值,继续更新,直至至少2次采样值一致且为设定值为止。
3.如权利要求1所述一种同步串口总线接收端抗干扰设计方法,其特征在于:步骤(6)中,若三次采样值中达不到至少2次采样值一致,则将下一刻值作为当前值,继续更新,直至至少2次采样值一致为止。
4.如权利要求1所述一种同步串口总线接收端抗干扰设计方法,其特征在于,步骤(2)中,对输入参考时钟fclk进行分频后,形成宽度为一个fclk时钟宽度、频率至少为同步串口总线同步时钟频率的100倍、频率最大为fclk频率的1倍的脉冲信号作为使能信号EN。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711242957.7A CN108132906B (zh) | 2017-11-30 | 2017-11-30 | 一种同步串口总线接收端抗干扰设计方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711242957.7A CN108132906B (zh) | 2017-11-30 | 2017-11-30 | 一种同步串口总线接收端抗干扰设计方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108132906A CN108132906A (zh) | 2018-06-08 |
CN108132906B true CN108132906B (zh) | 2020-02-14 |
Family
ID=62389007
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711242957.7A Active CN108132906B (zh) | 2017-11-30 | 2017-11-30 | 一种同步串口总线接收端抗干扰设计方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108132906B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101521561A (zh) * | 2009-03-31 | 2009-09-02 | 清华大学 | 一种高速rs485的能量/数据传输终端 |
CN101877864A (zh) * | 2009-04-30 | 2010-11-03 | 徐志生 | 一种非干扰式测量无线传感器网络数据的方法与系统 |
CN102611447A (zh) * | 2012-03-26 | 2012-07-25 | 东北大学 | 一种基于fpga的加噪信号同步时钟提取装置 |
CN202362461U (zh) * | 2011-10-09 | 2012-08-01 | 东南大学 | 一种基于fpga的gps信号捕获装置 |
CN102650962A (zh) * | 2012-04-10 | 2012-08-29 | 北京航空航天大学 | 一种基于fpga的软核容错星载计算机 |
CN102724033A (zh) * | 2012-06-07 | 2012-10-10 | 中兴通讯股份有限公司 | 实现主备时钟相位对齐的方法和主控单板 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6826390B1 (en) * | 1999-07-14 | 2004-11-30 | Fujitsu Limited | Receiver, transceiver circuit, signal transmission method, and signal transmission system |
-
2017
- 2017-11-30 CN CN201711242957.7A patent/CN108132906B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101521561A (zh) * | 2009-03-31 | 2009-09-02 | 清华大学 | 一种高速rs485的能量/数据传输终端 |
CN101877864A (zh) * | 2009-04-30 | 2010-11-03 | 徐志生 | 一种非干扰式测量无线传感器网络数据的方法与系统 |
CN202362461U (zh) * | 2011-10-09 | 2012-08-01 | 东南大学 | 一种基于fpga的gps信号捕获装置 |
CN102611447A (zh) * | 2012-03-26 | 2012-07-25 | 东北大学 | 一种基于fpga的加噪信号同步时钟提取装置 |
CN102650962A (zh) * | 2012-04-10 | 2012-08-29 | 北京航空航天大学 | 一种基于fpga的软核容错星载计算机 |
CN102724033A (zh) * | 2012-06-07 | 2012-10-10 | 中兴通讯股份有限公司 | 实现主备时钟相位对齐的方法和主控单板 |
Non-Patent Citations (1)
Title |
---|
"高速串行互连中的抖动分析";李丽平;《中国博士学位论文全文数据库 信息科技辑》;20100115;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN108132906A (zh) | 2018-06-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112260689B (zh) | 自适应延时补偿串行adc采样系统采样校准方法 | |
US9054941B2 (en) | Clock and data recovery using dual manchester encoded data streams | |
CN106385251A (zh) | 时钟数据恢复电路 | |
CN106936531A (zh) | 一种多片基于jesd204b协议adc的同步方法 | |
CN105786741B (zh) | 一种soc高速低功耗总线及转换方法 | |
CN108132906B (zh) | 一种同步串口总线接收端抗干扰设计方法 | |
CN206363300U (zh) | 一种电池管理芯片菊花链通信系统 | |
CN116506524B (zh) | 一种毫米波雷达数据采集卡及其数据采集控制方法 | |
CN103631314B (zh) | 去除电平信号中毛刺的方法 | |
US20070258478A1 (en) | Methods and/or apparatus for link optimization | |
CN116795758A (zh) | 一种基于FPGA的多路同步Biss-C协议解码传输装置 | |
CN201918981U (zh) | 双相哈佛码总线信号编解码电路 | |
CN110635892A (zh) | 基于同步422标准的数据采样系统 | |
CN104348468B (zh) | 一种脉宽自适应单总线接收器 | |
CN103412615B (zh) | 一种用于uart接口芯片的无毛刺自适应时钟切换方法 | |
CN102637059B (zh) | 时间偏差处理装置及其处理方法 | |
CN113433516B (zh) | 一种多雷达目标信号同步注入系统 | |
CN201994962U (zh) | 基于fpga芯片架构技术的以太网到e1信道适配器 | |
CN103684473A (zh) | 基于fpga的高速串并转换电路 | |
CN205015669U (zh) | 一种延时线电路 | |
CN204790677U (zh) | 一种抗干扰的时钟和数据恢复集成电路设计 | |
CN101540656A (zh) | 用于ctcs点式应答器的解码装置和解码方法 | |
CN1275434C (zh) | 传输异步串口数据的方法及其实施装置 | |
CN103744827A (zh) | 一种提高芯片逻辑时序的串行数据帧匹配方法 | |
CN110971341B (zh) | 一种dbpl码硬件解码方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |