CN109687867B - 一种无晶振usb设备时钟校准方法及校准电路 - Google Patents
一种无晶振usb设备时钟校准方法及校准电路 Download PDFInfo
- Publication number
- CN109687867B CN109687867B CN201811452029.8A CN201811452029A CN109687867B CN 109687867 B CN109687867 B CN 109687867B CN 201811452029 A CN201811452029 A CN 201811452029A CN 109687867 B CN109687867 B CN 109687867B
- Authority
- CN
- China
- Prior art keywords
- usb
- clock
- sampling
- value
- differential 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 58
- 238000005070 sampling Methods 0.000 claims abstract description 83
- 238000001514 detection method Methods 0.000 claims abstract description 28
- 238000012795 verification Methods 0.000 claims abstract description 4
- 239000013078 crystal Substances 0.000 claims description 27
- 125000004122 cyclic group Chemical group 0.000 claims description 10
- 238000004364 calculation method Methods 0.000 claims description 7
- 230000000737 periodic effect Effects 0.000 claims description 6
- 230000009286 beneficial effect Effects 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 14
- 230000008569 process Effects 0.000 description 13
- 230000005540 biological transmission Effects 0.000 description 11
- 230000001360 synchronised effect Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000010355 oscillation Effects 0.000 description 2
- 102000009142 CRC domains Human genes 0.000 description 1
- 108050000006 CRC domains Proteins 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000011895 specific detection Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03L—AUTOMATIC CONTROL, STARTING, SYNCHRONISATION OR STABILISATION OF GENERATORS OF ELECTRONIC OSCILLATIONS OR PULSES
- H03L7/00—Automatic control of frequency or phase; Synchronisation
- H03L7/06—Automatic control of frequency or phase; Synchronisation using a reference signal applied to a frequency- or phase-locked loop
- H03L7/08—Details of the phase-locked loop
- H03L7/085—Details of the phase-locked loop concerning mainly the frequency- or phase-detection arrangement including the filtering or amplification of its output signal
- H03L7/091—Details of the phase-locked loop concerning mainly the frequency- or phase-detection arrangement including the filtering or amplification of its output signal the phase or frequency detector using a sampling device
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03L—AUTOMATIC CONTROL, STARTING, SYNCHRONISATION OR STABILISATION OF GENERATORS OF ELECTRONIC OSCILLATIONS OR PULSES
- H03L7/00—Automatic control of frequency or phase; Synchronisation
- H03L7/06—Automatic control of frequency or phase; Synchronisation using a reference signal applied to a frequency- or phase-locked loop
- H03L7/08—Details of the phase-locked loop
- H03L7/099—Details of the phase-locked loop concerning mainly the controlled oscillator of the loop
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03L—AUTOMATIC CONTROL, STARTING, SYNCHRONISATION OR STABILISATION OF GENERATORS OF ELECTRONIC OSCILLATIONS OR PULSES
- H03L7/00—Automatic control of frequency or phase; Synchronisation
- H03L7/06—Automatic control of frequency or phase; Synchronisation using a reference signal applied to a frequency- or phase-locked loop
- H03L7/16—Indirect frequency synthesis, i.e. generating a desired one of a number of predetermined frequencies using a frequency- or phase-locked loop
- H03L7/18—Indirect frequency synthesis, i.e. generating a desired one of a number of predetermined frequencies using a frequency- or phase-locked loop using a frequency divider or counter in the loop
- H03L7/197—Indirect frequency synthesis, i.e. generating a desired one of a number of predetermined frequencies using a frequency- or phase-locked loop using a frequency divider or counter in the loop a time difference being used for locking the loop, the counter counting between numbers which are variable in time or the frequency divider dividing by a factor variable in time, e.g. for obtaining fractional frequency division
- H03L7/1974—Indirect frequency synthesis, i.e. generating a desired one of a number of predetermined frequencies using a frequency- or phase-locked loop using a frequency divider or counter in the loop a time difference being used for locking the loop, the counter counting between numbers which are variable in time or the frequency divider dividing by a factor variable in time, e.g. for obtaining fractional frequency division for fractional frequency division
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Information Transfer Systems (AREA)
Abstract
本发明涉及一种无晶振USB设备时钟校准方法及校准电路,用于实现:对USB总线上的SOF包进行识别及采样,以及,对采样得到SOF包数据进行校验并输出校验信号;对校验信号进行计数,并根据计数结果与预设的计数值进行对比,根据对比结果配置PLL参数;根据PLL参数对USB内部时钟的RC振荡器及PLL锁相环进行时钟校准。本发明的有益效果为:保留了余数部分的信息,采用小数分频思想对USB串行差分信号进行多相位采样,可以准确判断出USB串行差分信号的电平特征;并对SOF包的全部信息进行校验,保证了SOF检测的可靠性;检测结果将更加准确;特别是本发明的SOF包检测的准确度不受到待校准内部时钟偏差的影响。
Description
技术领域
本发明涉及一种无晶振USB设备时钟校准方法及校准电路,属于电学领域。
背景技术
USB接口因其通用性高、可扩展性强、接口简单、应用方便等优点,已经成为电子设备的必备标准接口之一,在信息通讯和数据传输等方面得到了广泛的应用。USB协议对接口信号的速率有着严格的规定。在低速状态下,USB接口的数据速率为1.5MHz±1.5%,应用在键盘、鼠标等;在全速状态下,USB接口的数据速率为12MHz±0.25%,应用在音频电子设备等,在高速状态下,USB接口的数据速率为480MHz±0.05%,应用在视频相关的电子设备上。因此,为了保证USB接口数据传输的稳定性,已知的USB设备多采用外置晶振加上内部锁相环倍频后的输出时钟作为设备的时钟源。由于晶振的原因,USB设备的主体结构的芯片就至少需要空余两个管脚给晶振,这对于一些管脚资源比较紧张的电路在实现上会带来很大的困难。另外随着带USB接口电子设备产品竞争的日益激烈,对于一些低成本的USB设备,使用外部晶振会增加产品的成本。因此,无晶振的USB设备方案应用而生,采用内部振荡电路作为时钟源为USB接口提供精确时钟的需求变得日益迫切。
由于USB接口角色有主从设备之分,无晶振USB技术又分为无晶振USB主机和无晶振USB设备两种类型。无晶振USB主机电路实现相对于无晶振USB设备电路实现要复杂很多。主要原因是由于USB接口所有的数据传输都是由主机发起的,并且USB主机还要负责USB总线的设备管理,带宽分配等工作。无晶振USB主机电路不能从USB接口上获得时间基准用于时钟的校准。相较于USB主机,USB设备的无晶振实现方案则要简单和成熟很多。由于USB协议规定了USB总线上,主机每隔1ms±500ns的时间就会向设备广播SOF(帧起始包),用于USB设备的时间同步。基于此,现有的无晶振USB设备的实现方案都是采用接收USB主机发送的SOF包信息,得到一个1KHz的时钟基准,并以此时钟基准对本地的内部时钟进行校准,得到准确的USB工作时钟。
应用于USB主机的无晶振时钟校准方案相对较小,数量不是很多,仅为对比文件公开的“USB主机接口的免晶振实现电路和方法”(专利号为201210250053.X)的专利为主机无晶振方案。应用于USB设备的无晶振时钟校准方案较多。这些方案又主要分为两种形式,一是先在芯片出厂前,在芯片测试阶段,利用外部基准时钟对内部振荡器的进行工艺偏差的校准,然后再利用USB总线的SOF包作为时间基准,对内部振荡器的时钟进行动态校准。二是利用内部高频时钟(内部高频振荡器/低频振荡器加上锁相环电路组合)对USB信号进行高频采样,识别出USB总线的SOF包,采用SOF包作为时间基准,对内部振荡器的时钟进行动态校准。采用形式二的无晶振校准方法相比于形式一所设计的无晶振校准电路省去了测试过程中额外增加的时钟校准步骤,节省了测试成本。
对比文件“校正USB装置频率的方法及电路”专利中,识别SOF包的方法,只对USB传输包的PID域进行识别是否是SOF的PID域,简化了识别电路的设计难度。这虽然在理论上可以成立,即一个USB格式包的PID域即代表了识别了该USB格式包的类型。但是在电路工作的复杂环境中,USB总线上的信号存在着各种干扰,USB上的信号会存在瞬态时刻被破坏,导致误识别或者丢失SOF包的概率存在。另外,由于内部振荡器时钟频率在未校准前的不稳定因素,采样时钟频率会存在较大偏差,这进一步会增大识别SOF包错误的概率。
无晶振USB设备由于内部振荡电路时钟频率会随着工艺,温度和电压等因素漂移而在中心频点上产生±35%的偏差。对于全速的USB设备,为了能够满足USB设备时钟精度2500ppm的设计要求,必须对无晶振USB设备的内部时钟进行实时校准,校准后经倍除频电路得到48MHz的时钟方可用作USB模块的时钟。
发明内容
本发明提供一种无晶振USB设备时钟校准方法及校准电路,通过一种有效方法去除在内部时钟频率偏差较大的情况下SOF包识别的不稳定性,并大大增大内部高频时钟未校准时对SOF识别的正确性。
本发明的技术方案包括一种无晶振USB设备时钟校准方法,其特征在于,该方法包括:S100,对USB总线上的SOF包进行识别及采样,以及,对采样得到SOF包数据进行校验并输出校验信号;S200,对所述步骤S100的校验信号进行计数,并根据计数结果与预设的计数值进行对比,根据对比结果配置PLL参数;S300,根据所述步骤S200的PLL参数对USB内部时钟的RC振荡器及PLL锁相环进行时钟校准。
根据所述的无晶振USB设备时钟校准方法,其中该方法还包括:周期时间内循环执行所述步骤S100~S300以实现动态时钟校准。
根据所述的无晶振USB设备时钟校准方法,其中周期时间为1ms。
根据所述的无晶振USB设备时钟校准方法,其中识别及采样的SOF数据具体包括同步域、PID域、帧号域及CRC校验域。
根据所述的无晶振USB设备时钟校准方法,其中步骤S100具体包括:S110,将USB总线DP/DM差分信号转换成单信号的串行差分信号和SE0状态信号;S120,当USB串行差分信号检测到下降沿时,进一步,若检测到串行差分信号符合SYNC域的特征,则计算出每个USB比特位的时钟脉冲周期数;S130,根据时钟脉冲周期数对USB串行差分信号进行周期数的数据采样,并译码出接收的PID域值是否为“10100101”,若是则进入下一步骤;S140,根据时钟脉冲周期数对USB串行差分信号继续采样周期数脉冲,并译码出接收的帧号域值并锁存进寄存器;S150,根据时钟脉冲周期数对USB串行差分信号继续采样周期数脉冲,进一步,译码出接收的CRC域值,根据帧号域值和CRC域值进行循环冗余校验运算。
根据所述的无晶振USB设备时钟校准方法,其中步骤S120具体包括:对SOF包的KJKJKJ状态进行多相位采样,并计数出SYNC域的脉冲周期数,以SYNC域采样周期数除以6计算出USB的单比特位宽相对于待校准时钟的脉冲周期数,并将脉冲周期数以整数部分和余数部分进行表示。
根据所述的无晶振USB设备时钟校准方法,其中步骤S120具体以每n+m/6个待校准时钟采样周期的速度采样出USB串行差分信号电平,其具体包括:使用整数计数器和余数计数器对USB串行信号进行采样计数,若检测到USB差分信号产生电平跳变,则初始化整数计数器和余数计数器,若采样到USB差分信号为电平信号,则整数计数器加1;当整数计数器的值为n/2时,则判定当前差分信号的电平为USB串行信号的采样电平;当整数计数器的值为n-1时,则在该采样时刻,整数计数器归零,并且将余数计数器的值增加m;若余数计数器的值大于等于6,则在下一时刻将余数计数器减去6,并且在该采样时刻暂停整数计数器计数;其中,m和n分别为脉冲周期数的整数部分和余数部分。
本发明的技术方案还包括一种用于实现上述任一方法的无晶振USB设备时钟校准电路,该电路包括:SOF包检测单元,用于检测USB总线DP/DM信号上的SOF包信息,并输出触发校准信号;校准计算单元,用于根据SOF包检测单元输出的触发校准信号,根据计数器与标准值计算出PLL配置参数;内部时钟单元,根据PLL配置参数对USB内部时钟的RC振荡器及PLL锁相环进行时钟校准。
根据所述的无晶振USB设备时钟校准电路,其中SOF包检测单元包括:USB差分信号生成模块,用于将USB总线DP/DM差分信号转换成单信号的串行差分信号和SE0状态信号;SYNC域检测模块,用于将串行差分信号进行多相位采样,识别出正确的SYNC域,并输出USB单比特脉冲周期数,脉冲周期数包括整数部分和余数部分;USB串行差分信号采样模块,用于根据SYNC域检测模块输出的USB单比特脉冲周期数的整数部分和余数部分对串行差分信号进行计数,并判定出每个USB单比特的电平值,同时将判定的电平值译码后输出;采样值移位单元,用于将USB串行差分信号采样模块中输出采样电平值以每单比特脉冲周期数的速率移位进寄存器;PID域判定模块,用于比较采样值移位单元中存储的PID值是否是“10100101”;CRC校验模块,用于负责对帧号域和CRC5域进行循环冗余校验,并确认结果。
根据所述的无晶振USB设备时钟校准电路,其中校准计算单元包括:校准计数器,用于根据SOF包检测单元输出的时间基准信号进行计数;PLL参数更新模块,用于将校准计数值和标准计数值进行比较,并计算出PLL配置参数,输出包括整数分频部分和小数分频部分。
本发明的有益效果为:相对于现有采用高频内部时钟对USB串行差分信号进行多相位采样的SOF包识别方法,现有技术中只检测串行差分信号的前几个边沿电平的宽度,来判断所接收的信号是否是SOF包,本发明采用高频内部时钟对USB串行差分信号进行多相位采样,计算出当前待校准时钟脉冲采样USB单比特信号的周期数,保留了余数部分的信息,采用小数分频思想对USB串行差分信号进行多相位采样,可以准确判断出USB串行差分信号的电平特征。并对SOF包的全部信息进行校验,保证了SOF检测的可靠性;相比于现有技术,本发明的SOF包检测结果将更加准确。特别是本发明的SOF包检测的准确度不受到待校准内部时钟偏差的影响。这对于无晶振USB设备的时钟频率校准的初次锁定速度是很重要的。
附图说明
图1所示为根据本发明的总体流程图;
图2所示为根据本发明实施方式的电路框图;
图3所示为根据本发明实施方式的SOF包和时钟校准时序图;
图4所示为根据本发明实施方式的SOF包格式示意图;
图5所示为根据本发明实施方式的SOF包识别流程图;
图6所示为根据本发明实施方式的待校准时钟采样SYNC域计数示意图;
图7所示为根据本发明实施方式的USB串行差分信号采样示意图。
具体实施方式
本发明技术方案提供的一种无晶振USB设备时钟校准方法及校准电路适用于无晶振USB设备及带USB从设备接口的芯片,以下将结合实施例和附图对本发明的构思、具体结构及产生的技术效果进行清楚、完整的描述,以充分地理解本发明的目的、方案和效果。
需要说明的是,如无特殊说明,当某一特征被称为“固定”、“连接”在另一个特征,它可以直接固定、连接在另一个特征上,也可以间接地固定、连接在另一个特征上。此外,本公开中所使用的上、下、左、右等描述仅仅是相对于附图中本公开各组成部分的相互位置关系来说的。在本公开中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。此外,除非另有定义,本文所使用的所有的技术和科学术语与本技术领域的技术人员通常理解的含义相同。本文说明书中所使用的术语只是为了描述具体的实施例,而不是为了限制本发明。本文所使用的术语“和/或”包括一个或多个相关的所列项目的任意的组合。
应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种元件,但这些元件不应限于这些术语。这些术语仅用来将同一类型的元件彼此区分开。例如,在不脱离本公开范围的情况下,第一元件也可以被称为第二元件,类似地,第二元件也可以被称为第一元件。本文所提供的任何以及所有实例或示例性语言(“例如”、“如”等)的使用仅意图更好地说明本发明的实施例,并且除非另外要求,否则不会对本发明的范围施加限制。
本发明提供如以下术语解释:
USB:Universal Serial Bus(通用串行总线)
SOF:Start of Frame(帧起始包)
晶振:晶体振荡器
RC振荡器:电阻电容振荡电路
PLL:频率锁相环电路
SYNC域:USB传输包中一个组成部分,同步域,用来做本地时钟同步
PID域:USB传输包中一个组成部分,用来表征USB传输包的类型
DP/DM:表示USB总线差分信号
SE0:表示USB总线差分信号处于非差分信号
EOP:End Of Packet(包结束标志)
CRC5域:5位的循环冗余校验,USB传输包中校验方式的一种,表示USB传输包的数据校验域
Frame Number域:表示USB传输包帧起始包的帧号域,用来传递当前帧号信息
K状态:USB总线上的一种状态,在全速情况下表示差分“0”
J状态:USB总线上的一种状态,在全速情况下表示差分“1”
图1所示为根据本发明的总体流程图。其流程包括:S100,对USB总线上的SOF包进行识别及采样,以及,对采样得到SOF包数据进行校验并输出校验信号;S200,对校验信号进行计数,并根据计数结果与预设的计数值进行对比,根据对比结果配置PLL参数;S300,根据PLL参数对USB内部时钟的RC振荡器及PLL锁相环进行时钟校准。
图2所示为根据本发明实施方式的电路框图。具体描述如下:
基于本发明所介绍的SOF包识别方法,现在给出无晶振USB设备时钟校准电路的实现框图,如图6所示。图中,电路主要由3个部分组成:(1)SOF包检测单元,主要负责检测USB总线DP/DM信号上的SOF包信息,并输出触发校准信号;(2)校准计算单元,主要负责根据SOF包检测单元输出的触发校准信号,使能校准检测单元内部的校准计数器,然后根据计数器与标准值,计算出PLL配置参数;(3)是内部时钟单元,由12.RC振荡器和13.PLL锁相环组成。具体的,
(1)SOF包检测单元由一些子模块单元组成,分别是:
4.USB差分信号生成模块,将USB总线DP/DM差分信号转换成单信号的串行差分信号和SE0状态信号;
5.SYNC域检测模块,将串行差分信号进行多相位采样,识别出正确的SYNC域,并输出USB单比特脉冲周期数,包括整数部分和余数部分;
6.USB串行差分信号采样模块,根据SYNC域检测模块输出的USB单比特脉冲周期数的整数部分和余数部分对串行差分信号进行计数,并判定出每个USB单比特的电平值,同时将判定的电平值译码后输出;
7.采样值移位单元,将USB串行差分信号采样模块中输出采样电平值以每单比特脉冲周期数的速率移位进寄存器;
8.PID域判定模块,比较采样值移位单元中存储的PID值是否是“10100101”;
9.CRC校验模块,负责对帧号域和CRC5域进行循环冗余校验,并确认结果。
(2)校准计算单元由2个部分组成:
10.校准计数器,主要负责根据SOF包检测单元输出的时间基准信号进行计数;
11.PLL参数更新机制,负责将校准计数值和标准计数值进行比较,并计算出PLL配置参数,输出包括整数分频部分和小数分频部分。
图3所示为根据本发明实施方式的SOF包和时钟校准时序图。本发明利用一种SOF识别电路,可以在内部时钟频率偏差±35%的前提下,对USB总线上的SOF包进行识别。然后以1ms的时间为基准,得到待校准时钟计数值与标准值的偏差。利用该偏差,得到配置PLL电路的整数分频参数和小数分频参数。并将PLL参数配置到PLL电路后,得到校准后准确的时钟。校准电路会周期性的进行SOF包识别,并计算配置最新的PLL参数,达到内部时钟动态校准的目的。本发明的主要创新点在SOF识别方法上,特别是在内部时钟频率偏差±35%的任意频点内都可以正确识别SOF包。
图4所示为根据本发明实施方式的SOF包格式示意图。USB协议规定了SOF包的具体格式。SOF包分别由一个8比特的同步域,8比特的PID域,11比特的帧号域,5比特的CRC校验域和2比特的EOP域组成,如图2所示。具体的,同步域的8个比特为0b0000_00001;PID域的8个比特值为0b1010_0101,其中前四个比特位是PID值,后四个比特是PID值的反向信号,用来实现接收校验。帧号域(Frame Number)为11位在每个SOF包内连续递增的数值。CRC校验域为5位长度,内容时对帧号域内的数值做循环冗余运算的结果。EOP域是2比特的USB总线DP/DM两个差分信号都为低电平的状态,即SE0状态,作为包结束标志。
图5所示为根据本发明实施方式的SOF包识别流程图。不同于现有采用高频时钟采样实现SOF包识别的技术只对SOF包的部分域信息进行识别的实现方式,本发明在SOF包识别方法上,对SOF包所有的信息进行采样,包括对同步域,PID域,帧号域,CRC校验域的识别,并利用识别到的帧号域和CRC校验域进行循环冗余运算。本发明判定SOF包的条件为同步域接收正确,PID域和SOF包匹配,帧号域和CRC域循环冗余校验正确,EOP域接收正确,才最终判定电路已接收到一个正确的SOF包。具体的,SOF包在协议上识别的流程如图5。
具体的SOF包检测流程为:
(a)当USB串行差分信号检测到下降沿时,进入SYNC域检测流程,具体的检测步骤在后续段落详细说明;若检测到串行差分信号符合SYNC域的特征,则计算出每个USB比特位的时钟脉冲周期数,进入步骤(b),否则结束流程回到空闲状态。
(b)进入接收PID域流程,根据步骤(a)中所得到的USB单比特位的时钟脉冲周期数,对USB串行差分信号进行8个周期数的数据采样。并译码出接收的PID域值是否为“10100101”,若是则进入步骤(c);若不是则等待串行差分信号接收到SE0后回到空闲状态;若在此过程中,USB串行差分信号为SE0状态,或者USB串行差分信号发生位填充错误,则回到空闲状态。
(c)进入接收帧号域流程,根据步骤(a)中所得到的USB单比特位的时钟脉冲周期数,对USB串行差分信号继续采样11个周期数脉冲。并译码出接收的帧号域值,将其锁存进寄存器,后进入步骤(d);若在此过程中,USB串行差分信号为SE0状态,或者USB串行差分信号发生位填充错误,则回到空闲状态。
(d)进入接收CRC域流程,根据步骤(a)中所得到的USB单比特位的时钟脉冲周期数,对USB串行差分信号继续采样5个周期数脉冲。并译码出接收的CRC域值,同时将步骤(c)中所得到的帧号域值和所接收到的CRC域值进行循环冗余校验运算。若得到的校验值结果准确,则进入步骤(e);否则等待串行差分信号接收到SE0后回到空闲状态;若在此过程中,USB串行差分信号为SE0状态,或者USB串行差分信号发生位填充错误,则回到空闲状态。
(e)进入接收EOP流程,USB串行差分信号为连续两个USB单比特的SE0状态,即为USB传输包结束标志。完成后回到空闲状态。
内部未校准时钟的静态频率会在中心频点正负35%的范围内产生偏差。本发明对USB串行差分信号采样方法为:
对SOF包的SYNC域的前6个比特,即KJKJKJ状态进行多相位采样,并计数出SYNC域的脉冲周期数,最后以SYNC域采样周期数除以6计算出USB的单比特位宽相对于待校准时钟的脉冲周期数,表示成整数部分n和余数部分m。
图6所示为根据本发明实施方式的待校准时钟采样SYNC域计数示意图。全速USB总线的的信号速率为12Mbps,即一个USB单比特脉宽的持续时间为83.3ns。假设当前待校准时钟的频率为76MHz,则当前待校准时钟的连续对SOF包的同步域进行采样计数,计数值是38。将该计数值除以6,得到USB单比特为6.3个待校准时钟周期。38除以6的整数部分是6,余数为2,在计算电路中将6.3的整数部分表示成6,小数部分表示成2。
根据SYNC域的KJKJKJ状态采样计数得到的单比特脉宽整数部分为n和余数部分m,对后续的USB串行差分信号进行采样,判定出每个单位比特所代表的电平。采样和判定USB串行差分信号单比特电平的方法为:
存在两个计数器,计数器0(整数计数器)和计数器1(余数计数器),对USB串行信号进行采样计数。在每个采样时刻,若检测到USB差分信号产生电平跳变(上升沿或下降沿),则初始化计数器0和计数器1为零。若采样到USB差分信号为电平信号,则计数器0加一。
当计数器0的值为n/2时,则判定当前差分信号的电平为USB串行信号的采样电平。当计数器0的值为n-1时,则在该采样时刻,计数器0归零,并且将计数器1的值增加m。同时的,在每个采样时刻,若计数器1的值大于等于6,则在下一时刻将计数器1减去6,并且在该采样时刻暂停计数器0计数。以此方法就可以每n+m/6个待校准时钟采样周期的速度采样出USB串行差分信号电平。
图7所示为根据本发明实施方式的USB串行差分信号采样示意图。具体的,以当前待校准时钟为76MHz为例进行说明,如图7所示,在此采样频率下,n为6,m为2。如图7中采样时刻0,6,31所示,在串行差分信号产生边沿时,计数器0和计数器1值归零。如75中的采样时刻3,9,15,21,28,34所示,在每一采样时刻,当计数器0的值为n/2即3时,判定当前差分信号的电平为USB串行信号的采样电平,图7中分别在这些时刻采样出串行差分信号的序列值为011110…。如图7的采样时刻12,18,25,37所示,当计数器0的值为n-1即等于5时,则在该采样时刻,计数器0归零,并且将计数器1的值增加m,即增加2。如图7的采样时刻24所示,计数器1的值大于等于6,则在下一采样时刻(时刻25)将计数器1减去6为0,并且在该采样时刻暂停计数器0计数。
如上文所述,本发明采用小数分频的设计方法根据采样SYNC域的KJKJKJ前6个比特单元得到单比特的采样周期数,采用两级计数器对USB的串行差分信号进行采样。计数器0负责整数周期的采样,计数器1负责小数周期的采样。当计数器1的数值大于6时,代表小数部分的采样周期已经冗余出整数个采样周期。因此本发明所述的方法将小数部分溢出的采样周期在USB串行差分信号采样时予以补偿,防止小数部分采样周期的累加,避免后续差分信号由于待校准时钟频率和USB信号速率不能整数倍采样,导致采样电平误判而引起SOF包识别错误。
本发明将内部时钟中心频点设置在96MHz,内部时钟实现方法采用RC振荡器加上锁相环电路的方式实现。由于RC振荡器的时钟频率偏差为正负35%,所以内部未校准时钟的频率范围为62.4MHz至129.6MHz之间。因此内部待校准时钟每个USB单比特信号,最少可以采样到5.2个脉冲周期。
本发明的申请人认为除了采用本发明的小数分频思想进行SOF包的识别,没有别的简单的方法可以实现SOF包在内部时钟未完成首次校准的情况下提高检测准确度。当提高内高频时钟的频率,将实现更高精度的多相位采样,以至于未校准时的内部高频时钟频率与USB数据传输率的商的小数部分直接省略的情况下,也不影响SOF包识别的准确率。但是这样做的缺点是,随着内部高频待校准时钟频率的大幅提高,将对电路的功耗带来很大的提升,不利于低功耗应用。电路的实现也会带来很大的挑战,因为高速电路的实现比低速电路的实现来的困难。
此外,可按任何合适的顺序来执行本文描述的过程的操作,除非本文另外指示或以其他方式明显地与上下文矛盾。本文描述的过程(或变型和/或其组合)可在配置有可执行指令的一个或多个计算机系统的控制下执行,并且可作为共同地在一个或多个处理器上执行的代码(例如,可执行指令、一个或多个计算机程序或一个或多个应用)、由硬件或其组合来实现。所述计算机程序包括可由一个或多个处理器执行的多个指令。
进一步,所述方法可以在可操作地连接至合适的任何类型的计算平台中实现,包括但不限于个人电脑、迷你计算机、主框架、工作站、网络或分布式计算环境、单独的或集成的计算机平台、或者与带电粒子工具或其它成像装置通信等等。本发明的各方面可以以存储在非暂时性存储介质或设备上的机器可读代码来实现,无论是可移动的还是集成至计算平台,如硬盘、光学读取和/或写入存储介质、RAM、ROM等,使得其可由可编程计算机读取,当存储介质或设备由计算机读取时可用于配置和操作计算机以执行在此所描述的过程。此外,机器可读代码,或其部分可以通过有线或无线网络传输。当此类媒体包括结合微处理器或其他数据处理器实现上文所述步骤的指令或程序时,本文所述的发明包括这些和其他不同类型的非暂时性计算机可读存储介质。当根据本发明所述的方法和技术编程时,本发明还包括计算机本身。
计算机程序能够应用于输入数据以执行本文所述的功能,从而转换输入数据以生成存储至非易失性存储器的输出数据。输出信息还可以应用于一个或多个输出设备如显示器。在本发明优选的实施例中,转换的数据表示物理和有形的对象,包括显示器上产生的物理和有形对象的特定视觉描绘。
以上所述,只是本发明的较佳实施例而已,本发明并不局限于上述实施方式,只要其以相同的手段达到本发明的技术效果,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。在本发明的保护范围内其技术方案和/或实施方式可以有各种不同的修改和变化。
Claims (9)
1.一种无晶振USB设备时钟校准方法,其特征在于,该方法包括:
S100,对USB总线上的SOF包进行识别及采样,以及,对采样得到SOF包数据进行校验并输出校验信号;
S200,对所述步骤S100的校验信号进行计数,并根据计数结果与预设的计数值进行对比,根据对比结果配置PLL参数;
S300,根据所述步骤S200的PLL参数对USB内部时钟的RC振荡器及PLL锁相环进行时钟校准;
所述步骤S200具体包括:
根据所述步骤S100输出的时间基准信号进行计数,以及,将校准计数值和标准计数值进行比较,并计算出PLL配置参数,输出包括整数分频部分和小数分频部分。
2.根据权利要求1所述的无晶振USB设备时钟校准方法,其特征在于,该方法还包括:周期时间内循环执行所述步骤S100~S300以实现动态时钟校准。
3.根据权利要求2所述的无晶振USB设备时钟校准方法,其特征在于,所述周期时间为1ms。
4.根据权利要求1所述的无晶振USB设备时钟校准方法,其特征在于,所述识别及采样的SOF数据具体包括同步域、PID域、帧号域及CRC校验域。
5.根据权利要求1所述的无晶振USB设备时钟校准方法,其特征在于,所述步骤S100具体包括:
S110,将USB总线DP/DM差分信号转换成单信号的串行差分信号和SE0状态信号;
S120,当USB串行差分信号检测到下降沿时,进一步,若检测到串行差分信号符合SYNC域的特征,则计算出每个USB比特位的时钟脉冲周期数;
S130,根据时钟脉冲周期数对USB串行差分信号进行周期数的数据采样,并译码出接收的PID域值是否为“10100101”,若是则进入下一步骤;
S140,根据时钟脉冲周期数对USB串行差分信号继续采样周期数脉冲,并译码出接收的帧号域值并锁存进寄存器;
S150,根据时钟脉冲周期数对USB串行差分信号继续采样周期数脉冲,进一步,译码出接收的CRC域值,根据帧号域值和CRC域值进行循环冗余校验运算。
6.根据权利要求5所述的无晶振USB设备时钟校准方法,其特征在于,所述步骤S120具体包括:
对SOF包的KJKJKJ状态进行多相位采样,并计数出SYNC域的脉冲周期数,以SYNC域采样周期数除以6计算出USB的单比特位宽相对于待校准时钟的脉冲周期数,并将脉冲周期数以整数部分和余数部分进行表示。
7.根据权利要求6所述的无晶振USB设备时钟校准方法,所述步骤S120具体以每n+m/6个待校准时钟采样周期的速度采样出USB串行差分信号电平,其具体包括:
使用整数计数器和余数计数器对USB串行信号进行采样计数,若检测到USB差分信号产生电平跳变,则初始化整数计数器和余数计数器,若采样到USB差分信号为电平信号,则整数计数器加1;
当整数计数器的值为n/2时,则判定当前差分信号的电平为USB串行信号的采样电平;
当整数计数器的值为n-1时,则在该采样时刻,整数计数器归零,并且将余数计数器的值增加m;
若余数计数器的值大于等于6,则在下一时刻将余数计数器减去6,并且在该采样时刻暂停整数计数器计数;
其中,m和n分别为脉冲周期数的整数部分和余数部分。
8.一种用于实现所述权利要求1-7任一方法的无晶振USB设备时钟校准电路,其特征在于,该电路包括:
SOF包检测单元,用于检测USB总线DP/DM信号上的SOF包信息,并输出触发校准信号;
校准计算单元,用于根据SOF包检测单元输出的触发校准信号,根据计数器与标准值计算出PLL配置参数;
内部时钟单元,根据PLL配置参数对USB内部时钟的RC振荡器及PLL锁相环进行时钟校准;
所述校准计算单元包括:
校准计数器,用于根据SOF包检测单元输出的时间基准信号进行计数;
PLL参数更新模块,用于将校准计数值和标准计数值进行比较,并计算出PLL配置参数,输出包括整数分频部分和小数分频部分。
9.根据权利要求8所述的无晶振USB设备时钟校准电路,其特征在于,所述SOF包检测单元包括:
USB差分信号生成模块,用于将USB总线DP/DM差分信号转换成单信号的串行差分信号和SE0状态信号;
SYNC域检测模块,用于将串行差分信号进行多相位采样,识别出正确的SYNC域,并输出USB单比特脉冲周期数,脉冲周期数包括整数部分和余数部分;
USB串行差分信号采样模块,用于根据SYNC域检测模块输出的USB单比特脉冲周期数的整数部分和余数部分对串行差分信号进行计数,并判定出每个USB单比特的电平值,同时将判定的电平值译码后输出;
采样值移位单元,用于将USB串行差分信号采样模块中输出采样电平值以每单比特脉冲周期数的速率移位进寄存器;
PID域判定模块,用于比较采样值移位单元中存储的PID值是否是“10100101”;
CRC校验模块,用于负责对帧号域和CRC5域进行循环冗余校验,并确认结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811452029.8A CN109687867B (zh) | 2018-11-30 | 2018-11-30 | 一种无晶振usb设备时钟校准方法及校准电路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811452029.8A CN109687867B (zh) | 2018-11-30 | 2018-11-30 | 一种无晶振usb设备时钟校准方法及校准电路 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109687867A CN109687867A (zh) | 2019-04-26 |
CN109687867B true CN109687867B (zh) | 2023-04-07 |
Family
ID=66185170
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811452029.8A Active CN109687867B (zh) | 2018-11-30 | 2018-11-30 | 一种无晶振usb设备时钟校准方法及校准电路 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109687867B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110365565B (zh) * | 2019-06-26 | 2021-11-09 | 成都夸克光电技术有限公司 | 一种总线高容错识别系统及识别方法 |
CN111665431B (zh) * | 2020-04-26 | 2023-07-25 | 江西联智集成电路有限公司 | 芯片内部时钟源校准方法、装置、设备及介质 |
CN112202528B (zh) * | 2020-08-17 | 2021-06-29 | 北京海泰方圆科技股份有限公司 | 通讯波特率校正方法、装置、电子设备及存储介质 |
CN112015691B (zh) * | 2020-08-20 | 2022-02-08 | 中国科学院微电子研究所 | 一种串行总线设备的时钟校准方法、校准电路和电子设备 |
CN112637031B (zh) * | 2021-01-06 | 2022-06-17 | 广东博智林机器人有限公司 | 从站控制周期的校准方法、校准装置和驱动控制系统 |
CN113076278A (zh) * | 2021-04-02 | 2021-07-06 | 深圳市航顺芯片技术研发有限公司 | Usb设备时钟校准方法、装置、系统及计算机可读存储介质 |
CN114265811B (zh) * | 2022-03-03 | 2022-06-17 | 北京数码视讯技术有限公司 | 基于fpga的数据采样时钟沿自适应系统和方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1646150A1 (de) * | 2002-12-23 | 2006-04-12 | Infineon Technologies AG | Verfahren und Vorrichtung zum Extrahieren einer einem Datenstrom zugrundeliegenden Taktfrequenz |
CN101931397A (zh) * | 2009-06-23 | 2010-12-29 | 义隆电子股份有限公司 | 校正usb装置频率的方法及电路 |
CN101977051A (zh) * | 2010-10-19 | 2011-02-16 | 钰创科技股份有限公司 | 自动校正频率的频率校正电路及其方法 |
CN102571080A (zh) * | 2010-12-27 | 2012-07-11 | 北京中电华大电子设计有限责任公司 | 一种支持动态校准的时钟恢复方法和电路 |
CN102819282A (zh) * | 2012-07-26 | 2012-12-12 | 大唐微电子技术有限公司 | 一种时钟恢复电路装置及相应的方法 |
CN102999466A (zh) * | 2012-11-26 | 2013-03-27 | 成都锐成芯微科技有限责任公司 | Usb1.1设备接口的免晶振简易实现电路 |
CN103336754A (zh) * | 2013-05-31 | 2013-10-02 | 杭州晟元芯片技术有限公司 | 一种usb从设备的系统时钟自动校准系统及方法 |
CN107968648A (zh) * | 2017-11-17 | 2018-04-27 | 珠海亿智电子科技有限公司 | 一种校准无晶振usb设备内部振荡器时钟的系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7120813B2 (en) * | 2003-01-28 | 2006-10-10 | Robert Antoine Leydier | Method and apparatus for clock synthesis using universal serial bus downstream received signals |
-
2018
- 2018-11-30 CN CN201811452029.8A patent/CN109687867B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1646150A1 (de) * | 2002-12-23 | 2006-04-12 | Infineon Technologies AG | Verfahren und Vorrichtung zum Extrahieren einer einem Datenstrom zugrundeliegenden Taktfrequenz |
CN101931397A (zh) * | 2009-06-23 | 2010-12-29 | 义隆电子股份有限公司 | 校正usb装置频率的方法及电路 |
CN101977051A (zh) * | 2010-10-19 | 2011-02-16 | 钰创科技股份有限公司 | 自动校正频率的频率校正电路及其方法 |
CN102571080A (zh) * | 2010-12-27 | 2012-07-11 | 北京中电华大电子设计有限责任公司 | 一种支持动态校准的时钟恢复方法和电路 |
CN102819282A (zh) * | 2012-07-26 | 2012-12-12 | 大唐微电子技术有限公司 | 一种时钟恢复电路装置及相应的方法 |
CN102999466A (zh) * | 2012-11-26 | 2013-03-27 | 成都锐成芯微科技有限责任公司 | Usb1.1设备接口的免晶振简易实现电路 |
CN103336754A (zh) * | 2013-05-31 | 2013-10-02 | 杭州晟元芯片技术有限公司 | 一种usb从设备的系统时钟自动校准系统及方法 |
CN107968648A (zh) * | 2017-11-17 | 2018-04-27 | 珠海亿智电子科技有限公司 | 一种校准无晶振usb设备内部振荡器时钟的系统 |
Non-Patent Citations (3)
Title |
---|
USB2.0设备控制器IP核设计与验证;刘清明;《中国优秀硕士学位论文全文数据库信息科技辑》;20141015(第10期);I137-59 * |
无晶振USB_2.0设备时钟的新型校准设计与实现;王周;《现代电子技术》;20210815;第44卷(第16期);第30-34页 * |
无晶振USB2.0 PHY层数据控制模块设计与实现;王周;《中国优秀硕士学位论文全文数据库信息科技辑》;20210115(第01期);I137-111 * |
Also Published As
Publication number | Publication date |
---|---|
CN109687867A (zh) | 2019-04-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109687867B (zh) | 一种无晶振usb设备时钟校准方法及校准电路 | |
US7786763B1 (en) | Clock circuit with harmonic frequency detector | |
EP2174311B1 (en) | Remote control signaling infrared generator | |
TWI445315B (zh) | 自動校正頻率之頻率校正電路及其方法 | |
US9024663B2 (en) | Clock glitch detection circuit | |
TWI410806B (zh) | A method and a circuit for correcting the frequency of the USB device, and a method of identifying whether or not the input packet is a tag packet | |
CN103365336B (zh) | Usb设备系统时钟的校准方法及装置 | |
CN103760759B (zh) | 一种自动对正/反向irig‑b码解码方法 | |
CN110781121B (zh) | 一种参考时钟源配置方法与端设备 | |
JP3558625B2 (ja) | 同期誤り検出回路 | |
JP4122017B2 (ja) | 周波数ロック検出器 | |
CN112015691B (zh) | 一种串行总线设备的时钟校准方法、校准电路和电子设备 | |
CN103997331A (zh) | 基于fpga的高精度dc码编码方法及系统 | |
WO2014114146A1 (zh) | 时钟产生电路自校正系统及其校正方法 | |
TWI447691B (zh) | 觸發源極驅動器的方法 | |
US8006154B2 (en) | Semiconductor integrated circuit and method for testing semiconductor integrated circuit | |
US8283983B2 (en) | Frequency calibration device and method for programmable oscillator | |
US8253456B2 (en) | Time correction circuit and electronic apparatus | |
CN114064332A (zh) | 时钟检测方法、装置及时钟安全系统 | |
US8907730B2 (en) | Frequency calibration device and method for programmable oscillator | |
TWI463813B (zh) | 半導體裝置 | |
CN105656828B (zh) | 解码type b卡片发送的bpsk调制信号的解码器 | |
US10110371B2 (en) | Phase difference estimation device and communication device having the phase difference estimation device | |
CN117254872B (zh) | 一种高精度时间戳的获取方法、系统、设备及存储介质 | |
CN114268401A (zh) | 一种量子测控输出同步方法 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |