CN116501677A - Bmc解码方法、装置、可读存储介质、芯片以及电子设备 - Google Patents

Bmc解码方法、装置、可读存储介质、芯片以及电子设备 Download PDF

Info

Publication number
CN116501677A
CN116501677A CN202310432727.6A CN202310432727A CN116501677A CN 116501677 A CN116501677 A CN 116501677A CN 202310432727 A CN202310432727 A CN 202310432727A CN 116501677 A CN116501677 A CN 116501677A
Authority
CN
China
Prior art keywords
bmc
counter
sampling
value
data
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.)
Pending
Application number
CN202310432727.6A
Other languages
English (en)
Inventor
许冰
刘森森
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Awinic Technology Co Ltd
Original Assignee
Shanghai Awinic Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Awinic Technology Co Ltd filed Critical Shanghai Awinic Technology Co Ltd
Priority to CN202310432727.6A priority Critical patent/CN116501677A/zh
Publication of CN116501677A publication Critical patent/CN116501677A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • G06F13/4291Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a clocked protocol
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/02Conversion to or from weighted codes, i.e. the weight given to a digit depending on the position of the digit within the block or code word
    • H03M7/04Conversion to or from weighted codes, i.e. the weight given to a digit depending on the position of the digit within the block or code word the radix thereof being two
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Abstract

本申请公开一种BMC解码方法、装置、可读存储介质、芯片以及电子设备。该BMC解码方法包括:使用预设采样时钟对接收到的BMC编码数据进行时钟同步,得到同步BMC编码数据;对同步BMC编码数据进行边沿信号检测,以对同步BMC编码数据的每一比特数据进行数据解码,并在对同步BMC编码数据的每一比特数据进行数据解码时,在第一计数器根据UI偏移情况进行的自适应计数下,分别在第一位置处采样得到第一采样值,以及在第二位置处采样得到第二采样值;对第一采样值和第二采样值进行异或运算,并将异或运算的结果作为同步BMC编码数据当前比特数据下的数据解码结果。本技术方案,可不受BMC编码数据的UI变化的影响,对BMC编码数据进行准确解码,有效提高BMC编码数据的解码准确率。

Description

