一种串口波特率自适应系统和方法技术方案

技术编号:15982600 阅读:31 留言:0更新日期:2017-08-12 05:37
本发明专利技术公开了一种串口波特率自适应系统和方法,所述系统包括:缓存模块、波特率解析模块、第一串口接收模块、串口发送模块。本发明专利技术可实时解析串口电平波特率,并解析出串口数据,无提预知发送端波特率,接收端固定接收,使用户传输串口数据操作更简便,通过严格的时序逻辑和缓存控制,防止了波特率识别过程中数据的丢失,资源消耗低,波特率解析准确率高,可实现帧同步和速度匹配,完全还原实时数据,延迟低,拓展性强,鲁棒性好。

【技术实现步骤摘要】
一种串口波特率自适应系统和方法
本专利技术涉及串口通信
,尤其涉及一种串口波特率自适应系统和方法。
技术介绍
现如今串口(RS232,RS485等)控制是一种方便、高效的控制方式,大量应用于多主机通信,以及人机控制接口。而串口通信需要发送和接收传输速率一致,才能保证数据的正确传输,所以在发送和接收时需要进行波特率匹配,现在一般的做法是提前预知发送端波特率,接收端固定接收;或者提前预知接收端需要的波特率,用户用指定的波特率发送,这样操作麻烦,且拓展性差,容易由于疏忽导致数据异常。
技术实现思路
本专利技术的目的是针对上述现有技术存在的缺陷,提供一种串口波特率自适应系统和方法。本专利技术提供的串口波特率自适应系统包括:缓存模块、波特率解析模块、第一串口接收模块、串口发送模块。串口电平缓存模块,用于实时接收并缓存串口电平信号,输出延迟的串口电平信号;波特率解析模块,用于实时对缓存的串口电平信号进行波特率解析,解析出串口电平信号的最小脉宽,根据该最小脉宽得出串口的波特率;向串口电平缓存模块发送输出延迟的串口电平信号的使能指令;串口接收模块,用于根据波特率解析模块实时解析的波特率接收延迟的串口电平信号,得出串口数据;缓存速度匹配模块,用于匹配串口接收模块和串口发送模块的串口波特率;串口发送模块,用于发送串口电平信号;所述系统还包括滤波器,用于在串口电平缓存模块接收串口电平信号之前滤除串口电平信号的毛刺。所述串口接收模块还包括串口解析模块,用于根据解析的波特率对串口数据进行解析,得出串口数据;所述串口发送模块还包括波特率转换模块,用于转换串口数据波特率为指定波特率,以串口电平信号的形式发送出去。所述波特率解析模块通过最小公倍数法计算串口电平信号的最小脉宽。所述串口电平缓存模块为FIFO缓存方式。所述波特率解析模块还包括根据一定的时机进行波特率解析,所述时机包括:串口电平缓存模块接收到5个或以上的正常串口电平信号的跳变电平。本专利技术提供的串口波特率自适应方法,包括以下步骤:步骤S100:滤除串口电平信号的毛刺;步骤S101:实时接收并缓存串口电平信号;步骤S102:实时接收并缓存串口电平信号;步骤S103:当串口电平缓存模块接收到5个或以上的正常串口电平信号的跳变电平时,对缓存的串口电平信号进行波特率解析,解析出串口电平信号的最小脉宽,根据该最小脉宽得出串口的波特率;向串口电平缓存模块发送延迟输出串口电平的使能指令;步骤S104:根据波特率解析模块实时解析的波特率接收延迟的串口电平信号,得出串口数据;步骤S105:匹配串口接收模块和串口发送模块的波特率;步骤S106:转换串口数据波特率为指定波特率,向外发送串口电平信号。所述步骤S104中得出串口数据具体包括:根据解析的波特率对串口数据进行解析,得出串口数据。所述步骤S103中查找串口电平信号的最小脉宽具体包括:通过最小公倍数法计算串口电平信号的最小脉宽。所述步骤S101中实时接收并缓存串口电平信号的缓存方式为FIFO。与现有技术相比,本专利技术可实时解析串口电平波特率,并解析出串口数据,无提预知发送端波特率,接收端固定接收,使用户传输串口数据操作更简便。本专利技术不需要通过固定的数据帧头来识别波特率,通过严格的时序逻辑和缓存控制,防止了波特率识别过程中数据的丢失。此外,本专利技术可直接解析出标准波特率,波特率解析准确率高,资源消耗低,可实现帧同步和速度匹配,完全还原实时数据,具有低延迟,拓展性强,鲁棒性好。附图说明图1是本专利技术串口波特率自适应系统功能模块图;图2是本专利技术多机总线单向控制单一设备的示例图;图3是本专利技术多机双向通信的示例图;图4是本专利技术串口波特率自适应方法的流程图;图5是本专利技术解析并得出串口数据的时序逻辑控制流程图。具体实施方式下面结合附图和实施例对专利技术进行详细的说明。如图1所示,本专利技术提供的串口波特率自适应系统包括:滤波器、缓存模块、波特率解析模块、第一串口接收模块、串口发送模块。滤波器,用于在串口电平缓存模块接收串口电平信号之前滤除串口电平信号的毛刺;串口电平缓存模块,用于实时接收并缓存串口电平信号,输出延迟的串口电平信号;波特率解析模块,用于实时对缓存的串口电平信号进行波特率解析,查找串口电平信号的最小脉宽,根据该时长得出串口的波特率;向串口电平缓存模块发送延迟输出串口电平的使能指令;串口接收模块,用于根据波特率解析模块实时解析的波特率接收延迟的串口电平信号,得出串口数据;缓存速度匹配模块,用于匹配串口接收模块和串口发送模块的串口波特率;串口发送模块,用于发送串口电平信号。其中,串口发送模块还包括波特率转换模块,用于转换串口数据波特率为指定波特率,以串口电平信号的形式发送出去。本专利技术中,滤波器对接收的任一标准波特率(如:1200、2400、4800、9600、19200、38400、115200等)的串口信号进行一定频率范围的滤波处理,消除信号波上抖动的毛刺信号,以消除毛刺信号对于后续对于串口信号波特率识别解析的影响。串口信号进行滤波处理后以先进先出(FIFO)的方式在串口电平缓存模块进行实时缓存,波特率解析模块实时对缓存的串口电平信号进行波特率解析,通过最小公倍数法计算串口电平信号的最小脉宽,根据该时长计算得出串口的波特率。解析后的串口电平数据依然缓存在串口电平缓存模块。其中,波特率解析模块根据一定的时机进行波特率解析,所述时机为:串口电平缓存模块接收到5个或以上的正常串口电平信号的跳变电平。波特率解析模块解析出波特率后向串口电平缓存模块发送延迟输出串口电平的使能指令,串口电平缓存模块以FIFO的工作方式输出延迟的串口电平信号rx_delay。通过这种控制方式,可保证数据在进行波特率解析的时候缓存不被丢失。串口接收模块根据波特率解析模块实时解析的波特率接收延迟的串口电平信号即rx_delay信号,并通过串口接收模块的串口解析模块根据解析的波特率对串口数据进行解析,得出串口数据rx_data[7:0]。此时,串口数据rx_data[7:0]可以转换成其他数据格式进行传输出去。缓存速度匹配模块匹配串口接收模块和串口发送模块的串口波特率,使串口数据得以正确的串口发送出去。图2为本专利技术多机总线单向控制单一设备的一个示例图,多个串口以不同波特率向本专利技术的系统发送串口电平信号,经过本系统识别解析出波特率及串口数据后,将其转换波特率以指定的波特率向被控设备发送。图3为本专利技术多机双向通信的一个示例图,多个串口以不同波特率向系统发送串口电平信号,经过识别解析出波特率及串口数据后,发送给分发器,分发器将不同串口数据分发至各主机,串口数据发送至各主机前通过波特率转换,以指定的波特率向主机发送出。由于实际应用中,算法由FPGA(或CPLD)实现,资源相对敏感,很多在CPU上的算法需要进行变通才能得以实现,例如求最小脉宽一般采用的是碾转求余法,这在普通无硬件求余模块的FPGA上资源的消耗是巨大的,本专利技术根据串口信号的特性采用减法,减少了系统资源的消耗。波特率误差的适应性一般由于设备自身或者线路传输的原因,串口信号会发生畸变,对于检测到的脉宽T有:所以对于波特率Fb,由检测出的脉宽T、实际电平包含的位数n和信号畸变差三个参数共同决定。本专利技术能消除畸变偏差,在接收到5个或以上的正常串本文档来自技高网...
一种串口波特率自适应系统和方法

