CN119201816A - 多通道串行数字接口时序对齐调整方法、装置及设备 - Google Patents
多通道串行数字接口时序对齐调整方法、装置及设备 Download PDFInfo
- Publication number
- CN119201816A CN119201816A CN202310763251.4A CN202310763251A CN119201816A CN 119201816 A CN119201816 A CN 119201816A CN 202310763251 A CN202310763251 A CN 202310763251A CN 119201816 A CN119201816 A CN 119201816A
- Authority
- CN
- China
- Prior art keywords
- delay
- channel
- data
- serial
- signal
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M9/00—Parallel/series conversion or vice versa
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
本公开涉及一种多通道串行数字接口时序对齐调整方法、装置及设备,所述方法包括:通过确定所述第一通道的串行数字接口的时钟信号在所述延时单元的第一延时参数,确定当所述第二通道的数据能够被所述第一通道的串行数字接口的时钟信号正确采集时,所述第二通道的数据信号在所述延时单元的第二延时参数,设置所述第一通道在所述延时单元的延时参数为第一延时参数,设置所述第二通道在所述延时单元的延时参数为第二延时参数,可以使得多通道数据共用同一串行数字接口的时钟信号,且能够实现接收端组件准确同步采集发射端组件多个通道的数据,节约了接收端组件的IO资源,提高了扩展可能性、灵活性及可靠性。
Description
技术领域
本公开涉及集成电路技术领域,尤其涉及一种多通道串行数字接口时序对齐调整方法、装置及设备。
背景技术
在通信、雷达、软件无线电等领域,接收端组件会接收发射端组件的串行数据并进行处理,在实际使用中,发射端组件可以是多通道的,而接收端组件的接口(IO)是宝贵资源,为了节省接收端组件IO等资源,尤其是专用时钟IO资源,许多实际应用中,多通道串行数字接口数据会共用同一通道的时钟信号,直接使用同一通道的时钟信号采集其他组的数据,会导致数据传输的时序错误,如果采用同一时钟对多组经过相同延时的数据进行采样的方式,会导致时序窗口相对于每组数据单独调延时要小得多,甚至找不到有效的时序窗口,导致采样系统无法正常工作。
发明内容
根据本公开的一方面,提供了一种多通道串行数字接口时序对齐调整方法,所述通道包括第一通道及至少一个第二通道,多通道串行数字接口数据共用同一通道的时钟信号,使用延时单元对串行数字接口时钟和数据分别进行延时,所述方法包括:
确定所述第一通道的串行数字接口的时钟信号在所述延时单元的第一延时参数;
确定当所述第二通道的数据能够被所述第一通道的串行数字接口的时钟信号正确采集时,所述第二通道的数据信号在所述延时单元的第二延时参数;
设置所述第一通道在所述延时单元的延时参数为第一延时参数,设置所述第二通道在所述延时单元的延时参数为第二延时参数。
在一种可能的实施方式中,所述确定所述第一通道的串行数字接口的时钟信号在所述延时单元的第一延时参数,包括:
设置所述第一通道的初始延时参数;
持续采集所述延时单元中的转换组件得到的转换信号,在所述转换信号为第一预设值或第二预设值的情况下,以预设步长增加所述延时参数;或在所述转换信号不为所述第一预设值或所述第二预设值、且与前一转换信号不同的情况下,记录当前延时参数,并以所述预设步长增加所述延时参数;
当所述延时参数达到最大延时参数时,利用记录的多个延时参数得到所述第一延时参数。
在一种可能的实施方式中,所述当所述延时参数达到最大延时参数时,利用记录的多个延时参数得到所述第一延时参数,包括:
将所述多个延时参数的平均值或中位数作为所述第一延时参数。
在一种可能的实施方式中,所述确定当所述第二通道的数据能够被所述第一通道的串行数字接口的时钟信号正确采集时,所述第二通道的数据信号在所述延时单元的第二延时参数,包括:
设置所述第二通道的初始延时参数;
在各个周期均连续采集所述第二通道输出的多个数据,若所述多个数据未被正确采样,则以预设步长增加所述延时参数;或若所述多个数据被正确采样,则记录当前延时参数,并以所述预设步长增加所述延时参数;
当所述延时参数达到最大延时参数时,利用记录的多个延时参数得到所述第二延时参数。
在一种可能的实施方式中,所述当所述延时参数达到最大延时参数时,利用记录的多个延时参数得到所述第二延时参数,包括:
将所述多个延时参数的平均值或中位数作为所述第二延时参数。
在一种可能的实施方式中,所述方法还包括:
根据所述第一通道的延时后的串行数字接口的时钟信号与延时前的串行数字接口的时钟信号的对齐方式及所述延时单元中的转换组件输出的转换信号,对所述第一通道及所述第二通道的延时参数进行动态调整。
在一种可能的实施方式中,所述根据所述第一通道的延时后的串行数字接口的时钟信号与延时前的串行数字接口的时钟信号的对齐方式及所述延时单元中的转换组件输出的转换信号,对所述第一通道及所述第二通道的延时参数进行动态调整,包括:
N次采集转换信号,N>1且为整数;
如果N个转换信号都为第一预设值且所述对齐方式为上升沿对齐,则增加所述第一通道和所述第二通道的延时参数;
如果N个转换信号都为所述第一预设值且所述对齐方式为下降沿对齐,则减小所述第一通道和所述第二通道的延时参数;
如果N个转换信号都为第二预设值且所述对齐方式为上升沿对齐,则减小所述第一通道和所述第二通道的延时参数;
如果N个转换信号都为所述第二预设值且所述对齐方式为下降沿对齐,则增加所述第一通道和所述第二通道的延时参数;
如果N个转换信号中出现至少一次大于第一预设值且小于第二预设值的值,则不改变所述第一通道和所述第二通道的延时参数。
在一种可能的实施方式中,接收端组件使用延时单元对串行数字接口时钟和数据分别进行延时,所述延时单元包括:
输入信号延时器,用于接收时钟信号或者数据信号,根据设置的延时参数对所述时钟信号或者所述数据信号进行延时,输出延时时钟信号和延时数据信号,其中,所述延时参数包括所述第一延时参数、所述第二延时参数;
串并转换器,用于接收所述时钟信号或者所述数据信号,对所述时钟信号或者所述数据信号进行串并转换,输出转换信号;
分频模块,用于将所述时钟信号进行分频,输出分频时钟,为所述串并转换器提供时钟;
位时钟对齐状态机,用于根据对所述时钟信号串并转换后得到的所述转换信号判断所述时钟信号与所述延时时钟信号是否对齐;
延时判断状态机,用于根据对所述延时数据信号进行串并转换后得到的所述转换信号判断当前延时值是否能够使得数据被正确采集;
数据对齐模块,用于调整所述延时数据信号串并转换后的所述转换信号之间的错位,使得所述转换信号的边界被正确识别;
其中,所述确定当所述第二通道的数据能够被所述第一通道的串行数字接口的时钟信号正确采集时,所述第二通道的数据信号在所述延时单元的第二延时参数,包括:
在发射端组件的测试模式下,确定当所述第二通道的数据能够被所述第一通道串行数字接口的时钟信号正确采集时,所述第二通道的数据信号的第二延时参数。
在一种可能的实施方式中,所述第一预设值为0x00,所述第二预设值为0xFF。
根据本公开的一方面,提供了一种多通道串行数字接口时序对齐调整装置,所述通道包括第一通道及至少一个第二通道,多通道串行数字接口数据共用同一通道的时钟信号,使用延时单元对串行数字接口时钟和数据分别进行延时,所述装置包括:
第一确定模块,用于确定所述第一通道的串行数字接口的时钟信号在所述延时单元的第一延时参数;
第二确定模块,用于确定当所述第二通道的数据能够被所述第一通道的串行数字接口的时钟信号正确采集时,所述第二通道的数据信号在所述延时单元的第二延时参数;
设置模块,用于设置所述第一通道在所述延时单元的延时参数为第一延时参数,设置所述第二通道在所述延时单元的延时参数为第二延时参数。
根据本公开的一方面,提供了一种电子设备,所述电子设备包括所述的多通道串行数字接口时序对齐调整装置。
根据本公开的一方面,提供了一种多通道串行数字接口时序对齐调整设备,所述通道包括第一通道及至少一个第二通道,多通道串行数字接口数据共用同一通道的时钟信号,使用延时单元对串行数字接口时钟和数据分别进行延时,所述设备包括第一延时单元、至少一个第二延时单元,所述第一延时单元及所述第二延时单元均包括输入信号延时器、串并转换器、位时钟对齐状态机、数据对齐模块及数据采集模块,所述第一延时单元还包括分频模块,所述第二延时单元还包括延时判断状态机,所述第一延时单元用于确定所述第一通道的串行数字接口的时钟信号在所述第一延时单元的第一延时参数,预设第二延时单元用于确定当各个第二通道的数据能够被所述第一通道的串行数字接口的时钟信号正确采集时,所述第二通道的数据信号在所述第二延时单元的第二延时参数,其中,
所述输入信号延时器,用于接收时钟信号或者数据信号,根据设置的延时参数对所述时钟信号或者所述数据信号进行延时,输出延时时钟信号和延时数据信号,其中,所述延时参数包括所述第一延时参数、所述第二延时参数;
所述串并转换器,用于接收所述时钟信号或者所述数据信号,对所述时钟信号或者所述数据信号进行串并转换,输出转换信号;
所述分频模块,用于将所述时钟信号进行分频,输出分频时钟,为所述串并转换器提供时钟;
所述位时钟对齐状态机,用于根据对所述时钟信号串并转换后得到的所述转换信号判断所述时钟信号与所述延时时钟信号是否对齐;
所述延时判断状态机,用于根据对所述延时数据信号进行串并转换后得到的所述转换信号判断当前延时值是否能够使得数据被正确采集;
数据对齐模块,用于调整所述延时数据信号串并转换后的所述转换信号之间的错位,使得所述转换信号的边界被正确识别;
所述数据采集模块用于采集串并转换器输出的数据。
在一种可能的实施方式中,所述第一延时单元中串并转换器包括第一串并转换器、第二串并转换器、第三串并转换器,其中,
所述输入信号延时器的数据输入端用于输入所述时钟信号,
所述输入信号延时器的延时参数输入端连接于所述位时钟对齐状态机的输出端,以接收所述位时钟对齐状态机输出的延时参数,
所述输入信号延时器的输出端连接于所述第一延时单元的第一串并转换器的第一时钟信号端、所述第一延时单元的第二串并转换器的第一时钟信号端、所述第一延时单元的第三串并转换器的第一时钟信号端及所述分频模块的输入端,
所述分频模块的输出端连接于所述第一延时单元的第一串并转换器的第二时钟信号端、所述第一延时单元的第二串并转换器的第二时钟信号端、所述第一延时单元的第三串并转换器的第二时钟信号端,
所述第一延时单元的第一串并转换器的数据输入端用于接收所述时钟信号,
所述第一延时单元的第一串并转换器的输出端连接于所述位时钟对齐状态机的数据输入端,
所述第一延时单元的第二串并转换器的数据输入端用于接收帧同步信号,
所述第一延时单元的第二串并转换器的输出端连接于所述数据对齐模块的输入端,
所述第一延时单元的第三串并转换器的数据输入端用于接收数据信号,
所述第一延时单元的第三串并转换器的输出端连接于所述数据采集模块的输入端。
在一种可能的实施方式中,所述第二延时单元中输入信号延时器包括第一输入信号延时器、第二输入信号延时器,所述第二延时单元中串并转换器包括第一串并转换器、第二串并转换器,
所述第一输入信号延时器的数据输入端用于接收帧同步信号,
所述第一输入信号延时器的延时参数输入端连接于所述延时判断状态机的输出端,用于接收所述延时判断状态机输出的延时参数,
所述第一输入信号延时器的数据输出端连接于所述第二延时单元的第一串并转换器的数据输入端,
所述第二输入信号延时器的数据输入端用于接收数据信号,
所述第二输入信号延时器的延时参数输入端连接于所述延时判断状态机的输出端,用于接收所述延时判断状态机输出的延时参数,
所述第二输入信号延时器的数据输出端连接于所述第二延时单元的第二串并转换器的数据输入端,
所述第二延时单元的第一串并转换器的第一时钟信号端、所述第二延时单元的第二串并转换器的第一时钟信号端连接于所述第一延时单元的所述输入信号延时器的输出端,
所述第二延时单元的第一串并转换器的第二时钟信号端、所述第二延时单元的第二串并转换器的第二时钟信号端连接于所述分频模块的输出端,
所述第二延时单元的第一串并转换器的输出端连接于所述数据对齐模块的输入端,
所述第二延时单元的第二串并转换器的输出端连接于所述数据采集模块的输入端及所述延时判断状态机的输入端。
在一种可能的实施方式中,所述确定所述第一通道的串行数字接口的时钟信号在所述第一延时单元的第一延时参数,包括:
设置所述第一延时单元的输入信号延时器的初始延时参数;
持续采集所述第一延时单元中的预设串并转换器得到的转换信号,在所述转换信号为第一预设值或第二预设值的情况下,以预设步长增加所述延时参数;或在所述转换信号不为所述第一预设值或所述第二预设值、且与前一转换信号不同的情况下,记录当前延时参数,并以所述预设步长增加所述延时参数;
当所述延时参数达到最大延时参数时,利用记录的多个延时参数得到所述第一延时参数。
在一种可能的实施方式中,所述确定当所述第二通道的数据能够被所述第一通道的串行数字接口的时钟信号正确采集时,所述第二通道的数据信号在所述第二延时单元的第二延时参数,包括:
设置所述第二延时单元的输入信号延时器的初始延时参数;
在各个周期均连续采集所述第二通道的预设串并转换器输出的多个数据,若所述多个数据未被正确采样,则以预设步长增加所述延时参数;或若所述多个数据被正确采样,则记录当前延时参数,并以所述预设步长增加所述延时参数;
当所述延时参数达到最大延时参数时,利用记录的多个延时参数得到所述第二延时参数。
在一种可能的实施方式中,所述设备还用于:
根据所述第一通道的延时后的串行数字接口的时钟信号与延时前的串行数字接口的时钟信号的对齐方式及预设延时单元中的转换组件输出的转换信号,对所述第一通道及所述第二通道的延时参数进行动态调整。
在一种可能的实施方式中,所述根据所述第一通道的延时后的串行数字接口的时钟信号与延时前的串行数字接口的时钟信号的对齐方式及预设延时单元中的转换组件输出的转换信号,对所述第一通道及所述第二通道的延时参数进行动态调整,包括:
N次采集转换信号,N>1且为整数;
如果N个转换信号都为第一预设值且所述对齐方式为上升沿对齐,则增加所述第一通道和所述第二通道的延时参数;
如果N个转换信号都为所述第一预设值且所述对齐方式为下降沿对齐,则减小所述第一通道和所述第二通道的延时参数;
如果N个转换信号都为第二预设值且所述对齐方式为上升沿对齐,则减小所述第一通道和所述第二通道的延时参数;
如果N个转换信号都为所述第二预设值且所述对齐方式为下降沿对齐,则增加所述第一通道和所述第二通道的延时参数;
如果N个转换信号中出现至少一次大于第一预设值且小于第二预设值的值,则不改变所述第一通道和所述第二通道的延时参数。
根据本公开的一方面,提供了一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为调用所述存储器存储的指令,以执行上述多通道串行数字接口时序对齐调整方法,示例性的,所述处理器包括FPGA或ASIC等。
根据本公开的一方面,提供了一种存储介质,其上存储有程序指令,所述程序指令被处理器执行时实现上述多通道串行数字接口时序对齐调整方法。
本公开实施例提出的多通道串行数字接口时序对齐调整方法,通过确定所述第一通道的串行数字接口的时钟信号在所述延时单元的第一延时参数,确定当所述第二通道的数据能够被所述第一通道的串行数字接口的时钟信号正确采集时,所述第二通道的数据信号在所述延时单元的第二延时参数,设置所述第一通道在所述延时单元的延时参数为第一延时参数,设置所述第二通道在所述延时单元的延时参数为第二延时参数,可以解决DCO窗口过小,容易出现时序错误的问题,可以使得多通道数据共用同一串行数字接口的时钟信号,且能够实现接收端组件准确同步采集发射端组件多个通道的数据,节约了接收端组件的IO资源,提高了扩展可能性、灵活性及可靠性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,而非限制本公开。根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。
图1示出了常见ADC数字IO输出的串行LVDS接口时序图。
图2a示出了根据本公开实施例的接收端组件中延时单元的示意图。
图2b示出了根据本公开实施例的FPGA中延时单元的示意图。
图3示出了根据本公开一实施例的多通道串行数字接口时序对齐调整方法的流程图。
图4示出了根据本公开一实施例的多通道串行数字接口时序对齐调整方法的流程图。
图5示出了根据本公开实施例的各个延时单元的示意图。
图5a、图5b、图5c、图5d、图5e、图5f、图5g示出了根据本公开实施例的延时单元的各个组件的连接关系示意图。
图6a、图6b分别示出了利用本公开实施例的多通道串行数字接口时序对齐调整方法对通道A的第一延时参数、及通道B的第二延时参数的调整示意图。
图7示出了根据本公开实施例的对延时参数进行动态调整的示意图。
图8示出了根据本公开实施例的多通道串行数字接口时序对齐调整装置的框图。
具体实施方式
以下将参考附图详细说明本公开的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
在本公开的描述中,需要理解的是,术语“长度”、“宽度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本公开和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本公开的限制。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本公开的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
在本公开中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本公开中的具体含义。
在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括A、B、C中的至少一种,可以表示包括从A、B和C构成的集合中选择的任意一个或多个元素。
另外,为了更好地说明本公开,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本公开同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本公开的主旨。
应理解的是,本公开实施例对接收端组件、发射端组件的具体类型不做限定,本领域技术人员可以根据实际情况及需要选择,示例性的,接收端组件可以是FPGA、ASIC芯片等;发射端组件可以是ADC,也可以是数字信号源等,比如Transciever的量化后的结果,甚至就是一个数字芯片,只要发射端组件可以发出串行数字码流,接收端组件能够接收发射端组件发送的LVDS码流并进行处理即可。为了便于描述,本公开实施例以发射端组件为ADC(Analog-to-digital Converter,模数转换器)、接收端组件为FPGA为例进行介绍。
首先以发射端组件为ADC、接收端组件为FPGA为例对相关技术及其存在的问题进行介绍,目前,多路、高速、高精度ADC广泛应用于通信、雷达、软件无线电等领域,由于通道较多,如采用传统的并行接口传输数字信号,需要占用较多I/O(Input/Output,输入输出端口),不利于实现芯片小型化。目前主流高速多通道ADC多采用串行LVDS(Low-VoltageDifferential Signaling,低电压差分信号)接口作为数字端输出接口,该接口具有低功耗,差分信号抗干扰能力强,超高传输速度等特点,能够有效减少器件I/O数量。
请参阅图1,图1示出了常见ADC数字IO输出的串行LVDS接口时序图。
常见ADC数字IO输出的串行LVDS接口时序如图1所示。图1中,ENC-/ENC+表示ADC输入采样时钟,驱动ADC采样电路;DCO-/DCO+表示数字LVDS接口时钟,对于DDR采样模式,采样时钟DCO的上升沿和下降沿对齐数据的中心位置,方便FPGA(Field Programmable GateArray,现场可编程门阵列)采集;FR-/FR+表示帧同步信号,用于指示哪些bit拼接在一起为一个完整数据。FR上升沿与数据边沿对齐;OUT#A-/A+表示数据通道A,如ADC16bit偶数位串行数据;OUT#B-/B+表示数据通道B,如ADC16bit奇数位串行数据;串行LVDS的发送端,时钟DCO与Data的中心对齐,并且Data与FR对齐,随着数据速率的提高,数据的采样窗口就会变小。以ADI公司的LTM9011为例,16位ADC在125MSPS采样率下,数据接口速率为1Gbps,数据周期为1ns。
本领域技术人员知晓的是,即使在硬件PCB严格等长设计的情况下,由于DCO和Data在FPGA内部经过的路径不同,在FPGA采样电路中,很难保证DCO、Data和FR之间的相位关系,很难保证足够的时序采样窗口,从而导致误码的产生。并且,随着芯片集成度的提高,出现了多组DCO/FR/Data的情况,每组FR/Data有独立的DCO进行采集。但是,在某些小型化应用中,需要使用小封装尺寸的FPGA芯片;FPGA的IO是宝贵资源,为了节省FPGA IO等资源,尤其是专用时钟IO资源,许多实际应用中,多组Data/FR往往公用一组DCO时钟。这时候,由于多组DCO之间的时序偏差、DCO与其他组Data/FR之间的时序偏差,直接使用一组DCO直接采集其他组的FR/Data,会导致数据传输的时序错误,相关技术存在对多组数据进行同等延时的方式,然而,对两组或多组数据进行同等延时,会导致时序窗口相对于每组数据单独调延时要小得多,甚至找不到有效的时序窗口,导致采样系统无法正常工作。
如前所述,在FPGA采样电路中,很难保证DCO、Data和FR之间的相位关系,很难保证足够的时序采样窗口,从而导致误码的产生,对此,可以利用FPGA延时单元对时钟路径进行延时补偿,从而解决由于FPGA内部布线路径导致的时序减小和误码问题,当然,本公开实施例对延时单元的具体实现方式不做限定,对于不同的FPGA,延时单元的实现方式可以是不同的,本领域技术人员可以根据实际情况及需要采用合适的技术手段实现。
请参阅图2a,图2a示出了根据本公开实施例的接收端组件中延时单元的示意图。
在一种可能的实施方式中,如图2a所示,所述延时单元可以包括:输入信号延时器、串并转换器、位时钟对齐状态机、分频模块,其中,
所述输入信号延时器,用于接收时钟信号或者数据信号,根据设置的延时参数对所述时钟信号或者所述数据信号进行延时,输出延时时钟信号和延时数据信号,其中,所述延时参数包括所述第一延时参数、所述第二延时参数;
所述串并转换器,用于接收所述时钟信号或者所述数据信号,对所述时钟信号或者所述数据信号进行串并转换,输出转换信号;
所述分频模块,用于将所述时钟信号进行分频,输出分频时钟,为所述串并转换器提供时钟;
所述位时钟对齐状态机,用于根据对所述时钟信号串并转换后得到的所述转换信号判断所述时钟信号与所述延时时钟信号是否对齐。
当然,延时单元还可以包括其他的组件,对此本公开实施例不做限定,本领域技术人员可以根据实际情况及需要设置,且各个组件的数目及具体实现方式也是可以根据实际情况及需要设置的。
下面以FPGA中的延时单元进行示例性介绍。
请参阅图2b,图2b示出了根据本公开实施例的接收端组件(如FPGA)中延时单元的示意图。
在一种可能的实施方式中,如图2b所示,所述延时单元可以包括:
差分输入缓冲器IBUFDS,用于将差分信号转换为单端信号,所述差分信号包括时钟信号(DCLK)、数据信号;
输入信号延时器IDELAYE2,连接于所述差分输入缓冲器IBUFDS,用于根据设置的延时参数(如延时时长)对所述单端信号进行延时,输入信号延时器IDELAYE2包括信号输入端IDATAIN,用于接收差分输入缓冲器IBUFDS输出的单端信号;
I/O时钟缓冲器IBUFIO、区域时钟缓冲器BUFR,均连接于所述输入信号延时器IDELAYE2的信号输出端DATAOUT,分别用于根据延时后的时钟信号(IntBitClk)输出I/O时钟信号CLK及区域时钟信号CLKDIV;
串并转换器ISERDESE2,用于接收所述单端信号(如输入端D用于接收单端时钟信号BitClk)及所述I/O时钟信号CLK,对所述单端信号进行串并转换,串并转换器ISERDESE2的多个输出端(Q1~Q8)用于输出转换信号,其中,所述I/O时钟信号CLK可以作为串并转换器ISERDESE2的采样时钟;
位时钟对齐状态机PASM(Bit Clock Phase Alignment State Machine),用于根据所述转换信号判断所述单端信号与所述I/O时钟信号CLK是否对齐。
其中,输入信号延时器IDELAYE2、串并转换器ISERDESE2、位时钟对齐状态机PASM还用于接收区域时钟信号CLKDIV。
示例性的,如图2b所示,在输入信号延时器IDELAYE2之前可以设置差分输入缓冲器IBUFDS将差分信号转换为单端信号,图2a中的分频模块可以可包括I/O时钟缓冲器IBUFIO、区域时钟缓冲器BUFR分别用于根据延时后的时钟信号(IntBitClk)输出I/O时钟信号CLK及区域时钟信号CLKDIV,当然,分频模块也可以通过其他实施方式实现,对此本公开实施例不做限定。
本公开实施例对差分输入缓冲器IBUFDS、输入信号延时器IDELAYE2、I/O时钟缓冲器IBUFIO、区域时钟缓冲器BUFR、串并转换器ISERDESE2、位时钟对齐状态机PASM的具体实现方式不做限定,本领域技术人员可以根据实际情况及需要采用合适的技术手段实现,示例性的,本领域技术人员可以采用相关技术中成熟的差分输入缓冲器IBUFDS、输入信号延时器IDELAYE2、I/O时钟缓冲器IBUFIO、区域时钟缓冲器BUFR、串并转换器ISERDESE2、位时钟对齐状态机PASM实现。
示例性的,如图2b所示,输入到FPGA的时钟信号与数据信号都经过差分输入缓冲器IBUFDS由差分信号转为单端信号,所以时钟信号(DCLK)经过差分输入缓冲器IBUFDS后的单端时钟信号Bitclk的边沿与数据信号经过差分输入缓冲器IBUFDS后的信号中心是对齐的。故只需通过控制输入信号延时器IDELAYE2的延时参数,使得经过输入信号延时器IDELAYE2、I/O时钟缓冲器IBUFIO后的时钟I/O时钟信号CLK和单端时钟信号Bitclk对齐,从而消除I/O时钟缓冲器IBUFIO、区域时钟缓冲器BUFR及网络(net)的延时,实现延时相等。其中,I/O时钟信号CLK可以作为串并转换器ISERDESE2(例如可以为FPGA的一个专用的串并联转换器,如ISERDES(Input SERializer DESerializer))为的采样时钟,当I/O时钟信号CLK采集到单端时钟信号Bitclk的上升沿或者下降沿时,采集到的数据会出现亚稳态,则串并转换器ISERDESE2会输出不断变化的值,说明此时I/O时钟信号CLK与单端时钟信号BitClk已经对齐了;当串并转换器ISERDESE2输出的值为0xFF或者0x00时,则说明I/O时钟信号CLK边沿没有采集到单端时钟信号BitClk的边沿即没有对齐,通过以上方法,本公开实施例可以解决同一组DCO/FR/Data的数据传输问题。
但是,因为FPGA的延时单元不能对一路DCO进行多路不同延时,以上方法无法应对多组DCO/FR/Data的情况,对此,本公开实施例可以对两组数据进行同等延时以应对多组DCO/FR/Data的情况,以芯片有2组串行LVDS输出、每组包含独立的DCO/FR/Data为例,由于IO限制,尤其是时钟IO资源限制,许多应用两组Data/FR公用1路DCO。
示例性的,由于DCO在FPGA内部不能驱动两组延时单元,所以可以使用两组Data/FR公用1路延时后的DCO的方案。示例性的,调窗具体过程包括:
步骤1,上电后通过寄存器访问接口将ADC配置为测试模式(Testmode模式),数字输出配置为递增数或递减数;
步骤2,设置输入信号延时器IDELAYE2的延时参数(根据时序参数的不同,延时参数为0-31的不同值n),应该说明的是,不同的FPGA的延时参数范围是不同的,具体数据值可以参考相应FPGA的延时资源的说明文档;
步骤3,等待数据重对齐模块调整完成,其中,数据重对齐模块用来实现并行数据的边界对齐,例如外界串行输入的8bit的数据,经过串并转换后,能获取8bit的并行数据,但这并行数据可能存在前后8bit数据之间的错位,这是串并转换无法识别的,因此可以通过数据重对齐模块来找到需要的并行数据边界,当然,本公开实施例对数据重对齐模块的具体实现方式不做限定,本领域技术人员可以通过相关技术实现;
步骤4,在延时为n时,记录每组通道输出的连续N个数据(N例如为16384),如果每组的N个数据均为递增数据,则此时的n为有效窗口延时值;
步骤5,记录下在延时参数范围(如0-31)中所有的n的有效值,如果连续多个n为有效值,取其中间值m作为最终延时值;
步骤6,将m配置为输入信号延时器IDELAYE2延时值,ADC退出Testmode模式,进入正常工作模式,完成调窗操作。
然而,对两组数据进行同等延时,会导致时序窗口相对于每组数据单独调延时要小得多,甚至找不到有效的时序窗口,导致采样系统无法正常工作,有鉴于此,本公开实施例提出的多通道串行数字接口时序对齐调整方法,通过确定所述第一通道的串行数字接口的时钟信号在所述延时单元的第一延时参数,确定当所述第二通道的数据能够被所述第一通道的串行数字接口的时钟信号正确采集时,所述第二通道的数据信号在所述延时单元的第二延时参数,设置所述第一通道在所述延时单元的延时参数为第一延时参数,设置所述第二通道在所述延时单元的延时参数为第二延时参数,可以解决DCO窗口过小,容易出现时序错误的问题,可以使得多通道数据共用同一串行数字接口的时钟信号,且能够实现接收端组件准确同步采集发射端组件多个通道的数据,节约了接收端组件的IO资源,提高了扩展可能性、灵活性及可靠性。
请参阅图3,图3示出了根据本公开一实施例的多通道串行数字接口时序对齐调整方法的流程图。
所述通道包括第一通道及至少一个第二通道,多通道串行数字接口数据共用同一通道的时钟信号,使用延时单元(例如可以为接收端组件如FPGA延时单元)对串行数字接口时钟和数据(例如可以来自原发送端组件如ADC)分别进行延时,如图3所示,所述方法包括:
步骤S11,确定所述第一通道的串行数字接口的时钟信号在所述延时单元的第一延时参数;
步骤S12,确定当所述第二通道的数据能够被所述第一通道的串行数字接口的时钟信号正确采集时,所述第二通道的数据信号在所述延时单元的第二延时参数;
步骤S13,设置所述第一通道在所述延时单元的延时参数为第一延时参数,设置所述第二通道在所述延时单元的延时参数为第二延时参数。
应明白的是,发送端组件(如ADC)的不同通道可以对应不同的延时参数,这样,在ADC进入正常工作模式后,接收端组件(如FPGA)能够准确同步采集ADC各个通道的数据。
示例性的,当所述第二通道的数据信号的中心位置与所述第一通道的时钟信号的边沿对齐时,所述第二通道的数据能够被所述第一通道的串行数字接口的时钟信号正确采集,当然,本公开实施例对确定当所述第二通道的数据能够被所述第一通道的串行数字接口的时钟信号正确采集的具体方式不做限定,本领域技术人员可以根据实际情况及需要采用合适的方式确定。
本公开实施例对串行数字接口的电平标准不做限定,本领域技术人员可以根据实际情况及需要设置,示例性的,串行数字接口可以为数字LVDS接口或其他电平标准的接口,下文以串行数字接口为数字LVDS接口为例进行介绍。
本公开实施例对步骤S11确定所述第一通道的串行数字接口的时钟信号在所述延时单元的第一延时参数的具体实现方式不做限定,本领域技术人员可以根据实际情况及需要采用合适的技术手段实现,下面进行示例性介绍。
请参阅图4,图4示出了根据本公开一实施例的多通道串行数字接口时序对齐调整方法的流程图。
在一种可能的实施方式中,如图4所示,步骤S11确定所述第一通道的串行数字接口的时钟信号在所述延时单元的第一延时参数,可以包括:
步骤S111,设置所述第一通道的初始延时参数,例如可以设置所述第一通道的输入信号延时器IDELAYE2的延时参数为初始延时参数;
步骤S112,持续采集所述延时单元中的转换组件得到的转换信号,在所述转换信号为第一预设值或第二预设值的情况下,以预设步长增加所述延时参数;或在所述转换信号不为所述第一预设值或所述第二预设值、且与前一转换信号不同的情况下,记录当前延时参数,并以所述预设步长增加所述延时参数,其中转换组件可以为位时钟对齐状态机PASM,例如通过所述位时钟对齐状态机PASM持续采集所述转换信号,在所述转换信号为第一预设值或第二预设值的情况下,以预设步长增加所述延时参数;或在所述转换信号不为所述第一预设值或所述第二预设值、且与前一转换信号不同的情况下,记录当前延时参数,并以所述预设步长增加所述延时参数;
步骤S113,当所述延时参数达到最大延时参数时,利用记录的多个延时参数得到所述第一延时参数。
本公开实施例通过设置所述第一通道的输入信号延时器IDELAYE2的延时参数为初始延时参数,通过所述位时钟对齐状态机PASM持续采集所述转换信号,在所述转换信号为第一预设值或第二预设值的情况下,以预设步长增加所述延时参数;或在所述转换信号不为所述第一预设值或所述第二预设值、且与前一转换信号不同的情况下,记录当前延时参数,并以所述预设步长增加所述延时参数,当所述延时参数达到最大延时参数时,利用记录的多个延时参数可以快速得到所述第一延时参数,以对第一通道的延时单元的延时参数进行设置。
示例性的,所述初始延时参数例如可以为0,所述第一预设值可以为0x00,所述第二预设值可以为0xFF,所述预设步长例如可以为1,所述最大延时参数例如为31,本公开实施例可以在串并转换器ISERDESE2会输出不断变化的值(所述转换信号不为所述第一预设值或所述第二预设值、且与前一转换信号不同),确定采集到的数据出现亚稳态,则说明此时I/O时钟信号CLK与单端时钟信号BitClk已经对齐了,因此记录当前延时参数,并以所述预设步长增加所述延时参数;当串并转换器ISERDESE2输出的值为0xFF或者0x00时(所述转换信号为第一预设值或第二预设值),则说明I/O时钟信号CLK边沿没有采集到单端时钟信号BitClk的边沿即没有对齐,因此以预设步长增加所述延时参数,但不记录此时的延时参数,通过这样的设置,本公开实施例可以方便、快速的确定信号是否对齐。
示例性的,如图2b所示,SERDESE2串并转换作为对齐的原理可以描述为:I/O时钟信号CLK为经过IDELAY2的延时时钟,BitCLK为与I/O时钟信号CLK同频的目标对齐时钟,最终目的是让CLK时钟与BitClk对齐。通过IDELAY2对CLK进行延时,实现对齐。判断是否对齐的方式为:让I/O时钟信号CLK作为ISERDESE2的采集时钟,BitClk作为ISERDESE2的输入信号,例如让I/O时钟信号CLK上升沿采集BitCLK,采集8次作为ISERDESE2的输出值(并行8bit),其中,如果I/O时钟信号CLK采集的都是BitCLK的低电平,则输出0x00;如果I/O时钟信号CLK采集的都是BitCLK的高电平,则输出0xFF,这2种情况都说明没有对齐。
当然,以上参数的具体大小本公开实施例不做限定,对于不同的FPGA或不同的接收端组件,以上参数的具体值可能不同,本领域技术人员可以根据实际情况及需要设置。
示例性的,请一并参考图2b,对于所述第一通道,可以设置输入信号延时器IDELAYE2的初始延时参数为0,通过所述位时钟对齐状态机PASM持续采集串并转换器ISERDESE2输出的转换信号,并判断各个转换信号的状态,在转换信号为0x00或0xFF的情况下,将延时参数加1;或在转换信号不为0x00或0xFF、且与前一转换信号不同的情况下,记录当前延时参数,并且延时参数加1,直到延时参数累加达到或超过最大延时参数,可以得到记录的多个延时参数。
示例性的,可以将延时参数记录在存储模块中,在一个示例中,存储模块可以包括计算机可读存储介质,存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
在一种可能的实施方式中,步骤S113当所述延时参数达到最大延时参数时,利用记录的多个延时参数得到所述第一延时参数,可以包括:
将所述多个延时参数的平均值或中位数作为所述第一延时参数。
本公开实施例对确定第一延时参数时所述ADC的工作模式不做限定,确定第一延时参数时所述ADC的工作模式可以为测试模式,也可以为正常工作模式。
本公开实施例对步骤S12确定当所述第二通道的数据能够被所述第一通道的串行数字接口的时钟信号正确采集时,所述第二通道的数据信号在所述延时单元的第二延时参数的具体实现方式不做限定,本领域技术人员可以根据实际情况及需要要采用合适的技术手段实现,下面进行示例性介绍。
在一种可能的实施方式中,如图4所示,步骤S12确定当所述第二通道的数据能够被所述第一通道的串行数字接口的时钟信号正确采集时,所述第二通道的数据信号在所述延时单元的第二延时参数,可以包括:
步骤S121,设置所述第二通道的初始延时参数,例如设置所述第二通道的输入信号延时器IDELAYE2的延时参数为初始延时参数;
步骤S122,在各个周期均连续采集所述第二通道输出的多个数据,若所述多个数据未被正确采样,则以预设步长增加所述延时参数;或若所述多个数据被正确采样,则记录当前延时参数,并以所述预设步长增加所述延时参数;
步骤S123,当所述延时参数达到最大延时参数时,利用记录的多个延时参数得到所述第二延时参数。
本公开实施例通过在所述ADC的测试模式下,设置所述第二通道的输入信号延时器IDELAYE2的延时参数为初始延时参数,在各个周期均连续采集所述第二通道输出的多个数据,若所述多个数据未被正确采样,则以预设步长增加所述延时参数;或若所述多个数据被正确采样,则记录当前延时参数,并以所述预设步长增加所述延时参数,当所述延时参数达到最大延时参数时,利用记录的多个延时参数可以快速得到所述第二延时参数,以对第二通道的延时单元的延时参数进行设置。
当然,以上以递增数据进行判断是示例性的,在其他示例中,数据也可以是递减数据,或者按一定规律变化,目的是为了判断当前延时值是否能够让FPGA正确采集到ADC的数据,这样,当多个数据不为递增数据、递减数据或其他按一定规律变化的数据,则可以确定所述多个数据未被正确采样,相反,当多个数据为递增数据、递减数据或其他按一定规律变化的数据,则可以确定所述多个数据被正确采样。
示例性的,在得到第一通道的第一延时参数的情况下,本公开实施例可以固定第一通道的第一延时参数,确定第二通道的第二延时参数,例如,第一通道使用延时后的DCO作为采样时钟,因为DCO已经与第一通道的数据对齐,在输入信号延时器IDELAYE2只能被一个IO驱动的约束下,DCO的延时值不能调整了;对于第二通道的数据,在DCO时钟不能调延时的情况下,本公开实施例在第二通道的每个数据上增加延时单元的调延时功能,延时后的数据对齐第一通道的DCO,由于第一通道的DCO与延时后的DCO通过串并转换器ISERDESE2可以判断是否对齐,那么就可以动态调整DCO的延时,时刻保持对齐。与此同时,由于第一通道和第二通道所处的环境相同,因此电参数变化趋势相同,从而第二通道的数据的延时值也同向调整,以完成第二通道的数据的动态对齐。
在一种可能的实施方式中,所述当所述延时参数达到最大延时参数时,利用记录的多个延时参数得到所述第二延时参数,可以包括:
将所述多个延时参数的平均值或中位数作为所述第二延时参数。
示例性的,请一并参考图2b,对于所述第二通道,可以设置输入信号延时器IDELAYE2的初始延时参数为0,通过在各个周期(连续的时间段)均连续采集所述第二通道输出的多个数据(如16384个),若所述多个数据未被正确采样,则延时参数加1;或若所述多个数据被正确采样,则记录当前延时参数,并且延时参数加1,直到延时参数累加达到或超过最大延时参数,可以得到记录的多个延时参数。
在设置好第一延时参数、第二延时参数后进入正常工作模式需要跳出testmode模式,在ADC正常采样模式下不能实时检测时序余量,从而不能根据外部环境变化(如高低温等)自动调窗,在恶劣环境应用中有较大隐患。
本公开实施例对通道的数目不做限定,本领域技术人员可以根据实际情况及需要对任意数目的通道的延时参数进行配置。
请参阅图5,图5示出了根据本公开实施例的各个延时单元的示意图。
在一个示例中,如图5所示,本公开实施例可以对通道0~通道N的各延时单元的延时参数进行配置,N可以为大于1的整数。
在一个示例中,如图5所示,多通道串行数字接口时序对齐调整设备,所述通道包括第一通道(图5中的通道0)及至少一个第二通道(图5中的通道N),多通道串行数字接口数据共用同一通道的时钟信号,使用延时单元对串行数字接口时钟和数据分别进行延时,所述设备包括第一延时单元(对应图5中的通道0)、至少一个第二延时单元(对应图5中的通道N),所述第一延时单元及所述第二延时单元均包括输入信号延时器、串并转换器、位时钟对齐状态机、数据对齐模块及数据采集模块,所述第一延时单元还包括分频模块,所述第二延时单元还包括延时判断状态机,所述第一延时单元用于确定所述第一通道的串行数字接口的时钟信号在所述第一延时单元的第一延时参数,各个第二延时单元用于确定当各个第二通道的数据能够被所述第一通道的串行数字接口的时钟信号正确采集时,所述第二通道的数据信号在所述第二延时单元的第二延时参数,其中,
所述输入信号延时器,用于接收时钟信号或者数据信号,根据设置的延时参数对所述时钟信号或者所述数据信号进行延时,输出延时时钟信号和延时数据信号,其中,所述延时参数包括所述第一延时参数、所述第二延时参数;
所述串并转换器,用于接收所述时钟信号或者所述数据信号,对所述时钟信号或者所述数据信号进行串并转换,输出转换信号;
所述分频模块,用于将所述时钟信号进行分频,输出分频时钟,为所述串并转换器提供时钟;
所述位时钟对齐状态机,用于根据对所述时钟信号串并转换后得到的所述转换信号判断所述时钟信号与所述延时时钟信号是否对齐;
所述延时判断状态机,用于根据对所述延时数据信号进行串并转换后得到的所述转换信号判断当前延时值是否能够使得数据被正确采集;
数据对齐模块,用于调整所述延时数据信号串并转换后的所述转换信号之间的错位,使得所述转换信号的边界被正确识别;
所述数据采集模块用于采集串并转换器输出的数据。
本公开实施例提出的多通道串行数字接口时序对齐调整设备,通过确定所述第一通道的串行数字接口的时钟信号在所述延时单元的第一延时参数,确定当所述第二通道的数据能够被所述第一通道的串行数字接口的时钟信号正确采集时,所述第二通道的数据信号在所述延时单元的第二延时参数,设置所述第一通道在所述延时单元的延时参数为第一延时参数,设置所述第二通道在所述延时单元的延时参数为第二延时参数,可以解决DCO窗口过小,容易出现时序错误的问题,可以使得多通道数据共用同一串行数字接口的时钟信号,且能够实现接收端组件准确同步采集发射端组件多个通道的数据,节约了接收端组件的IO资源,提高了扩展可能性、灵活性及可靠性。
在一种可能的实施方式中,如图5所示,所述第一延时单元中串并转换器包括第一串并转换器、第二串并转换器、第三串并转换器,其中,
所述输入信号延时器的数据输入端IDATAIN用于输入所述时钟信号DCO_Ch0,
所述输入信号延时器的延时参数输入端CNTVALUEIN连接于所述位时钟对齐状态机的输出端delay_value,以接收所述位时钟对齐状态机输出的延时参数Delay_ch0,
所述输入信号延时器的输出端DATAOUT连接于所述第一延时单元的第一串并转换器的第一时钟信号端CLK、所述第一延时单元的第二串并转换器的第一时钟信号端CLK、所述第一延时单元的第三串并转换器的第一时钟信号端CLK及所述分频模块的输入端,
所述分频模块的输出端连接于所述第一延时单元的第一串并转换器的第二时钟信号端CLKDIV、所述第一延时单元的第二串并转换器的第二时钟信号端CLKDIV、所述第一延时单元的第三串并转换器的第二时钟信号端CLKDIV,
所述第一延时单元的第一串并转换器的数据输入端D用于接收所述时钟信号DCO_Dh0,
所述第一延时单元的第一串并转换器的输出端Q连接于所述位时钟对齐状态机的数据输入端data,
所述第一延时单元的第二串并转换器的数据输入端D用于接收帧同步信号FR_Ch0,
所述第一延时单元的第二串并转换器的输出端Q连接于所述数据对齐模块的输入端,
所述第一延时单元的第三串并转换器的数据输入端D用于接收数据信号,
所述第一延时单元的第三串并转换器的输出端Q连接于所述数据采集模块的输入端data。
在一种可能的实施方式中,如图5所示,所述第二延时单元中输入信号延时器包括第一输入信号延时器、第二输入信号延时器,所述第二延时单元中串并转换器包括第一串并转换器、第二串并转换器,
所述第一输入信号延时器的数据输入端IDATAIN用于接收帧同步信号FR_Ch0,
所述第一输入信号延时器的延时参数输入端CNTVALUEIN连接于所述延时判断状态机的输出端delay_value,用于接收所述延时判断状态机输出的延时参数Delay_chN,
所述第一输入信号延时器的数据输出端DATAOUT连接于所述第二延时单元的第一串并转换器的数据输入端D,
所述第二输入信号延时器的数据输入端IDATAIN用于接收数据信号data0_ChN,
所述第二输入信号延时器的延时参数输入端CNTVALUEIN连接于所述延时判断状态机的输出端delay_value,用于接收所述延时判断状态机输出的延时参数Delay_chN,
所述第二输入信号延时器的数据输出端DATAOUT连接于所述第二延时单元的第二串并转换器的数据输入端D,
所述第二延时单元的第一串并转换器的第一时钟信号端CLK、所述第二延时单元的第二串并转换器的第一时钟信号端CLK连接于所述第一延时单元的所述输入信号延时器的输出端DATAOUT,
所述第二延时单元的第一串并转换器的第二时钟信号端CLKDIV、所述第二延时单元的第二串并转换器的第二时钟信号端CLKDIV连接于所述分频模块的输出端,
所述第二延时单元的第一串并转换器的输出端Q连接于所述数据对齐模块的输入端,
所述第二延时单元的第二串并转换器的输出端Q连接于所述数据采集模块的输入端及所述延时判断状态机的输入端。
在一个示例中,如图5所示,各个通道中数据对齐模块的输出端可以连接于数据采集模块的输入端,当然,对于不同类型的FPGA,数据对齐模块的输出端可以连接于不同的端口,例如在7系列FPGA中使用串并转换器ISERDES2,bitslip连接到串并转换器ISERDES2的bitslip输入引脚;再比如,在Ultrascale系列FPGA中使用串并转换器ISERDES3,而串并转换器ISERDES3没有bitslip输入引脚,需要将bitslip直接引到数据采集模块中,在数据采集模块中实现移位功能,对于数据对齐模块的输出端输出的信号bitslip,本领域技术人员可以根据具体的FPGA选择连接到不同的引脚。
在一种可能的实施方式中,所述确定所述第一通道的串行数字接口的时钟信号在所述第一延时单元的第一延时参数,可以包括:
设置所述第一延时单元的输入信号延时器的初始延时参数;
持续采集所述第一延时单元中的预设串并转换器得到的转换信号,在所述转换信号为第一预设值或第二预设值的情况下,以预设步长增加所述延时参数;或在所述转换信号不为所述第一预设值或所述第二预设值、且与前一转换信号不同的情况下,记录当前延时参数,并以所述预设步长增加所述延时参数;示例性的,预设串并转换器可以为数据输入端D接收时钟信号DC0_Ch0的串并转换器,例如图5中通道0的第一串并转换器,当然,在其他的实施方式中,预设串并转换器也可以根据实际情况及需要设置,对此,本公开实施例不做限定。
当所述延时参数达到最大延时参数时,利用记录的多个延时参数得到所述第一延时参数。
在一种可能的实施方式中,所述确定当所述第二通道的数据能够被所述第一通道的串行数字接口的时钟信号正确采集时,所述第二通道的数据信号在所述第二延时单元的第二延时参数,可以包括:
设置所述第二延时单元的输入信号延时器的初始延时参数;
在各个周期均连续采集所述第二通道的预设串并转换器输出的多个数据,若所述多个数据未被正确采样,则以预设步长增加所述延时参数;或若所述多个数据被正确采样,则记录当前延时参数,并以所述预设步长增加所述延时参数;
当所述延时参数达到最大延时参数时,利用记录的多个延时参数得到所述第二延时参数。
在一种可能的实施方式中,所述设备还可以用于:
根据所述第一通道的延时后的串行数字接口的时钟信号与延时前的串行数字接口的时钟信号的对齐方式及预设延时单元中的转换组件输出的转换信号,对所述第一通道及所述第二通道的延时参数进行动态调整。
在一种可能的实施方式中,所述根据所述第一通道的延时后的串行数字接口的时钟信号与延时前的串行数字接口的时钟信号的对齐方式及预设延时单元中的转换组件输出的转换信号,对所述第一通道及所述第二通道的延时参数进行动态调整,包括:
N次采集转换信号,N>1且为整数;
如果N个转换信号都为第一预设值且所述对齐方式为上升沿对齐,则增加所述第一通道和所述第二通道的延时参数;
如果N个转换信号都为所述第一预设值且所述对齐方式为下降沿对齐,则减小所述第一通道和所述第二通道的延时参数;
如果N个转换信号都为第二预设值且所述对齐方式为上升沿对齐,则减小所述第一通道和所述第二通道的延时参数;
如果N个转换信号都为所述第二预设值且所述对齐方式为下降沿对齐,则增加所述第一通道和所述第二通道的延时参数;
如果N个转换信号中出现至少一次大于第一预设值且小于第二预设值的值,则不改变所述第一通道和所述第二通道的延时参数。
下面以FPGA中的延时单元为例对第一通道为通道A,第二通道为通道B为例对通道A的第一延时参数、及通道B的第二延时参数的调整进行示例性介绍。
首先对FPGA中各延时单元中各个组件的连接关系进行示例性介绍,应该说明的是,以下对延时单元各个组件的连接关系的介绍是示例性的,仅是实现本公开技术方案的一种较佳的方案,不应视为是对本公开实施例的限定。
请参阅图5a、图5b、图5c、图5d、图5e、图5f、图5g,图5a、图5b、图5c、图5d、图5e、图5f、图5g示出了根据本公开实施例的延时单元的各个组件的连接关系示意图。
应理解,本公开实施例中串并转换器的输出端的数目可以包括多个,如图5a中,可以包括Q1~Q8共计8个输出端,当然,在其他的示例中,输出端的数目还可以包括其他。
示例性的,对于各个通道,本公开实施例可以分别配置相应的连接方式,例如,图5a、图5b、图5c示出了通道0对应的延时单元各个组件的连接方式,图5d、图5e示出了通道1对应的延时单元各个组件的连接方式,图5f、图5g示出了通道N对应的延时单元各个组件的连接方式。
示例性的,对于通道0,如图5a所示,差分输入缓冲器IBUFDS的输入端用于接收通道0的时钟信号DC0_Ch0,差分输入缓冲器IBUFDS的输出端连接于输入信号延时器IDELAYE2的信号输入端IDATAIN、串并转换器ISERDESE2的数据输入端D,输入信号延时器IDELAYE2的延时参数输入端连接于位时钟对齐状态机PASM的输出端DelayValue,用于接收位时钟对齐状态机PASM的输出端DelayValue输出的通道0的延时参数Delay_Ch0,输入信号延时器IDELAYE2的信号输出端DATAOUT连接于I/O时钟缓冲器IBUFIO的输入端及区域时钟缓冲器BUFR的输入端,I/O时钟缓冲器IBUFIO的输出端连接于串并转换器ISERDESE2的第一时钟信号端CLK以输出I/O时钟信号CLK,区域时钟缓冲器BUFR的输出端连接于输入信号延时器IDELAYE2的时钟信号端C、串并转换器ISERDESE2的第二时钟信号端CLKDIV及位时钟对齐状态机PASM的时钟信号端CLK以输出区域时钟信号CLKDIV,串并转换器ISERDESE2的数据位对齐端口BitSlip用于接收数据对齐模块的输出端BitSlip输出的位对齐信号BitSlip_Ch0,串并转换器ISERDESE2的各个输出端(Q1~Q8)连接于位时钟对齐状态机PASM的各个输入端。
示例性的,对于通道0,如图5b所示,差分输入缓冲器IBUFDS的输入端用于接收通道0的帧同步信号FR_Ch0,差分输入缓冲器IBUFDS的输出端连接于串并转换器ISERDESE2的数据输入端D,串并转换器ISERDESE2的数据位对齐端口BitSlip连接于数据对齐模块的输出端BitSlip,串并转换器ISERDESE2的第一时钟信号端CLK用于接收I/O时钟缓冲器IBUFIO的输出端输出的I/O时钟信号CLK,串并转换器ISERDESE2的第二时钟信号端CLKDIV用于接收区域时钟缓冲器BUFR的输出端输出的区域时钟信号CLKDIV,串并转换器ISERDESE2的各个输出端(Q1~Q8)连接于数据对齐模块的各个输入端,数据对齐模块的时钟信号端CLKDIV用于接收区域时钟缓冲器BUFR的输出端输出的区域时钟信号CLKDIV,数据对齐模块的输出端BitSlip用于输出位对齐信号BitSlip_Ch0。
示例性的,对于通道0,如图5c所示,差分输入缓冲器IBUFDS的输入端用于接收通道0的数据信号Data_Ch0,差分输入缓冲器IBUFDS的输出端连接于串并转换器ISERDESE2的数据输入端D,串并转换器ISERDESE2的数据位对齐端口BitSlip用于接收数据对齐模块输出的位对齐信号BitSlip_Ch0,串并转换器ISERDESE2的第一时钟信号端CLK用于接收I/O时钟缓冲器IBUFIO的输出端输出的I/O时钟信号CLK,串并转换器ISERDESE2的第二时钟信号端CLKDIV用于接收区域时钟缓冲器BUFR的输出端输出的区域时钟信号CLKDIV,串并转换器ISERDESE2的各个输出端(Q1~Q8)连接于数据采集模块的各个输入端,数据采集模块的时钟信号端CLKDIV用于接收区域时钟缓冲器BUFR的输出端输出的区域时钟信号CLKDIV,数据采集模块用于采集串并转换器ISERDESE2的各个输出端输出的数据。
示例性的,对于通道1,如图5d所示,差分输入缓冲器IBUFDS的输入端用于接收通道1的帧同步信号FR_Ch1,差分输入缓冲器IBUFDS的输出端连接于输入信号延时器IDELAYE2的信号输入端IDATAIN,输入信号延时器IDELAYE2的延时参数输入端CNTVALUEIN用于接收通道1的延时参数Delay_Ch1,输入信号延时器IDELAYE2的信号输出端连接于串并转换器ISERDESE2的数据输入端D,输入信号延时器IDELAYE2的时钟信号端C、串并转换器ISERDESE2的第一时钟信号端CLK用于接收I/O时钟缓冲器IBUFIO的输出端输出的I/O时钟信号CLK,串并转换器ISERDESE2的第二时钟信号端CLKDIV及数据对齐模块的时钟信号端CLKDIV用于接收区域时钟缓冲器BUFR的输出端输出的区域时钟信号CLKDIV,串并转换器ISERDESE2的数据位对齐端口BitSlip连接于数据对齐模块的输出端BitSlip以接收位对齐信号BitSlip_Ch1,串并转换器ISERDESE2的各个输出端(Q1~Q8)连接于数据对齐模块的各个输入端。
示例性的,对于通道1,如图5e所示,差分输入缓冲器IBUFDS的输入端用于接收通道1的数据信号Data_Ch1,差分输入缓冲器IBUFDS的输出端连接于输入信号延时器IDELAYE2的信号输入端IDATAIN,输入信号延时器IDELAYE2的延时参数输入端CNTVALUEIN连接于延时判断状态机的输出端DelayValue以接收通道1的延时参数Delay_Ch1,输入信号延时器IDELAYE2的信号输出端连接于串并转换器ISERDESE2的数据输入端D,I/O时钟缓冲器IBUFIO的输出端连接于输入信号延时器IDELAYE2的时钟信号端C、串并转换器ISERDESE2的第一时钟信号端CLK,区域时钟缓冲器BUFR的输出端连接于串并转换器ISERDESE2的第二时钟信号端CLKDIV及延时判断状态机的时钟信号端CLKDIV,串并转换器ISERDESE2的数据位对齐端口BitSlip连接于数据对齐模块的输出端BitSlip以接收位对齐信号BitSlip_Ch1,串并转换器ISERDESE2的各个输出端(Q1~Q8)连接于数据采集模块的各个输入端及延时判断状态机的各个输入端,所述延时判断状态机用于判断串并转换器ISERDESE2输出的数据是否为递增数据或递减数据,并调整延时参数,所述延时判断状态机的输出端DelayValue用于输出延时参数Delay_Ch1。
示例性的,对于通道N,如图5f所示,差分输入缓冲器IBUFDS的输入端用于接收通道N的帧同步信号FR_ChN,差分输入缓冲器IBUFDS的输出端连接于输入信号延时器IDELAYE2的信号输入端IDATAIN,输入信号延时器IDELAYE2的延时参数输入端CNTVALUEIN用于输入通道N的延时参数Delay_ChN,输入信号延时器IDELAYE2的信号输出端连接于串并转换器ISERDESE2的数据输入端D,I/O时钟缓冲器IBUFIO的输出端连接于输入信号延时器IDELAYE2的时钟信号端C、串并转换器ISERDESE2的第一时钟信号端CLK,区域时钟缓冲器BUFR的输出端连接于串并转换器ISERDESE2的第二时钟信号端CLKDIV及数据对齐模块的时钟信号端CLKDIV,串并转换器ISERDESE2的数据位对齐端口BitSlip连接于数据对齐模块的输出端BitSlip以接收位对齐信号BitSlip_ChN,串并转换器ISERDESE2的各个输出端(Q1~Q8)连接于数据对齐模块的各个输入端。
示例性的,对于通道N,如图5g所示,差分输入缓冲器IBUFDS的输入端用于接收通道N的数据信号Data_ChN,差分输入缓冲器IBUFDS的输出端连接于输入信号延时器IDELAYE2的信号输入端IDATAIN,输入信号延时器IDELAYE2的延时参数输入端CNTVALUEIN用于输入通道N的延时参数Delay_ChN,输入信号延时器IDELAYE2的信号输出端连接于串并转换器ISERDESE2的数据输入端D,I/O时钟缓冲器IBUFIO的输出端连接于输入信号延时器IDELAYE2的时钟信号端C、串并转换器ISERDESE2的第一时钟信号端CLK,区域时钟缓冲器BUFR的输出端连接于串并转换器ISERDESE2的第二时钟信号端CLKDIV及延时判断状态机的时钟信号端CLKDIV,串并转换器ISERDESE2的数据位对齐端口BitSlip连接于数据对齐模块的输出端BitSlip以接收位对齐信号BitSlip_ChN,串并转换器ISERDESE2的各个输出端(Q1~Q8)连接于数据采集模块的各个输入端及延时判断状态机的各个输入端,所述延时判断状态机用于判断串并转换器ISERDESE2输出的数据是否为递增数据或递减数据,并调整延时参数,所述延时判断状态机的输出端DelayValue用于输出延时参数Delay_ChN。
在配置好以上连接方式后,本公开实施例可以对确定各个通道的延时参数,下面以通道A和通道B为例进行示例性说明。
请参阅图6a、图6b,图6a、图6b分别示出了利用本公开实施例的多通道串行数字接口时序对齐调整方法对通道A的第一延时参数、及通道B的第二延时参数的调整示意图。
在一个示例中,如图6a及图6b所示,可以在步骤S301设置ADC为Testmode模式(当然设置通道A的第一延时参数也可以在工作模式下进行,因此,在其他的示例中,也可以在完成第一延时参数的确定,开始通道B的第二延时参数的确定时设置ADC为Testmode模式),在步骤S302设置通道A的DCO在延时单元的初始延时值DelayA为0,在步骤S303采集通道A的DCO的串转并数值Value,在步骤S304对串转并数值Value的状态进行判断,如果串转并数值Value是0xFF或者0x00,则增加通道A的DCO的延时值(步骤S305);如果串转并数值Value是不断变化的值(例如,不为0xFF或者0x00、且前后值不同)则记录当前延时值(在步骤S306),并增加通道A的DCO的延时值;在步骤S307,如果延时值DelayA小于等于0x31,跳转到步骤303继续执行以上流程,否则执行步骤S308即如果通道A不存在记录的延时值,则跳转到步骤320设置ADC为正常工作模式,将调整失败标志位置1,表示调窗失败;如果通道A存在记录的延时值,则取第一段延时值的中间值作为通道A的DCO延时值(第一延时参数),在得到第一延时参数后,可以确定通道B的第二延时参数;在步骤S310设置通道B数据的初始延时值为0;在步骤S311等待数据重对齐模块调整完成;在步骤S312采集通道B输出的16384个数据;在步骤S313判断通道B的16384个数是否为递增数据;在步骤S314,如果不是递增数,则不记录当前延时值,通道B的延时值加一;在步骤S315,如果是则记录当前延时值,通道B的延时值加一,在步骤S316如果延时值小于等于0x31,则继续执行步骤S311,否则执行步骤S317,如果通道B不存在记录的延时值,跳转到步骤S320设置ADC为正常工作模式,将调整失败标志位置1,表示调窗失败;如果通道B存在记录的延时值,则执行步骤S318取通道B第一段延时值的中间值作为通道B的数据的延时值,然后在步骤S319设置ADC为正常工作模式,将调整成功标志位置1,表示调窗成功。
在一种可能的实施方式中,如图4所示,所述方法还可以包括:
步骤S21,根据所述第一通道的延时后的串行数字接口的时钟信号与延时前的串行数字接口的时钟信号的对齐方式及所述延时单元中的转换组件输出的转换信号,对所述第一通道及所述第二通道的延时参数进行动态调整,例如可以包括:
将所述ADC设置为正常工作模式,在所述正常工作模式下,所述FPGA能够准确同步采集ADC多个通道的数据;
根据所述第一通道的延时后的串行数字接口的时钟信号与延时前的串行数字接口的时钟信号的对齐方式及所述串并转换器ISERDESE2的输出的转换信号,对所述第一通道的输入信号延时器IDELAYE2及所述第二通道的输入信号延时器IDELAYE2的延时参数进行动态调整。
本公开实施例通过在所述正常工作模式下,根据所述第一通道的延时后的串行数字接口的时钟信号与延时前的串行数字接口的时钟信号的对齐方式及所述串并转换器ISERDESE2的输出的转换信号,对所述第一通道的输入信号延时器IDELAYE2及所述第二通道的输入信号延时器IDELAYE2的延时参数进行动态调整,可以实现对外部环境变化的适应,动态调整时序窗口,系统运行过程中业务不中断的前提下动态修正时序窗口,保证采集数据的正确性。
示例性的,对所述第一通道的输入信号延时器IDELAYE2及所述第二通道的输入信号延时器IDELAYE2的延时参数进行动态调整例如可以为,对所述第一通道的输入信号延时器IDELAYE2及所述第二通道的输入信号延时器IDELAYE2的延时参数进行同步调整,且每次调整的幅度可以相同,以提高动态调整的效率。
在一种可能的实施方式中,步骤S21根据所述第一通道的延时后的串行数字接口的时钟信号与延时前的串行数字接口的时钟信号的对齐方式及所述延时单元中的转换组件输出的转换信号,对所述第一通道及所述第二通道的延时参数进行动态调整,可以包括:
N次采集转换信号,N>1且为整数;
如果N个转换信号都为第一预设值且所述对齐方式为上升沿对齐,则增加所述第一通道和所述第二通道的延时参数;
如果N个转换信号都为所述第一预设值且所述对齐方式为下降沿对齐,则减小所述第一通道和所述第二通道的延时参数;
如果N个转换信号都为第二预设值且所述对齐方式为上升沿对齐,则减小所述第一通道和所述第二通道的延时参数;
如果N个转换信号都为所述第二预设值且所述对齐方式为下降沿对齐,则增加所述第一通道和所述第二通道的延时参数;
如果N个转换信号中出现至少一次大于第一预设值且小于第二预设值的值,则不改变所述第一通道和所述第二通道的延时参数。
本公开实施例对N的具体大小不做限定,本领域技术人员可以根据实际情况及需要设置。
示例性的,当通道A调整DCO的延时值从0增加到0X31过程中,通道A的串并转换器ISERDESE2输出值Value(转换信号)可能会出现以下表1所示的情况。
表1
| 延时值变化 | Value变化 | 延时后DCO对齐原DCO的边沿 |
| 0->0x31 | 0x00->不确定态->0xFF | 上升沿 |
| 0->0x31 | 0xFF->不确定态->0x00 | 下降沿 |
| 0->0x31 | 0x00->不确定态 | 上升沿 |
| 0->0x31 | 0xFF->不确定态 | 下降沿 |
| 0->0x31 | 不确定态->0xFF | 上升沿 |
| 0->0x31 | 不确定态->0x00 | 下降沿 |
| 0->0x31 | 一直保持0xFF | 未知 |
| 0->0x31 | 一直保持0x00 | 未知 |
示例性的,在已知DCO的对齐边沿后,就可以根据通道A串并转换器ISERDESE2输出值Value值动态调整对齐,可以分为表2示出的4种情况。
表2
| 对齐边沿 | Value | Delay调整 |
| 上升沿 | 0xFF | 减小 |
| 上升沿 | 0x00 | 增大 |
| 下降沿 | 0xFF | 增大 |
| 下降沿 | 0x00 | 减小 |
请参阅图7,图7示出了根据本公开实施例的对延时参数进行动态调整的示意图。
示例性的,如图7所示,可以采集5次Value值;如果5次采集得到的Value值都为0x00且上升沿对齐,增加通道A和通道B的延时值;如果5次采集得到的Value值全为0x00且下降沿对齐,减小通道A和通道B的延时值;如果5次采集得到的Value值都为0xFF且上升沿对齐,减小通道A和通道B的延时值;如果5次采集得到的采集得到的Value值全为0xFF且下降沿对齐,增加通道A和通道B的延时值;如果5次采集得到的Value值中出现一次或以上大于0x00且小于0xFF的值则不改变延时值。
示例性的,本公开实施例通过确定所述第一通道的串行数字接口的时钟信号在所述延时单元的第一延时参数,在所述ADC的测试模式下,确定当所述第二通道的数据能够被所述第一通道的串行数字接口的时钟信号正确采集时,所述第二通道的数据信号在所述延时单元的第二延时参数,设置所述第一通道在所述延时单元的延时参数为第一延时参数,设置所述第二通道在所述延时单元的延时参数为第二延时参数,并且在正常工作模式下,根据所述第一通道的延时后的串行数字接口的时钟信号与延时前的串行数字接口的时钟信号的对齐方式及所述串并转换器ISERDESE2的输出的转换信号,对所述第一通道的输入信号延时器IDELAYE2及所述第二通道的输入信号延时器IDELAYE2的延时参数进行动态调整,可以有效解决1路时钟DCO采样多路高速、串行LVDS数据的时序稳定性问题,有效增大时序窗口,可以适应外部环境变化,动态调整时序窗口,系统运行过程中业务不中断的前提下动态修正时序窗口,保证采集数据的正确性,可以节省时钟资源,并可进一步拓展到单时钟、多芯片应用领域,有效节省IO资源,提升系统高低温工作鲁棒性。
可以理解,本公开提及的上述各个方法实施例,在不违背原理逻辑的情况下,均可以彼此相互结合形成结合后的实施例,限于篇幅,本公开不再赘述。本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
此外,本公开还提供了多通道串行数字接口时序对齐调整装置、电子设备、存储介质、程序,上述均可用来实现本公开提供的任一种多通道串行数字接口时序对齐调整方法,相应技术方案和描述和参见方法部分的相应记载,不再赘述。
请参阅图8,图8示出了根据本公开实施例的多通道串行数字接口时序对齐调整装置的框图。
所述通道包括第一通道及至少一个第二通道,多通道串行数字接口数据共用同一通道的时钟信号,使用FPGA延时单元对串行数字接口时钟和数据分别进行延时,如图8所示,所述装置包括:
第一确定模块10,用于确定所述第一通道的串行数字接口的时钟信号在所述延时单元的第一延时参数;
第二确定模块20,用于确定当所述第二通道的数据能够被所述第一通道的串行数字接口的时钟信号正确采集时,所述第二通道的数据信号在所述延时单元的第二延时参数;
设置模块30,用于设置所述第一通道在所述延时单元的延时参数为第一延时参数,设置所述第二通道在所述延时单元的延时参数为第二延时参数。
本公开实施例提出的多通道串行数字接口时序对齐调整方法,通过确定所述第一通道的串行数字接口的时钟信号在所述延时单元的第一延时参数,确定当所述第二通道的数据能够被所述第一通道的串行数字接口的时钟信号正确采集时,所述第二通道的数据信号在所述延时单元的第二延时参数,设置所述第一通道在所述延时单元的延时参数为第一延时参数,设置所述第二通道在所述延时单元的延时参数为第二延时参数,可以解决DCO窗口过小,容易出现时序错误的问题,可以使得多通道数据共用同一串行数字接口的时钟信号,且能够实现接收端组件准确同步采集发射端组件多个通道的数据,节约了接收端组件的IO资源,提高了扩展可能性、灵活性及可靠性。
在一种可能的实施方式中,所述确定所述第一通道的串行数字接口的时钟信号在所述延时单元的第一延时参数,包括:
设置所述第一通道的初始延时参数;
持续采集所述延时单元中的转换组件得到的转换信号,在所述转换信号为第一预设值或第二预设值的情况下,以预设步长增加所述延时参数;或在所述转换信号不为所述第一预设值或所述第二预设值、且与前一转换信号不同的情况下,记录当前延时参数,并以所述预设步长增加所述延时参数;
当所述延时参数达到最大延时参数时,利用记录的多个延时参数得到所述第一延时参数。
在一种可能的实施方式中,所述当所述延时参数达到最大延时参数时,利用记录的多个延时参数得到所述第一延时参数,包括:
将所述多个延时参数的平均值或中位数作为所述第一延时参数。
在一种可能的实施方式中,所述确定当所述第二通道的数据能够被所述第一通道的串行数字接口的时钟信号正确采集时,所述第二通道的数据信号在所述延时单元的第二延时参数,包括:
设置所述第二通道的初始延时参数;
在各个周期均连续采集所述第二通道输出的多个数据,若所述多个数据未被正确采样,则以预设步长增加所述延时参数;或若所述多个数据被正确采样,则记录当前延时参数,并以所述预设步长增加所述延时参数;
当所述延时参数达到最大延时参数时,利用记录的多个延时参数得到所述第二延时参数。
在一种可能的实施方式中,所述当所述延时参数达到最大延时参数时,利用记录的多个延时参数得到所述第二延时参数,包括:
将所述多个延时参数的平均值或中位数作为所述第二延时参数。
在一种可能的实施方式中,所述方法还包括:
根据所述第一通道的延时后的串行数字接口的时钟信号与延时前的串行数字接口的时钟信号的对齐方式及所述延时单元中的转换组件输出的转换信号,对所述第一通道及所述第二通道的延时参数进行动态调整。
在一种可能的实施方式中,所述根据所述第一通道的延时后的串行数字接口的时钟信号与延时前的串行数字接口的时钟信号的对齐方式及所述延时单元中的转换组件输出的转换信号,对所述第一通道及所述第二通道的延时参数进行动态调整,包括:
N次采集转换信号,N>1且为整数;
如果N个转换信号都为第一预设值且所述对齐方式为上升沿对齐,则增加所述第一通道和所述第二通道的延时参数;
如果N个转换信号都为所述第一预设值且所述对齐方式为下降沿对齐,则减小所述第一通道和所述第二通道的延时参数;
如果N个转换信号都为第二预设值且所述对齐方式为上升沿对齐,则减小所述第一通道和所述第二通道的延时参数;
如果N个转换信号都为所述第二预设值且所述对齐方式为下降沿对齐,则增加所述第一通道和所述第二通道的延时参数;
如果N个转换信号中出现至少一次大于第一预设值且小于第二预设值的值,则不改变所述第一通道和所述第二通道的延时参数。
在一种可能的实施方式中,接收端组件使用延时单元对串行数字接口时钟和数据分别进行延时,所述延时单元包括:
差分输入缓冲器,用于将差分信号转换为单端信号,所述差分信号包括时钟信号、数据信号;
输入信号延时器,连接于所述差分输入缓冲器,用于根据设置的延时参数对所述单端信号进行延时,其中,所述延时参数包括所述第一延时参数、所述第二延时参数;
I/O时钟缓冲器、区域时钟缓冲器,均连接于所述输入信号延时器,分别用于根据延时后的时钟信号输出I/O时钟信号及区域时钟信号;
串并转换器,用于接收所述单端信号及所述I/O时钟信号,对所述单端信号进行串并转换,输出转换信号;
位时钟对齐状态机,用于根据所述转换信号判断所述单端信号与所述I/O时钟信号是否对齐,
其中,所述确定当所述第二通道的数据能够被所述第一通道的串行数字接口的时钟信号正确采集时,所述第二通道的数据信号的第二延时参数包括:
在发射端组件的测试模式下,确定当所述第二通道的数据能够被所述第一通道的串行数字接口的时钟信号正确采集时,所述第二通道的数据信号的第二延时参数。
在一种可能的实施方式中,所述第一预设值为0x00,所述第二预设值为0xFF。
在一些实施例中,本公开实施例提供的装置具有的功能或包含的模块可以用于执行上文方法实施例描述的方法,其具体实现可以参照上文方法实施例的描述,为了简洁,这里不再赘述。
本公开实施例还提出一种存储介质,其上存储有程序指令,所述程序指令被处理器执行时实现上述方法。存储介质可以是非易失性存储介质。
本公开实施例还提出一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为调用所述存储器存储的指令,以执行上述方法。
本公开实施例还提供了一种计算机程序产品,包括计算机可读代码,或者承载有计算机可读代码的非易失性存储介质,当所述计算机可读代码在电子设备的处理器中运行时,所述电子设备中的处理器执行上述方法。
电子设备可以被提供为终端、服务器或其它形态的设备。
以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
Claims (17)
1.一种多通道串行数字接口时序对齐调整方法,其特征在于,所述通道包括第一通道及至少一个第二通道,多通道串行数字接口数据共用同一通道的时钟信号,使用延时单元对串行数字接口时钟和数据分别进行延时,所述方法包括:
确定所述第一通道的串行数字接口的时钟信号在所述延时单元的第一延时参数;
确定当所述第二通道的数据能够被所述第一通道的串行数字接口的时钟信号正确采集时,所述第二通道的数据信号在所述延时单元的第二延时参数;
设置所述第一通道在所述延时单元的延时参数为第一延时参数,设置所述第二通道在所述延时单元的延时参数为第二延时参数。
2.根据权利要求1所述的方法,其特征在于,所述确定所述第一通道的串行数字接口的时钟信号在所述延时单元的第一延时参数,包括:
设置所述第一通道的初始延时参数;
持续采集所述延时单元中的转换组件得到的转换信号,在所述转换信号为第一预设值或第二预设值的情况下,以预设步长增加所述延时参数;或在所述转换信号不为所述第一预设值或所述第二预设值、且与前一转换信号不同的情况下,记录当前延时参数,并以所述预设步长增加所述延时参数;
当所述延时参数达到最大延时参数时,利用记录的多个延时参数得到所述第一延时参数。
3.根据权利要求2所述的方法,其特征在于,所述当所述延时参数达到最大延时参数时,利用记录的多个延时参数得到所述第一延时参数,包括:
将所述多个延时参数的平均值或中位数作为所述第一延时参数。
4.根据权利要求1所述的方法,其特征在于,所述确定当所述第二通道的数据能够被所述第一通道的串行数字接口的时钟信号正确采集时,所述第二通道的数据信号在所述延时单元的第二延时参数,包括:
设置所述第二通道的初始延时参数;
在各个周期均连续采集所述第二通道输出的多个数据,若所述多个数据未被正确采样,则以预设步长增加所述延时参数;或若所述多个数据被正确采样,则记录当前延时参数,并以所述预设步长增加所述延时参数;
当所述延时参数达到最大延时参数时,利用记录的多个延时参数得到所述第二延时参数。
5.根据权利要求4所述的方法,其特征在于,所述当所述延时参数达到最大延时参数时,利用记录的多个延时参数得到所述第二延时参数,包括:
将所述多个延时参数的平均值或中位数作为所述第二延时参数。
6.根据权利要求1~5任一项所述的方法,其特征在于,所述方法还包括:
根据所述第一通道的延时后的串行数字接口的时钟信号与延时前的串行数字接口的时钟信号的对齐方式及所述延时单元中的转换组件输出的转换信号,对所述第一通道及所述第二通道的延时参数进行动态调整。
7.根据权利要求6所述的方法,其特征在于,所述根据所述第一通道的延时后的串行数字接口的时钟信号与延时前的串行数字接口的时钟信号的对齐方式及所述延时单元中的转换组件输出的转换信号,对所述第一通道及所述第二通道的延时参数进行动态调整,包括:
N次采集转换信号,N>1且为整数;
如果N个转换信号都为第一预设值且所述对齐方式为上升沿对齐,则增加所述第一通道和所述第二通道的延时参数;
如果N个转换信号都为所述第一预设值且所述对齐方式为下降沿对齐,则减小所述第一通道和所述第二通道的延时参数;
如果N个转换信号都为第二预设值且所述对齐方式为上升沿对齐,则减小所述第一通道和所述第二通道的延时参数;
如果N个转换信号都为所述第二预设值且所述对齐方式为下降沿对齐,则增加所述第一通道和所述第二通道的延时参数;
如果N个转换信号中出现至少一次大于第一预设值且小于第二预设值的值,则不改变所述第一通道和所述第二通道的延时参数。
8.根据权利要求1所述的方法,其特征在于,接收端组件使用延时单元对串行数字接口时钟和数据分别进行延时,所述延时单元包括:
输入信号延时器,用于接收时钟信号或者数据信号,根据设置的延时参数对所述时钟信号或者所述数据信号进行延时,输出延时时钟信号和延时数据信号,其中,所述延时参数包括所述第一延时参数、所述第二延时参数;
串并转换器,用于接收所述时钟信号或者所述数据信号,对所述时钟信号或者所述数据信号进行串并转换,输出转换信号;
分频模块,用于将所述时钟信号进行分频,输出分频时钟,为所述串并转换器提供时钟;
位时钟对齐状态机,用于根据对所述时钟信号串并转换后得到的所述转换信号判断所述时钟信号与所述延时时钟信号是否对齐;
延时判断状态机,用于根据对所述延时数据信号进行串并转换后得到的所述转换信号判断当前延时值是否能够使得数据被正确采集;
数据对齐模块,用于调整所述延时数据信号串并转换后的所述转换信号之间的错位,使得所述转换信号的边界被正确识别;
其中,所述确定当所述第二通道的数据能够被所述第一通道的串行数字接口的时钟信号正确采集时,所述第二通道的数据信号在所述延时单元的第二延时参数,包括:
在发射端组件的测试模式下,确定当所述第二通道的数据能够被所述第一通道串行数字接口的时钟信号正确采集时,所述第二通道的数据信号的第二延时参数。
9.根据权利要求2或3或7所述的方法,其特征在于,所述第一预设值为0x00,所述第二预设值为0xFF。
10.一种多通道串行数字接口时序对齐调整装置,其特征在于,所述通道包括第一通道及至少一个第二通道,多通道串行数字接口数据共用同一通道的时钟信号,使用延时单元对串行数字接口时钟和数据分别进行延时,所述装置包括:
第一确定模块,用于确定所述第一通道的串行数字接口的时钟信号在所述延时单元的第一延时参数;
第二确定模块,用于确定当所述第二通道的数据能够被所述第一通道的串行数字接口的时钟信号正确采集时,所述第二通道的数据信号在所述延时单元的第二延时参数;
设置模块,用于设置所述第一通道在所述延时单元的延时参数为第一延时参数,设置所述第二通道在所述延时单元的延时参数为第二延时参数。
11.一种多通道串行数字接口时序对齐调整设备,其特征在于,所述通道包括第一通道及至少一个第二通道,多通道串行数字接口数据共用同一通道的时钟信号,使用延时单元对串行数字接口时钟和数据分别进行延时,所述设备包括第一延时单元、至少一个第二延时单元,所述第一延时单元及所述第二延时单元均包括输入信号延时器、串并转换器、位时钟对齐状态机、数据对齐模块及数据采集模块,所述第一延时单元还包括分频模块,所述第二延时单元还包括延时判断状态机,所述第一延时单元用于确定所述第一通道的串行数字接口的时钟信号在所述第一延时单元的第一延时参数,各个第二延时单元用于确定当各个第二通道的数据能够被所述第一通道的串行数字接口的时钟信号正确采集时,所述第二通道的数据信号在所述第二延时单元的第二延时参数,其中,
所述输入信号延时器,用于接收时钟信号或者数据信号,根据设置的延时参数对所述时钟信号或者所述数据信号进行延时,输出延时时钟信号和延时数据信号,其中,所述延时参数包括所述第一延时参数、所述第二延时参数;
所述串并转换器,用于接收所述时钟信号或者所述数据信号,对所述时钟信号或者所述数据信号进行串并转换,输出转换信号;
所述分频模块,用于将所述时钟信号进行分频,输出分频时钟,为所述串并转换器提供时钟;
所述位时钟对齐状态机,用于根据对所述时钟信号串并转换后得到的所述转换信号判断所述时钟信号与所述延时时钟信号是否对齐;
所述延时判断状态机,用于根据对所述延时数据信号进行串并转换后得到的所述转换信号判断当前延时值是否能够使得数据被正确采集;
数据对齐模块,用于调整所述延时数据信号串并转换后的所述转换信号之间的错位,使得所述转换信号的边界被正确识别;
所述数据采集模块用于采集串并转换器输出的数据。
12.根据权利要求11所述的设备,其特征在于,所述第一延时单元中串并转换器包括第一串并转换器、第二串并转换器、第三串并转换器,其中,
所述输入信号延时器的数据输入端用于输入所述时钟信号,
所述输入信号延时器的延时参数输入端连接于所述位时钟对齐状态机的输出端,以接收所述位时钟对齐状态机输出的延时参数,
所述输入信号延时器的输出端连接于所述第一延时单元的第一串并转换器的第一时钟信号端、所述第一延时单元的第二串并转换器的第一时钟信号端、所述第一延时单元的第三串并转换器的第一时钟信号端及所述分频模块的输入端,
所述分频模块的输出端连接于所述第一延时单元的第一串并转换器的第二时钟信号端、所述第一延时单元的第二串并转换器的第二时钟信号端、所述第一延时单元的第三串并转换器的第二时钟信号端,
所述第一延时单元的第一串并转换器的数据输入端用于接收所述时钟信号,
所述第一延时单元的第一串并转换器的输出端连接于所述位时钟对齐状态机的数据输入端,
所述第一延时单元的第二串并转换器的数据输入端用于接收帧同步信号,
所述第一延时单元的第二串并转换器的输出端连接于所述数据对齐模块的输入端,
所述第一延时单元的第三串并转换器的数据输入端用于接收数据信号,
所述第一延时单元的第三串并转换器的输出端连接于所述数据采集模块的输入端。
13.根据权利要求12所述的设备,其特征在于,所述第二延时单元中输入信号延时器包括第一输入信号延时器、第二输入信号延时器,所述第二延时单元中串并转换器包括第一串并转换器、第二串并转换器,
所述第一输入信号延时器的数据输入端用于接收帧同步信号,
所述第一输入信号延时器的延时参数输入端连接于所述延时判断状态机的输出端,用于接收所述延时判断状态机输出的延时参数,
所述第一输入信号延时器的数据输出端连接于所述第二延时单元的第一串并转换器的数据输入端,
所述第二输入信号延时器的数据输入端用于接收数据信号,
所述第二输入信号延时器的延时参数输入端连接于所述延时判断状态机的输出端,用于接收所述延时判断状态机输出的延时参数,
所述第二输入信号延时器的数据输出端连接于所述第二延时单元的第二串并转换器的数据输入端,
所述第二延时单元的第一串并转换器的第一时钟信号端、所述第二延时单元的第二串并转换器的第一时钟信号端连接于所述第一延时单元的所述输入信号延时器的输出端,
所述第二延时单元的第一串并转换器的第二时钟信号端、所述第二延时单元的第二串并转换器的第二时钟信号端连接于所述分频模块的输出端,
所述第二延时单元的第一串并转换器的输出端连接于所述数据对齐模块的输入端,
所述第二延时单元的第二串并转换器的输出端连接于所述数据采集模块的输入端及所述延时判断状态机的输入端。
14.根据权利要求11~13任一项所述的设备,其特征在于,所述确定所述第一通道的串行数字接口的时钟信号在所述第一延时单元的第一延时参数,包括:
设置所述第一延时单元的输入信号延时器的初始延时参数;
持续采集所述第一延时单元中的预设串并转换器得到的转换信号,在所述转换信号为第一预设值或第二预设值的情况下,以预设步长增加所述延时参数;或在所述转换信号不为所述第一预设值或所述第二预设值、且与前一转换信号不同的情况下,记录当前延时参数,并以所述预设步长增加所述延时参数;
当所述延时参数达到最大延时参数时,利用记录的多个延时参数得到所述第一延时参数。
15.根据权利要求11~13任一项所述的设备,其特征在于,所述确定当所述第二通道的数据能够被所述第一通道的串行数字接口的时钟信号正确采集时,所述第二通道的数据信号在所述第二延时单元的第二延时参数,包括:
设置所述第二延时单元的输入信号延时器的初始延时参数;
在各个周期均连续采集所述第二通道的预设串并转换器输出的多个数据,若所述多个数据未被正确采样,则以预设步长增加所述延时参数;或若所述多个数据被正确采样,则记录当前延时参数,并以所述预设步长增加所述延时参数;
当所述延时参数达到最大延时参数时,利用记录的多个延时参数得到所述第二延时参数。
16.根据权利要求11所述的设备,其特征在于,所述设备还用于:
根据所述第一通道的延时后的串行数字接口的时钟信号与延时前的串行数字接口的时钟信号的对齐方式及预设延时单元中的转换组件输出的转换信号,对所述第一通道及所述第二通道的延时参数进行动态调整。
17.根据权利要求16所述的设备,其特征在于,所述根据所述第一通道的延时后的串行数字接口的时钟信号与延时前的串行数字接口的时钟信号的对齐方式及预设延时单元中的转换组件输出的转换信号,对所述第一通道及所述第二通道的延时参数进行动态调整,包括:
N次采集转换信号,N>1且为整数;
如果N个转换信号都为第一预设值且所述对齐方式为上升沿对齐,则增加所述第一通道和所述第二通道的延时参数;
如果N个转换信号都为所述第一预设值且所述对齐方式为下降沿对齐,则减小所述第一通道和所述第二通道的延时参数;
如果N个转换信号都为第二预设值且所述对齐方式为上升沿对齐,则减小所述第一通道和所述第二通道的延时参数;
如果N个转换信号都为所述第二预设值且所述对齐方式为下降沿对齐,则增加所述第一通道和所述第二通道的延时参数;
如果N个转换信号中出现至少一次大于第一预设值且小于第二预设值的值,则不改变所述第一通道和所述第二通道的延时参数。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202310763251.4A CN119201816A (zh) | 2023-06-26 | 2023-06-26 | 多通道串行数字接口时序对齐调整方法、装置及设备 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202310763251.4A CN119201816A (zh) | 2023-06-26 | 2023-06-26 | 多通道串行数字接口时序对齐调整方法、装置及设备 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN119201816A true CN119201816A (zh) | 2024-12-27 |
Family
ID=94072964
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202310763251.4A Pending CN119201816A (zh) | 2023-06-26 | 2023-06-26 | 多通道串行数字接口时序对齐调整方法、装置及设备 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN119201816A (zh) |
-
2023
- 2023-06-26 CN CN202310763251.4A patent/CN119201816A/zh active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN112260689B (zh) | 自适应延时补偿串行adc采样系统采样校准方法 | |
| US9059816B1 (en) | Control loop management and differential delay correction for vector signaling code communications links | |
| US7675439B2 (en) | Serial/parallel data conversion apparatus and method thereof | |
| CN108804371B (zh) | 一种多通道高速数据接收的同步自校正方法 | |
| US11902015B2 (en) | Multi-channel signal synchronization system, circuit, and method | |
| US11343067B2 (en) | Sampling point identification for low frequency asynchronous data capture | |
| CN222070764U (zh) | 通道间延迟偏差测量装置 | |
| CN109032498A (zh) | 一种多fpga的多通道采集系统的波形量化同步方法 | |
| US12506491B2 (en) | Sampling circuit, method for using sampling circuit, storage medium, and electronic device | |
| CN102013971A (zh) | 接收设备及其接收方法 | |
| CN119355501B (zh) | 通道pi校准装置和测试机 | |
| CN119201816A (zh) | 多通道串行数字接口时序对齐调整方法、装置及设备 | |
| CN118068063B (zh) | 示波器 | |
| CN107273322B (zh) | 并行数据输出方法及装置 | |
| CN117076372B (zh) | 通信信号接收接口电路和通信方法 | |
| CN114614823B (zh) | 一种芯片时钟同步方法、数据采集卡及数据采集系统 | |
| CN215420233U (zh) | 一种多路时钟输出及输入对齐零延时电路 | |
| CN116795758A (zh) | 一种基于FPGA的多路同步Biss-C协议解码传输装置 | |
| CN116938352A (zh) | 芯片、误码率测试方法及电子设备 | |
| US7375561B2 (en) | Timing adjustment circuit and method thereof | |
| CN119382706B (zh) | 用于时钟信号检测调节的电路模块、数据接收装置和电子设备 | |
| CN222464625U (zh) | 业务板间激励信号协同装置和测试机 | |
| CN120578617B (zh) | 基于芯粒架构的通信时钟与数据相位动态校准电路及方法 | |
| CN120896681B (zh) | 一种物理层多通道绑定装置、串并转换装置及绑定方法 | |
| CN120214423B (zh) | 基于高速serdes的连续高精度脉冲宽度测量方法及系统 |
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 |