BMC解码方法、装置、可读存储介质、芯片以及电子设备
技术领域
本申请属于BMC技术领域,尤其涉及一种BMC解码方法、装置、可读存储介质、芯片以及电子设备。
背景技术
BMC(Biphase Mark Coding,双向符号编码,一种相位调制的编码技术,将时钟和数据混合在一起传输的编码方法)解码后的数据特点是:在每个比特(bit)周期开始时电平都要进行跳变,如果在该电平在比特周期中跳变,表示逻辑“1”,如果在该电平在比特周期中没有跳变,表示逻辑“0”。现有的BMC解码技术从BMC编码数据的高/低电平持续时间角度来进行解码,因为BMC编码数据中,逻辑“1”的高/低电平持续时间大约是逻辑“0”的高/低电平持续时间的1/2,采用此方法可以完成解码,但是这种方法需要使用导引头同步,即得到BMC编码数据的一个UI(Unit Interval,单位间隔,CC线上传输一比特数据的时间)的平均长度,接下来使用此UI长度去进行数据的解码。在PD协议(Power Delivery,电力输送,USB-IF推出的基于TypeC协议的通讯与功率传输协议)中规定UI大小在3.03us和3.7us之间,在实际应用中,由于受到传输介质良莠不齐、传输信道长短不一以及环境中的噪声(如电磁干扰)等影响,使得BMC编码信号在接收端往往产生较大的频率偏差,即使得BMC编码数据产生脉冲宽度畸变,或者使得导引头得到的UI平均值和接下来BMC编码数据的UI长度差距较大,此种情形下,若仍使用导引头得到的UI平均值去进行数据的解码,就会产生错误的BMC解码结果,导致整个BMC编码数据的解码准确率大大降低。
发明内容
本申请实施例提供一种BMC解码方法、装置及存储介质,旨在解决现有技术使用导引头得到的UI平均值去进行BMC编码数据的解码方案容易因环境影响导致传输过程中发生UI变化时产生错误的BMC解码结果,导致整个BMC编码数据的解码准确率大大降低的技术问题。
第一方面,本申请实施例提供一种BMC解码方法,包括以下步骤:
使用预设采样时钟对接收到的BMC编码数据进行时钟同步,得到同步BMC编码数据;
对所述同步BMC编码数据进行边沿信号检测,以对所述同步BMC编码数据的每一比特数据进行数据解码,并在对所述同步BMC编码数据的每一比特数据进行数据解码时,在第一计数器根据UI偏移情况进行的自适应计数下,分别在第一位置处采样得到第一采样值,以及在第二位置处采样得到第二采样值,所述第一计数器以所述预设采样时钟为时钟,所述第一位置位于0至1/2UI之间,所述第二位置位于1/2UI至UI之间;
对所述第一采样值和所述第二采样值进行异或运算,并将所述异或运算的结果作为所述同步BMC编码数据当前比特数据下的数据解码结果。
可选的,在本申请的一些实施例中,所述分别在第一位置处采样得到第一采样值,以及在第二位置处采样得到第二采样值的步骤包括:
在所述第一计数器进行第N轮计数循环,且所述第一计数器的值为第一预设数值时对应所述第一位置处进行采样,得到所述第一采样值,N为任意正整数;
在所述第一计数器进行第N+1轮计数循环,且所述第一计数器的值为第一预设数值时对应所述第二位置处进行采样,得到所述第二采样值。
可选的,在本申请的一些实施例中,所述第一计数器根据UI偏移情况进行的自适应计数的步骤包括:
若所述UI偏移情况为UI偏大时,将所述第一计数器的初始值保持一个时钟周期后再继续计数;
若所述UI偏移情况为UI偏小时,将所述第一计数器的初始值加1后再继续计数。
可选的,在本申请的一些实施例中,所述第一计数器根据UI偏移情况进行的自适应计数的步骤包括:
在所述同步BMC编码数据的脉冲处,将所述第一计数器的值与预设阈值进行比较,所述预设阈值与所述第一计数器的最大值正相关;
若所述第一计数器的值小于所述预设阈值,则判定所述UI偏移情况为UI偏大;
若所述第一计数器的值大于所述预设阈值,则判定所述UI偏移情况为UI偏小。
可选的,在本申请的一些实施例中,所述第一计数器根据UI偏移情况进行的自适应计数的步骤还包括:
设置第二计数器,所述第二计数器在所述UI偏移情况每次判定为UI偏大时进行加1操作,及在所述UI偏移情况每次判定为UI偏小时进行减1操作;
所述第一计数器的最大值在所述第二计数器每次累计增加第二预设数值时进行加1操作,及在所述第二计数器每次累计减少第二预设数值时进行减1操作;
所述第一预设数值在所述第一计数器的最大值每次累计增加2时进行加1操作,及在所述第一计数器的最大值每次累计减少2时进行减1操作。
可选的,在本申请的一些实施例中,所述第一位置位于1/4UI处,所述第二位置位于3/4UI处。
第二方面,本申请实施例提供一种BMC解码装置,包括:
数据接口,用于接收BMC编码数据;
时钟域同步单元,用于使用预设采样时钟对所述BMC编码数据进行时钟同步,得到同步BMC编码数据;
BMC解码模块,用于对所述同步BMC编码数据进行解码时实现上述的BMC解码方法的步骤。
可选的,在本申请的一些实施例中,所述BMC解码模块包括:
第一计数器,用于根据UI偏移情况进行自适应计数,所述第一计数器以所述预设采样时钟为时钟;
边沿检测单元,用于对所述同步BMC编码数据的每一比特数据进行数据解码,并在对所述同步BMC编码数据的每一比特数据进行数据解码时,在所述第一计数器的自适应计数下,分别在第一位置处采样得到第一采样值,以及在第二位置处采样得到第二采样值,所述第一位置位于0至1/2UI之间,所述第二位置位于1/2UI至UI之间;
BMC解码单元,用于对所述第一采样值和所述第二采样值进行异或运算,并将所述异或运算的结果作为所述同步BMC编码数据当前比特数据下的数据解码结果。
可选的,在本申请的一些实施例中,所述BMC解码模块还包括:
第二计数器,用于在所述UI偏移情况每次判定为UI偏大时进行加1操作,及在所述UI偏移情况每次判定为UI偏小时进行减1操作,以辅助所述第一计数器实现根据UI偏移情况的自适应计数。
第三方面,本申请实施例提供一种可读存储介质,所述可读存储介质存储有程序,所述程序被处理电路调用时执行上述的BMC解码方法的步骤。
第四方面,本申请实施例提供一种芯片,包括上述的BMC解码装置。
第五方面,本申请实施例提供一种电子设备,包括上述的BMC解码装置或者如上述的芯片。
在本申请中,其在对BMC编码数据进行数据解码时,先使用预设采样时钟对接收到的BMC编码数据进行时钟同步,得到同步BMC编码数据后,再对该同步BMC编码数据进行边沿信号检测,以对该同步BMC编码数据的每一比特数据进行数据解码。且在对该同步BMC编码数据的每一比特数据进行数据解码时,在第一计数器根据UI偏移情况进行的自适应计数下,分别在第一位置处采样得到第一采样值,以及在第二位置处采样得到第二采样值。最后,通过对第一采样值和第二采样值进行异或运算,来将异或运算的结果作为同步BMC编码数据当前比特数据下的数据解码结果,进而实现整个BMC编码数据的解码过程。如此一来,本BMC解码方法设计了一种可以自适应解码的BMC解码方案,可在BMC编码数据的UI长度因为环境影响导致传输过程中发生变化时,仍可以在第一计数器根据UI偏移情况进行的自适应计数下,自适应地调整在第一位置和第二位置处的采样脉冲,使得采样点可以始终保持在第一位置或第二位置附近,进而确保BMC编码数据每一比特数据下的数据解码结果均为第一位置处采样得到第一采样值与第二位置处采样得到第二采样值进行异或运算得到的结果。可见,本技术方案,可不受BMC编码数据的UI变化的影响,对BMC编码数据进行准确解码,有效提高BMC编码数据的解码准确率。
附图说明
下面结合附图,通过对本申请的具体实施方式详细描述,将使本申请的技术方案及其有益效果显而易见。
图1是本申请实施例提供的BMC解码方法的流程示意图。
图2是图1所示BMC解码方法中“分别在第一位置处采样得到第一采样值,以及在第二位置处采样得到第二采样值”的流程示意图。
图3是图1所示BMC解码方法中“第一计数器根据UI偏移情况进行的自适应计数”的第一种流程示意图。
图4是图1所示BMC解码方法中“第一计数器根据UI偏移情况进行的自适应计数”的第二种流程示意图。
图5是图1所示BMC解码方法中“第一计数器根据UI偏移情况进行的自适应计数”的第三种流程示意图。
图6是理想UI大小情况下,本申请实施例进行BMC解码时的采样点位置示意图。
图7是UI偏大情况下,本申请实施例进行BMC解码时未校正的采样点位置示意图。
图8是UI偏小情况下,本申请实施例进行BMC解码时未校正的采样点位置示意图。
图9是UI偏大情况下,本申请实施例进行BMC解码时校正后的采样点位置示意图。
图10是UI偏小情况下,本申请实施例进行BMC解码时校正后的采样点位置示意图。
图11是UI偏大较多情况下,本申请实施例进行BMC解码时校正后的采样点位置示意图。
图12是UI偏小较多情况下,本申请实施例进行BMC解码时校正后的采样点位置示意图。
图13是本申请实施例提供的BMC解码装置的流程示意图。
具体实施方式
下面结合附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而非全部实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。在不冲突的情况下,下述各个实施例及其技术特征可以相互组合。
BMC(Biphase Mark Coding,双向符号编码,一种相位调制的编码技术,将时钟和数据混合在一起传输的编码方法)解码后的数据特点是:在每个比特周期开始时电平都要进行跳变,如果在该电平在比特周期中跳变,表示逻辑“1”,如果在该电平在比特周期中没有跳变,表示逻辑“0”。现有的BMC解码技术从BMC编码数据的高/低电平持续时间角度来进行解码,因为BMC编码数据中,逻辑“1”的高/低电平持续时间大约是逻辑“0”的高/低电平持续时间的1/2,采用此方法可以完成解码,但是这种方法需要使用导引头同步,即得到BMC编码数据的一个UI(Unit Interval,单位间隔,CC线上传输一比特数据的时间)的平均长度,接下来使用此UI长度去进行数据的解码。在PD协议(Power Delivery,电力输送,USB-IF推出的基于TypeC协议的通讯与功率传输协议)中规定UI大小在3.03us和3.7us之间,在实际应用中,由于受到传输介质良莠不齐、传输信道长短不一以及环境中的噪声(如电磁干扰)等影响,使得BMC编码信号在接收端往往产生较大的频率偏差,即使得BMC编码数据产生脉冲宽度畸变,或者使得导引头得到的UI平均值和接下来BMC编码数据的UI长度差距较大,此种情形下,若仍使用导引头得到的UI平均值去进行数据的解码,就会产生错误的BMC解码结果,导致整个BMC编码数据的解码准确率大大降低。
基于此,有必要提供一种新的BMC解码的解决方案,以解决现有技术使用导引头得到的UI平均值去进行BMC编码数据的解码方案容易因环境影响导致传输过程中发生UI变化时产生错误的BMC解码结果,导致整个BMC编码数据的解码准确率大大降低的技术问题。
如图1所示,在一个实施例中,本申请实施例提供一种BMC解码方法,该BMC解码方法具体包括以下步骤:
步骤S110:使用预设采样时钟对接收到的BMC编码数据进行时钟同步,得到同步BMC编码数据。
具体地,由于本申请实施例的BMC解码方法后续需用到计数器计数的方式进行采样位置的确定,因而,在对接收到的BMC编码数据进行数据解码前,还需先对使用预设采样时钟对接收到的BMC编码数据进行时钟同步,来得到同步BMC编码数据。该预设采样时钟与后续计数器所使用的时钟为同一时钟,以确保后续使用到计数器计数时,可准确进行采样位置的确定。
步骤S120:对同步BMC编码数据进行边沿信号检测,以对同步BMC编码数据的每一比特数据进行数据解码,并在对同步BMC编码数据的每一比特数据进行数据解码时,在第一计数器根据UI偏移情况进行的自适应计数下,分别在第一位置处采样得到第一采样值,以及在第二位置处采样得到第二采样值。
具体地,由于同步BMC编码数据由连续传输的多个比特数据组成,而每传输一个比特数据需要一个UI的时间,这样一来,对同步BMC编码数据的解码过程即可分解为在每个UI的时间段内,对每一比特数据进行数据解码。因而,当通过上述方法步骤得到同步BMC编码数据后,即可对同步BMC编码数据进行边沿信号检测,以对同步BMC编码数据的每一比特数据进行数据解码。
同时,由于BMC编码数据中,逻辑“1”的高/低电平持续时间大约是逻辑“0”的高/低电平持续时间的1/2,即逻辑“1”对应每个UI时间段内会出现两次电平跳变的情形(一般为每个UI开始时的时间点和每个UI过了一半的时间点会分别出现一次电平跳变),而逻辑“0”对应每个UI时间段内仅会出现一次电平跳变的情形(一般为每个UI开始时的时间点出现一次电平跳变),因而,可通过在对同步BMC编码数据的每一比特数据进行数据解码时,通过对应每个UI时间段内的前半个时间段及后半个时间段分别取一个时间点进行采样得到相应的采样值来进行异或运算,来得到同步BMC编码数据当前比特数据下的数据解码结果,即上述第一位置具体应位于0至1/2UI之间,上述第二位置应具体位于1/2UI至UI之间。
同时,本方法步骤采用第一计数器计数的方式来进行采样位置的确定,即通过第一计数器计数到某一数值时进行对应采样,以实现在第一位置处采样得到第一采样值,以及在第二位置处采样得到第二采样值。基于上述表述可知,第一计数器具体应以预设采样时钟为时钟。且在数据传输过程中,BMC编码数据的UI长度会因为环境影响导致在传输过程中发生变化,即会出现UI偏大或UI偏小的情形,此时,为确保采样点可以始终保持在第一位置或第二位置附近,应将第一计数器的计数方式调整为根据UI偏移情况进行的自适应计数,即使得第一计数器的计数会随着据UI偏移情况的不同而发生变化。最终,在对同步BMC编码数据的每一比特数据进行数据解码时,具体可在第一计数器根据UI偏移情况进行的自适应计数下,分别在第一位置处采样得到第一采样值,以及在第二位置处采样得到第二采样值。
步骤S130:对第一采样值和第二采样值进行异或运算,并将异或运算的结果作为同步BMC编码数据当前比特数据下的数据解码结果。
具体地,基于上述方法步骤表述可知,当其在第一位置处采样得到第一采样值,以及在第二位置处采样得到第二采样值后,便可通过对第一采样值和第二采样值进行异或运算,得到异或运算的结果后,异或运算的结果便可作为同步BMC编码数据当前比特数据下的数据解码结果,进而实现整个BMC编码数据的解码过程。
这样一来,本申请实施例的BMC解码方法设计了一种可以自适应解码的BMC解码方案,可在BMC编码数据的UI长度因为环境影响导致传输过程中发生变化时,仍可以在第一计数器根据UI偏移情况进行的自适应计数下,自适应地调整在第一位置和第二位置处的采样脉冲,使得采样点可以始终保持在第一位置或第二位置附近,进而确保BMC编码数据每一比特数据下的数据解码结果均为第一位置处采样得到第一采样值与第二位置处采样得到第二采样值进行异或运算得到的结果。可见,本技术方案,可不受BMC编码数据的UI变化的影响,对BMC编码数据进行准确解码,有效提高BMC编码数据的解码准确率。
在一些示例中,基于上述表述可知,具体可通过第一计数器计数到某一数值时进行对应采样,以实现在第一位置处采样得到第一采样值,以及在第二位置处采样得到第二采样值。此时,为便于计数方便,可将第一计数器对应每个UI时间段内进行两轮计数循环计数,此时,第一位置对应的时间点与第二位置对应的时间点之前的时间差值具体可选取为1/2UI,如此一来,便可将第一计数器的值为第一预设数值时,或对应第一位置处进行采样,得到第一采样值,或对应第二位置处进行采样,得到第二采样值。此时,如图2所示,执行上述方法步骤中“分别在第一位置处采样得到第一采样值,以及在第二位置处采样得到第二采样值”的具体过程如下:
步骤S11:在第一计数器进行第N轮计数循环,且该第一计数器的值为第一预设数值时对应第一位置处进行采样,得到第一采样值,N为任意正整数。
步骤S12:在第一计数器进行第N+1轮计数循环,且该第一计数器的值为第一预设数值时对应第二位置处进行采样,得到第二采样值。
即在第一计数器的每轮计数循环中,若当前轮计数循环,该第一计数器的值为第一预设数值时为对应第一位置处进行采样,则下一轮计数循环,该第一计数器的值为第一预设数值时为对应第二位置处进行采样。而若当前轮计数循环,该第一计数器的值为第一预设数值时为对应第二位置处进行采样,则下一轮计数循环,该第一计数器的值为第一预设数值时为对应第一位置处进行采样。第一预设数值具体可以为大于0,小于第一计数器的最大值的任意正整数,一般将第一预设数值取值约为第一计数器的最大值的一半为佳,此时,第一位置具体可对应位于1/4UI处,第二位置具体可对应位于3/4UI处。
这样一来,本示例通过将上述方法步骤的计数设置,可在准确地实现采样位置的确定的同时,有效降低整体技术方案的计数复杂度。
在一些示例中,基于上述表述可知,在数据传输过程中,BMC编码数据的UI长度会因为环境影响导致在传输过程中发生变化,即会出现UI偏大或UI偏小的情形,一般当UI偏大时,若仍保留原来的计数方式不变,会导致采样点向左偏离(第一位置或第二位置),而当UI偏小时,若仍保留原来的计数方式不变,会导致采样点向右偏离(第一位置或第二位置),这样一来,为确保采样点可以始终保持在第一位置或第二位置附近,使得第一计数器的计数方式可更好地应对不同的UI偏移情况而作出相应的改变,如图3所示,执行上述方法步骤中“第一计数器根据UI偏移情况进行的自适应计数”的具体过程如下:
步骤S21:若UI偏移情况为UI偏大时,将第一计数器的初始值保持一个时钟周期后再继续计数。
步骤S22:若UI偏移情况为UI偏小时,将第一计数器的初始值加1后再继续计数。
一般而言,第一计数器的初始值为0,然后第一计数器的计数方式为按0,1,2,3……的顺序进行依次计数,当出现UI偏移情况为UI偏大的情况时,将第一计数器的初始值保持一个时钟周期后再继续计数,即使得第一计数器的初始值计数两次后,再开始正常计数,此时,第一计数器的计数方式变为按0,0,1,2,3……的顺序进行依次计数,这样的计数方式可使得采样点右移一位,以极大降低原来计数方式由于UI偏大导致采样点向左偏离(第一位置或第二位置)的影响。当出现UI偏移情况为UI偏小的情况时,将第一计数器的初始值加1后再继续计数,即使得第一计数器的初始值由0变为1后,再开始正常计数,此时,第一计数器的计数方式变为按1,2,3……的顺序进行依次计数,这样的计数方式可使得采样点左移一位,以极大降低原来计数方式由于UI偏小导致采样点向右偏离(第一位置或第二位置)的影响。
这样一来,本示例通过将上述方法步骤的计数设置,可更好地应对不同的UI偏移情况而作出相应的改变,确保采样点可以始终保持在第一位置或第二位置附近。
在一些示例中,为更准确地确定上述方法步骤中关于UI偏移情况,如图4所示,执行上述方法步骤中“第一计数器根据UI偏移情况进行的自适应计数”的具体过程还包括以下步骤:
步骤S31:在同步BMC编码数据的脉冲处,将第一计数器的值与预设阈值进行比较,预设阈值与第一计数器的最大值正相关。
步骤S32:若第一计数器的值小于预设阈值,则判定UI偏移情况为UI偏大。
步骤S33:若第一计数器的值大于预设阈值,则判定UI偏移情况为UI偏小。
一般而言,第一计数器的值在0到第一计数器的最大值之间依次循环变化,而在同步BMC编码数据的脉冲处,即每一电平跳变对应的时间点位置,在没有出现UI偏移的情况下,其一般应为对应第一计数器的最大值,而当出现UI偏大时,其会导致第一计数器的值溢出,即提前进入下一轮的循环计数,当出现UI偏小时,则会导致第一计数器的值未计满,即推迟进入下一轮的循环计数。可见,无论是出现UI偏大或UI偏小的UI偏移情况,其均会导致在同步BMC编码数据的脉冲处,第一计数器的值不再对应第一计数器的最大值,一般而言,当UI偏大时,其会导致第一计数器提前进入下一轮的循环计数,但由于偏移程度有限,此时,第一计数器的值一般不会超过第一计数器的最大值的一半;当UI偏大时,其会导致第一计数器推迟进入下一轮的循环计数,但由于偏移程度有限,此时,第一计数器的值一般不会小于第一计数器的最大值的一半。因而,一般而言,可将第一计数器的最大值的一半作为上述预设阈值。以在第一计数器的值小于预设阈值(具体为第一计数器的最大值的一半)时,判定UI偏移情况为UI偏大,及在第一计数器的值大于预设阈值时,判定UI偏移情况为UI偏小,进而准确确定UI偏移情况。
另外,对于在PD协议中要求UI的频率最大偏差为10%的情形,可进一步将上述预设阈值的取值范围限制在第一计数器的最大值的40%~60%,亦即上述预设阈值的取值可以是第一计数器的最大值的40%~60%中的任一正数值。
这样一来,本示例通过将上述方法步骤的预设阈值的有效设置,可准确地确定UI偏移情况,进而有助于后续方法步骤更好地应对不同的UI偏移情况而作出相应的改变,确保采样点可以始终保持在第一位置或第二位置附近。
一般而言,即使出现UI偏移情况,其UI偏移出现偏差也会较少,因而,具体执行上述方法步骤便可很好地应对不同的UI偏移情况而作出相应的改变,确保采样点可以始终保持在第一位置或第二位置附近。但在一些场景下,亦无法排除UI偏移出现偏差较多的情形,因而,为进一步更好地应对不同的UI偏移情况而作出相应的改变,确保采样点可以始终保持在第一位置或第二位置附近。在一些示例中,如图5所示,执行上述方法步骤中“第一计数器根据UI偏移情况进行的自适应计数”的具体过程还包括以下步骤:
步骤S41:设置第二计数器,第二计数器在UI偏移情况每次判定为UI偏大时进行加1操作,及在UI偏移情况每次判定为UI偏小时进行减1操作。
步骤S42:第一计数器的最大值在第二计数器每次累计增加第二预设数值时进行加1操作,及在第二计数器每次累计减少第二预设数值时进行减1操作。
步骤S43:第一预设数值在第一计数器的最大值每次累计增加2时进行加1操作,及在第一计数器的最大值每次累计减少2时进行减1操作。
一般而言,第二计数器可具体采用二进制的计数方式,以累计统计每次UI偏移情况,具体为,在UI偏移情况每次判定为UI偏大时进行加1操作,及在UI偏移情况每次判定为UI偏小时进行减1操作。同时,由于UI偏大时,会导致采样点向左偏离(第一位置或第二位置)的情况,而当UI偏小时,会导致采样点向右偏离(第一位置或第二位置)的情况,因而,需在UI偏移出现偏差较多的情形,即在第二计数器每次累计增加第二预设数值或每次累计减少第二预设数值时,通过进一步调整第一计数器的最大值和第一预设数值的大小来进一步校正上述采样点左移或右移的情况,具体为第一计数器的最大值在第二计数器每次累计增加第二预设数值时进行加1操作,及在第二计数器每次累计减少第二预设数值时进行减1操作,以便第一预设数值在第一计数器的最大值每次累计增加2时进行加1操作,及在第一计数器的最大值每次累计减少2时进行减1操作。
这样一来,本示例通过将上述方法步骤的第二计数器的有效设置,可在UI持续出现偏大情形,导致采样点持续向左偏离(第一位置或第二位置)时,通过第一预设数值的加1操作,使得采样点向右移动来进一步有效校正该左移误差,以及在UI持续出现偏小情形,导致采样点持续向右偏离(第一位置或第二位置)时,通过第一预设数值的减1操作,使得采样点向右移动来进一步有效校正该右移误差,确保采样点可以始终保持在第一位置或第二位置附近。
在一些示例中,上述第二计数器具体可设置为N位二进制数,其中,第1位至第M位用于表征第一计数器的最大值,第M+1位至第N位用于进行UI偏移情况的累积统计。其中,设置第M+1位至第N位共有L位二进制数,N、M、L均为正整数,且M小于N,如此一来,便可在第二计数器每次累计增加2^L次(即第二预设数值为2^L)时,使得第一计数器的最大值进行加1操作,以及在第二计数器每次累计减少2^L次(即第二预设数值为2^L)时,使得第一计数器的最大值进行减1操作。
基于上述表述可知,第一位置优选位于1/4UI处,第二位置优选位于3/4UI处,下面以第一位置选取1/4UI处,第二位置选取于3/4UI处为例,详细说明本申请实施例具体是如何在BMC编码数据的解码过程中,使得其采样点可以始终保持在UI的1/4处或者3/4处,其具体过程如下:
由于UI的典型值为3.33us,对应频率为300kHz,为采样到UI的1/4处和3/4处的采样值,可设置预设采样时钟的频率至少为UI典型频率的4倍,一般为UI典型频率的k倍,k=(4*n)(n≥1,正整数),即预设采样时钟的频率为(1.2*n)MHz。如本示例中具体设置预设采样时钟的频率为UI典型频率的40倍,即预设采样时钟的频率具体为12MHz。
当设置好预设采样时钟的频率后,便可在接收到BMC编码数据后,使用该预设采样时钟对接收到的BMC编码数据进行时钟同步,来得到同步BMC编码数据,作为输入数据。并对同步BMC编码数据进行边沿信号检测,以对同步BMC编码数据的每一比特数据进行数据解码
理想情况下,如图6所示,UI可被等分为k份(本示例中具体为40份)。在同步BMC编码数据的每个比特数据的边沿开始,以预设采样时钟为时钟的第一计数器从0到nmax1(本示例中具体为0到19)之间循环计数,其中nmax1=2*n-1。第一计数器的位宽等于(本示例中具体为6)。在第一计数器等于其周期的一半(本示例中具体为9)时,采样得到对应的采样值,此时采样点刚好对应UI的1/4或者3/4处。
实际上,UI大小可能存在偏大或者偏小的偏移情况,此时,若第一计数器仍使用固定的计数方式进行采样,则可能会导致UI的1/4处或者3/4处采样点偏离,进而导致BMC解码错误。如图7所示,当出现UI偏大的情况时,若仍保留原来的计数方式不变,则会导致采样点向左偏离(UI的1/4处或者3/4处)。如图8所示,当出现UI偏小的情况时,若仍保留原来的计数方式不变,则会导致采样点向右偏离(UI的1/4处或者3/4处)。此时,本申请实施例,为确保采样点可以始终保持在第一位置或第二位置附近,因而,在一些示例中,设置了预设阈值为第一计数器的最大值nmax1的40%~60%(本示例具体为9)来进行UI偏移情况的准确判定,如图7所示,在同步BMC编码数据的脉冲处,第一计数器的值为1,小于预设阈值9,故可准确判定当前UI偏移情况为UI偏大,此时,应将第一计数器的初始值保持一个时钟周期后再继续计数,即如图9所示,第一计数器的计数方式变为按0,0,1,2,3……的顺序进行依次计数,这样的计数方式可使得采样点右移,以极大降低原来计数方式由于UI偏大导致采样点向左偏离(UI的1/4处或者3/4处)的影响。如图8所示,在同步BMC编码数据的脉冲处,第一计数器的值为16,大于预设阈值9,故可准确判定当前UI偏移情况为UI偏小,此时,应将第一计数器的初始值加1后再继续计数,即如图10所示,第一计数器的计数方式变为按1,2,3……的顺序进行依次计数,这样的计数方式可使得采样点左移,以极大降低原来计数方式由于UI偏小导致采样点向右偏离(UI的1/4处或者3/4处)的影响。
进一步的,基于上述实施例表述可知,当UI大小偏差较大时,还需进一步设置第二计数器,以通过累计统计每次UI偏移情况,来进一步修正该UI大小偏差较大的情形,确保采样点可以始终保持在第一位置或第二位置附近。
本示例具体可设置第二计数器的位宽等于9,第二计数器的高六位表征第一计数器的最大值,默认值等于19。第二计数器的高五位可对应采样点位置,默认值等于9。其中,第二计数器的高六位是第二计数器的高五位的两倍,这保证采样点在UI的1/4处或者3/4处。第二计数器的低三位用于进行UI偏移情况的累积统计,默认值为0。使用第二计数器的低三位记录UI变化,只有累积偏大或者偏小8次,才能改变第一计数器的最大值,同时,只有累积偏大或者偏小16次,才能改变采样点位置(即第一预设数值),这样保证采样UI大小的相对稳定。
如图11所示,每当出现UI偏大的情况时,第二计数器加1。如果累计出现8次UI偏大的情况,第二计数器的高六位加1,对应第一计数器的最大值加1,如果累积出现16次UI偏大的情况,第二计数器的高六位加2,对应第一计数器的最大值加2(即图中所示变为21),此时,第一预设数值加1(即图中所示变为10),使得采样点右移一位,以极大降低原来计数方式由于UI偏大导致采样点向左偏离(UI的1/4处或者3/4处)的影响。
如图12所示,每当出现UI偏大的情况时,第二计数器减1。如果累计出现8次UI偏小的情况,第二计数器的高六位减1,对应第一计数器的最大值减1,如果累积出现16次UI偏小的情况,第二计数器的高六位减2,对应第一计数器的最大值减2(即图中所示变为17),此时,第一预设数值减1(即图中所示变为8),使得采样点左移一位,以极大降低原来计数方式由于UI偏小导致采样点向右偏离(UI的1/4处或者3/4处)的影响。如此一来,可通过第二计数器的设置,可在不改变预设采样时钟的频率的情况下校正采样点的位置,以确保采样点可以始终保持在UI的1/4处或者3/4处。
在一个实施例中,如图13所示,本申请实施例提供一种BMC解码装置100,该BMC解码装置100具体可包括数据接口110、时钟域同步单元120、以及BMC解码模块130,其中,数据接口110具体可用于接收BMC编码数据。时钟域同步单元120具体可用于使用预设采样时钟对BMC编码数据进行时钟同步,得到同步BMC编码数据。BMC解码单元140具体可用于对同步BMC编码数据进行解码时实现上述实施例的BMC解码方法的步骤,具体如上所述,此处不再赘述。
需要说明的是,本发明实施例的BMC解码装置100实施例与上述BMC解码方法实施例属于同一构思,其具体实现过程详细见上述BMC解码方法实施例,且上述BMC解码方法实施例中的技术特征在BMC解码装置100实施例中均对应适用,这里不再赘述。
在一些示例中,为更好地实现上述BMC解码模块130,如图13所示,该BMC解码模块130具体可包括第一计数器131、边沿检测单元132以及BCM解码单元133,其中,第一计数器131具体可用于根据UI偏移情况进行自适应计数,该第一计数器131以上述预设采样时钟为时钟。边沿检测单元132具体可用于对同步BMC编码数据的每一比特数据进行数据解码,并在对同步BMC编码数据的每一比特数据进行数据解码时,在该第一计数器131的自适应计数下,分别在第一位置处采样得到第一采样值,以及在第二位置处采样得到第二采样值,第一位置位于0至1/2UI之间,第二位置位于1/2UI至UI之间。BMC解码单元132具体可用于对第一采样值和第二采样值进行异或运算,并将该异或运算的结果作为该同步BMC编码数据当前比特数据下的数据解码结果。本示例中,第一计数器131根据UI偏移情况进行自适应计数的方式可详见上述方法实施例,这里不再赘述。
在一些示例中,为更好地实现上述第一计数器131根据UI偏移情况的自适应计数,如图13所示,该BMC解码模块130具体还可包括第二计数器134,该第二计数器134具体可用于在UI偏移情况每次判定为UI偏大时进行加1操作,及在UI偏移情况每次判定为UI偏小时进行减1操作,以辅助该第一计数器131实现根据UI偏移情况的自适应计数,具体过程可详见上述方法实施例,这里不再赘述。
在一个实施例中,本申请实施例提供一种可读存储介质,该可读存储介质存储有程序,所述程序被处理电路调用时执行上述的BMC解码方法的步骤,具体如上所述,此处不再赘述。
在一个实施例中,本申请实施例提供一种芯片,该芯片具体可包括上述实施例中的BMC解码装置100。
在一个实施例中,本申请实施例提供一种电子设备,该电子设备具体可包括上述实施例中的BMC解码装置100或者为上述实施例中的芯片。
尽管已经相对于一个或多个实现方式示出并描述了本申请,但是本领域技术人员基于对本说明书和附图的阅读和理解将会想到等价变型和修改。本申请包括所有这样的修改和变型,并且仅由所附权利要求的范围限制。特别地关于由上述组件执行的各种功能,用于描述这样的组件的术语旨在对应于执行所述组件的指定功能(例如其在功能上是等价的)的任意组件(除非另外指示),即使在结构上与执行本文所示的本说明书的示范性实现方式中的功能的公开结构不等同。
即,以上所述仅为本申请的实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,例如各实施例之间技术特征的相互结合,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
另外,对于特性相同或相似的结构元件,本申请可采用相同或者不相同的标号进行标识。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个特征。在本申请的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
在本申请中,“示例性”一词是用来表示“用作例子、例证或说明”。本申请中被描述为“示例性”的任何一个实施例不一定被解释为比其它实施例更加优选或更加具优势。为了使本领域任何技术人员能够实现和使用本申请,本申请给出了以上描述。在以上描述中,为了解释的目的而列出了各个细节。应当明白的是,本领域普通技术人员可以认识到,在不使用这些特定细节的情况下也可以实现本申请。在其它实施例中,不会对公知的结构和过程进行详细阐述,以避免不必要的细节使本申请的描述变得晦涩。因此,本申请并非旨在限于所示的实施例,而是与符合本申请所公开的原理和特征的最广范围相一致。

