Usb装置异常的检测与恢复电路及其方法

文档序号:6334763阅读:273来源:国知局
专利名称:Usb装置异常的检测与恢复电路及其方法
技术领域
本发明涉及一种USB装置,特别是一种USB装置异常的检测与恢复电路。
背景技术
USB(Universal Serial Bus,万用串行接口总线)接口目前已成为计算机装置的基本接口,其利用D+D-两条信号线的差动信号,来达到高速传输的目的。不过,在微型计算机系统中,USB电路工作时常常会受到外界的干扰,例如电磁场或者是人体身上的静电等。而这种干扰有可能会打断USB电路的正常运行,从而使整个USB装置陷入停滞或死机的情况。为了使USB装置能从异常状态中快速地恢复正常,现有技术的做法是设计一个定时器电路,俗称看门狗单元(Watch dog unit,简称Watch dog)来监控USB装置是否异常, 并在USB装置异常时进行重置以协助USB装置恢复正常。请参考图1,其为现有技术的USB系统重置功能方块图。USB装置200包含锁相回路单元(Phase lock loop,简称PLL) 130、数据收发单元(transceiver) 120、微控制单元 140与看门狗单元150。当数据收发单元120发生问题时,例如因静电效应或电路干扰而导致数据收发单元发生问题,此时,虽然微控制单元140处于正常的情形下,但因为数据收发单元120发生问题,所以微控制单元140会一直无法接收到由USB主机110所传来的USB 协议数据,而导致微控制单元140根本无法得知现在数据收发单元120发生问题。此时,微控制单元140还是会产生控制信号给看门狗单元150,使得看门狗单元150无法发出重置信号将数据收发单元120重置,使数据收发单元120从错误状态中恢复。所以现有技术有几个问题点1.请参考图1,由于外界或电路的干扰,使得数据收发单元120接收信号发生异常时,微控制单元140只单纯进行解码USB协议,无法得知数据收发单元120是否异常的现象,而导致只要数据收发单元120发生错误的情形,系统就会发生死机的现象。2.请参考图1,由于外界或电路的干扰,而使得锁相回路单元130的时钟信号 (CLK)发生偏移或失锁的现象,因数据收发单元必须参考CLK进行接收或传输USB信号,所以CLK发生异常时会导致数据收发单元也会异常的现象,此时,微控制单元140也无法得知数据收发单元发生问题,而导致USB装置200发生错误,进而引发系统死机的现象。为了改善现有技术无法检测到数据收发单元或是锁相回路单元的时钟信号发生问题时,引发USB装置的死机现象。因此,实在有必要提出一种新的架构,可以检测到数据收发单元或是锁相回路单元的时钟信号发生问题,能够适当的产生重置信号去重置USB装置,以便让USB装置能够快速的恢复正常。

发明内容
本发明的目的是提供一种USB装置异常的检测与恢复电路,USB装置异常的检测与恢复电路包含数据收发单元、标记数据检测单元与标记看门狗单元。数据收发单元接收信道信号,依据时钟信号取样信道信号而产生总线数据。标记数据检测单元耦接数据收发单元,用以检测总线数据的标记数据而产生控制信号。标记看门狗单元耦接标记数据检测单元,未接收到控制信号经过一预设时间后而产生重置信号至数据收发单元。本发明另一目的是提供一种USB装置异常的检测与恢复方法,包含以下的步骤 接收信道信号,依据时钟信号取样该信道信号而产生总线数据。检测总线数据的标记数据。 依据标记数据的检测而产生控制信号。当未接收到控制信号在预设时间后产生重置信号。为让本发明的上述和其它目的、特征、和优点能更明显易懂,下文特举多个优选实施例,并配合所附图式,作详细说明如下


