CN102938744A - 一种通用串行收发器的实现方法 - Google Patents
一种通用串行收发器的实现方法 Download PDFInfo
- Publication number
- CN102938744A CN102938744A CN2012103763142A CN201210376314A CN102938744A CN 102938744 A CN102938744 A CN 102938744A CN 2012103763142 A CN2012103763142 A CN 2012103763142A CN 201210376314 A CN201210376314 A CN 201210376314A CN 102938744 A CN102938744 A CN 102938744A
- Authority
- CN
- China
- Prior art keywords
- bit
- data
- pulse sequence
- width
- pilot pulse
- 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.)
- Granted
Links
Images
Landscapes
- Communication Control (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
- Dc Digital Transmission (AREA)
Abstract
本发明提供了一种通用串行收发器的实现方法,通过接收引导脉冲序列来确定发送端的波特率,该引导脉冲序列的数据位总宽度必须大于16*M,该引导脉冲序列相邻两位宽度之差(第N位与第N-1位,1≤N≤M)不能超过第N-1位位宽的x%(x值可配置),若超过则需重新接收引导脉冲序列以自动匹配连接;接收数据序列累计位宽误差不能超过标准位宽的y%(y可配置)。本发明既提高串行通讯的抗干扰能力,又具有普适应。该通用串行收发器结合一定的通信协议控制器即可组成相应的串行通讯接口,如调试接口、异步串行通讯接口等,达到灵活、高可靠性效果,具有广泛的应用前景。
Description
技术领域
本发明属于数据通信领域,特别涉及一种通用串行收发器的实现方法。
背景技术
在某些通信过程中,输入数据的波特率并不能直接获取,故需接收方根据接收数据的特点来确定数据传输的波特率。现今多采用自适应波特率检测的基本原理为:N表示串行线路上某一下降沿,P表示紧接着下降沿N的上升沿,T表示N和P之间的时间间隔,等于若干个数据位周期。采样周期计数器在下降沿N处从0开始计数,在上升沿P处停止计数,该数值表示串行数据出现一个低电平的时钟周期,等于若干个数据位周期。然后将该计数值和保持寄存器中存储的数值进行比较。若计数值小于保持寄存器中的数值,则该计数值替换保持寄存器中的数值。在设定的检测时间内,不断重复上面的比较过程。最终,采样获得保持寄存器中存储的最小计数值即为波特率系数。在上述设计中,若低电平的最小宽度与标准位宽超差过大,则由该方法所获得的波特率系数存在较大误差,可能无法正常实现通信。
发明内容
为了克服现有技术的不足,本发明提供一种通用串行收发器的实现方法,在确保串行收发器通用性的同时,又很好地提高其抗干扰能力。
本发明解决其技术问题所采用的技术方案包括以下步骤:
(1)判定串行收发器为自适应波特率模式或设置波特模式,若为设置波特率模式,则进入步骤(8),若为自适应波特率模式,则进入步骤(2);
(2)接收引导脉冲序列的起始位,启动计数器得到起始位宽度T0;
(3)接收引导脉冲序列的第N位数据位,启动计数器计算第N位数据位宽度,在计数过程中每隔1个采样周期,判定当前计数值T-TN-1是否超过上一个数据位的计数值TN-1的x%,x为根据需要配置的阈值,若超过则回到步骤(1),否则继续计数过程;
(4)计数结束后得到第N位数据位宽度TN,判定在TN-1-TN是否超过TN-1的x%,若超过则回到步骤(1);
(5)若N<M,则回到步骤(2)继续循环直至N=M后进入步骤(6),M为引导脉冲序列 的数据位数;
(6)判定M位数据位的总宽度W是否小于16*M,若小于则回到步骤(1),否则进入步骤(7);
(7)计算自适应的波特率Baud=W/M;
(8)接收数据序列,对数据序列的每一位数据位采样三次,第2次采样位置为标准位宽TS的y%,y为根据需要配置的阈值,第1、3次采样位置与第2次采样位置之间间隔G个采样时钟,G为根据需要配置的阈值,取其中两次相同的采样值作为接收数据。
本发明的有益效果是:既提高串行通讯的抗干扰能力,又具有普适应。该通用串行收发器结合一定的通信协议控制器即可组成相应的串行通讯接口,如调试接口、异步串行通讯接口等,达到灵活、高可靠性效果,具有广泛的应用前景。
附图说明
图1是本发明实施例的实现流程图。
具体实施方式
一种通用串行收发器的实现方法,其特征在于可通过接收引导脉冲序列来确定发送端的波特率,该引导脉冲序列的数据位总宽度必须大于16*M,该引导脉冲序列相邻两位宽度之差(第N位与第N-1位,1≤N≤M)不能超过第N-1位位宽的x%(x值可配置),若超过则需重新接收引导脉冲序列以自动匹配连接;接收数据序列累计位宽误差不能超过标准位宽的y%(y可配置)。该设计包括:
(1)判定串行收发器为自适应波特率模式或设置波特模式,若为设置波特率模式,则进入步骤(8),若为自适应波特率模式,则进入步骤(2);
(2)接收引导脉冲序列的起始位,该序列的起始位(第0位)、数据位(第1位~第M位)、停止位(第M+1位)每一位相对前一位均有电平变化,启动计数器得到起始位宽度T0;
(3)接收引导脉冲序列的第N位数据位,启动计数器计算第N位数据位宽度,在计数过程中每隔1个采样周期,判定当前计数值T-TN-1是否超TN-1的x%(x值可配置),若超过则回到步骤(1),否则继续计数过程;
(4)计数结束后得到第N位数据位宽度TN,判定在TN-1-TN是否超过TN-1的x%,若超过 则回到步骤(1);
(5)若N<M,则回到步骤(2)继续循环直至N=M后进入步骤(6);
(6)判定M位数据位的总宽度W是否小于16*M,若小于则回到步骤(1),否则进入步骤(7);
(7)通过公式Baud=W/M计算得到自适应的波特率;
(8)接收数据序列,对序列的每一位数据位采样三次,第2次采样位置为标准位宽TS的y%(y可配置),第1、3次采样位置与第2次采样位置之间间隔G个采样时钟(G可配置),取其中两次相同的采样值作为接收数据。
上述通用串行收发器波特率寄存器包含波特率模式位、波特率分频因子位FreqMpy。该串行收发器具备自适应和设置波特率两种模式。若采用波特率设置模式,则通讯双方需按系统约定的波特率进行设置(FreqMpy=fsampling/Baud,fsampling为串行收发器采样频率)。
本发明可通过接收引导脉冲序列来确定发送端的波特率,该引导脉冲序列的数据位总宽度必须大于16*M,该引导脉冲序列相邻两位宽度之差(第N位与第N-1位,1≤N≤M)不能超过第N-1位位宽的x%(x值可配置),若超过则需重新接收引导脉冲序列以自动匹配连接。
本发明接收数据序列累计位宽误差不能超过标准位宽的y%(y可配置)。
下面结合附图和实施例对本发明进一步说明。
一种通用串行收发器的实现方法,如图1所示,具体包含以下步骤:
(1)判定串行收发器为自适应波特率模式或设置波特模式,若为设置波特率模式,则进入步骤(8),若为自适应波特率模式,则进入步骤(2);
(2)接收引导脉冲序列(0X″55″)的起始位,该序列包含起始位(第0位:高电平)、数据位(第1位~第8位:低、高电平相间)、停止位(第9位:低电平),启动计数器得到起始位宽度T0;
(3)接收引导脉冲序列的第N位数据位,启动计数器计算第N位数据位宽度,在计数过程中每隔1个采样周期,判定当前计数值T-TN-1是否超TN-1的12.5%,若超过则回到步骤(1),否则继续计数过程;
(4)计数结束后得到第N位数据位宽度TN,判定在TN-1-TN是否超过TN-1的12.5%,若超过则回到步骤(1);
(5)若N<8,则回到步骤(2)继续循环直至N=8后进入步骤(6);
(6)判定8位数据位的总宽度W是否小于0X″80″,若小于则回到步骤(1),否则进入步骤(7);
(7)通过公式Baud=W/8计算得到自适应的波特率;
(8)接收数据序列,对序列的每一位数据位采样三次,第2次采样位置为标准位宽TS的50%,第1、3次采样位置与第2次采样位置之间间隔1个时钟,取其中两次相同的采样值作为接收数据。
以上实施例可实现:该引导脉冲序列(0X″55″)的数据位总宽度必须大于0X″80″,该引导脉冲序列相邻两位宽度之差(第N位与第N-1位,1≤N≤8)不能超过第N-1位位宽的12.5%,若超过则需重新接收引导脉冲序列以自动匹配连接;接收数据序列累计位宽误差不能超过标准位宽的50%。
Claims (1)
1.一种通用串行收发器的实现方法,其特征在于包括下述步骤:
(1)判定串行收发器为自适应波特率模式或设置波特模式,若为设置波特率模式,则进入步骤(8),若为自适应波特率模式,则进入步骤(2);
(2)接收引导脉冲序列的起始位,启动计数器得到起始位宽度T0;
(3)接收引导脉冲序列的第N位数据位,启动计数器计算第N位数据位宽度,在计数过程中每隔1个采样周期,判定当前计数值T-TN-1是否超过上一个数据位的计数值TN-1的x%,x为根据需要配置的阈值,若超过则回到步骤(1),否则继续计数过程;
(4)计数结束后得到第N位数据位宽度TN,判定在TN-1-TN是否超过TN-1的x%,若超过则回到步骤(1);
(5)若N<M,则回到步骤(2)继续循环直至N=M后进入步骤(6),M为引导脉冲序列的数据位数;
(6)判定M位数据位的总宽度W是否小于16*M,若小于则回到步骤(1),否则进入步骤(7);
(7)计算自适应的波特率Baud=W/M;
(8)接收数据序列,对数据序列的每一位数据位采样三次,第2次采样位置为标准位宽TS的y%,y为根据需要配置的阈值,第1、3次采样位置与第2次采样位置之间间隔G个采样时钟,G为根据需要配置的阈值,取其中两次相同的采样值作为接收数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210376314.2A CN102938744B (zh) | 2012-10-08 | 2012-10-08 | 一种通用串行收发器的实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210376314.2A CN102938744B (zh) | 2012-10-08 | 2012-10-08 | 一种通用串行收发器的实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102938744A true CN102938744A (zh) | 2013-02-20 |
CN102938744B CN102938744B (zh) | 2015-09-23 |
Family
ID=47697614
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210376314.2A Active CN102938744B (zh) | 2012-10-08 | 2012-10-08 | 一种通用串行收发器的实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102938744B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103973533A (zh) * | 2014-05-22 | 2014-08-06 | 哈尔滨理工大学 | 隔离型rs485/rs422中继隔离器的波特率识别方法及数据流控制方法 |
CN104144137A (zh) * | 2014-08-12 | 2014-11-12 | 北京控制与电子技术研究所 | 一种高速lvds串行同步通讯控制器 |
CN105978413A (zh) * | 2016-07-05 | 2016-09-28 | 中车株洲电力机车研究所有限公司 | 一种脉冲序列的串行传输方法、装置和永磁传动系统 |
CN106941399A (zh) * | 2017-03-15 | 2017-07-11 | 广州致远电子股份有限公司 | 一种双速率can fd的波特率测量方法及装置 |
WO2018072091A1 (zh) * | 2016-10-18 | 2018-04-26 | 深圳配天智能技术研究院有限公司 | 一种数据处理方法及基站设备 |
CN112559412A (zh) * | 2021-03-01 | 2021-03-26 | 上海灵动微电子股份有限公司 | 一种串口波特率自适应接收端、实现方法、系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20020040984A (ko) * | 2000-11-25 | 2002-05-31 | 구자홍 | 데이터 송수신시 보율 감지 장치 및 그 방법 |
US20020122476A1 (en) * | 2000-12-29 | 2002-09-05 | Lg Electronics Inc. | Apparatus and method for detecting baudrate in a universal asynchronous receiver/transmitter |
CN101082953A (zh) * | 2006-05-29 | 2007-12-05 | 北京同方微电子有限公司 | 非接触式ic卡和读写器之间波特率自适应方法及其装置 |
CN101551786A (zh) * | 2009-05-05 | 2009-10-07 | 大连理工大学 | 波特率自适应串行通信中继器的制作方法 |
CN101604161A (zh) * | 2009-04-17 | 2009-12-16 | 北京铱钵隆芯科技有限责任公司 | 位同步解码方法 |
-
2012
- 2012-10-08 CN CN201210376314.2A patent/CN102938744B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20020040984A (ko) * | 2000-11-25 | 2002-05-31 | 구자홍 | 데이터 송수신시 보율 감지 장치 및 그 방법 |
US20020122476A1 (en) * | 2000-12-29 | 2002-09-05 | Lg Electronics Inc. | Apparatus and method for detecting baudrate in a universal asynchronous receiver/transmitter |
CN101082953A (zh) * | 2006-05-29 | 2007-12-05 | 北京同方微电子有限公司 | 非接触式ic卡和读写器之间波特率自适应方法及其装置 |
CN101604161A (zh) * | 2009-04-17 | 2009-12-16 | 北京铱钵隆芯科技有限责任公司 | 位同步解码方法 |
CN101551786A (zh) * | 2009-05-05 | 2009-10-07 | 大连理工大学 | 波特率自适应串行通信中继器的制作方法 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103973533A (zh) * | 2014-05-22 | 2014-08-06 | 哈尔滨理工大学 | 隔离型rs485/rs422中继隔离器的波特率识别方法及数据流控制方法 |
CN103973533B (zh) * | 2014-05-22 | 2017-06-20 | 哈尔滨理工大学 | 隔离型rs485/rs422中继隔离器的波特率识别方法及数据流控制方法 |
CN104144137A (zh) * | 2014-08-12 | 2014-11-12 | 北京控制与电子技术研究所 | 一种高速lvds串行同步通讯控制器 |
CN104144137B (zh) * | 2014-08-12 | 2017-08-29 | 北京控制与电子技术研究所 | 一种高速lvds串行同步通讯控制器 |
CN105978413A (zh) * | 2016-07-05 | 2016-09-28 | 中车株洲电力机车研究所有限公司 | 一种脉冲序列的串行传输方法、装置和永磁传动系统 |
CN105978413B (zh) * | 2016-07-05 | 2018-09-11 | 中车株洲电力机车研究所有限公司 | 一种脉冲序列的串行传输方法、装置和永磁传动系统 |
WO2018072091A1 (zh) * | 2016-10-18 | 2018-04-26 | 深圳配天智能技术研究院有限公司 | 一种数据处理方法及基站设备 |
CN106941399A (zh) * | 2017-03-15 | 2017-07-11 | 广州致远电子股份有限公司 | 一种双速率can fd的波特率测量方法及装置 |
CN106941399B (zh) * | 2017-03-15 | 2020-04-24 | 广州致远电子有限公司 | 一种双速率can fd的波特率测量方法及装置 |
CN112559412A (zh) * | 2021-03-01 | 2021-03-26 | 上海灵动微电子股份有限公司 | 一种串口波特率自适应接收端、实现方法、系统 |
Also Published As
Publication number | Publication date |
---|---|
CN102938744B (zh) | 2015-09-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102938744A (zh) | 一种通用串行收发器的实现方法 | |
US9203665B1 (en) | Resource optimization by implementing multiple instances of a soft modem with a single microcontroller | |
CN108965082A (zh) | 低功率数据总线接收器 | |
CN101710857A (zh) | 串行通信波特率自适应方法及其装置 | |
CN103973608A (zh) | 一种针对短波通信信道下单载波频域均衡的信道估计方法 | |
CN210072603U (zh) | 一种usb2.0转多通道串口输出装置 | |
CN101431389A (zh) | 一种电路及其信号的传输方法 | |
CN110865957A (zh) | 一种uart接口的数据接收方法和装置 | |
US9584172B2 (en) | Wireless network receiver | |
CN116015324A (zh) | 一种强化抗干扰的uart数据接收装置及其接收方法 | |
CN204697106U (zh) | 一种ofdm电力线载波和gfsk无线双模通信芯片 | |
CN104539317A (zh) | 一种ofdm载波和gfsk无线双模通信芯片 | |
CN109597783A (zh) | 一种双光耦隔离型rs485电路 | |
CN203747855U (zh) | 数字通信系统的信道质量估计与自适应发送接收装置 | |
CN116633813A (zh) | 一种can总线的波特率自适应检测方法和系统 | |
CN102035771B (zh) | 一种消除直流偏置的方法及装置 | |
CN208272972U (zh) | 一种单线通信电路 | |
CN102612134A (zh) | 一种用户设备辅助的基站间同步方式 | |
CN106788947B (zh) | 基于433MHz的全双工无线通信模块 | |
CN107147601B (zh) | 一种基于脉宽等长机制的fsk解调方法 | |
CN203243324U (zh) | 电力线载波通用载波器 | |
CN103414494B (zh) | 一种电力线载波通信系统的信号帧生成方法 | |
CN201118577Y (zh) | 无线透明传输装置 | |
CN112134825A (zh) | 一种低复杂度高性能的gfsk基带定时同步方法 | |
CN204990287U (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |