CN111475448B - 一种usb设备***状态检测方法、装置和usb设备 - Google Patents
一种usb设备***状态检测方法、装置和usb设备 Download PDFInfo
- Publication number
- CN111475448B CN111475448B CN202010145355.5A CN202010145355A CN111475448B CN 111475448 B CN111475448 B CN 111475448B CN 202010145355 A CN202010145355 A CN 202010145355A CN 111475448 B CN111475448 B CN 111475448B
- Authority
- CN
- China
- Prior art keywords
- charging
- usb port
- usb
- parasitic capacitor
- voltage
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4063—Device-to-bus coupling
- G06F13/4068—Electrical coupling
- G06F13/4072—Drivers or receivers
- G06F13/4077—Precharging or discharging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4063—Device-to-bus coupling
- G06F13/4068—Electrical coupling
- G06F13/4086—Bus impedance matching, e.g. termination
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0042—Universal serial bus [USB]
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Systems (AREA)
- Power Sources (AREA)
Abstract
本发明公开了一种USB设备***状态检测方法、装置和USB设备。该方法应用于以MCU的I/O引脚形成USB端口的从设备侧,包括:在MCU上电后,将USB端口的状态设置为高阻状态;建立充电回路,为USB端口的寄生电容充电,且充电完成后,断开充电回路;在充电完成并断开充电回路的预设时间后,检测USB端口的寄生电容的电压,若寄生电容的电压不低于预设值,则判断该从设备处于未***状态,若寄生电容的电压低于预设值,则判断该从设备处于***状态。本申请可以使从设备检验自身USB端口是否处于***状态,以便于从设备识别自身***状态,进行配置更改来实现USB数据传输。
Description
技术领域
本发明涉及电子设计技术领域,特别涉及一种USB设备***状态检测方法、一种USB设备***状态检测装置和一种USB设备。
背景技术
传统的检测USB设备***检测方式:一种是通过USB的电气连接来判断USB线缆的***;另外一种是通过枚举过程来判断。但是,这些方式都是在主设备侧实现的***检测,仅能供主设备实现对例如U盘等单纯存储功能的从设备进行访问,并不能很好地满足某些具有计算能力的USB从设备的连接需求,给USB数据通信造成了困扰。
发明内容
鉴于现有技术USB设备***检测主要是主设备侧的检测过程,不能很好满足从设备连接需求的问题,提出了本发明的一种USB设备***状态检测方法、一种USB设备***状态检测装置和一种USB设备,以便克服上述问题。
为了实现上述目的,本发明采用了如下技术方案:
依据本发明的一个方面,提供了一种检测USB设备***状态的方法,该方法应用于以MCU的I/O引脚形成USB端口的从设备侧,包括:
在MCU上电后,将USB端口的状态设置为高阻状态;
建立充电回路,为USB端口的寄生电容充电,且充电完成后,断开充电回路;
在充电完成并断开充电回路的预设时间后,检测USB端口的寄生电容的电压,若寄生电容的电压不低于预设值,则判断该从设备处于未***状态,若寄生电容的电压低于预设值,则判断该从设备处于***状态。
可选地,为USB端口的寄生电容充电,包括:
选择USB端口的D+引脚和D-引脚中的至少一个,对其寄生电容进行充电。
可选地,建立充电回路,为USB端口的寄生电容充电,且充电完成后,断开充电回路,包括:
启动该从设备内部的上拉电阻,为USB端口处的寄生电容充电,充电完成后,断开上拉电阻以断开充电回路。
可选地,MCU为STM32F042,其I/O引脚的寄生电容大小为5pF;在充电完成并断开充电回路的50~100微秒后,检测USB端口的寄生电容的电压。
依据本发明的另一个方面,提供了一种检测USB设备***状态的装置,该装置应用于以MCU的I/O引脚形成USB端口的从设备侧,包括:
状态设置单元,用于在MCU上电后,将USB端口的状态设置为高阻状态;
充电控制单元,用于建立充电回路,为USB端口的寄生电容充电,且充电完成后,断开充电回路;
检测单元,用于在充电完成并断开充电回路的预设时间后,检测USB端口的寄生电容的电压,若寄生电容的电压不低于预设值,则判断该从设备处于未***状态,若寄生电容的电压低于预设值,则判断该从设备处于***状态。
可选地,充电控制单元,具体用于:
选择USB端口的D+引脚和D-引脚中的至少一个,对其寄生电容进行充电。
可选地,充电控制单元,具体用于:
启动该从设备内部的上拉电阻,为USB端口处的寄生电容充电,充电完成后,断开上拉电阻以断开充电回路。
可选地,MCU为STM32F042,其I/O引脚的寄生电容大小为5pF;
检测单元,在充电完成并断开充电回路的50~100微秒后,检测USB端口的寄生电容的电压。
依据本发明的又一个方面,提供了一种USB设备,该USB设备包括如上任一项的检测USB设备***状态装置。
综上所述,本发明的有益效果是:
本申请基于对USB主、从设备端口的电气分析,在从设备一侧,通过为USB端口的寄生电容充电,进而检测充电后寄生电容的放电时间,以使从设备可以检验自身USB端口是否处于***状态,以便于从设备识别自身***状态,进行配置更改来实现USB数据传输。
附图说明
图1为现有技术USB设备***检测方式示意图;
图2为本发明一个实施例提供的一种USB设备***状态检测方法流程示意图;
图3为本发明一个实施例提供的一种USB设备***状态检测装置的结构示意图;
图4为通过示波器观察的***状态下寄生电容放电电压曲线示意图;
图5为通过示波器观察的未***状态下寄生电容放电电压曲线示意图;
图中:状态设置单元310、充电控制单元320、检测单元330。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
在本申请的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本申请和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本申请的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
在本申请的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本申请中的具体含义。
本发明的技术构思是:本申请基于对USB(Universal Serial Bus,通用串行总线)主、从设备端口的电气分析,在从设备一侧,通过为USB端口的寄生电容充电,进而检测充电后寄生电容的放电时间,以使从设备可以检验自身USB端口是否处于***状态,以便识别自身***状态,进行配置更改来实现USB数据传输。
图1为现有技术USB设备***状态检测方式示意图。如图1所示,传统的USB设备***检测,是发生在USB主设备(或称为主机)侧。在USB的主设备端,端口的D+和D-接口分别通过一个15K欧姆电阻拉低到地GND,从设备(或称为从机)的D+或D-接口通过1.5K欧姆电阻上拉到高电平VCC(图1中为3.3V)。当从设备***USB主设备后,1.5K欧姆的上拉电阻将D+或D-接口上拉到高电平,从而使主设备检测到USB设备的***。但是,该方式只能使主设备检测到从设备的***,却并不能使从设备主动获取自身的***状态,因而,当从设备需要变更自身配置(例如写入权限配置)才能实现USB通信时,会造成使用的不便。
本申请基于对USB电气标准的分析,提出了一种可以应用在从设备侧的USB设备***状态检测方法。如图1所示,该方法应用于以MCU(Microcontroller Unit,微控制单元)的I/O引脚形成USB端口的从设备侧,由于MCU的I/O引脚存在寄生电容,因而本申请利用该寄生电容,实现对***状态的检测,包括:
步骤S210:在MCU上电后,将USB端口状态设置为高阻状态,即实现上电后USB端口状态的初始化。
步骤S220:建立充电回路,为USB端口的寄生电容充电,且充电完成后,断开充电回路。由于USB主设备侧的端口存在下拉电阻,因此,如果本USB从设备没有连接主设备,则寄生电容的放电速度会比较缓慢,如果连接了主设备,则寄生电容会通过主设备的下拉电阻放电,导致寄生电容的电压在较短时间后降低到MCU的低电平检测阀值。
因此,本申请包括步骤S230:在充电完成并断开充电回路的预设时间后,检测USB端口的寄生电容的电压,若寄生电容的电压不低于预设值,则判断该从设备处于未***状态,若寄生电容的电压低于预设值,则判断该从设备处于***状态。
通过上述方法,本申请就能够在从设备侧,实现从设备自身***状态的检测。从而,在连接外部计算机等USB主设备时,通过让从设备主动检测到自身***状态的变化,及时改变写入状态等,方便外部计算机向从设备内写入控制程序等数据内容。
在本申请的一个实施例中,步骤S220中,为USB端口的寄生电容充电,包括:
选择USB端口的D+引脚和D-引脚中的至少一个,对其寄生电容进行充电。通过D+引脚和D-引脚中的任一个,都可以分别实现各自寄生电容的充电,实现***状态的检测。当然,同时采用D+引脚和D-引脚两个引脚,可以提高检测结果的可靠性,减少误检情况的发生。
在本申请的一个实施例中,步骤S220中,建立充电回路,为USB端口的寄生电容充电,且充电完成后,断开充电回路,具体包括:
启动该从设备内部的上拉电阻,为USB端口处的寄生电容充电,充电完成后,断开上拉电阻以断开充电回路。该上拉电阻可以通过程序配置的方式实现启动或断开,因而能够方便地为USB端口的D+和/或D-引脚的寄生电容充电。在本申请实施例中,该上拉电阻即选用1.5K欧姆电阻,保持与现有USB端口电气标准一致,从而不改变从设备的连接通用性。
在本申请的一个实施例中,USB从设备所选用的MCU为STM32F042,其I/O引脚的寄生电容大小为5pF。在充电完成并断开内部上拉电阻的50~100微秒后,读取该端口状态,如果该从设备连接了外部主设备,5pF的寄生电容会通过主设备的15KΩ下拉电阻放电,电压会在大约15微秒后降低到MCU的低电平检测阀值,而如果没有***主设备,则寄生电容的电压会需要大约200微秒才能降低到MCU的低电平检测阀值。参考图4和图5,通过示波器可以观察到***状态的充放电过程(图4)和未***状态的充放电过程(图5)。因此,可以通过在充电完成并断开充电回路的50~100微秒后检测D+和/或D-引脚的状态,来判断USB设备是否***,优选以100微秒为检测的预设时间。
本申请还公开了一种USB设备***状态检测装置,如图3所示,该装置应用于以MCU的I/O引脚形成USB端口的从设备侧,包括:
状态设置单元310,用于在MCU上电后,将USB端口的状态设置为高阻状态。
充电控制单元320,用于建立充电回路,为USB端口的寄生电容充电,且充电完成后,断开充电回路。
检测单元330,用于在充电完成并断开充电回路的预设时间后,检测USB端口的寄生电容的电压,若寄生电容的电压不低于预设值,则判断该从设备处于未***状态,若寄生电容的电压低于预设值,则判断该从设备处于***状态。
在本申请的一个实施例中,充电控制单元320,具体用于:
选择USB端口的D+引脚和D-引脚中的至少一个,对其寄生电容进行充电。
在本申请的一个实施例中,充电控制单元320,具体用于:
启动该从设备内部的上拉电阻,为USB端口处的寄生电容充电,充电完成后,断开上拉电阻以断开充电回路。
在本申请的一个实施例中,MCU为STM32F042,其I/O引脚的寄生电容大小为5pF;检测单元330,在充电完成并断开充电回路的50~100微秒后,检测USB端口的寄生电容的电压。
本申请还公开了一种USB设备,该USB设备包括如上任一项的USB设备***状态检测装置。
以上所述,仅为本发明的具体实施方式,在本发明的上述教导下,本领域技术人员可以在上述实施例的基础上进行其他的改进或变形。本领域技术人员应该明白,上述的具体描述只是更好的解释本发明的目的,本发明的保护范围应以权利要求的保护范围为准。
Claims (9)
1.一种USB设备***状态检测方法,其特征在于,该方法应用于以MCU的I/O引脚形成USB端口的从设备侧,包括:
在所述MCU上电后,将所述USB端口的状态设置为高阻状态;
建立充电回路,为所述USB端口的寄生电容充电,且充电完成后,断开所述充电回路;
在充电完成并断开充电回路的预设时间后,检测所述USB端口的寄生电容的电压,若寄生电容的电压不低于预设值,则判断该从设备处于未***状态,若寄生电容的电压低于预设值,则判断该从设备处于***状态。
2.根据权利要求1所述的方法,其特征在于,所述为所述USB端口的寄生电容充电,包括:
选择所述USB端口的D+引脚和D-引脚中的至少一个,对其寄生电容进行充电。
3.根据权利要求1所述的方法,其特征在于,所述建立充电回路,为所述USB端口的寄生电容充电,且充电完成后,断开所述充电回路,包括:
启动该从设备内部的上拉电阻,为USB端口处的寄生电容充电,充电完成后,断开所述上拉电阻以断开所述充电回路。
4.根据权利要求1所述的方法,其特征在于,所述MCU为STM32F042,其I/O引脚的寄生电容大小为5pF;在充电完成并断开充电回路的50~100微秒后,检测所述USB端口的寄生电容的电压。
5.一种USB设备***状态检测装置,其特征在于,该装置应用于以MCU的I/O引脚形成USB端口的从设备侧,包括:
状态设置单元,用于在所述MCU上电后,将所述USB端口的状态设置为高阻状态;
充电控制单元,用于建立充电回路,为所述USB端口的寄生电容充电,且充电完成后,断开所述充电回路;
检测单元,用于在充电完成并断开充电回路的预设时间后,检测所述USB端口的寄生电容的电压,若寄生电容的电压不低于预设值,则判断该从设备处于未***状态,若寄生电容的电压低于预设值,则判断该从设备处于***状态。
6.根据权利要求5所述的装置,其特征在于,所述充电控制单元,具体用于:
选择所述USB端口的D+引脚和D-引脚中的至少一个,对其寄生电容进行充电。
7.根据权利要求5所述的装置,其特征在于,所述充电控制单元,具体用于:
启动该从设备内部的上拉电阻,为USB端口处的寄生电容充电,充电完成后,断开所述上拉电阻以断开所述充电回路。
8.根据权利要求5所述的装置,其特征在于,所述MCU为STM32F042,其I/O引脚的寄生电容大小为5pF;
所述检测单元,在充电完成并断开充电回路的50~100微秒后,检测所述USB端口的寄生电容的电压。
9.一种USB设备,其特征在于,该USB设备包括如权利要求5-8任一项所述的USB设备***状态检测装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010145355.5A CN111475448B (zh) | 2020-03-05 | 2020-03-05 | 一种usb设备***状态检测方法、装置和usb设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010145355.5A CN111475448B (zh) | 2020-03-05 | 2020-03-05 | 一种usb设备***状态检测方法、装置和usb设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111475448A CN111475448A (zh) | 2020-07-31 |
CN111475448B true CN111475448B (zh) | 2023-04-07 |
Family
ID=71748105
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010145355.5A Active CN111475448B (zh) | 2020-03-05 | 2020-03-05 | 一种usb设备***状态检测方法、装置和usb设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111475448B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101221546A (zh) * | 2007-01-12 | 2008-07-16 | 奇岩电子股份有限公司 | 可自动检测通用串行总线主机或***设备的装置 |
CN101827162A (zh) * | 2009-03-04 | 2010-09-08 | 深圳富泰宏精密工业有限公司 | 手机usb接口侦测***及方法 |
CN102833387A (zh) * | 2011-06-15 | 2012-12-19 | 中兴通讯股份有限公司 | 移动终端及其处理方法 |
CN104714916A (zh) * | 2015-03-30 | 2015-06-17 | 迈普通信技术股份有限公司 | Usb接口外部设备***/拨出检测*** |
CN204462295U (zh) * | 2014-12-30 | 2015-07-08 | 深圳市兰丁科技有限公司 | 从设备及其***检测辅助电路 |
CN106291210A (zh) * | 2015-05-22 | 2017-01-04 | 快捷半导体(苏州)有限公司 | Usb接口检测器、检测方法、usb连接器及电子设备 |
CN106340932A (zh) * | 2016-10-17 | 2017-01-18 | 惠州Tcl移动通信有限公司 | 移动终端基于usb接口充电器的连接检测方法及*** |
CN106445862A (zh) * | 2016-09-06 | 2017-02-22 | 广州视睿电子科技有限公司 | 一种插拔模块识别电路和方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
ATE392771T1 (de) * | 2003-12-12 | 2008-05-15 | Sony Ericsson Mobile Comm Ab | Zubehörsidentifizierungsalgorithmus für systemstecker |
MX367638B (es) * | 2014-09-15 | 2019-08-29 | Micro Motion Inc | Metodo y aparato para controlar modo de dispositivo. |
US10372568B2 (en) * | 2016-07-20 | 2019-08-06 | Canon Kabushiki Kaisha | Electronic device being connectable to external device, and method of controlling electronic device being connectable to extenal device |
-
2020
- 2020-03-05 CN CN202010145355.5A patent/CN111475448B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101221546A (zh) * | 2007-01-12 | 2008-07-16 | 奇岩电子股份有限公司 | 可自动检测通用串行总线主机或***设备的装置 |
CN101827162A (zh) * | 2009-03-04 | 2010-09-08 | 深圳富泰宏精密工业有限公司 | 手机usb接口侦测***及方法 |
CN102833387A (zh) * | 2011-06-15 | 2012-12-19 | 中兴通讯股份有限公司 | 移动终端及其处理方法 |
CN204462295U (zh) * | 2014-12-30 | 2015-07-08 | 深圳市兰丁科技有限公司 | 从设备及其***检测辅助电路 |
CN104714916A (zh) * | 2015-03-30 | 2015-06-17 | 迈普通信技术股份有限公司 | Usb接口外部设备***/拨出检测*** |
CN106291210A (zh) * | 2015-05-22 | 2017-01-04 | 快捷半导体(苏州)有限公司 | Usb接口检测器、检测方法、usb连接器及电子设备 |
CN106445862A (zh) * | 2016-09-06 | 2017-02-22 | 广州视睿电子科技有限公司 | 一种插拔模块识别电路和方法 |
CN106340932A (zh) * | 2016-10-17 | 2017-01-18 | 惠州Tcl移动通信有限公司 | 移动终端基于usb接口充电器的连接检测方法及*** |
Non-Patent Citations (2)
Title |
---|
N Enos等."A primer on USB Type-C and Power Delivery applications and requirements".《Texas Instruments》.2016,全文. * |
李鹏."基于USB 2.0 OTG的设备直连技术".《中国优秀硕士学位论文全文数据库》.2007,全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN111475448A (zh) | 2020-07-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5683696B2 (ja) | 電子デバイスに関するケーブル接続の検出 | |
CN100495377C (zh) | 检测***外设类型的方法和终端接口 | |
CN103064489B (zh) | 一种根据usb接口状态进行内部电路选择的方法及终端 | |
CN102393837B (zh) | 一种usb充电器识别装置及方法 | |
US9366712B2 (en) | Determination of physical connectivity status of devices based on electrical measurement | |
KR20140144277A (ko) | 전자 기기 및 그 제어 방법 | |
CN103198033A (zh) | 用于检测通用串列汇流排和移动高解析度链接设备的装置及其方法 | |
CN102158571B (zh) | 移动终端充电防盗保护方法 | |
CN112799985B (zh) | Usb接口控制方法、usb控制电路及智能网联设备主板 | |
CN111157813B (zh) | 充电电流的确定方法及装置 | |
CN109298266A (zh) | 测试***、测试方法、测试装置及存储介质 | |
CN204576500U (zh) | 一种兼容i2c通信的usb通信电路和*** | |
WO2018107858A1 (zh) | 可插拔模块识别*** | |
CN111835631A (zh) | 一种智能网关扩展板热插拔检测***及检测方法 | |
CN111475448B (zh) | 一种usb设备***状态检测方法、装置和usb设备 | |
CN105824732A (zh) | 一种usb检测方法和检测*** | |
CN110297789B (zh) | 一种实现usb otg功能的方法 | |
CN203760209U (zh) | 一种mhl线缆及mhl线缆热插拔检测*** | |
CN113720591A (zh) | 一种sd卡的插拔检测方法、装置及*** | |
CN101266536B (zh) | 检测装置 | |
CN214540750U (zh) | Usb控制电路、智能网联设备主板及电子设备 | |
CN111444049B (zh) | 一种usb线缆、多功能usb调试方法、调试器和调试装置 | |
CN217010374U (zh) | 接口集成电路及电子设备 | |
CN100435082C (zh) | 存储器卡检测电路与检测存储器卡的连接与类型的方法 | |
TW546579B (en) | Structure for automatically checking peripheral connected with parallel port and plugging condition |
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 |