The invention provides a device and method for adaptive baud rate of serial communication, data transmission and instruction between the sender and receiver control tasks, which comprises the following steps: starting the baud rate setting is M times the baud rate of the sender changes within the minimum rate of Potter, where M = 8 or 16 or 32, in the continuous reception a character, the character data received by the sender using the judgment rule to determine whether the baud rate baud rate 1 / M, if not, the receiver baud rate is doubled, to receive characters, until the end of M times the baud rate for the sender receiver to determine the baud rate. The invention does not need to send the serial device features characters, also does not depend on the timer or other tools to test a bit to keep time, can realize the adaptive recognition of baud rate, serial equipment using improved flexibility and versatility.
【技术实现步骤摘要】
本专利技术涉及通信
,提供了 一种串行通信波特率自适应方法及其装置。
技术介绍
在工业测量、自动控制、通信等领域中,人们经常会用串行通信来完成主机与终端的数据传输和指令控制任务,由于终端用途的多样性使得系统对通信速率要求也有很大的不同。 目前,波特率检测的常用方法主要有两种标准波特率穷举法和码元宽度实时检测法。标准波特率穷举法要求数据终端传输数据所采用的波特率必须在有限的几个固定数值之间变化,如标准波特率序列。串行设备启动后,逐个尝试以不同的波特率接收数据终端发出的特征字符,直到能正确接收为止。码元宽度实时检测法要求数据终端按照约定发送特征字符,串行设备测量输入数据的码元宽度,而后计算出待测的波特率。以上两种方法对串行设备发送的数据都有一定的限制或要求才能够实现波特率的自适应,降低了使用上的灵活性和通用性。波特率检测大都采用根据一个位保持的时间来判断的,通常采用定时或采集器来测量一个位保持的时间,需要依赖定时器或其它工具来测试一个位保持的时间。 在实际工作中,尽管终端的波特率有多种情况,但是大部分都还是采用通用的标准波特率系列,这些波特率常取如下值300 、 600 、1200、 2400 、 4800 、 9600 、 19200 、 38400 、57600、 115200等。显然要让主机与终端能进行正确接收和发送,双方必须使用相同的波特率设置,简单的做法是双方设置成固定的值,但这样做使得系统的灵活性变差。如果一方的波特率发生改变,另一方也需要进行相应的调整设置,需要人为修改较为不便,也使得串行设备的通用性和灵活性差。
技术实现思路
针对以上不足 ...
【技术保护点】
一种串行通信波特率自适应方法,用于完成发送方与接收方之间的数据传输和指令控制任务,其特征在于:设置接收方的起始波特率为发送方波特率变化范围内的最小波特率的M倍,其中M=8或16或32,根据M值的不同可分为8倍波特率法或16倍波特率法或32倍波特率法,所述的8倍波特率法或16倍波特率法或32倍波特率法均是在连续接收多个字符后,将接收到的字符数据通过判断法则判断发送方采用的波特率是否为接收方波特率的1/M,若不是,则使接收方的波特率加倍,重新接收字符,直至判断接收方的波特率为发送方波特率的M倍时结束;其中,所述判断法则是:当M=8时,所述8倍波特率法的判断法则是当接收到的字符数据均为00H或80H,且含有开始、结束的字符均已出现时,接收方的波特率为发送方波特率的8倍;当M=16时,所述16倍波特率法的判断法则是当接收到的字符数据均为0000H或8000H,且含有开始、结束的字符均已出现时,接收方的波特率为发送方波特率的16倍;当M=32时,所述32倍波特率法的判断法则是当接收到的字符数据均为00000000H或80000000H,且含有开始、结束的字符均已出现时,接收方的波特率为发送方波特 ...
【技术特征摘要】
一种串行通信波特率自适应方法,用于完成发送方与接收方之间的数据传输和指令控制任务,其特征在于设置接收方的起始波特率为发送方波特率变化范围内的最小波特率的M倍,其中M=8或16或32,根据M值的不同可分为8倍波特率法或16倍波特率法或32倍波特率法,所述的8倍波特率法或16倍波特率法或32倍波特率法均是在连续接收多个字符后,将接收到的字符数据通过判断法则判断发送方采用的波特率是否为接收方波特率的1/M,若不是,则使接收方的波特率加倍,重新接收字符,直至判断接收方的波特率为发送方波特率的M倍时结束;其中,所述判断法则是当M=8时,所述8倍波特率法的判断法则是当接收到的字符数据均为00H或80H,且含有开始、结束的字符均已出现时,接收方的波特率为发送方波特率的8倍;当M=16时,所述16倍波特率法的判断法则是当接收到的字符数据均为0000H或8000H,且含有开始、结束的字符均已出现时,接收方的波特率为发送方波特率的16倍;当M=32时,所述32倍波特率法的判断法则是当接收到的字符数据均为00000000H或80000000H,且含有开始、结束的字符均已出现时,接收方的波特率为发送方波特率的32倍。2. 根据权利要求1...
【专利技术属性】
技术研发人员:曾宗云,陈泽城,
申请(专利权)人:厦门敏讯信息技术股份有限公司,
类型:发明
国别省市:92[中国|厦门]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。