CN106095717A - 一种动态延迟补偿方法及装置 - Google Patents
一种动态延迟补偿方法及装置 Download PDFInfo
- Publication number
- CN106095717A CN106095717A CN201610480250.9A CN201610480250A CN106095717A CN 106095717 A CN106095717 A CN 106095717A CN 201610480250 A CN201610480250 A CN 201610480250A CN 106095717 A CN106095717 A CN 106095717A
- Authority
- CN
- China
- Prior art keywords
- time point
- data
- acknowledgement bit
- sequential
- time delay
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
- G06F13/4295—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using an embedded synchronisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
- G06F13/4291—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a clocked protocol
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0064—Latency reduction in handling transfers
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
一种动态延迟补偿方法及装置,包括根据预定时序的时间点和从设备输出的确认位的起始时间点确定延迟时间;根据所述延迟时间读取所述确认位后的数据,以对所述数据对应的时序进行补正。本发明通过确定的延迟时间在读取数据时对数据的时序进行补正,保证了时钟与数据的一致性,保证了数据传输的准确性,降低了数据误码率。
Description
技术领域
本发明涉及一种动态延迟补偿方法及装置,属于全双工同步串行总线通信技术领域。
背景技术
BISS(Bidirectional Synchronous Serial,双向同步串行接口)协议是开放式同步串行通信协议,BISS的基本组网方式为点对点的方式,主设备通过差分信号向从设备提供时钟,从设备同步地通过差分信号向主设备发送数据,该组网方式具有两个单向差分线耦接口,即时钟接口和数据接口,其中时钟接口输出时钟波形MA,数据接口输出数据波形SLO,理想情况下,BISS-C时序图中MA和SLO的波形如图1-1所示,其中,SLO波形中Ack为确认位,Srart之后的即为数据位,Timeout为超时周期。
但实际情况下,由于线长和从设备内部处理的影响会产生延迟,导致实际BISS-C时序图中MA和SLO的波形如图1-2所示,上行的SLO为理想情况下的波形,下行的SLO为实际情况下的波形,图中虚线部分,MA上升沿时,理想情况下,SLO应为低电平,但由于延迟的影响,实际情况下,SLO却为高电平,并且后续的电平都是错位的,这样使得SLO输出的数据与MA都是不对应的,导致后续发送的所有数据完全没有利用价值。
发明内容
本发明提供了一种动态延迟补偿方法及装置,以解决现有的BISS-C协议通信传输时,由于延迟导致数据传输失败的问题,为此本发明采用如下的技术方案:
一种动态延迟补偿方法,包括:
根据预定时序的时间点和从设备输出的确认位的起始时间点确定延迟时间;
根据所述延迟时间读取所述确认位后的数据,以对所述数据对应的时序进行补正。
一种动态延迟补偿装置,包括:
延迟时间确定模块,用于根据预定时序的时间点和从设备输出的确认位的起始时间点确定延迟时间;
时序补正模块,用于根据所述延迟时间读取所述确认位后的数据,以对所述数据对应的时序进行补正。
本发明所述的动态延迟补偿方法及装置通过确定的延迟时间在读取数据时对数据的时序进行补正,保证了时钟与数据的一致性,保证了数据传输的准确性,降低了数据误码率。
附图说明
图1-1为本发明实施例所述的现有技术中理想情况下,BISS-C时序图中MA和SLO的波形示意图;
图1-2为本发明实施例所述的现有技术中实际情况下,BISS-C时序图中MA和SLO的波形示意图;
图2为本发明实施例所述的一动态延迟补偿方法的流程图;
图3为本发明实施例所述的一动态延迟补偿装置的结构示意图;
图4为本发明实施例所述的另一动态延迟补偿装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本具体实施方式提供了一种动态延迟补偿方法,如图2所示,包括:
S210、根据预定时序的时间点和从设备输出的确认位的起始时间点确定延迟时间。
具体地,理想情况下,BISS-C时序图中MA和SLO的波形如图1-1所示,请求进程包括:
1、当空闲时,主设备使MA保持高电平,从设备使SLO保持高电平以显示已准备就绪。
2、主设备通过在MA上传输时钟脉冲来请求数据采集。
3、当MA上出现第二个上升沿时,从设备通过在SLO上产生低电平的确认位Ack以做出响应。
4、完成Ack周期,即ACK传输完毕后,从设备开始向主设备发送数据。
5、当所有数据传输完毕后,主设备停下时钟,将MA变为高电平。
6、若从设备尚未准备进行下一个请求周期,则将SLO变为低电平(超时周期,即Timeout)。
7、当从设备准备进行下一请求周期时,则将SLO变为高电平,以提示主站。
作为可选的,预定时序的时间点为主设备发出的时钟波形产生的预定脉冲上升沿的时间点。以图1-1为例,一般记录主设备发出的时钟波形产生的第二个上升沿的时间点,也可以是记录主设备发出的时钟波形产生的第N个上升沿或下降沿的时间点,其中N为正整数,只要能够准确计算出延迟时间即可。
作为可选的,从设备输出的确认位的起始时间点为从设备输出的波形产生的确认位下降沿的时间点。若记录的是主设备发出的时钟波形产生的第N个上升沿或下降沿的时间点,则可以根据理想情况下数据与时钟的对应关系,确定与所述第N个上升沿或下降沿对应的数据位的时间点,例如:若记录的是主设备发出的时钟波形产生的第4个上升沿或下降沿的时间点,则理想情况下,时钟波形产生的第4个上升沿对应于从设备输出的数据位“start”的上升沿,故确定在实际情况下数据位“start”的上升沿的时间点。
进一步地,将所述预定时序的时间点和所述从设备输出的确认位的起始时间点间的时间差确定为延迟时间。例如:计算接收到SLO线上确认位下降沿的时间点与时钟波形产生的第二个上升沿的时间点间的时间差确定为延迟时间。也可以是计算接收到SLO线上与所述第N个上升沿或下降沿对应的数据位的时间点和主设备发出的时钟波形产生的第N个上升沿的时间点间的时间差确定为延迟时间,例如:记录的是主设备发出的时钟波形产生的第4个上升沿或下降沿的时间点与从设备输出的数据位“start”上升沿的时间点间的时间差确定为延迟时间。
图1-1和图1-2出现的延迟时间在实际应用中是无法确定的,故无法以一种固定的补偿方式进行解决,本发明实施例通过MA和SLO间的时间差确定来回行程的延迟,即确定图1-1和图1-2在每个实际应用中的延迟时间。
S220、根据所述延迟时间读取所述确认位后的数据,以对所述数据对应的时序进行补正。
具体地,在读取所述确认位后的数据时,将所述数据对应的时序时间点减去延迟时间确定为所述数据对应的时序。即在后续的每位数据读取时,都加入该延迟时间,这样可以将错位的时序补正,保证了每帧延迟在动态浮动过程中延迟补偿的准确性,进而确保了数据的可靠性,极大的降低了误码率。
本具体实施方式提供了一种动态延迟补偿装置,如图3所示,包括:
延迟时间确定模块310,用于根据预定时序的时间点和从设备输出的确认位的起始时间点确定延迟时间。
时序补正模块320,用于根据所述延迟时间读取所述确认位后的数据,以对所述数据对应的时序进行补正。
本具体实施方式提供了另一动态延迟补偿装置,如图4所示,还包括:
时序时间点确定模块410,用于所述预定时序的时间点为主设备发出的时钟波形产生的预定脉冲上升沿的时间点。
作为可选的,时序时间点确定模块410,还可以用于记录主设备发出的时钟波形产生的第N个上升沿或下降沿的时间点,其中N为正整数,只要能够准确计算出延迟时间即可。
确认位时间点确定模块420,用于所述从设备输出的确认位的起始时间点为从设备输出的波形产生的确认位下降沿的时间点。
作为可选的,确认位时间点确定模块420,还可以用于若记录的是主设备发出的时钟波形产生的第N个上升沿或下降沿的时间点,则可以根据理想情况下数据与时钟的对应关系,确定与所述第N个上升沿或下降沿对应的数据位的时间点,例如:若记录的是主设备发出的时钟波形产生的第4个上升沿或下降沿的时间点,则理想情况下,时钟波形产生的第4个上升沿对应于从设备输出的数据位“start”的上升沿,故确定在实际情况下数据位“start”的上升沿的时间点。
进一步,所述延迟时间确定模块310,具体用于将时序时间点确定模块410确定的所述预定时序的时间点和所述确认位时间点确定模块420确定的从设备输出的确认位的起始时间点间的时间差确定为延迟时间。
例如:计算接收到SLO线上确认位下降沿的时间点与时钟波形产生的第二个上升沿的时间点间的时间差确定为延迟时间。也可以是计算接收到SLO线上与所述第N个上升沿或下降沿对应的数据位的时间点和主设备发出的时钟波形产生的第N个上升沿的时间点间的时间差确定为延迟时间,例如:记录的是主设备发出的时钟波形产生的第4个上升沿或下降沿的时间点与从设备输出的数据位“start”上升沿的时间点间的时间差确定为延迟时间。
进一步,所述时序补正模块320,具体用于在读取所述确认位后的数据时,将所述数据对应的时序时间点减去延迟时间确定为所述数据对应的时序。
具体地,在读取所述确认位后的数据时,将所述数据对应的时序时间点减去延迟时间确定为所述数据对应的时序。即在后续的每位数据读取时,都加入该延迟时间,这样可以将错位的时序补正,保证了每帧延迟在动态浮动过程中延迟补偿的准确性,进而确保了数据的可靠性,极大的降低了误码率。
本发明的技术要点主要体现确定延迟时间并对后续数据对应的时钟进行补偿等方面,通过本发明实施例动态延迟补偿的方法及装置确定的延迟时间在读取数据时对数据的时序进行补正,保证了时钟与数据的一致性,保证了数据传输的准确性,提高了数据误码率。使针对BISS-C协议的采集板卡在应用方面有了实质性进展,使得数据误码率在1%以下且不连续,故可以忽略。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明实施例揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (10)
1.一种动态延迟补偿方法,其特征在于,包括:
根据预定时序的时间点和从设备输出的确认位的起始时间点确定延迟时间;
根据所述延迟时间读取所述确认位后的数据,以对所述数据对应的时序进行补正。
2.根据权利要求1所述的动态延迟补偿方法,其特征在于,所述预定时序的时间点为主设备发出的时钟波形产生的预定脉冲上升沿的时间点。
3.根据权利要求1所述的动态延迟补偿方法,其特征在于,所述从设备输出的确认位的起始时间点为从设备输出的波形产生的确认位下降沿的时间点。
4.根据权利要求2或3所述的动态延迟补偿方法,其特征在于,所述根据预定时序的时间点和从设备输出的确认位的起始时间点确定延迟时间包括:
将所述预定时序的时间点和所述从设备输出的确认位的起始时间点间的时间差确定为延迟时间。
5.根据权利要求4所述的动态延迟补偿方法,其特征在于,所述根据所述延迟时间读取所述确认位后的数据,以对所述数据对应的时序进行补正包括:
在读取所述确认位后的数据时,将所述数据对应的时序时间点减去延迟时间确定为所述数据对应的时序。
6.一种动态延迟补偿装置,其特征在于,包括:
延迟时间确定模块,用于根据预定时序的时间点和从设备输出的确认位的起始时间点确定延迟时间;
时序补正模块,用于根据所述延迟时间读取所述确认位后的数据,以对所述数据对应的时序进行补正。
7.根据权利要求6所述的动态延迟补偿装置,其特征在于,还包括:
时序时间点确定模块,用于所述预定时序的时间点为主设备发出的时钟波形产生的预定脉冲上升沿的时间点。
8.根据权利要求6所述的动态延迟补偿装置,其特征在于,还包括:
确认位时间点确定模块,用于所述从设备输出的确认位的起始时间点为从设备输出的波形产生的确认位下降沿的时间点。
9.根据权利要求7或8所述的动态延迟补偿装置,其特征在于,所述延迟时间确定模块,具体用于将所述预定时序的时间点和所述从设备输出的确认位的起始时间点间的时间差确定为延迟时间。
10.根据权利要求9所述的动态延迟补偿方法,其特征在于,所述时序补正模块,具体用于在读取所述确认位后的数据时,将所述数据对应的时序时间点减去延迟时间确定为所述数据对应的时序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610480250.9A CN106095717B (zh) | 2016-06-27 | 2016-06-27 | 一种动态延迟补偿方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610480250.9A CN106095717B (zh) | 2016-06-27 | 2016-06-27 | 一种动态延迟补偿方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106095717A true CN106095717A (zh) | 2016-11-09 |
CN106095717B CN106095717B (zh) | 2019-09-17 |
Family
ID=57253201
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610480250.9A Active CN106095717B (zh) | 2016-06-27 | 2016-06-27 | 一种动态延迟补偿方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106095717B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106847319A (zh) * | 2016-12-23 | 2017-06-13 | 深圳市紫光同创电子有限公司 | 一种fpga电路及窗口信号调整方法 |
US10217497B2 (en) | 2017-06-07 | 2019-02-26 | Winbond Electronics Corporation | Delay locked loop circuit and method of controlling same |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008083916A1 (en) * | 2007-01-09 | 2008-07-17 | International Business Machines Corporation | Asynchronous data interface |
CN101432629A (zh) * | 2005-12-22 | 2009-05-13 | 直观外科手术公司 | 同步数据通信 |
CN102053935A (zh) * | 2010-11-25 | 2011-05-11 | 广东雅达电子股份有限公司 | 一种基于modbus串行通讯协议的通讯方法 |
CN102571902A (zh) * | 2010-12-14 | 2012-07-11 | 中国科学院声学研究所 | 一种无线和水声通信浮标 |
US20150359016A1 (en) * | 2014-06-09 | 2015-12-10 | Qualcomm Incorporated | Apparatus and method to estimate round trip time via transport control protocol signals |
CN105190586A (zh) * | 2013-03-14 | 2015-12-23 | 高通股份有限公司 | 用于串行通信的系统和方法 |
-
2016
- 2016-06-27 CN CN201610480250.9A patent/CN106095717B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101432629A (zh) * | 2005-12-22 | 2009-05-13 | 直观外科手术公司 | 同步数据通信 |
WO2008083916A1 (en) * | 2007-01-09 | 2008-07-17 | International Business Machines Corporation | Asynchronous data interface |
CN102053935A (zh) * | 2010-11-25 | 2011-05-11 | 广东雅达电子股份有限公司 | 一种基于modbus串行通讯协议的通讯方法 |
CN102571902A (zh) * | 2010-12-14 | 2012-07-11 | 中国科学院声学研究所 | 一种无线和水声通信浮标 |
CN105190586A (zh) * | 2013-03-14 | 2015-12-23 | 高通股份有限公司 | 用于串行通信的系统和方法 |
US20150359016A1 (en) * | 2014-06-09 | 2015-12-10 | Qualcomm Incorporated | Apparatus and method to estimate round trip time via transport control protocol signals |
Non-Patent Citations (1)
Title |
---|
IC-HAUS: "BiSS Interface PROTOCAL DESCRIPTION", 《BISS INTERFACE PROTOCAL DESCRIPTION》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106847319A (zh) * | 2016-12-23 | 2017-06-13 | 深圳市紫光同创电子有限公司 | 一种fpga电路及窗口信号调整方法 |
CN106847319B (zh) * | 2016-12-23 | 2021-06-29 | 深圳市紫光同创电子有限公司 | 一种fpga电路及窗口信号调整方法 |
US10217497B2 (en) | 2017-06-07 | 2019-02-26 | Winbond Electronics Corporation | Delay locked loop circuit and method of controlling same |
Also Published As
Publication number | Publication date |
---|---|
CN106095717B (zh) | 2019-09-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100366029C (zh) | 通信控制器、主机端控制器、通信设备、通信系统和方法 | |
JP4870435B2 (ja) | Pciイクスプレスのバイトスキュー補償方法及びこのためのpciイクスプレス物理階層受信機 | |
AU2013330114B2 (en) | Synchronization time-division multiplexing bus communication method adopting serial communication interface | |
CN103684678A (zh) | 一种用于uart的波特率自适应方法、装置及uart | |
US10089173B2 (en) | Error detection constants of symbol transition clocking transcoding | |
CN105119907A (zh) | 一种基于FPGA的BiSS-C通信协议方法 | |
CN106817197B (zh) | 一种基于占空比调制的通信编解码方法 | |
CN110990312B (zh) | 一种用于随钻探测中的芯片级数据通信方法 | |
CN104038316B (zh) | 空间相机高可靠高时效异步串行通讯方法 | |
CN106936531B (zh) | 一种多片基于jesd204b协议adc的同步方法 | |
CN102722462A (zh) | 一种同步通信装置及其控制方法 | |
CN106528484A (zh) | 一种串行通信方法 | |
CN103346977A (zh) | 一种数据资源的动态分配方法 | |
CN106095717A (zh) | 一种动态延迟补偿方法及装置 | |
CN105786639A (zh) | 一种i2c总线数据的传输方法及系统 | |
CN104360974A (zh) | 一种异步串口uart自动波特率调整方法及装置 | |
CN106654770A (zh) | 通用串行总线usb延长线 | |
CN102064927B (zh) | 时序纠错系统及方法 | |
CN101150386A (zh) | 用于改进通信错误的通信方法和使用所述方法的电子设备 | |
CN106055512A (zh) | 一种mipi接口raw10数据重组编码与读出结构及方法 | |
JP2002042085A (ja) | カードシステム、それに用いるicカード及びカードリーダライタ | |
US20220171515A1 (en) | Touch display device and controller used in the same | |
CN106911334B (zh) | 一种消防工业总线编码方法 | |
CN115963891A (zh) | 同步串行通信延迟补偿的方法、装置、存储介质及设备 | |
CN104503935A (zh) | 一种可精确控制时序的iic控制装置和控制方法 |
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 |