CN104702470B - 基于fpga的波特率在线检测方法 - Google Patents
基于fpga的波特率在线检测方法 Download PDFInfo
- Publication number
- CN104702470B CN104702470B CN201510146952.9A CN201510146952A CN104702470B CN 104702470 B CN104702470 B CN 104702470B CN 201510146952 A CN201510146952 A CN 201510146952A CN 104702470 B CN104702470 B CN 104702470B
- Authority
- CN
- China
- Prior art keywords
- baud rate
- module
- detection
- hit
- detection sub
- 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
Landscapes
- Communication Control (AREA)
Abstract
本发明公开了一种基于FPGA的波特率在线检测方法,属于通讯技术领域。将串行数据同时并行地接入到各个波特率检测子模块进行格式检测、码元宽度检测,若命中则输出命中信号;若检测到串行数据的电平时间宽度小于对应波特率检测子模块对应码元宽度,输出偏离信号;统计处理模块对命中信号与偏离信号单独计数并乘以不同的扩展因子后,最大值所属波特率检测子模块对应的检测波特率为正确波特率。采用FPGA实现硬件波特率在线检测,其消除了发送端与接收端需事先既定协议的限制,实现了实时检测,提高了通讯效率,降低了对其他方式的依赖性;波特率命中采用格式命中、码元宽度命中并与偏离信号相结合,增加命中的可靠性。
Description
技术领域
本发明涉及一种波特率在线检测方法,具体讲是一种基于FPGA的波特率在线检测方法,属于通讯技术领域。
背景技术
当前,主流的波特率自适应一般是通过自适应协议接收端与发送端共同配合来实现,例如在波特率自适应阶段,发送端发送规定数据,接收端使用枚举波特率接收发送端的数据,当接收到的数据为协议上规定发送数据,则认为通讯波特率即为当前枚举到的波特率。而在低速低成本的板间通讯过程中通常采用UART传输通讯方式,在通讯过程中其接收端往往不知道发送端的波特率,无法进行自适应通讯。现有技术中通常采用软件互商协议检测波特率的方法,但其实时性和准确性较差,影响了通讯效率。
发明内容
本发明所要解决的技术问题在于克服现有技术缺陷,提供一种高速度、高准确性和低依赖性的基于FPGA的波特率在线检测方法。
为了解决上述技术问题,本发明提供的基于FPGA的波特率在线检测方法,包括多个用于检测对应波特率命中与否的波特率检测子模块和对波特率检测子模块输出信号进行统计处理的统计处理模块;所述波特率检测子模块包括命中检测单元和偏离检测单元;其具体步骤为:
1)、满足UART格式的串行数据同时并行地接入到所需检测波特率的各个波特率检测子模块;
2)、各个波特率检测子模块对其对应波特率的串行数据进行格式检测与码元宽度检测,若格式检测命中与码元检测均命中,则命中检测单元实时输出一个命中信号;若检测到串行数据的电平时间宽度小于对应波特率检测子模块对应码元宽度,偏离检测单元实时输出一个偏离信号;
3)、统计处理模块对每个波特率检测子模块输出的命中信号与偏离信号单独计数,对命中信号做加法运算,对偏离信号做减法运算;并对每个波特率检测子模块按“越小的波特率越大,越大的波特率越小”的原则分配不同的扩展因子;
4)、用各个波特率检测子模块的命中信号与偏离信号的计数值分别乘以各自的扩展因子,最大值所属波特率检测子模块对应的检测波特率为正确波特率。
作为优选,所述步骤2)中检测到电平时间宽度小于对应波特率检测子模块对应码元宽度是指电平时间宽度为对应波特率检测子模块对应码元宽度的二分之一或三分之一。
作为优选,包括在串行数据进入各个波特率检测子模块前通过高频干扰滤波模块对高于指定波特率的干扰信号进行滤波去噪的步骤。
本发明的有益效果在于:(1)、采用FPGA实现硬件波特率在线检测,其消除了发送端与接收端需事先既定协议的限制,实现了实时检测,大大提高了通讯效率,降低了对其他方式的依赖性;波特率命中采用格式命中、码元宽度命中并与偏离信号相结合方式,增加命中的可靠性;(2)、将电平时间宽度为本波特率检测子模块对应码元宽度的二分之一或三分之一作为偏离检测标准,可以避免出现误检情形,准确率达100%;(3)、通过高频干扰滤波模块进行滤波去噪,大大提高高干扰环境下检测结果正确率,且无需通讯双方互商固定检测数据;(4)、采用FPGA在具有较高的逻辑资源的情况下价格便宜,灵活性高,即对应需求不同的波特率甚至是不常见的波特率都可采用同样的处理;可针对不同的数量波特率种类的检测场合,设置相应的波特率检测子模块,其也可以随时集成于其他FPGA项目中,可扩展性强。
附图说明
图1为本发明基于FPGA的波特率在线检测整体模块结构图;
图2为波特率在线检测子模块图;
图3 为码元宽度偏离检测示意图;
图4为不带奇偶校验的检测示意图;
图5为带奇偶校验检测的示意图。
具体实施方式
下面结合附图对本发明作进一步详细说明。
如图1所示,本发明波特率在线检测方法,采用的硬件包括基于FPGA(现场可编程门阵列)的高频干扰滤波模块、多个波特率检测子模块和统计处理模块。高频干扰滤波模块,用于对频率大于截止波特率(如115200)的噪音滤除,截止波特率可以根据不同的检测环境进行任意设定;其主要原理为检测串行数据的低电平或高电平的时间,若小于截止频率所对应的时间则数据状态不会被更新,若大于截止频率所对应的时间则更新数据状态将超过去除。
波特率检测子模块,负责检测串行数据对应波特率命中与否,包括命中检测单元和偏离检测单元。当命中检测单元命中时则输出相应的命中信号(hit),当偏离检测单元命中则输出相应的偏离信号(bias)。波特率检测子模块的数量可以根据实际检测环境进行动态调整,例如需要检测300、600、1200、2400、4800、9600、192000、384000这8种波特率,则在FPGA中只需要例化8个波特率检测子模块,分别对应300、600、1200、2400、4800、9600、192000、384000的波特率的检测,如图1所示;波特率检测子模块采用参数化,波特率通过参数来设置,所以可以检测任意波特率。每个波特率检测子模块具有同等的机会,若检测到,输出命中信号(hit),统计处理模块统计每个波特率检测子模块输出的命中信号hit,即使存在干扰,根据概率论,hit次数最多的即可判断为正确波特率。
统计处理模块:用于对波特率检测子模块输出的命中信号(hit)和偏离信号(bias)进行统计处理,对检测到的命中信号(hit)通过计数器自加,而对检测到的偏离信号(bias)自减,然后得到各个波特率检测子模块的波特率命中与偏离的统计值,对各个波特率检测子模块分配不同的扩展因子,即越大波特率的配以越小扩展因子,越小波特率配以越大扩展因子,以保证各波特率统计的公平性,达到最佳统计效果。用各个波特率检测子模块最终信号数乘以对应的扩展因子,进行比较,最大值所属波特率检测子模块对应的检测波特率为正确波特率后输出。
结合实际,扩展因子选取值如下:波特率300:6、波特率600:5、波特率1200:4、波特率2400:4、波特率4800:3、波特率9600:1、波特率19200:1、波特率38400:1、波特率56000:1、波特率57600:1、波特率115200:1。以上是实际调试中选取的一组最佳参数,波特率9600及以后的波特率选取1的原因是,较大波特率的信号已经能够很好地消除干扰,用命中与偏移的方法可以精确地统计出对应地波特率。
如图2所示,波特率检测子模块包括命中检测单元和偏离检测单元。命中检测单元采用UART格式检测与码元检测宽度检测。输入信号UART_RXD为串口输入信号,用于进行命中检测和偏离检测。P_BAUDRATE[7:0]为波特率设定参数,对应任意波特率。
UART格式检测:根据UART传输协议的格式要求,每次传输必然是以低电平start位开始,以高电平stop位结束。根据此特点,在检测到低电平后,连续检测对应波特率时间宽度是否都是低电平,若是则判断start位检测通过,若不是则直接判断不命中;在start检测通过的基础上等待8bit数据宽度的时间,然后检测stop位,若波特率吻合则对应此时应该为stop位,则此时检测是否为高电平,且检测对应波特率的一个码元宽度时间是否都是高电平,当以上全部满足,则认为格式检测命中,输出格式命中信号(format_hit)。
码元宽度检测:根据UART传输协议其传输数据中必然存在高低电平的变换,通过检测高电平时间与低电平时间,判断每次高低电平时间是否有满足对应波特率的码元宽度,若相等则判断命中一次,输出一个宽度命中信号(time_hit),若不相等则不输出命中信号。
执行格式命中信号(format_hit)和宽度命中信号(time_hit)与逻辑操作,如果同时具备则输出最终命中信号(hit)至统计处理模块。
如图3所示,当接入某波特率检测子模块的串行数据是本检测模块波特率的整数倍时,如波特率600的数据,在某些特殊数据场合,线上出现较多连续相同的“1”或“0”(例如“11”、“00”),此时检测300的波特率检测子模块比检测600的波特率检测子模块更加容易检测到码元宽度匹配(hit),因为连续两个1或0正好满足波特率300的码元宽度。若此时检测300的波特率检测子模块检测到格式也命中,则会输出命中信号(hit),使得统计处理模块错误地判断出此时的波特率为300而不是实际的600。为此,采用码元宽度偏离检测单元,即若在码元宽度检测中检测到比本波特率检测子模块对应码元宽度小的码元,则输出一个脉冲宽度的码元宽度检测偏离信号(bias)。因倍数关系的波特率(如300、600波特)更容易产生格式命中与码元宽度命中,如果直接将检测到的比本波特率检测子模块对应的码元宽度小的电平时间宽度直接输出一个偏离信号(bias),容易存在误检的情况,因此将电平时间宽度为本波特率检测子模块对应码元宽度的二分之一或三分之一作为判断输出偏离信号(bias)的依据,可以保证准确率达100%。
如图4所示,当UART格式中不确定是否存在奇偶校验位时,8位数据位后若是高电平则认为无奇偶校验位,即认为此协议无奇偶校验,格式命中;若8位数据后,检测到低电平,则认为有奇偶校验位,即检测下一个bit是否为高电平stop位,若是则格式检测命中,若不是则格式检测未命中,如图5所示。
本发明具体检测步骤为:
1、当满足UART格式的串行数据接入波特率自检模块时,根据所要检测的波特率范围(可大可小),同时并行地接入到所需检测波特率的波特率检测子模块;接入到各波特率检测子模块前,对高于指定波特率(如115200)的干扰信号进行滤波处理。
2、当信号接入到波特率检测子模块后,每个波特率检测子模块只负责本波特率检测子模块对应波特率的格式检测与码元宽度检测,若格式检测命中与码元检测都命中,则输出一个命中信号(hit),表示检测到一次命中;若检测到码元宽度偏离,同样输出一个偏离信号(bias),表示检测到一次偏离。命中信号(hit)与偏离信号(bias)独立实时输出到统计处理模块。
3、统计处理模块实时监控各个波特率检测子模块输出的命中信号(hit)与偏离信号(bias),对每个波特率检测子模块的输出都单独计数,对命中信号做加法运算,对偏离信号做减法运算。
4、统计处理模块针对每个波特率检测子模块分配不同的扩展因子。原因在于相同的时间内,较大波特率相对于较小波特率接收更多的数据量,以至于前者可能比后者有更高的命中概率。所以实际在相同的时间内,如若差别较大的两波特率命中次数相同,一定是较小波特率正确性概率更大,而较大波特率的命中是因干扰所致。所以分配扩展因子应是越小的波特率越大,越大的波特率越小,如此能够更加准确地实时检测波特率。
5、统计处理模块将各个波特率检测子模块的计数值分别乘以各个波特率检测子模块对应的扩展因子,认定最大值所属波特率检测子模块对应的检测波特率为正确波特率。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下还可以做出若干改进,这些改进也应视为本发明的保护范围。
Claims (3)
1.一种基于FPGA的波特率在线检测方法,其特征在于:采用的硬件包括多个用于检测对应波特率命中与否的波特率检测子模块和对波特率检测子模块输出信号进行统计处理的统计处理模块;所述波特率检测子模块包括命中检测单元和偏离检测单元;其具体步骤为:
1)、满足UART格式的串行数据同时并行地接入到所需检测波特率的各个波特率检测子模块;
2)、各个波特率检测子模块对其对应波特率的串行数据进行格式检测与码元宽度检测,若格式检测命中与码元检测均命中,则命中检测单元实时输出一个命中信号;若检测到串行数据的电平时间宽度小于对应波特率检测子模块对应码元宽度,偏离检测单元实时输出一个偏离信号;
3)、统计处理模块对每个波特率检测子模块输出的命中信号与偏离信号单独计数,对命中信号做加法运算,对偏离信号做减法运算;并对每个波特率检测子模块按“越小的波特率越大,越大的波特率越小”的原则分配不同的扩展因子;
4)、用各个波特率检测子模块的命中信号与偏离信号的计数值分别乘以各自的扩展因子,最大值所属波特率检测子模块对应的检测波特率为正确波特率。
2.根据权利要求1所述的基于FPGA的波特率在线检测方法,其特征在于:所述步骤2)中检测到电平时间宽度小于对应波特率检测子模块对应码元宽度是指电平时间宽度为对应波特率检测子模块对应码元宽度的二分之一或三分之一。
3.根据权利要求1或2所述的基于FPGA的波特率在线检测方法,其特征在于:包括在串行数据进入各个波特率检测子模块前通过高频干扰滤波模块对高于指定波特率的干扰信号进行滤波去噪的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510146952.9A CN104702470B (zh) | 2015-03-31 | 2015-03-31 | 基于fpga的波特率在线检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510146952.9A CN104702470B (zh) | 2015-03-31 | 2015-03-31 | 基于fpga的波特率在线检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104702470A CN104702470A (zh) | 2015-06-10 |
CN104702470B true CN104702470B (zh) | 2017-11-14 |
Family
ID=53349260
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510146952.9A Active CN104702470B (zh) | 2015-03-31 | 2015-03-31 | 基于fpga的波特率在线检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104702470B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112213693B (zh) * | 2020-09-21 | 2024-02-06 | 扬州健行电子科技有限公司 | 相位编码雷达信号码元宽度的解算方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1362792A (zh) * | 2000-12-29 | 2002-08-07 | Lg电子株式会社 | 在通用异步收发机中检测波特率的装置和方法 |
CN1838650A (zh) * | 2006-04-19 | 2006-09-27 | 武汉虹信通信技术有限责任公司 | 一种实现实时检测实际通信波特率的装置和方法 |
CN101626288A (zh) * | 2009-08-10 | 2010-01-13 | 中国航空工业集团公司洛阳电光设备研究所 | 带有波特率检测设置功能的uart装置及其检测设置方法 |
CN203574663U (zh) * | 2013-11-26 | 2014-04-30 | 中国科学院嘉兴微电子与系统工程中心 | 一种自动波特率检测模块 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6708239B1 (en) * | 2000-12-08 | 2004-03-16 | The Boeing Company | Network device interface for digitally interfacing data channels to a controller via a network |
-
2015
- 2015-03-31 CN CN201510146952.9A patent/CN104702470B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1362792A (zh) * | 2000-12-29 | 2002-08-07 | Lg电子株式会社 | 在通用异步收发机中检测波特率的装置和方法 |
CN1838650A (zh) * | 2006-04-19 | 2006-09-27 | 武汉虹信通信技术有限责任公司 | 一种实现实时检测实际通信波特率的装置和方法 |
CN101626288A (zh) * | 2009-08-10 | 2010-01-13 | 中国航空工业集团公司洛阳电光设备研究所 | 带有波特率检测设置功能的uart装置及其检测设置方法 |
CN203574663U (zh) * | 2013-11-26 | 2014-04-30 | 中国科学院嘉兴微电子与系统工程中心 | 一种自动波特率检测模块 |
Non-Patent Citations (1)
Title |
---|
基于迭代和修正的波特率自适应算法;方利缘,等;《探测与控制学报》;20110228;第33卷(第1期);第27-31页 * |
Also Published As
Publication number | Publication date |
---|---|
CN104702470A (zh) | 2015-06-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9094339B2 (en) | Computer system communication channel diagnostics | |
CN103339900B (zh) | 用于改进家庭网络基础结构的设备和方法 | |
CN101753639B (zh) | 基于流量通信模式的服务角色识别方法 | |
CN102984035A (zh) | 网络数据丢包率的环回测试方法及系统 | |
CN110650066A (zh) | 一种基于嵌入式的总线通信检测系统及其可靠性检测方法 | |
CN104764973A (zh) | 感应式线束检测系统及检测方法 | |
CN110572296B (zh) | 一种物联网终端设备通信协议一致性安全检测方法 | |
CN104702470B (zh) | 基于fpga的波特率在线检测方法 | |
CN105847077A (zh) | 一种检测多路串行数据冲突的方法及装置、设备 | |
CN105357071A (zh) | 一种网络复杂流量识别方法及识别系统 | |
CN105306262B (zh) | 一种基于电力系统规约的异常检测方法 | |
CN201586640U (zh) | 一种多工位声表面滤波器件测试分选控制系统 | |
CN103001808A (zh) | 一种端口故障检测交换机及实现方法 | |
CN205320085U (zh) | 一种100m以太网接口的眼图测试系统 | |
CN105099810A (zh) | 一种面向采样值接口的通信测试方法及系统 | |
CN103441818B (zh) | 一种数据传输错误的检测方法及装置 | |
CN115694846B (zh) | 一种基于工业协议的安全检测系统及方法 | |
CN101882974A (zh) | 一种高速串行信号实时在线检测的方法和系统 | |
CN204495947U (zh) | 感应式线束检测系统 | |
CN113009246B (zh) | Pse设备检测装置及pse设备检测方法 | |
CN103856305A (zh) | 一种差分信号反转纠正电路及其方法 | |
CN209690900U (zh) | Mipi数据处理电路 | |
CN110995505A (zh) | 一种指示灯实现报文差错效验预警装置及效验方法 | |
CN104426723B (zh) | 一种以太网中延伸双绞线传输距离的装置、延伸器及方法 | |
CN204439711U (zh) | 绝缘子串电压分布检测装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20190328 Address after: 211100 No. 155 General South Road, Jiangning Economic and Technological Development Zone, Nanjing City, Jiangsu Province Patentee after: Nanjing Estun Automation Co., Ltd. Address before: 211100 No. 155 General Avenue, Jiangning Economic Development Zone, Nanjing City, Jiangsu Province Patentee before: Nanjing Estun Automatic Control Technology Co., Ltd. |