CN110535621B - 一种串口通讯波特率校正装置及其校正方法 - Google Patents
一种串口通讯波特率校正装置及其校正方法 Download PDFInfo
- Publication number
- CN110535621B CN110535621B CN201910913080.2A CN201910913080A CN110535621B CN 110535621 B CN110535621 B CN 110535621B CN 201910913080 A CN201910913080 A CN 201910913080A CN 110535621 B CN110535621 B CN 110535621B
- Authority
- CN
- China
- Prior art keywords
- serial port
- data
- module
- port data
- burr
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/0016—Arrangements for synchronising receiver with transmitter correction of synchronization errors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/0079—Receiver details
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
- Dc Digital Transmission (AREA)
- Information Transfer Systems (AREA)
Abstract
本发明公开了一种串口通信波特率校正装置及其校正方法,所述串口通信波特率校正装置包括起始位检测模块、边沿检测模块、毛刺判断模块和循环计数模块;由所述起始位检测模块检测到接收的串口数据中的起始位时控制所述循环计数模块开始计数;由边沿检测模块检测到所述串口数据中有上升沿或下降沿时,将串口数据输出至毛刺判断模块;由毛刺判断模块检测到所述串口数据不为毛刺数据后控制所述循环计数模块重新开始计数;由循环计数模块根据预设的循环阈值进行循环计数,通过自动检测串口通信过程中数据的变化边沿并判断是否为毛刺数据,当不是毛刺数据时,使循环计数模块重新计数,使得接收端和发送端自动同步,进而提高了通信的稳定性。
Description
技术领域
本发明涉及通信技术领域,特别涉及一种串口通讯波特率校正装置及其校正方法。
背景技术
串行接口(Serial Interface,简称串口)是指数据一位一位地顺序传送,是一种应用非常普遍的低速通信接口,其特点是通信线路简单,只要一对传输线就可以实现双向通信。波特率是一种衡量通信速度的参数,它表示每秒钟传送的bit的个数,连接到串口上的设备以约定的波特率进行通信,即串口两端的设备只有保持相同速率的条件下才能够实现正常通信,否则会出现调试指令无效、显示乱码。如图1所示,在正常情况下,串口芯片内部的数字电路通常有一个使用高频时钟的计数器,在收到起始位后计数器开始循环计数工作,在计数器计数到n/2的时候,接收端保存采样发送端发送过来的数据;而在实际应用中,由于串口两端的设备可能由于时钟精度不一致或其他设计因素导致波特率出现偏差,当发送端和接收端波特率偏差达到一定值时,接收端端就可能会收到错误数据,如图2所示,进而降低了通信的稳定性。
因而现有技术还有待改进和提高。
发明内容
本发明的目的在于提供一种串口通讯波特率校正装置及其校正方法,通过自动检测串口通信过程中数据的变化边沿并判断是否为毛刺数据,当不是毛刺数据时,使计数器重新计数,使得接收端和发送端自动同步,提高了接收数据的准确性,进而提高了通信的稳定性。
为了达到上述目的,本发明采取了以下技术方案:
一种串口通信波特率校正装置,包括起始位检测模块、边沿检测模块、毛刺判断模块和循环计数模块;由所述起始位检测模块检测到接收的串口数据中的起始位时控制所述循环计数模块开始计数;由所述边沿检测模块检测到所述串口数据中有上升沿或下降沿时,将所述串口数据输出至所述毛刺判断模块;由所述毛刺判断模块检测到所述串口数据不为毛刺数据后控制所述循环计数模块重新开始计数;由所述循环计数模块根据预设的循环阈值进行循环计数。
所述的串口通信波特率校正装置中,所述边沿检测模块包括第一边沿检测单元、第二边沿检测单元和信号输出单元,由所述第一边沿检测单元检测所述串口数据中有上升沿时,将所述串口数据输出至所述信号输出单元;由所述第二边沿检测单元检测到所述串口数据中有下降沿时,将所述串口数据输出至所述信号输出单元;由所述信号输出单元将所述串口数据输出至所述毛刺判断模块。
所述的串口通信波特率校正装置中,所述毛刺判断模块包括第一毛刺检测单元、第二毛刺检测单元和判断单元;在所述循环计数模块计数到串口数据边沿跳变时刻的计数值加1时,由所述第一毛刺检测单元对所述串口数据进行采集后输出第一采集数据至所述判断单元;在所述循环计数模块计数到串口数据边沿跳变时刻的计数值加2时,由所述第二毛刺检测单元对所述串口数据进行采集后输出第二采集数据至所述判断单元;由所述判断单元比较所述第一采集数据与所述第二采集数据,当所述第一采集数据与所述第二采集数据相同时,判定所述串口数据不为毛刺数据后,控制所述循环计数模块重新开始计数。
所述的串口通信波特率校正装置中,所述起始位检测模块具体用于在起始位等待状态时,检测到所述串口数据上有下降沿时控制所述循环计数模块开始计数。
所述的串口通信波特率校正装置中,所述第一边沿检测单元包括第一D触发器、第二D触发器、第一反相器和第一与门;所述第一D触发器的D信号端连接串口数据输入端,所述第一D触发器的Q信号端连接所述第一与门的输入端和所述第二D触发器的D信号端,所述第二D触发器的Q信号端连接所述第一反相器的输入端,所述第一反相器的输出端连接所述第一与门的输入端,所述第一与门的输出端连接所述信号输出单元。
所述的串口通信波特率校正装置中,所述第二边沿检测单元包括第三D触发器、第四D触发器、第二反相器和第二与门;所述第三D触发器的D信号端连接串口数据输入端,所述第三D触发器的Q信号端连接所述第二反相器的输入端和所述第四D触发器的D信号端,所述第四D触发器的Q信号端和所述第二反相器的输出端连接所述第二与门的输入端,所述第二与门的输出端连接所述信号输出单元。
一种基于如上所述的串口通信波特率校正装置的校正方法,包括如下步骤:
所述起始位检测模块检测到接收的串口数据中的起始位时控制所述循环计数模块开始计数;
所述边沿检测模块检测到所述串口数据中有上升沿或下降沿时,将所述串口数据输出至所述毛刺判断模块;
所述毛刺判断模块检测到所述串口数据不为毛刺数据后控制所述循环计数模块重新开始计数;
所述循环计数模块根据预设的循环阈值进行循环计数。
所述的串口通信波特率校正装置的校正方法中,所述的由所述边沿检测模块检测到所述串口数据中有上升沿或下降沿时,将所述串口数据输出至所述毛刺判断模块的步骤包括:
第一边沿检测单元检测所述串口数据中有上升沿时,将所述串口数据输出至所述信号输出单元;
第二边沿检测单元检测到所述串口数据中有下降沿时,将所述串口数据输出至所述信号输出单元;
所述信号输出单元将所述串口数据输出至所述毛刺判断模块。
所述的串口通信波特率校正装置的校正方法中,所述的由所述毛刺判断模块检测到所述串口数据不为毛刺数据后控制所述循环计数模块重新开始计数的步骤包括:
在所述循环计数模块计数到串口数据边沿跳变时刻的计数值加1时,由所述第一毛刺检测单元对所述串口数据进行采集后输出第一采集数据至所述判断单元;
在所述循环计数模块计数到串口数据边沿跳变时刻的计数值加2时,由所述第二毛刺检测单元对所述串口数据进行采集后输出第二采集数据至所述判断单元;
所述判断单元比较所述第一采集数据与所述第二采集数据,当所述第一采集数据与所述第二采集数据相同时,判定所述串口数据不为毛刺数据后,控制所述循环计数模块重新开始计数。
相较于现有技术,本发明提供了一种串口通信波特率校正装置及其校正方法,其中,所述串口通信波特率校正装置包括起始位检测模块、边沿检测模块、毛刺判断模块和循环计数模块;由所述起始位检测模块检测到接收的串口数据中的起始位时控制所述循环计数模块开始计数;由所述边沿检测模块检测到所述串口数据中有上升沿或下降沿时,将所述串口数据输出至所述毛刺判断模块;由所述毛刺判断模块检测到所述串口数据不为毛刺数据后控制所述循环计数模块重新开始计数;由所述循环计数模块根据预设的循环阈值进行循环计数,通过自动检测串口通信过程中数据的变化边沿并判断是否为毛刺数据,当不是毛刺数据时,使计数器重新计数,使得接收端和发送端自动同步,提高了接收数据的准确性,进而提高了通信的稳定性。
附图说明
图1为现有的波特率正常通信状态下的串口数据传输的时序图;
图2为现有的波特率偏差通信状态下的串口数据传输的时序图;
图3为本发明提供的串口通信波特率校正装置的结构框图;
图4为本发明提供的串口通信波特率校正装置中边沿检测模块的电路原理图;
图5为本发明提供的串口通信波特率校正装置中毛刺检测模块的电路原理图;
图6为本发明提供的串口通信波特率校正装置中校正后的串口数据传输的时序图;
图7为本发明提供的串口通信波特率校正装置中起始位检测模块的电路原理图;
图8为本发明提供的串口通信波特率校正装置的校正方法的步骤流程图;
图9为本发明提供的串口通信波特率校正装置的校正方法中步骤S200的流程图;
图10为本发明提供的串口通信波特率校正装置的校正方法中步骤S300的流程图。
具体实施方式
本发明的目的在于提供一种串口通讯波特率校正装置及其校正方法,通过自动检测串口通信过程中数据的变化边沿并判断是否为毛刺数据,当不是毛刺数据时,使计数器重新计数,使得接收端和发送端自动同步,提高了接收数据的准确性,进而提高了通信的稳定性。
为使本发明的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
请参阅图3,本发明提供的串口通讯波特率校正装置包括起始位检测模块100、边沿检测模块200、毛刺判断模块300和循环计数模块400,其中,所述起始位检测模块100连接所述循环计数模块400,所述边沿检测模块200通过所述毛刺判断模块300连接所述循环计数模块400;由所述起始位检测模块100检测到接收的串口数据中的起始位时控制所述循环计数模块400开始计数;由所述边沿检测模块200检测到所述串口数据中有上升沿或下降沿时,将所述串口数据输出至所述毛刺判断模块300;由所述毛刺判断模块300检测到所述串口数据不为毛刺数据后控制所述循环计数模块400重新开始计数;由所述循环计数模块400根据预设的循环阈值进行循环计数,其中,本实施例中所述循环计数模块400包括循环计数器,通过自动检测串口通信过程中数据的变化边沿并判断是否为毛刺数据,当不是毛刺数据时,使计数器重新计数,当发送端的波特率出现偏差时也能够正确的接收数据,提高了接收数据的准确性,进而提高了通信的稳定性。
其中,所述循环计数模块400的循环阈值由约定的波特率决定,并且是在接收端开始工作之前配置完成的,例如,当约定的波特率为2MBps,采样的高频时钟频率为48MHz时,则每24个采样时钟周期等于传输一Bit的时间,因此循环阈值设置为24。
具体实施时,根据串口协议规定:当不传输数据或者数据传输完成后,通信数据线必须保持为高电平,当发送端开始发送数据时,必须先发送一位低电平作为起始位数据;进而所述起始位检测模块100具体用于在起始位等待状态时,检测到所述串口数据上有下降沿时控制所述循环计数模块400开始计数,当所述起始位检测模块100检测到接受的串口数据有下降沿时则表面获取到了起始位数据,进而触发所述循环计数模块400开始计数;而避免为防止数据线的噪声误判断为起始为数据时,通常会由所述起始位检测模块100对所述串口数据进行多次采集,提高起始位数据获取的准确性。
当所述循环计数开始计数的同时,所述边沿检测模块200和毛刺判断模块300也开始进而工作状态,由所述边沿检测模块200接收串口数据,并检测串口数据是否存在上升沿或下降沿,若是则由所述边沿检测模块200将该帧串口数据输出至所述毛刺判断模块300,进而由毛刺判断模块300进一步判断该帧串口数据是否为毛刺数据,若是,则将该帧串口数据丢弃,不改变计数器工作,若不是,控制所述循环计数模块400清零,重新开始计数,如此自动循环,以确保所述循环计数模块400保存的数据的准确性,使得接收端和发送端自动同步,进而提高通讯的稳定性。
进一步地,请参阅图4,所述边沿检测模块200包括第一边沿检测单元210、第二边沿检测单元220和信号输出单元230,所述第一边沿检测单元210连接所述信号输出单元230,所述第二边沿检测单元220连接所述信号输出单元230;由所述第一边沿检测单元210检测所述串口数据中有上升沿时,将所述串口数据输出至所述信号输出单元230;由所述第二边沿检测单元220检测到所述串口数据中有下降沿时,将所述串口数据输出至所述信号输出单元230;由所述信号输出单元230将所述串口数据输出至所述毛刺判断模块300,当所述串口通信波特率校正装置进入工作状态之后,由所述边沿检测模块200中的第一边沿检测单元210和第二检测单元同时分别检测所述串口数据中的上升沿或下降沿,当检测到所述串口数据中存在上升沿或下降沿时,则表明接收到的该帧串口数据有效,进而由所述信号输出单元230将所述串口数据输出至所述毛刺判断模块300,以便于完成毛刺数据的判断。
进一步地,请参阅图5和图6,所述毛刺判断模块300包括第一毛刺检测单元310、第二毛刺检测单元320和判断单元330,所述第一毛刺检测单元310分别连接所述信号输出单元230和所述判断单元330,所述第二毛刺检测单元320分别连接所述信号输出单元230和所述判断单元330;在所述循环计数模块400计数到串口数据边沿跳变时刻的计数值加1时,由所述第一毛刺检测单元310对所述串口数据进行采集后输出第一采集数据至所述判断单元330;在所述循环计数模块400计数到串口数据边沿跳变时刻的计数值加2时,由所述第二毛刺检测单元320对所述串口数据进行采集后输出第二采集数据至所述判断单元330;由所述判断单元330比较所述第一采集数据与所述第二采集数据,当所述第一采集数据与所述第二采集数据相同时,判定所述串口数据不为毛刺数据时,控制所述循环计数模块400重新开始计数;由所述毛刺判断模块300比较循环计数模块400计数到串口数据边沿跳变时刻的计数值加1时的串口数据和所述循环计数模块400计数到串口数据边沿跳变时刻的计数值加2时的串口数据,也即比较第一采集数据即1时刻接收数据值和第二采集数据即2时刻接收数据值,当第一采集数据和所述第二采集数据一样时,则表明该帧串口数据不为毛刺数据,进而触发所述循环计数模块400重新开始计数,由此实现接收端与发送端的自动同步,保证接收端数据接收的准确信,提高通信的稳定性。
更进一步地,请继续参阅图4,所述第一边沿检测单元210包括第一D触发器D1、第二D触发器D2、第一反相器A1和第一与门AND1;所述第一D触发器D1的D信号端连接串口数据输入端,所述第一D触发器D1的Q信号端连接所述第一与门AND1的输入端和所述第二D触发器D2的D信号端,所述第二D触发器D2的Q信号端连接所述第一反相器A1的输入端,所述第一反相器A1的输出端连接所述第一与门AND1的输入端,所述第一与门AND1的输出端连接所述判断单元330,由第一边沿检测单元210检测串口数据是否有上升沿,当所述串口数据有上升沿时,将所述串口数据输出至信号输出单元230,以便于完成进一步的数据传输工作。
进一步地,所述第二边沿检测单元220包括第三D触发器D3、第四D触发器D4、第二反相器A2和第二与门AND2;所述信号输出单元230包括或门OR;所述第三D触发器D3的D信号端连接串口数据输入端,所述第三D触发器D3的Q信号端连接所述第二反相器A2的输入端和所述第四D触发器D4的D信号端,所述第四D触发器D4的Q信号端和所述第二反相器A2的输出端连接所述第二与门AND2的输入端,所述第二与门AND2的输出端连接所述或门OR的输入端;由所述第一边沿检测单元210检测串口数据有上升沿,且所述第二边沿检测单元220检测串口数据有下降沿的情况下,则表明所述串口数据有效,并将所述串口数据输出至所述毛刺判断模块300,以完成毛刺数据的判断。
进一步地,请继续参阅图5,所述第一毛刺检测单元310包括第一寄存器B1、第二寄存器B2、第一选择器C1、所述第一寄存器B1的输出端连接所述第一选择器C1的第一输入端,所述第一选择器C1的第二输入端连接所述信号输出单元230,所述第一选择器C1的输出端连接所述第五D触发器D5的D信号端,所述第五D触发器D5的Q信号端连接所述判断单元330和所述第一选择器C1的第三输入端;通过所述第一毛刺检测单元310采集循环计数模块400计数到串口数据边沿跳变时刻的计数值加1时的串口数据,并将采集得到的第一采集数据输出至判断单元330,以便于所述判断单元330比较判断。
进一步地,所述第二毛刺检测单元320包括第二选择器C2、第五D触发器D5和第六D触发器D6,所述判断单元330包括第三与门AND3和第三反相器A3,所述第二寄存器B2的输出端连接所述第二选择器C2的第一输入端,所述第二选择器C2的第二输入端连接所述信号输出单元230,所述第二选择器C2的输出端连接所述第六D触发器D6的D信号端,所述第六D触发器D6的Q信号端连接所述第三与门AND3的输入端和所述第二选择器C2的第三输入端;所述第三与门AND3连接所述第三反相器A3的输入端,所述第三反相器A3的输出端连接所述循环计数模块400,通过第二毛刺检测单元320采集循环计数模块400计数到串口数据边沿跳变时刻的计数值加2时的串口数据,并将采集得到的第二采集数据输出至所述判断单元330,进而由判断单元330进行比较,当第一采集数据与第二采集数据相同时,则表面所述串口数据不为毛刺数据,进而自动触发所述循环计数模块400清零重新开始循环计数,进而实现发送端和接收端的自动同步,提高通信的稳定性。
进一步地,请参阅图7,所述起始位检测模块100包括第七D触发器D7、第八D触发器D8、第九D触发器D9、第四反相器A4、第五反相器A5、第四与门AND4和第五与门AND5,所述第七D触发器D7的D信号端连接串口数据输入端,所述第七D触发器D7的Q信号端连接所述第四反相器A4的输入端和第八D触发器D8的D信号端,所述第八D触发器D8的Q信号端连接和所述第四反相器A4的输出端连接所述第四与门AND4的输入端,所述第四与门AND4的输出端连接所述第五与门AND5的输入端,所述第就D触发器的D信号端连接所述第五反相器A5的输出端,所述第五反相器A5的输入端连接所述第五与门AND5的输出端,所述第九D触发器D9的Q信号端连接所述第四与门AND4的输入端,通过触发所述第九D触发器D9来判断是否为起始位等待状态,同时触发所述第七D触发器D7和所述第八D触发器D8来完成串口数据下降沿的检测,进而实现所述串口数据中起始位数据的检测,确保对所述循环计数模块400的稳定触发。
进一步地,本发明还相应提供了一种串口通信波特率校正装置的校正方法,所述的串口通信波特率校正装置的校正方法时基于上述串口通信波特率校正装置进行校正,请参阅图8,所述的串口通信波特率校正装置的校正方法包括如下步骤:
S100、所述起始位检测模块检测到接收的串口数据中的起始位时控制所述循环计数模块开始计数;
S200、所述边沿检测模块检测到所述串口数据中有上升沿或下降沿时,将所述串口数据输出至所述毛刺判断模块;
S300、所述毛刺判断模块检测到所述串口数据不为毛刺数据后控制所述循环计数模块重新开始计数;
S400、所述循环计数模块根据预设的循环阈值进行循环计数。
进一步地,请参阅图9,所述步骤S200具体包括:
S210、第一边沿检测单元检测所述串口数据中有上升沿时,将所述串口数据输出至信号输出单元;
S220、第二边沿检测单元检测到所述串口数据中有下降沿时,将所述串口数据输出至所述信号输出单元;
S230、由所述信号输出单元将所述串口数据输出至所述毛刺判断模块。
进一步地,请参阅图10,所述步骤S300具体包括:
S310、在所述循环计数模块计数到串口数据边沿跳变时刻的计数值加1时,由所述第一毛刺检测单元对所述串口数据进行采集后输出第一采集数据至所述判断单元;
S320、在所述循环计数模块计数到串口数据边沿跳变时刻的计数值加2时,由所述第二毛刺检测单元对所述串口数据进行采集后输出第二采集数据至所述判断单元;
S330、所述判断单元比较所述第一采集数据与所述第二采集数据,当所述第一采集数据与所述第二采集数据相同时,判定所述串口数据不为毛刺数据时,控制所述循环计数模块重新开始计数。
综上所述,本发明提供的串口通信波特率校正装置及其校正方法,其中,所述串口通信波特率校正装置包括起始位检测模块、边沿检测模块、毛刺判断模块和循环计数模块;由所述起始位检测模块检测到接收的串口数据中的起始位时控制所述循环计数模块开始计数;由所述边沿检测模块检测到所述串口数据中有上升沿或下降沿时,将所述串口数据输出至所述毛刺判断模块;由所述毛刺判断模块检测到所述串口数据不为毛刺数据后控制所述循环计数模块重新开始计数;由所述循环计数模块根据预设的循环阈值进行循环计数,通过自动检测串口通信过程中数据的变化边沿并判断是否为毛刺数据,当不是毛刺数据时,使计数器重新计数,使得接收端和发送端自动同步,提高了接收数据的准确性,进而提高了通信的稳定性。
可以理解的是,对本领域普通技术人员来说,可以根据本发明的技术方案及其发明构思加以等同替换或改变,而所有这些改变或替换都应属于本发明所附的权利要求的保护范围。
Claims (9)
1.一种串口通信波特率校正装置,其特征在于,包括起始位检测模块、边沿检测模块、毛刺判断模块和循环计数模块;所述起始位检测模块检测到串口数据中的起始位时控制所述循环计数模块开始计数;所述边沿检测模块检测到所述串口数据中有上升沿或下降沿时,将所述串口数据输出至所述毛刺判断模块;所述毛刺判断模块检测到所述串口数据不为毛刺数据后控制所述循环计数模块重新开始计数;所述循环计数模块根据预设的循环阈值进行循环计数;若所述毛刺判断模块判断所述串口数据为毛刺数据时,将所述串口数据丢弃,不改变计数器工作,若判断所述串口数据不为毛刺数据时,控制所述循环计数器清零重新开始计数,如此自动循环,使得接收端和发送端自动同步。
2.根据权利要求1所述的串口通信波特率校正装置,其特征在于,所述边沿检测模块包括第一边沿检测单元、第二边沿检测单元和信号输出单元,所述第一边沿检测单元检测所述串口数据中有上升沿时,将所述串口数据输出至所述信号输出单元;所述第二边沿检测单元检测到所述串口数据中有下降沿时,将所述串口数据输出至所述信号输出单元;所述信号输出单元将所述串口数据输出至所述毛刺判断模块。
3.根据权利要求2所述的串口通信波特率校正装置,其特征在于,所述毛刺判断模块包括第一毛刺检测单元、第二毛刺检测单元和判断单元;在所述循环计数模块计数到串口数据边沿跳变时刻的计数值加1时,所述第一毛刺检测单元对所述串口数据进行采集后输出第一采集数据至所述判断单元;在所述循环计数模块计数到串口数据边沿跳变时刻的计数值加2时,所述第二毛刺检测单元对所述串口数据进行采集后输出第二采集数据至所述判断单元;所述判断单元比较所述第一采集数据与所述第二采集数据,当所述第一采集数据与所述第二采集数据相同时,判定所述串口数据不为毛刺数据,控制所述循环计数模块重新开始计数。
4.根据权利要求1所述的串口通信波特率校正装置,其特征在于,所述起始位检测模块用于在起始位等待状态时,并检测到所述串口数据上有下降沿时控制所述循环计数模块开始计数。
5.根据权利要求2所述的串口通信波特率校正装置,其特征在于,所述第一边沿检测单元包括第一D触发器、第二D触发器、第一反相器和第一与门;所述第一D触发器的D信号端连接串口数据输入端,所述第一D触发器的Q信号端连接所述第一与门的输入端和所述第二D触发器的D信号端,所述第二D触发器的Q信号端连接所述第一反相器的输入端,所述第一反相器的输出端连接所述第一与门的输入端,所述第一与门的输出端连接所述信号输出单元。
6.根据权利要求2所述的串口通信波特率校正装置,其特征在于,所述第二边沿检测单元包括第三D触发器、第四D触发器、第二反相器和第二与门;所述第三D触发器的D信号端连接串口数据输入端,所述第三D触发器的Q信号端连接所述第二反相器的输入端和所述第四D触发器的D信号端,所述第四D触发器的Q信号端和所述第二反相器的输出端连接所述第二与门的输入端,所述第二与门的输出端连接所述信号输出单元。
7.一种基于如权利要求1-6任意一项所述的串口通信波特率校正装置的校正方法,其特征在于,包括如下步骤:
所述起始位检测模块检测到串口数据中的起始位时控制所述循环计数模块开始计数;
所述边沿检测模块检测到所述串口数据中有上升沿或下降沿时,将所述串口数据输出至所述毛刺判断模块;
所述毛刺判断模块检测到所述串口数据不为毛刺数据后控制所述循环计数模块重新开始计数;
所述循环计数模块根据预设的循环阈值进行循环计数。
8.根据权利要求7所述的串口通信波特率校正装置的校正方法,其特征在于,所述的由所述边沿检测模块检测到所述串口数据中有上升沿或下降沿时,将所述串口数据输出至所述毛刺判断模块的步骤包括:
第一边沿检测单元检测所述串口数据中有上升沿时,将所述串口数据输出至信号输出单元;
第二边沿检测单元检测到所述串口数据中有下降沿时,将所述串口数据输出至所述信号输出单元;
所述信号输出单元将所述串口数据输出至所述毛刺判断模块。
9.根据权利要求8所述的串口通信波特率校正装置的校正方法,其特征在于,所述的由所述毛刺判断模块检测到所述串口数据不为毛刺数据后控制所述循环计数模块重新开始计数的步骤包括:
在所述循环计数模块计数到串口数据边沿跳变时刻的计数值加1时,第一毛刺检测单元对所述串口数据进行采集后输出第一采集数据至判断单元;
在所述循环计数模块计数到串口数据边沿跳变时刻的计数值加2时,第二毛刺检测单元对所述串口数据进行采集后输出第二采集数据至所述判断单元;
所述判断单元比较所述第一采集数据与所述第二采集数据,当所述第一采集数据与所述第二采集数据相同时,判定所述串口数据不为毛刺数据,控制所述循环计数模块重新开始计数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910913080.2A CN110535621B (zh) | 2019-09-25 | 2019-09-25 | 一种串口通讯波特率校正装置及其校正方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910913080.2A CN110535621B (zh) | 2019-09-25 | 2019-09-25 | 一种串口通讯波特率校正装置及其校正方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110535621A CN110535621A (zh) | 2019-12-03 |
CN110535621B true CN110535621B (zh) | 2021-04-20 |
Family
ID=68670296
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910913080.2A Active CN110535621B (zh) | 2019-09-25 | 2019-09-25 | 一种串口通讯波特率校正装置及其校正方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110535621B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111177060B (zh) * | 2019-12-27 | 2021-06-29 | 深圳市越疆科技有限公司 | 串口数据发送方法、接收方法、相应装置及终端设备 |
CN112100101A (zh) * | 2020-08-13 | 2020-12-18 | 四川虹美智能科技有限公司 | 数据输出方法、装置及计算机可读介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7039146B2 (en) * | 2001-01-16 | 2006-05-02 | Advanced Micro Devices, Inc. | Method and interface for glitch-free clock switching |
CN103036823A (zh) * | 2012-12-14 | 2013-04-10 | 中船重工(武汉)凌久电子有限责任公司 | 基于fpga的波特率快速自适应方法、处理器及接收端 |
-
2019
- 2019-09-25 CN CN201910913080.2A patent/CN110535621B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7039146B2 (en) * | 2001-01-16 | 2006-05-02 | Advanced Micro Devices, Inc. | Method and interface for glitch-free clock switching |
CN103036823A (zh) * | 2012-12-14 | 2013-04-10 | 中船重工(武汉)凌久电子有限责任公司 | 基于fpga的波特率快速自适应方法、处理器及接收端 |
Also Published As
Publication number | Publication date |
---|---|
CN110535621A (zh) | 2019-12-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3637271B1 (en) | Baud rate calibration circuit and serial chip | |
AU2012301100B2 (en) | Method and device for testing the correct function of a serial data transmission | |
CN110535621B (zh) | 一种串口通讯波特率校正装置及其校正方法 | |
US7548581B2 (en) | At-command analyzing device | |
US10313068B1 (en) | Signal monitoring and measurement for a multi-wire, multi-phase interface | |
US20060245515A1 (en) | Data reception apparatus and synchronizing signal detection method and program | |
CN111800249A (zh) | 串行通信波特率误差容忍范围提升方法及系统 | |
CN111177060A (zh) | 串口数据发送方法、接收方法、相应装置及终端设备 | |
EP2701336A1 (en) | Transmitter circuit, interface circuit, information terminal, interface method and recording medium | |
CN203574663U (zh) | 一种自动波特率检测模块 | |
CN114338266A (zh) | 一种can控制器的波特率校准方法及校准电路 | |
US5206888A (en) | Start-stop synchronous communication speed detecting apparatus | |
US20220209983A1 (en) | Subscriber station for a serial bus system, and method for communicating in a serial bus system | |
CN110635854A (zh) | 一种传输协议自适应解码系统及方法 | |
CN110865957A (zh) | 一种uart接口的数据接收方法和装置 | |
CN116015324A (zh) | 一种强化抗干扰的uart数据接收装置及其接收方法 | |
CN210201839U (zh) | 一种传输协议自适应解码系统 | |
CN116915367B (zh) | 数据检测方法、存储介质和电子设备 | |
JP3403784B2 (ja) | デジタル通信の同期保護方法 | |
CN117200923A (zh) | 一种异步通信方法及装置 | |
JP2018152643A (ja) | 調歩同期式シリアルデータ通信装置のデータ受信回路 | |
KR102022795B1 (ko) | 데이터 시작점 자동 측정 방법 및 시스템 | |
JP2022132152A (ja) | IO-Link通信におけるスレーブデバイスのタイミング検出および補正方法、並びにIO-Link通信のスレーブデバイス | |
CN117294389A (zh) | 一种数据通讯系统及其运行方法 | |
CN112149439A (zh) | Swp物理层s2解码自对准方法、装置及设备 |
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 |