CN102455946B - Usb装置异常的检测与恢复电路及其方法 - Google Patents
Usb装置异常的检测与恢复电路及其方法 Download PDFInfo
- Publication number
- CN102455946B CN102455946B CN201010526540.5A CN201010526540A CN102455946B CN 102455946 B CN102455946 B CN 102455946B CN 201010526540 A CN201010526540 A CN 201010526540A CN 102455946 B CN102455946 B CN 102455946B
- Authority
- CN
- China
- Prior art keywords
- unit
- data
- signal
- flag data
- flag
- 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
Landscapes
- Information Transfer Systems (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明为一种USB装置异常的检测与恢复电路及方法,包含:锁相回路单元、数据收发单元、标记数据检测单元与标记看门狗单元。其中,锁相回路单元,用以产生时钟信号。数据收发单元耦接锁相回路单元,用以接收信道信号并依据时钟信号取样信道信号而产生总线数据。标记数据检测单元耦接数据收发单元,用以检测总线数据上的标记数据而产生一控制信号。标记看门狗单元耦接标记数据检测单元,用以在当该控制信号表示该标记数据检测单元未检测到该标记数据且经过一预设时间后,产生一重置信号至锁相回路单元、数据收发单元与微控制单元。
Description
技术领域
本发明涉及一种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传输协议中,每次完整的传输(Transfer)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的二进制序列数,例如:以1bit而言,当标记看门狗单元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,简称SOF),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装置异常的检测与恢复方法流程图,包含以下步骤:
S110:接收一信道信号,依据时钟信号取样信道信号而产生总线数据。
S120:检测总线数据的标记数据。
S130:依据标记数据的检测而产生控制信号。
S140:当未接收到控制信号在预设时间后产生重置信号。
其中,当标记数据检测单元的总线数据的标记数据为帧开始时产生控制信号。其中,标记数据检测单元标记数据是主机所发出一周期性包,该周期性包在USB 1.1与USB2.0中为SOF。其中,重置信号重置数据收发单元或数据收发单元与锁相回路单元或数据收发单元、锁相回路单元与微控制单元。
本发明提出一种在USB系统中,使用标记数据检测单元检测标记数据,而标记数据可以是USB 1.1或者是USB 2.0的帧开始(SOF)。使用本发明将使得现有技术无法检测数据收发单元和锁相回路PLL的异常状态,利用本发明的标记数据检测单元与标记看门狗单元将可实现检测数据收发器单元和锁相回路PLL的异常状态,从而大大提高设备的稳定性和容错能力,减少现有USB装置发生死机。
请注意,本发明并不只限定于USB 1.1、USB 2.0等系统,未来新的USB 3.0或者更高的版本都可根据标记数据检测单元检测周期性的标记数据,例如,SOF,进而判断USB装置是否属于正常动作。且上述标记数据的选择并非特别限定,亦可,选择自定义协议的标记数据,由当时USB装置的实际应用来加以选择与改变。
虽然本发明的优选实施例披露如上所述,然而其并非用以限定本发明,任何熟习相关技术者,在不脱离本发明的精神和范围内,当可作些许的更动与润饰,因此本发明的专利保护范围须视本说明书所附的权利要求书所界定者为准。
Claims (8)
1.一种USB装置,所述USB装置包括USB装置异常检测与恢复电路,包含:
一数据收发单元,耦接一信道,用以接收所述信道所传输的一信道信号,并依据一时钟信号取样所述信道信号而产生一总线数据;
一标记数据检测单元,耦接所述数据收发单元,用以检测所述总线数据的一标记数据而产生一控制信号;以及
一标记看门狗单元,耦接所述标记数据检测单元,用以在当所述控制信号表示所述标记数据检测单元未检测到所述标记数据且经过一预设时间后,产生一重置信号至所述数据收发单元,
其中,所述标记数据是一USB主机经由所述信道所发出的一周期性包。
2.根据权利要求1所述的装置,其中,所述标记数据检测单元包含:
一寄存器,耦接所述数据收发单元,用以暂存所述总线数据;
一识别码检测器,耦接所述寄存器,用以检测所述总线数据的所述标记数据,当所述标记数据不为一帧开始时产生一错误数据;
一错误累加器,耦接所述识别码检测器,用以累计所述错误数据为一计数值;以及
一算术计算器,比较所述计数值与一默认值,当所述计数值大于或等于所述默认值时停止产生所述控制信号;当所述计数值小于默认值时产生所述控制信号。
3.根据权利要求1所述的装置,还包含:
一锁相回路单元,耦接所述数据收发单元与所述标记看门狗单元,用以产生所述时钟信号至所述数据收发单元,当所述标记看门狗单元在未接收到所述控制信号经过所述预设时间后产生所述重置信号至所述锁相回路单元。
4.根据权利要求3所述的装置,还包含:
一微控制单元,耦接所述数据收发单元、所述锁相回路单元与所述标记看门狗单元,当所述标记看门狗单元在未接收到所述控制信号经过所述预设时间后产生所述重置信号至所述微控制单元。
5.根据权利要求1所述的装置,还包含:
一微控制单元,耦接所述数据收发单元与所述标记看门狗单元,当所述标记看门狗单元在未接收到所述控制信号经过所述预设时间后产生所述重置信号至所述微控制单元。
6.根据权利要求3所述的装置,还包含:
一或门,耦接所述标记看门狗单元与一看门狗单元,用以接收所述重置信号与一原重置信号而产生一系统重置信号至所述锁相回路单元、所述数据收发单元与一微控制单元。
7.一种USB装置异常的检测与恢复方法,包含以下的步骤:
接收一信道信号,依据一时钟信号取样所述信道信号而产生一总线数据;
检测所述总线数据的一标记数据;
依据所述标记数据的检测而产生一控制信号;以及
当所述控制信号表示所述标记数据检测单元未检测到所述标记数据且经过一预设时间后,产生一重置信号至所述数据收发单元,
其中,所述标记数据是一主机所发出的一周期性包。
8.根据权利要求7所述的方法,还包含以下的步骤:
检测所述总线数据的一标记数据是一帧开始而产生所述控制信号。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010526540.5A CN102455946B (zh) | 2010-10-19 | 2010-10-19 | Usb装置异常的检测与恢复电路及其方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010526540.5A CN102455946B (zh) | 2010-10-19 | 2010-10-19 | Usb装置异常的检测与恢复电路及其方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102455946A CN102455946A (zh) | 2012-05-16 |
CN102455946B true CN102455946B (zh) | 2017-04-12 |
Family
ID=46039157
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010526540.5A Active CN102455946B (zh) | 2010-10-19 | 2010-10-19 | Usb装置异常的检测与恢复电路及其方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102455946B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102752880A (zh) * | 2012-06-12 | 2012-10-24 | 洪涛 | 控制标准usb接口无线网卡重启的控制装置及控制方法 |
US9529411B2 (en) * | 2014-06-13 | 2016-12-27 | Texas Instruments Incorporated | Power-saving mode for USB power delivery sourcing device |
CN109426637A (zh) * | 2017-08-23 | 2019-03-05 | 北京展讯高科通信技术有限公司 | 检测usb设备断开的方法、装置及电子设备 |
CN113010356A (zh) * | 2021-02-22 | 2021-06-22 | 深圳市微特精密科技股份有限公司 | 一种usb2.0/3.0接口测试装置及其测试方法 |
TWI803307B (zh) * | 2022-05-03 | 2023-05-21 | 新唐科技股份有限公司 | 中斷處置裝置、方法與計算機系統 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101079002A (zh) * | 2007-07-03 | 2007-11-28 | 广东省环境保护监测中心站 | 侦听式计算机运行监控装置及其监控方法 |
CN101369238A (zh) * | 2008-09-02 | 2009-02-18 | 苏州大学 | Usb设备中异常监控复位处理方法 |
-
2010
- 2010-10-19 CN CN201010526540.5A patent/CN102455946B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN102455946A (zh) | 2012-05-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102455946B (zh) | Usb装置异常的检测与恢复电路及其方法 | |
US10108578B2 (en) | Single wire communications interface and protocol | |
US8055825B2 (en) | Digital device interconnect method | |
US7729427B2 (en) | Pseudo-synchronous one wire bidirectional bus interface | |
CN108234267B (zh) | 一种基于m-lvds实时多主高速总线的通信系统 | |
CN106687942A (zh) | 具有经修改uart接口的可变帧长度虚拟gpio | |
CN103119572B (zh) | 节流的集成链路 | |
CN103678211B (zh) | Usb接口的信号传输方法及其装置 | |
US7558902B2 (en) | Bus to MCU bridge | |
CN104303447A (zh) | 错误率估计方法和装置 | |
CN101208682B (zh) | 具有锁存服务请求的从设备 | |
KR20090017643A (ko) | 활성 전원 관리 상태로부터의 탈출 대기 시간의 최적화 | |
US20070038783A1 (en) | Communication device, host apparatus, and communication method | |
CN201893806U (zh) | Fc时钟同步发生系统 | |
US7272744B2 (en) | Method for signaling during a transaction and receiving unit and system for use therewith | |
CN104361299A (zh) | 安全系统、多重安全控制系统及读取位置信息的方法 | |
TWI437420B (zh) | Usb裝置異常之檢測與回復電路及其方法 | |
CN109144937B (zh) | 一种多路串口高可靠性传输方法 | |
CN114095300A (zh) | 自适应速率的数据读写方法及设备 | |
JP4630288B2 (ja) | 受信したシリアル転送アライメントシーケンスのレートの検証 | |
US11496237B1 (en) | Transmission configuration indication, error detection and recovery by temporal signal interpretation | |
CN207677750U (zh) | 一种同步码检测系统 | |
CN107810495A (zh) | 具有线活动检测器的uart | |
CN205680088U (zh) | 跨时钟域数据的传输装置及异步电路 | |
CN117439865A (zh) | 通信恢复方法、计算装置及计算系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |