一种USB从设备的***时钟自动校准***及方法
技术领域
本发明涉及SOC集成电路设计领域,尤其涉及计算机通讯USB接口,更具体说,它涉及一种USB从设备的***时钟自动校准***及方法。
背景技术
大量低端的电子产品采用USB1.1接口,但是USB接口对***时钟精度要求比较高,需要达到正负0.5%以内才能具有较强的兼容性。
大部分应用中会有一颗外部晶振作为时钟源,内部还有一个PLL进行倍频,输出48M时钟给USB控制器用。若将这颗外部晶振省却,产品总体方案的成本会有一个明显降低,而且有利于使最终产品设计得更加小巧。如果芯片内部有一个高精度时钟环振,就可以将该晶振省却,但是要做到如此高精度时钟环振,要考虑温度、电压以及工艺偏差,几乎是不可能的。因此如果有一个技术可以对内部时钟环振进行自动校准,不管温度、电压以及工艺如何偏差,都保持在48M附近,那么就可以实现省却外部晶振的目标。
目前USB1.1的从设备的***时钟一般通过外部进行校准,或者生产时测试写入校准值到非易失存储体,或者产生一个高频比如好几百兆的频率进行采样分频。
目前已经有的方案是由一个高频振荡器产生一个数百兆的时钟,对其进行Delta_Sigma小数分频,同时使用该高频时钟的8分频去检测USB差分总线,进行相应的反馈,来校准小数分频器,得到最终的USB的***时钟。该方案在检测USB差分总线时不是使用校准后准确的时钟,而直接采用高频时钟的8分频,存在采样错误的可能性,可能会导致USB接口兼容性差。另外该方案必须产生高于250M的高频时钟会使功耗变大。
发明内容
本发明的目的是克服现有技术中的不足,提供一种USB从设备的***时钟自动校准***及方法。
本发明的目的是通过以下技术方案实现的:这种USB从设备的***时钟自动校准***,该***包括48M时钟发生器、USB帧同步检测模块、USB1.1物理层接口、计数器、比较器、基准电流调节器、非易失存储体和上电控制逻辑,其中48M时钟发生器是一个生成时钟频率的时钟环振;USB帧同步检测模块用于检测USB的帧同步包,并且产生固定频率的脉冲,作为基准脉冲提供给计数器计数48M时钟的周期数;USB1.1物理层接口用于将USB的模拟差分信号转换成数字差分信号;计数器用于计数USB帧同步检测模块产生的基准脉冲间的周期数;比较器用于比较计数器得到的周期数和理论的周期数,由此判断当前的48M时钟发生器生成的时钟频率高于或则低于理想的48M频率;基准电流调节器是一个运算逻辑,根据比较器的比较结果计算相应的值通过改变48M时钟发生器内部的基准电流,使得环振输出频率上升或者降低,对48M时钟发生器输出频率调整其稳定在48M。
更进一步的,48M时钟发生器是一个时钟环振,生成频率为48M左右时钟。该时钟提供给USB帧同步检测模块和计数器,同时作为USB控制器的***时钟。
更进一步的,非易失存储体是一个flash或者OTP等非易失存储体,可以配合生产测试对48M时钟发生器配一个初始值,由于生产工艺偏差,每一颗芯片的48M时钟发生器的输出时钟上下存在上下偏差,如果偏差比较大,会影响USB帧同步检测模块检测USB的帧同步包,因此生产测试时对48M时钟发生器的初步调整可以使48M时钟初始偏差降低。
更进一步的,非易失存储体用于存取48M时钟发生器的初始校准值,上电控制逻辑是一个非易失存储体的读取控制器,在***上电时自动从非易失存储体读取基准值,对48M时钟发生器配相应的基准电流,使其输出时钟频率有一个初始校准值,然后基准电流调节器对48M时钟发生器调整输出频率使其稳定在48M。
本发明所述的USB从设备的***时钟自动校准方法,该方法的具体步骤如下:
1、***上电,48M时钟发生器开始工作并且输出初始时钟;
2、USB帧同步检测模块接收PC的帧同步包。
3、计数器和比较器工作并且计算基准电流调节值对48M时钟发生器调整其输出时钟频率。
4、不停地重复2和3步骤,直到输出48M频率满足要求。
本发明的有益效果是:48M时钟发生器的初始校准值存于非易失存储体,通过基准电流调节器调整48M时钟发生器的基准电流达到频率调整的目的;USB帧同步检测模块产生基准脉冲作为调整频率的基准;不需要外接晶振,内部生成48M主频时钟并且不随外部环境变化始终自动调节频率至48M。
附图说明
图1是***结构框图;
具体实施方式
下面结合附图和实施例对本发明做进一步描述。虽然本发明将结合较佳实施例进行描述,但应知道,并不表示本发明限制在所述实施例中。相反,本发明将涵盖可包含在有附后权利要求书限定的本发明的范围内的替换物、改进型和等同物。
本实施例以―AS508H USB KEY专用芯片为例,下面结合图1说明本专利技术的实施应用:
AS508H通过USB接口与PC机连接通讯,PC机为USB接口的主设备端,AS508H为USB接口的从设备端。
AS508H作为设备插到USB口后,芯片同时上电,并且进行复位和初始化,同时PC会向设备端不停地发出帧同步包和数据包。
芯片上电复位后,控制逻辑8会从非易失存储体7的一个固定的地址读取到事先写入的一个值,改值设置为10位宽度,对48M时钟发生器1配相应的基准电流,使其输出时钟频率有一个初始值,AS508H经过中测会使该初始值保持在48M正负2%范围内,可以保证接下来对USB总线数据刚开始阶段的帧同步包的正确接收。
PC发下来的帧同步包经过USB1.1物理层接口3转换为数字差分信号,该信号送给USB帧同步检测模块2,当其接收到帧同步包时,会生成相应的脉冲,由于帧同步包的频率是固定的,因此生成的脉冲可以作为一个基准脉冲提供给计数器4计数48M时钟的周期数。
理想的48M频率对该基准脉冲的计数周期是固定的,48M时钟发生器输出的时钟必定存在上偏或下偏,比较器5用于比较计数器4得到的周期数和理论48M计数的周期数,由此判断当前的48M时钟发生器1生成的时钟频率高于或则低于理想的48M频率。
基准电流调节器6根据比较器5的比较结果计算相应的值对48M时钟发生器1输出频率调整,调整机制是改变48M时钟发生器1内部的基准电流,使得环振输出频率上升或者降低。由于USB工作时钟48M在正负0.5%偏差以内基本可以具有较好的稳定兼容性,该方案判断当48M时钟发生器1输出频率为48M正负0.2%以内就不进行频率调整,当输出频率偏差输出0.2%就进行频率调整,可以确保该USB从设备在没有外部晶振的条件能产生很稳定的48M***时钟,并且使USB接口通讯正常稳定。
芯片工作环境变化时,比如电压或则温度等外部环境变化会使基准电流发生偏差,从而影响48M时钟发生器1的输出时钟频率。该自动调节机制在没有接外部晶振的条件下能够很迅速地调整48M时钟发生器1使其输出时钟始终保持在48M正负0.2%以内。USB的从设备产品上省却一个晶振对成本控制可以起到巨大的商业利益。
具体的实施步骤如下:
1、芯片上电,48M时钟发生器1开始工作并且输出初始时钟。
2、USB帧同步检测模块2接收PC的帧同步包。
3、计数器和比较器工作并且计算基准电流调节值对48M时钟发生器1调整其输出时钟频率。
4、不停地重复2和3步骤,直到输出48M频率满足要求。
术语解释:USB:片上操作***。