Claims (12)

1.一种BMC解码方法,其特征在于,包括以下步骤:
使用预设采样时钟对接收到的BMC编码数据进行时钟同步,得到同步BMC编码数据;
对所述同步BMC编码数据进行边沿信号检测,以对所述同步BMC编码数据的每一比特数据进行数据解码,并在对所述同步BMC编码数据的每一比特数据进行数据解码时,在第一计数器根据UI偏移情况进行的自适应计数下,分别在第一位置处采样得到第一采样值,以及在第二位置处采样得到第二采样值,所述第一计数器以所述预设采样时钟为时钟,所述第一位置位于0至1/2UI之间,所述第二位置位于1/2UI至UI之间;
对所述第一采样值和所述第二采样值进行异或运算,并将所述异或运算的结果作为所述同步BMC编码数据当前比特数据下的数据解码结果。
2.根据权利要求1所述的BMC解码方法,其特征在于,所述分别在第一位置处采样得到第一采样值,以及在第二位置处采样得到第二采样值的步骤包括:
在所述第一计数器进行第N轮计数循环,且所述第一计数器的值为第一预设数值时对应所述第一位置处进行采样,得到所述第一采样值,N为任意正整数;
在所述第一计数器进行第N+1轮计数循环,且所述第一计数器的值为第一预设数值时对应所述第二位置处进行采样,得到所述第二采样值。
3.根据权利要求2所述的BMC解码方法,其特征在于,所述第一计数器根据UI偏移情况进行的自适应计数的步骤包括:
若所述UI偏移情况为UI偏大时,将所述第一计数器的初始值保持一个时钟周期后再继续计数;
若所述UI偏移情况为UI偏小时,将所述第一计数器的初始值加1后再继续计数。
4.根据权利要求3所述的BMC解码方法,其特征在于,所述第一计数器根据UI偏移情况进行的自适应计数的步骤还包括:
在所述同步BMC编码数据的脉冲处,将所述第一计数器的值与预设阈值进行比较,所述预设阈值与所述第一计数器的最大值正相关;
若所述第一计数器的值小于所述预设阈值,则判定所述UI偏移情况为UI偏大;
若所述第一计数器的值大于所述预设阈值,则判定所述UI偏移情况为UI偏小。
5.根据权利要求4所述的BMC解码方法,其特征在于,所述第一计数器根据UI偏移情况进行的自适应计数的步骤还包括:
设置第二计数器,所述第二计数器在所述UI偏移情况每次判定为UI偏大时进行加1操作,及在所述UI偏移情况每次判定为UI偏小时进行减1操作;
所述第一计数器的最大值在所述第二计数器每次累计增加第二预设数值时进行加1操作,及在所述第二计数器每次累计减少第二预设数值时进行减1操作;
所述第一预设数值在所述第一计数器的最大值每次累计增加2时进行加1操作,及在所述第一计数器的最大值每次累计减少2时进行减1操作。
6.根据权利要求1-5任一项所述的BMC解码方法,其特征在于,所述第一位置位于1/4UI处,所述第二位置位于3/4UI处。
7.一种BMC解码装置,其特征在于,包括:
数据接口,用于接收BMC编码数据;
时钟域同步单元,用于使用预设采样时钟对所述BMC编码数据进行时钟同步,得到同步BMC编码数据;
BMC解码模块,用于对所述同步BMC编码数据进行解码时实现如权利要求1-6任一所述的BMC解码方法的步骤。
8.根据权利要求7所述的BMC解码装置,其特征在于,所述BMC解码模块包括:
第一计数器,用于根据UI偏移情况进行自适应计数,所述第一计数器以所述预设采样时钟为时钟;
边沿检测单元,用于对所述同步BMC编码数据的每一比特数据进行数据解码,并在对所述同步BMC编码数据的每一比特数据进行数据解码时,在所述第一计数器的自适应计数下,分别在第一位置处采样得到第一采样值,以及在第二位置处采样得到第二采样值,所述第一位置位于0至1/2UI之间,所述第二位置位于1/2UI至UI之间;
BMC解码单元,用于对所述第一采样值和所述第二采样值进行异或运算,并将所述异或运算的结果作为所述同步BMC编码数据当前比特数据下的数据解码结果。
9.根据权利要求8所述的BMC解码装置,其特征在于,所述BMC解码模块还包括:
第二计数器,用于在所述UI偏移情况每次判定为UI偏大时进行加1操作,及在所述UI偏移情况每次判定为UI偏小时进行减1操作,以辅助所述第一计数器实现根据UI偏移情况的自适应计数。
10.一种可读存储介质,其特征在于,所述可读存储介质存储有程序,所述程序被处理电路调用时执行如权利要求1至6中任一项所述的BMC解码方法的步骤。
11.一种芯片,其特征在于,包括如权利要求7-9任一项所述的BMC解码装置。
12.一种电子设备,其特征在于,包括如权利要求7-9任一项所述的BMC解码装置或者如权利要求11所述的芯片。
CN202310432727.6A 2023-04-20 2023-04-20 Bmc解码方法、装置、可读存储介质、芯片以及电子设备 Pending CN116501677A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310432727.6A CN116501677A (zh) 2023-04-20 2023-04-20 Bmc解码方法、装置、可读存储介质、芯片以及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310432727.6A CN116501677A (zh) 2023-04-20 2023-04-20 Bmc解码方法、装置、可读存储介质、芯片以及电子设备