图1是USB通讯示图;(现有技术)图2是传输包图;(现有技术)图3是USB装置异常的检测与恢复电路的第一实施例;图4是帧开始的示图;图5是USB装置架构图的标记数据检测单元的详细实施例;图6是USB装置异常的检测与恢复电路的第二实施例;图7是USB装置异常的检测与恢复电路的第三实施例;及图8是USB装置异常的检测方法流程图。主要元件符号说明10 包20 事务30 传输100 USB通讯系统110 USB 主机120 数据收发单元(transceiver)130锁相回路单元 140微控制单元150看门狗单元 160标记数据检测单元170标记看门狗单元200 USB接收装置210 USB接收装置 220 USB接收装置230 USB接收装置
具体实施例方式本发明的目的在于提出一种可以检测到数据收发单元或是锁相回路单元的时钟信号发生问题,并产生适当的重置信号的架构,且能够达到低功耗且低成本。接着,请参考图2,USB传输包图,其包括包10、事务20与USB传输30。在USB传输协议中,每次完整的传输CTransfer) 10由多个事务(Transaction) 20所组成,而每个事务20由多个包(Packet)所组成。每个事务20通常由三个包所组成,但依传输型态而言, 每个事务20可能包含一个、两个、三个包。包是执行所有处理USB传输动作最基本的机制, 包的种类(Type)定义了四种,例如标记包(Token)、数据包(Data)、握手包(handshake) 与特殊包(special)等。当包的种类为Token时,则分别定义四种包识别码名称(PID name),例如帧开始(Start of frame, SOF)、输入(Input, IN)、输出(Output, OUT)与设置(SETUP)等。例如图2中的事务20是由标记包(Token) 30、数据包(data) 40与握手包(Handshake) 50 等所组成。其中,有些包是由USB主机所发出的周期性包,例如,帧开始(SOF)。本发明即利用此类周期性包的特性来作为检测系统是否异常的判断,周期性包为USB主机周期地发出, 因此,若USB装置未接收到周期性包,代表USB装置当中的收发器(Transciever)或者锁相回路单元(PLL)或微控制单元(MCU)发生异常。在此状况下,将系统进行重置即可解除此异常状况。下面,将分别列举本发明的USB装置异常的检测与恢复电路二个实施例。请先参考图3,本发明USB装置异常的检测与恢复电路的第一实施例,其中,USB装置异常的检测与恢复电路210包含数据收发单元120、标记数据检测单元160与标记看门狗单元170。数据收发单元120接收信道信号,依据时钟信号取样信道信号而产生总线数据。标记数据检测单元160耦接数据收发单元120,用以检测总线数据的标记数据而产生控制信号。标记看门狗单元170耦接标记数据检测单元160,在未接收到控制信号经过一预设时间即产生一重置信号至数据收发单元120。请注意,控制信号是数据收发单元120是否发出标记数据的判断结果。亦即,未接收到控制信号即代表标记数据检测单元160未检测到标记数据(Token)时所发出的控制信号。控制信号可以是至少一个bit的二进制序列数,例如以Ibit而言,当标记看门狗单元170接收到控制信号为0时,代表标记数据检测单元160停止产生控制信号;反之,当标记看门狗单元170接收到控制信号为1时,代表标记数据检测单元160产生控制信号。以 3bit而言,当标记看门狗单元170接收到控制信号为001、010、011、100、101以及110等其中之一时,代表标记数据检测单元160停止产生控制信号,当标记看门狗单元170接收到控制信号为111时,代表标记数据检测单元160产生控制信号。利用USB主机会在系统中周期性地发出标记数据这点特性,本发明设计了一个基于检测标记的标记数据检测单元160与标记看门狗单元170来检测USB设备中数据收发单元120是否正常工作。其工作原理为标记数据检测单元160持续检测USB数据收发单元 120所接收到的数据包。当数据收发单元120工作正常,那么标记数据检测单元160将会正确地接收到周期性的标记数据(Token),并在接收到标记数据之后产生控制信号至标记看门狗单元170。反之,假如数据收发单元120发生异常的情形,那么标记数据检测单元160 将不能接收到标记数据(Token),当然也不能产生控制信号给标记看门狗单元170,而导致标记看门狗单元170因未收到控制信号,使得内部的定时器发生超时的现象,进而发出一重置信号重置整个USB装置。其中,在USB1. 1或是USB2.0的标记数据可以是帧开始(StartOf Frame,简称 S0F),SOF会广播(broad-cast)给所有的全速(full-speed)或高速(high-speed)装置知道。SOF也是唯一一个不指定目标的帧数据,是一个广播的同步信号。一般USB系统在处于连接状态时,USB主机(HOST)每隔一段固定时间就会发送一个特殊标记SOF包给USB装置,这个数据包有固定的格式和数据校验位,请参考图4所示。所以本发明可以利用SOF来作为标记数据检测单元160的检测数据。以USB2. 0中的full speed的SOF是1毫秒传送一次,而high speed的SOF是125微秒传送一次。本发明提出了一种基于检测SOF的标记数据检测单元160的实施例,适用于所有USB设备,并具有低功耗且低成本。
接着,请参考图5,其说明标记数据检测单元160的细部功能方块。其中,标记数据检测单元160包含寄存器162、识别码检测器164、错误累加器166与算术计算器168。其中,寄存器162耦接数据收发单元120,具有一内存空间,寄存器162的内存空间用以暂存总线数据。识别码检测器164耦接寄存器162,用以检测总线数据的标记数据而产生一错误数据。错误累加器166耦接识别码检测器164,用以累计错误数据为一计数值。算术计算器 168,用以比对标记数据检测单元计数值与一默认值,当标记数据检测单元计数值大于或等于默认值时则无法发出控制信号至标记看门狗单元170,反之,当标记数据检测单元计数值小于默认值时则发出控制信号至标记看门狗单元170。请先参考图6,本发明USB装置异常的检测与恢复电路的第二实施例,本发明第二实施例跟图3的第一实施例的差别在于多加入检测锁相回路(Phase Lock Loop, PLL)的时钟信号的偏差或失锁。其中,USB装置异常的检测与恢复电路220包含数据收发单元 120、锁相回路单元(PLL) 130、标记数据检测单元160与标记看门狗单元170。锁相回路单元130,用以产生一时钟信号。数据收发单元120接收一信道信号,依据时钟信号取样信道信号而产生总线数据。标记数据检测单元160耦接数据收发单元120,用以检测一总线数据的标记数据而产生控制信号。标记看门狗单元170耦接标记数据检测单元160,未接收到控制信号经过一预设时间后而产生一重置信号至数据收发单元120与PLL 130。由于数据收发单元120是USB的物理层(PHY)数据传输,以USB 2.0而言,其数据传输速度最高达480Mbps/s,而USB 3. 0甚至高达5GMbps/s,所以数据收发单元120对信道信号的取样非常地依赖PLL 130产生准确且无偏差的时钟信号(Clock),连微小的偏差都不行。因此当PLL 130只要出现偏移或失锁的情形,将会导致数据收发单元120不能正常地接收数据包,此时,就需要本发明提供一标记数据检测单元来辅助PLL 130发生问题时, 能够快速地从错误中恢复。图3与图6的实施例说明,数据收发单元120无法正确接收数据包的状况,可能是数据收发单元120本身发生异常,也可能是PLL130发生异常导致数据收发单元120异常。 无论是哪个部分发生异常,其结果均为数据收发单元120无法正确接收数据包,此点,通过本发明的标记数据检测单元160与标记看门狗单元170的技术手段皆可解决。此外,若微控制器也发生异常,也可同样通过本发明的装置一并解决。请参考图7, 本发明USB装置异常的检测与恢复电路的第三实施例,其中,图7与图6和图5的差异为将本发明的标记看门狗单元170的重置信号与看门狗单元150产生的原重置信号通过或门而产生系统重置信号至数据收发单元120、锁相回路单元130与微控制单元140。其中,只要标记看门狗单元170产生重置信号或看门狗单元150产生原重置信号,将可一起重置数据收发单元120、锁相回路单元130与微控制单元140。在另一实施例中,也可单独考虑标记看门狗单元170直接产生重置信号给数据收发单元120、锁相回路单元130与微控制单元 140。接着,请参考图8,其为本发明USB装置异常的检测与恢复方法流程图,包含以下步骤SllO 接收一信道信号,依据时钟信号取样信道信号而产生总线数据。S120 检测总线数据的标记数据。S130 依据标记数据的检测而产生控制信号。
S140 当未接收到控制信号在预设时间后产生重置信号。其中,当标记数据检测单元的总线数据的标记数据为帧开始时产生控制信号。其中,标记数据检测单元标记数据是主机所发出一周期性包,该周期性包在USB 1. 1与USB 2. 0中为S0F。其中,重置信号重置数据收发单元或数据收发单元与锁相回路单元或数据收发单元、锁相回路单元与微控制单元。本发明提出一种在USB系统中,使用标记数据检测单元检测标记数据,而标记数据可以是USB 1.1或者是USB 2. 0的帧开始(SOF)。使用本发明将使得现有技术无法检测数据收发单元和锁相回路PLL的异常状态,利用本发明的标记数据检测单元与标记看门狗单元将可实现检测数据收发器单元和锁相回路PLL的异常状态,从而大大提高设备的稳定性和容错能力,减少现有USB装置发生死机。请注意,本发明并不只限定于USB 1. UUSB 2. 0等系统,未来新的USB 3. 0或者更高的版本都可根据标记数据检测单元检测周期性的标记数据,例如,S0F,进而判断USB装置是否属于正常动作。且上述标记数据的选择并非特别限定,亦可,选择自定义协议的标记数据,由当时USB装置的实际应用来加以选择与改变。虽然本发明的优选实施例披露如上所述,然而其并非用以限定本发明,任何熟习相关技术者,在不脱离本发明的精神和范围内,当可作些许的更动与润饰,因此本发明的专利保护范围须视本说明书所附的权利要求书所界定者为准。
权利要求
1.一种USB装置异常的检测与恢复电路,包含一数据收发单元,耦接一信道,用以接收所述信道所传输的一信道信号,并依据一时钟信号取样所述信道信号而产生一总线数据;一标记数据检测单元,耦接所述数据收发单元,用以检测所述总线数据的一标记数据而产生一控制信号;以及一标记看门狗单元,耦接所述标记数据检测单元,用以在当所述控制信号表示所述标记数据检测单元未检测到所述标记数据且经过一预设时间后,产生一重置信号至所述数据收发单元。
2.根据权利要求1所述的装置,其中,所述标记数据是一USB主机经由所述信道所发出的一周期性包。
3.根据权利要求1所述的装置,其中,所述标记数据检测单元包含 一寄存器,耦接所述数据收发单元,用以暂存所述总线数据;一识别码检测器,耦接所述寄存器,用以检测所述总线数据的所述标记数据,当所述标记数据不为一帧开始时产生一错误数据;一错误累加器,耦接所述识别码检测器,用以累计所述错误数据为一计数值;以及一算术计算器,比较所述计数值与一默认值,当所述计数值大于或等于所述默认值时停止产生所述控制信号;当所述计数值小于默认值时产生所述控制信号。
4.根据权利要求1所述的装置,还包含一锁相回路单元,耦接所述数据收发单元与所述标记看门狗单元,用以产生所述时钟信号至所述数据收发单元,当所述标记看门狗单元在未接收到所述控制信号经过所述预设时间后产生所述重置信号至所述锁相回路单元。
5.根据权利要求4所述的装置,还包含一微控制单元,耦接所述数据收发单元、所述锁相回路单元与所述标记看门狗单元,当所述标记看门狗单元在未接收到所述控制信号经过所述预设时间后产生所述重置信号至所述微控制单元。
6.根据权利要求1所述的装置,还包含一微控制单元,耦接所述数据收发单元与所述标记看门狗单元,当所述标记看门狗单元在未接收到所述控制信号经过所述预设时间后产生所述重置信号至所述微控制单元。
7.根据权利要求1所述的装置,还包含一或门,耦接所述标记看门狗单元与一看门狗单元,用以接收所述重置信号与一原重置信号而产生一系统重置信号至所述锁相回路单元、所述数据收发单元与一微控制单元。
8.—种USB装置异常的检测与恢复方法,包含以下的步骤接收一信道信号,依据一时钟信号取样所述信道信号而产生一总线数据; 检测所述总线数据的一标记数据; 依据所述标记数据的检测而产生一控制信号;以及当所述控制信号表示所述标记数据检测单元未检测到所述标记数据且经过一预设时间后,产生一重置信号至所述数据收发单元。
9.根据权利要求8所述的方法,还包含以下的步骤检测所述总线数据的一标记数据是一帧开始而产生所述控制信号。
10.根据权利要求8所述的方法,其中,所述标记数据是一主机所发出的一周期性包。
全文摘要
本发明为一种USB装置异常的检测与恢复电路及方法,包含锁相回路单元、数据收发单元、标记数据检测单元与标记看门狗单元。其中,锁相回路单元,用以产生时钟信号。数据收发单元耦接锁相回路单元,用以接收信道信号并依据时钟信号取样信道信号而产生总线数据。标记数据检测单元耦接数据收发单元,用以检测总线数据上的标记数据而产生一控制信号。标记看门狗单元耦接标记数据检测单元,用以在当该控制信号表示该标记数据检测单元未检测到该标记数据且经过一预设时间后,产生一重置信号至锁相回路单元、数据收发单元与微控制单元。
文档编号G06F11/00GK102455946SQ201010526540
公开日2012年5月16日 申请日期2010年10月19日 优先权日2010年10月19日
发明者林能贤, 沈忱, 王骆宾 申请人:瑞昱半导体股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1