
自动追踪补偿时脉频率的方法及其相关装置的制作方法.docx
5页自动追踪补偿时脉频率的方法及其相关装置的制作方法专利名称:自动追踪补偿时脉频率的方法及其相关装置的制作方法技术领域:本发明有关一种自动追踪补偿时脉频率的方法及其相关装置,特别是有关于一种适用于USB外围装置中的自动追踪补偿时脉频率的方法及其相关装置2)背景技术个人计算机中的通用串行总线(universal serial bus,简称USB)端口可供连接许多种USB装置,例如USB键盘、USB鼠标、USB卡片阅读机、USB随身碟、外接式USB硬盘、USB打印机、以及USB扫描仪等等,提供使用者极为方便的外围连接接口,从早期USB1.1支持12Mbps的数据传输,演进到目前USB2.0支持480Mbps的数据传输从USB传输规格来分类,USB1.1可支持低速(low speed)外围装置,数据传输规格为速率1.5M(1M=106)bps(bit per second)、误差容忍度为1.5%,以及全速(full speed)外围装置,数据传输速率为12Mbps、误差容忍度为0.25%;USB2.0可支持高速(high speed)外围装置,数据传输速率则可高达480Mbps低速外围装置像是USB键盘、USB鼠标以及USB摇杆等等,全速外围装置像是USB随身碟、USB打印机、以及USB扫描仪等等。
一般市面上的USB2.0可向下兼容USB1.1的规格,亦即可支持低速、全速、高速的外围装置图1是显示现有USB低速控制器的方块图,USB低速控制器100需要外挂一颗精确的石英振荡器(crystal oscillator)120、或者是陶瓷振荡器(ceramicresonator),以及外挂大电容C1及C2,并搭配控制器100内的振荡辅助电路101以协同振荡产生CLK时脉信号供低速控制器100内部的时脉撷取电路102的运作,举例而言,CLK时脉信号为6M赫兹(Hz)的四倍取样频率,或者,亦可由石英振荡器振荡出1.5MHz频率,再由锁相回路(phase lock loop,简称PLL)来倍频出该取样频率;传收电路(Tranceiver)104用以耦接主机端(host)的USB端口,传收电路104用以传收差动(differential)信号D+/D-,或称一数据流,当接收由主机端传来的差动信号D+/D-而吐出RXD+、RXD-差动数据信号以及NRZI编码的RXD数据信号给串行接口引擎(serial interface engine,简称SIE)106,同时也将NRZI编码的RXD数据信号送给时脉撷取电路102,时脉撷取电路102利用CLK时脉信号来对RXD数据信号进行超取样(oversampling)而撷取出隐含于差动信号的1.5MHz频率SIECLK时脉信号供串行接口引擎106使用,根据SIECLK时脉信号将RXD数据信号正确还原成数字数据信号;反之,传收电路104接收串行接口引擎106传来的TXD+、TXD-差动数据信号予以驱动给主机端,串行接口引擎106负责控制传收电路104的运作;外挂石英振荡器或陶瓷振荡器对于生产USB鼠标的厂商而言是可观的负担。
USB规格中规范了各种封包格式,以利各种交易(transaction)的执行;图2显示标记封包(token packet)200的数据格式,标记封包200包含了PID字段220、ADDR字段240、ENDP字段240、以及CRC5字段280,典型地,PID字段220为8位宽,用以指明封包形式,例如IN、OUT、SETUP等封包形式;ADDR字段240以及ENDP字段240用以指明端点地址(endpoint address);而CRC5字段280则为5位宽的循环冗余检查码;因此,主机端可藉由发出标记封包200告诉端点应该进行读或写的动作,若是写的交易,则会由主机端发出数据封包给端点;若是读的交易,则会由端点发出数据封包给主机端3)发明内容本发明的目的是提供一种自动追踪补偿时脉频率的方法及装置本发明的自动追踪补偿时脉频率的装置,适用于USB外围控制器之中,其接收一数据流,自动追踪补偿时脉频率的装置包含一振荡器,用以产生一取样时脉信号;一时脉撷取器,用以根据该数据流以及该取样时脉信号产生系统时脉信号;一样式撷取器,耦接时脉撷取器,用以根据系统时脉信号撷取数据流的多个样型;一计数器,耦接样式撷取器,用以根据该取样时脉信号计数该数据流的长度而产生计数值以响应于该样型;一算术逻辑单元,耦接计数器以及样式撷取器,用以根据该计数值以及参考值而映像一设定值;以及一暂存器,耦接算术逻辑单元以及振荡器,用以暂存该设定值并将该设定值反馈至该算术逻辑单元;使得该振荡器更新取样时脉信号的频率以响应于该设定值。
本发明亦揭示一种自动追踪补偿时脉频率的方法,适用于USB外围控制器,其接收一数据流,包含下列步骤产生相关于该数据流的时脉信号以及取样时脉信号,分别具有第一频率以及第二频率,而第二频率高于第一频率;根据该第一频率撷取数据流中的多个样型;根据取样时脉信号计数数据流的长度而产生计数值以响应于该样型;根据计数值以及参考值而映像设定值;以及根据该设定值补偿第一频率本发明进一步揭示一种时脉频率补偿装置,包含用以产生时脉信号的振荡器、非挥发性存储器、暂存器、多路转换器、以及频率补偿电路;其中该多路转换器具有两个输入端以及一输出端,输入端分别耦接非挥发性存储器以及暂存器,输出端耦接振荡器,用以自非挥发性存储器以及暂存器两者中择一输出n位的设定值;而该频率补偿电路耦接该振荡器,用以根据一标记封包产生m位的设定值,其中,m、n为正整数,该振荡器根据该n位的设定值以及该m位的设定值调整时脉信号的频率为使对本发明的有最佳的了解,以下兹列举若干具体实施例,并配合附图进行说明4)图1是显示现有USB控制器的方块图;图2是显示标记封包的数据格式;图3是显示根据本发明的一具体实施例的自动追踪频率补偿电路方块图;图4是显示完整标记封包的电气传输格式;以及图5是显示根据本发明的一具体实施例的频率补偿电路方块图。
5)具体实施方式图3是显示根据本发明的一具体实施例的USB外围的自动追踪(auto-tracking)时脉电路方块图,特别适合实施于集成电路芯片(integratedcircuit,简称IC)之中;由振荡器300振荡产生CLK时脉信号给时脉撷取器(clock extractor)310,举例而言,该振荡器300可以由电阻及电容所组成,因此,当由晶片厂生产出来时,CLK时脉信号受到制程因素的影响会有所飘移,但可藉由本发明的自动追踪时脉电路而予以适当地补偿,此实施例以USB低速控制IC为例,CLK时脉信号频率约落在6MHz附近(约工作时脉的四倍频);时脉撷取器310根据主机端传来的NRZI编码的RXD数据信号以及CLK时脉信号而取还出(retrieve)相关于数据信号的时脉信号SIECLK,其频率约落在1.5MHz附近;样式撷取器(pattern extractor)320根据SIECLK时脉信号辨识出主机端传来的数据流中的特殊样式,该数据流可由前一级的传收电路(未图示)区分为RXD+、RXD-差动数据信号以及NRZI编码的RXD数据信号在USB传输线上所传输的每个封包最前端皆会被附加一个同步字段(简称SYNC字段),以利接收端进行信号同步用,最末端则会附加一个结束字段(简称EOP字段),表示该封包的传输结束,一般状况下,USB传输是为差动信号,但EOP字段则将USB传输线的D+以及D-驱动一个位时间长的低准位或者甚至驱动超过一个位时间长的低准位,接着不驱动而成「J」状态。
USB传输时是采用NRZI编码,亦即,当数据为0时便会转态(transition),当数据为1时便停留于原位准(level);更进一步地,USB传输规格规范当数据连续出现六个1时,便强迫塞入一个0,以强迫其进行转态,避免基线飘移效应,此即所谓的位填充(bit stuffing)当主机端传给装置端标记封包时,样式撷取器320根据SIECLK时脉信号辨识出SYNC字段、PID字段、以及EOP字段,以分别经由SSYNC信号、SPID信号、以及SEOP信号控制计数器330的起始、终止、以及重置;于此较佳具体实施例中,当样式撷取器320检测到位填充时,藉由SSTUFF信号将CLK时脉信号进行适当屏蔽(mask)而成为时脉信号CLK’,以当作计数器330的计数参考时脉,以消除位填充所产生的取样计数误差,于此实施例中是将CLK时脉信号以及SSTUFF信号通过一或门340进行逻辑或运算而成为CLK’时脉信号,于屏蔽CLK时脉信号期间,暂停CLK时脉信号的高低准位变化,而暂停计数器330的计数,因此不论标记封包是否有位填充皆可由本发明进行自动追踪补偿计数器330的计数结果经由信号332送给算术逻辑单元350进行映像运算,样式撷取器320藉由观察标记封包而经由OPREN信号致能算术逻辑单元350进行运算,举例而言,算术逻辑单元350可将该计数结果与参考值V_REF进行比对,便可以得知目前振荡器300所振出的频率有多少误差,再将算术逻辑单元350的运算结果经由信号358送给暂存器360,暂存器360根据该运算结果经由信号362对振荡器300进行设定,而完成自动追踪调校的工作。
一般而言,振荡器300的频率设定为非线性关系,于此较佳具体实施例中,算术逻辑单元350包含减法器352、乘法器354以及加法器356,以进行简单的线性映像运算,斜率为2,亦即可藉由找到一条较接近的线性函数来估测该非线性关系,因此,算术逻辑单元350的逻辑门数可以减少,而且乘以2的硬件将十分精简,只需要移位器便可实现而暂存器360经由信号362反馈加法器356是可以提供于USB低速控制IC的刚开始通电运作时,先提供默认值给振荡器300以产生初始振荡输出频率图4显示USB传输中经由NRZI编码的标记封包400的电气传输格式,其可视为一数据流400,包含了SYNC字段410、PID字段420、ADDR字段430、ENDP字段440、CRC5字段450、以及EOP字段460,若不考虑填充位,各字段分别为8、8、7、4、5、以及1位时间(bit time)长,应注意到USB传输线包含D+、D-、PWR、GND等信号线,D+、D-用以传输差动信号,PWR、GND可供应端点约500mA的电力,而EOP字段460于电气信号上是为于USB传输线的D+、D-上同时呈现1位时间长的低位准SE0,不为标准的NRZI编码,而且实际上USB规格上只规范EOP字段460应超过或等于一个位时间即可。
以图3的实施例中提到的USB低速控制IC为例,理想CLK时脉信号频率为6MHz,根据CLK时脉信号以及进入的数据流而取还出SIECLK时脉信号为1.5MHz;于理想状况下,SIECLK时脉信号的上升缘(rising edge)将会出现于每个位时间的正中间,因此,当样式撷取器320根据SIECLK时脉信号取样到SYNC字段410的头一个NRZI编码的「0」时,SIECLK时脉信号的上升缘应该位于其正中间,亦即头一个NRZI编码的「0」的正中间为整个标记封包400的计数起始点,而当看到EOP字段460的的低位准SE0拉一个位时间长即认定为结束点;假设于没有填充位的情况下,并以准确的四倍频CLK时脉信号进行取样及计数,计数结果应为130(=32.5个位时间*4)考虑最差的状况,若起始点与结束点皆反方向偏移半个位时间,而且当发生填充位填充时,屏蔽CLK时脉信号(四倍频取样)也造成0.25个位时间长度的计数误差,总误差为(±)1.25个位时间/32.5个位时间 (±)3.85%(±)3.85%可视为固有误差(inherent error),而USB的低速传输的频率误差容忍度为1.5%,并假设振荡器300之可调频率范围为Δf,则(±)3.85%*Δf<(±1.5%)*6MHz亦即,(Δf/6MHz)*(±3.85%)应小于(±1.5%),最大可调频率范。