Publications (1)

Publication Number Publication Date
CN116501677A true CN116501677A (zh) 2023-07-28

Family

ID=87324104

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310432727.6A Pending CN116501677A (zh) 2023-04-20 2023-04-20 Bmc解码方法、装置、可读存储介质、芯片以及电子设备

Country Status (1)

Country Link
CN (1) CN116501677A (zh)

Similar Documents

Publication Publication Date Title
CN107679000B (zh) 一种接收端信号占空比自适应调整的电路和方法
US10129014B2 (en) System and method of performing initial timing synchronization of receivers of modulated signals
US20130136220A1 (en) Clock and Data Recovery Employing Piece-Wise Estimation on the Derivative of the Frequency
US8219893B2 (en) High-speed communication channel techniques with improved robustness to timing uncertainty
US11627022B2 (en) Variable gain amplifier and sampler offset calibration without clock recovery
US10721106B1 (en) Adaptive continuous time linear equalization and channel bandwidth control
CN107515836B (zh) 一种动态双阈值的bmc解码装置及方法
US8737461B2 (en) Receiving equalization device in communication system and receiving equalization method
US6990615B2 (en) Data processing device
CN116501677A (zh) Bmc解码方法、装置、可读存储介质、芯片以及电子设备
US10616015B2 (en) Signal processing system and method, and apparatus
US4815107A (en) Digital code decoding apparatus
JP3142205B2 (ja) フレーム同期装置
US11481217B2 (en) Data transmitting and receiving system including clock and data recovery device and operating method of the data transmitting and receiving system
KR100300947B1 (ko) 디지털텔레비젼수신장치의세그먼트동기신호검출장치
US20230336325A1 (en) System and method for clock resynchronization
JP4565163B2 (ja) インパルス伝送方法及び受信装置
JP4968910B2 (ja) ビット同期回路
US6597752B1 (en) Method for detecting a dotting sequence for manchester encoded data in a deep fading environment
JP5665709B2 (ja) ビットクロック同期回路及び受信装置
JP4198801B2 (ja) ビットストリーム通信装置における同期化ワードの検出のための回路、システム、および方法
JP4528148B2 (ja) A/d変換器のdcオフセット校正回路
JP2002354055A (ja) Duty補正回路
JP2005150930A (ja) 信号幅補正装置
JP2001060853A (ja) Duty補正回路

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