【技术保护点】
一种串口波特率自适应系统,其特征在于,包括缓存模块、波特率解析模块、第一串口接收模块、串口发送模块;串口电平缓存模块,用于实时接收并缓存串口电平信号,输出延迟的串口电平信号;波特率解析模块,用于实时对缓存的串口电平信号进行波特率解析,解析出串口电平信号的最小脉宽,根据该最小脉宽得出串口的波特率;向串口电平缓存模块发送输出延迟的串口电平信号的使能指令;串口接收模块,用于根据波特率解析模块实时解析的波特率接收延迟的串口电平信号,得出串口数据;缓存速度匹配模块,用于匹配串口接收模块和串口发送模块的串口波特率;串口发送模块,用于发送串口电平信号。

【技术特征摘要】
1.一种串口波特率自适应系统,其特征在于,包括缓存模块、波特率解析模块、第一串口接收模块、串口发送模块;串口电平缓存模块,用于实时接收并缓存串口电平信号,输出延迟的串口电平信号;波特率解析模块,用于实时对缓存的串口电平信号进行波特率解析,解析出串口电平信号的最小脉宽,根据该最小脉宽得出串口的波特率;向串口电平缓存模块发送输出延迟的串口电平信号的使能指令;串口接收模块,用于根据波特率解析模块实时解析的波特率接收延迟的串口电平信号,得出串口数据;缓存速度匹配模块,用于匹配串口接收模块和串口发送模块的串口波特率;串口发送模块,用于发送串口电平信号。2.如权利要求1所述的串口波特率自适应系统,其特征在于,所述系统还包括滤波器,用于在串口电平缓存模块接收串口电平信号之前滤除串口电平信号的毛刺。3.如权利要求1所述的串口波特率自适应系统,其特征在于,所述串口接收模块还包括串口解析模块,用于根据解析的波特率对串口数据进行解析,得出串口数据;所述串口发送模块还包括波特率转换模块,用于转换串口数据波特率为指定波特率,以串口电平信号的形式发送出去。4.如权利要求1所述的串口波特率自适应系统,其特征在于,所述波特率解析模块通过最小公倍数法计算串口电平信号的最小脉宽。5.如权利要求1所述的串口波特率自适应系统,其特征在于,所述串口电平缓存模块为FIFO缓存方式。6.如权...

【专利技术属性】
技术研发人员:阳传琦雷正江游贵泉
申请(专利权)人:深圳市顺讯电子有限公司
类型:发明
国别省市:广东,44

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

1