CN111886585B - 终端设备、调试卡及调试方法 - Google Patents
终端设备、调试卡及调试方法 Download PDFInfo
- Publication number
- CN111886585B CN111886585B CN201880091590.XA CN201880091590A CN111886585B CN 111886585 B CN111886585 B CN 111886585B CN 201880091590 A CN201880091590 A CN 201880091590A CN 111886585 B CN111886585 B CN 111886585B
- Authority
- CN
- China
- Prior art keywords
- pin
- debugging
- interface
- usb type
- terminal device
- 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
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
Abstract
本申请提供了一种终端设备、调试卡及调试方法,该终端设备包括:USB Type‑C接口;CC控制器,用于:接收调试卡发送的VDM;根据所述VDM,控制所述USB Type‑C接口与所述终端设备内部的调试接口连通。根据本申请提供的终端设备,可以根据调试卡发送的VDM打开调试通道,从而使调试卡能够在调试通道上对终端设备进行不拆机调试。此外,该VDM是USB Type‑C协议中规定的消息,因此通过复用VDM消息打开调试通道不会影响USB Type‑C接口的原有功能。
Description
技术领域
本申请涉及终端领域,具体地,涉及一种终端设备、调试卡以及调试方法。
背景技术
随着技术的发展,市场上的终端设备越来越多。此外,在终端设备的产品开发阶段及售后维护阶段,经常需要对终端设备进行调试或固件读写。因此,目前对终端设备的调试具有越来越高的需求。
传统的调试方案,需要通过对终端设备进行拆机来调试。这种调试方式操作复杂,并且在拆机过程中容易导致屏幕、元器件等的损坏。
发明内容
本申请提供一种终端设备、调试卡及调试方法,能够对终端设备进行不拆机调试。
第一方面,提供了一种终端设备,该终端设备包括:USB Type-C接口;CC控制器,用于:接收调试卡发送的第一VDM;根据该第一VDM,控制该USB Type-C接口与该终端设备内部的调试接口连通。
根据本申请提供的终端设备,可以根据调试卡发送的VDM打开调试通道,从而使调试卡能够在调试通道上对终端设备进行不拆机调试。此外,该VDM是USB Type-C协议中规定的消息,因此通过复用VDM消息打开调试通道不会影响USB Type-C接口的原有功能。
在一种可能的实现方式中,该CC控制器具体用于:根据该第一VDM,控制该USBType-C接口中的第一引脚与该终端设备内部的调试接口连通,其中,该第一引脚为除CC1引脚、CC2引脚之外的其他任意信号线引脚。
在一种可能的实现方式中,第一引脚为以下引脚中的任意一个或多个引脚:SBU1引脚、SBU2引脚、D+引脚、D-引脚、TX引脚、RX引脚。
在一种可能的实现方式中,该CC控制器具体用于:接收该调试卡发送的该第一VDM,并对该第一VDM进行解码得到第一密钥;根据该第一密钥,控制该USB Type-C接口与该终端设备内部的调试接口连通。
在VDM消息中也可合入加密认证信息,用于终端设备与调试卡进行加密认证识别,能够避免第三方访问调试接口,有利于提高通信安全性,增强调试接口的信息安全。
在一种可能的实现方式中,该终端设备还包括待调试模块,该待调试模块用于在调试通道上接收调试卡发送的第二VDM,该第二VDM包括第二密钥,该第二密钥用于控制该待调试模块发送调试数据,该调试通道为该USB Type-C接口与该终端设备内部的调试接口连通的通道。
在调试通道打开后,待调试模块对调试卡发送的第二密钥进行认证。只有认证成功后,调试卡才能读取终端设备的调试数据进行调试。上述技术方案能够进一步保证通信的安全性。
第二方面,提供了一种终端设备,该终端设备包括:USB Type-C接口;CC控制器,用于:对该USB Type-C接口中的CC1引脚和CC2引脚上的电压进行检测;当检测到该CC1引脚和CC2引脚的电压同时拉高或同时拉低时,控制该USB Type-C接口与该终端设备内部的调试接口连通。
根据本申请提供的终端设备,可以通过检测CC1引脚和CC2引脚的电压同时拉高或同时拉低来打开调试通道,从而使调试卡能够在调试通道上对终端设备进行不拆机调试。此外,检测CC1引脚和CC2引脚的电压同时拉高或同时拉低是USB Type-C接口原有的功能,因此通过复用USB Type-C接口原有的功能来打开调试通道不会影响USB Type-C接口的原有功能。
在一种可能的实现方式中,该CC控制器具体用于:当检测到该CC1引脚和CC2引脚的电压同时拉高或同时拉低时,控制该USB Type-C接口中的第一引脚与该终端设备内部的调试接口连通,其中,该第一引脚为除CC1引脚、CC2引脚之外的其他任意信号线引脚。
在一种可能的实现方式中,该第一引脚为以下引脚中的任意一个或多个引脚:SBU1引脚、SBU2引脚、D+引脚、D-引脚、TX引脚、RX引脚。
在一种可能的实现方式中,所述终端设备还包括待调试模块,该待调试模块用于在调试通道上接收该调试卡发送的VDM,该VDM包括密钥,该密钥用于控制该待调试模块发送调试数据,该调试通道为该USB Type-C接口与该终端设备内部的调试接口连通的通道。
第三方面,提供了一种调试卡,该调试卡包括:USB Type-C接口;第一控制器,用于通过该USB Type-C接口中的CC1引脚和CC2引脚向该终端设备发送第一VDM,以控制该终端设备将该USB Type-C接口与该终端设备内部的调试接口连通。
根据本申请提供的调试卡,调试卡可以向终端设备发送VDM来打开调试通道,从而使调试卡能够在调试通道上对终端设备进行不拆机调试。此外,该VDM是USB Type-C协议中规定的消息,因此通过复用VDM消息打开调试通道不会影响USB Type-C接口的原有功能。
在一种可能的实现方式中,该第一VDM包括该调试卡与该终端设备确定的第一密钥,该第一密钥用于控制该终端设备将该USB Type-C接口与该终端设备内部的调试接口连通。
在VDM消息中也可合入加密认证信息,用于终端设备与调试卡进行加密认证识别,能够避免第三方访问调试接口,有利于提高通信安全性,增强调试接口的信息安全。
在一种可能的实现方式中,该第一控制器还用于:在调试通道上向该终端设备发送第二VDM,该第二VDM包括第二密钥,该第二密钥用于控制该待调试模块发送调试数据,该调试通道为该USB Type-C接口与该终端设备内部的调试接口连通的通道。
在调试通道打开后,调试卡继续向终端设备发送第二密钥进行认证。只有认证成功后,调试卡才能读取终端设备的调试数据进行调试。上述技术方案能够进一步保证通信的安全性。
第四方面,提供了一种调试卡,该调试卡包括:USB Type-C接口,电阻模块,所述电阻模块用于控制该USB Type-C接口中的CC1引脚和CC2引脚上的电压同时拉高或同时拉低,从而控制该终端设备将该USB Type-C接口与该终端设备内部的调试接口连通。
根据本申请提供的调试卡,可以通过控制CC1引脚和CC2引脚上的电压同时拉高或同时拉低来打开调试通道,从而调试卡能够在调试通道上对终端设备进行不拆机调试。此外,CC1引脚和CC2引脚同时拉高或同时拉低属于USB Type-C接口原有的功能,因此通过复用USB Type-C接口原有的功能来打开调试通道不会影响USB Type-C接口的原有功能。
第五方面,提供一种调试方法,包括:接收调试卡发送的第一VDM;根据该第一VDM,控制该USB Type-C接口与该终端设备内部的调试接口连通。
根据本申请提供的调试方法,可以根据调试卡发送的VDM打开调试通道,从而使调试卡能够在调试通道上对终端设备进行不拆机调试。此外,该VDM是USB Type-C协议中规定的消息,因此通过复用VDM消息打开调试通道不会影响USB Type-C接口的原有功能。
在一种可能的实现方式中,该根据该第一VDM,控制该USB Type-C接口与该终端设备内部的调试接口连通,包括:根据该第一VDM,控制该USB Type-C接口中的第一引脚与该终端设备内部的调试接口连通,其中,该第一引脚为除CC1引脚、CC2引脚之外的其他任意信号线引脚。
在一种可能的实现方式中,该第一引脚为以下引脚中的任意一个或多个引脚:SBU1引脚、SBU2引脚、D+引脚、D-引脚、TX引脚、RX引脚。
在一种可能的实现方式中,根据该第一VDM,控制该USB Type-C接口与该终端设备内部的调试接口连通,包括:接收该调试卡发送的该第一VDM,并对该第一VDM进行解码得到第一密钥;根据该第一密钥,控制该USB Type-C接口与该终端设备内部的调试接口连通。
在VDM消息中也可合入加密认证信息,用于终端设备与调试卡进行加密认证识别,能够避免第三方访问调试接口,有利于提高通信安全性,增强调试接口的信息安全。
第六方面,提供一种调试方法,包括:对终端设备的USB Type-C接口中的CC1引脚和CC2引脚上的电压进行检测;当检测到该CC1引脚和CC2引脚的电压同时拉高或同时拉低时,控制该USB Type-C接口与该终端设备内部的调试接口连通。
根据本申请提供的调试方法,可以通过检测CC1引脚和CC2引脚的电压同时拉高或同时拉低来打开调试通道,从而使调试卡能够在调试通道上对终端设备进行不拆机调试。此外,检测CC1引脚和CC2引脚的电压同时拉高或同时拉低是USB Type-C接口原有的功能,因此通过复用USB Type-C接口原有的功能来打开调试通道不会影响USB Type-C接口的原有功能。
在一种可能的实现方式中,该当检测到该CC1引脚和CC2引脚的电压同时拉高或同时拉低时,控制该USB Type-C接口与该终端设备内部的调试接口连通,包括:当检测到该CC1引脚和CC2引脚的电压同时拉高或同时拉低时,控制该USB Type-C接口中的第一引脚与该终端设备内部的调试接口连通,其中,该第一引脚为除CC1引脚、CC2引脚之外的其他任意信号线引脚。
在一种可能的实现方式中,该第一引脚为以下引脚中的任意一个或多个引脚:SBU1引脚、SBU2引脚、D+引脚、D-引脚、TX引脚、RX引脚。
第七方面,提供一种调试方法,包括:通过USB Type-C接口中的CC1引脚和CC2引脚向终端设备发送第一VDM,以控制该终端设备将该USB Type-C接口与该终端设备内部的调试接口连通。
根据本申请提供的调试方法,调试卡可以向终端设备发送VDM来打开调试通道,从而使调试卡能够在调试通道上对终端设备进行不拆机调试。此外,该VDM是USB Type-C协议中规定的消息,因此通过复用VDM消息打开调试通道不会影响USB Type-C接口的原有功能。
在一种可能的实现方式中,该第一VDM包括该调试卡与该终端设备确定的第一密钥,该第一密钥用于控制该终端设备将该USB Type-C接口与该终端设备内部的调试接口连通的通道。
在VDM消息中也可合入加密认证信息,用于终端设备与调试卡进行加密认证识别,能够避免第三方访问调试接口,有利于提高通信安全性,增强调试接口的信息安全。
在一种可能的实现方式中,该调试方法还包括:在调试通道上向该终端设备发送第二VDM,该第二VDM包括第二密钥,该第二密钥用于控制该待调试模块发送调试数据,该调试通道为该USB Type-C接口与该终端设备内部的调试接口连通的通道。
在调试通道打开后,调试卡继续向终端设备发送第二密钥进行认证。只有认证成功后,调试卡才能读取终端设备的调试数据进行调试。上述技术方案能够进一步保证通信的安全性。
第八方面,提供了一种调试方法,该调试方法包括:控制USB Type-C接口中的CC1引脚和CC2引脚上的电压同时拉高或同时拉低,从而控制该终端设备将该USB Type-C接口与该终端设备内部的调试接口连通。
附图说明
图1是本申请实施例提供的一种USB Type-C接口的引脚定义示意图。
图2是本申请实施例提供的一种终端设备的示意性结构图。
图3是本申请实施例提供的一种调试卡的示意性结构图。
图4是本申请实施例提供的一种调试卡与终端设备连接的结构示意图。
图5是本申请实施例提供的一种对终端设备进行调试的示意性流程图。
图6是本申请实施例提供的另一种对终端设备进行调试的示意性流程图。
具体实施方式
本申请提供的技术方案可应用于终端领域。例如,本申请提供的技术方案可应用于基于通用串行总线(universal serial bus;USB)类型(Type)-C接口对终端设备进行调试的场景中。
本申请实施例提及的终端设备可以指用户设备、接入终端、用户单元、用户站、移动站、移动台、远方站、远程终端、移动设备、用户终端、终端、无线通信设备、用户代理或用户装置。终端设备还可以是蜂窝电话、无绳电话、会话启动协议(session initiationprotocol,SIP)电话、无线本地环路(wireless local loop,WLL)站、个人数字处理(personal digital assistant,PDA)、具有无线通信功能的手持设备、计算设备或连接到无线调制解调器的其它处理设备、车载设备、可穿戴设备,未来5G网络中的终端设备或者未来演进的公用陆地移动通信网络(public land mobile network,PLMN)中的终端设备等,本申请实施例对此并不限定。
目前,终端设备的数量越来越多,由于USB Type-C接口具有上下对称的引脚,可以实现正反插的功能,因此越来越多的终端设备采用USB Type-C接口。在产品开发阶段和售后维护阶段,对终端设备的调试有一定的需求。因此,许多开发人员将终端设备的调试功能设置在USB Type-C接口上。
为了方便理解,下面结合图1,对USB Type-C接口中各个引脚的功能和支持的协议进行描述。
TX/RX:也叫做USB3.1数据线。有两组差分信号,用于USB3.1数据传输。
CC1/CC2:USB Type-C接口包含2个配置通道(channel configuration;CC)信号引脚,即CC1引脚和CC2引脚,主要用于功能协商,是Type-C接口中的两个关键引脚。CC1引脚和CC2引脚上的信号可以确定接口插入方向,并可用于协商接口上的供电功能、替代模式和外设模式。
D+/D-:也叫做USB2.0数据线,主要是为了兼容以前的USB2.0标准。有两组差分信号,用于USB2.0数据传输。
SBU1/SBU2:USB Type-C接口中的预留引脚,在不同的应用场景具有不同的用途,例如可以作为音频传输通道或者麦克风传输通道。
GND:用于接地电缆。
VBUS:用于电缆总线电源。
为了避免拆机调试导致终端设备屏幕等部件损坏,传统方案提出了一种不拆机对终端设备进行调试的方案。
传统的调试方案中,开关电路的一端与终端设备的USB Type-C接口相连,另一端与终端设备的处理器相连。开关电路通过检测CC1引脚和CC2引脚的电阻值,将SBU1引脚和SBU2引脚的连接线切换到与终端设备的处理器的通用异步收发传输器(universalasynchronous receiver/transmitter;UART)调试接口相连,从而通过UART调试接口读取终端设备的日志(log)数据对终端设备进行调试。根据USB Type-C标准规定,CC1引脚、CC2引脚是两个关键的引脚,具有区分正反面、协商接口上的供电功能、侦测连接器件等基本功能。传统方案中使CC总线增加额外的具有侦测电阻值的功能,该功能可能会与基本功能发生冲突,影响Type-C接口功能,使电阻侦测容易出现问题。
本申请实施例提供一种可基于USB Type-C接口进行调试的终端设备。该终端设备具有USB Type-C接口,该USB Type-C接口具有支持传输数据的USB功能,以及支持通信等非USB功能。该USB Type-C接口上包含CC1引脚、CC2引脚。CC控制器通过侦测CC1引脚、CC2引脚上的信号来识别外部调试卡,并控制多路开关进行通道切换。例如,CC控制器可以控制多路开关在调试通道与非调试通道(或叫默认通道)之间进行切换。其中,非调试通道是指终端设备在非调试状态下的通道。为方便描述,下文将多路开关中的第一引脚与终端设备内部的调试接口连通的通道称为调试通道,将非调试状态下的通道称为非调试通道。
在多路开关打开调试通道后,调试卡可以通过该调试通道与终端设备进行通信,对终端设备进行简单调试或者深度调试。在进行深度调试时,调试卡与计算机(compute;PC)或其它终端设备(如手机、平板电脑等)相连。此时,调试卡作为转接卡来使用,起到PC与终端设备之间的桥接作用,将该调试通道连接到PC上。PC通过该调试通道读写终端设备的固件等信息,从而对终端设备进行深度调试。
图2是本申请实施例提供的终端设备的示意性结构图。该终端设备200包括Type-C接口210,CC控制器220,以及调试接口230。CC控制器220可以对CC总线进行管理。作为一个示例,CC控制器220可以对CC总线的通信过程进行管理。作为另一个示例,CC控制器220可以对CC总线的工作模式进行管理。
本申请是实施例对启动CC控制器控制多路开关的方式不做具体限定。
作为一个示例,CC控制器在CC总线上接收到到调试卡发送的第一厂家自定义消息(vendor defined message,VDM)后,控制USB Type-C接口与终端设备内部的调试接口连通。该VDM包含两种类型:structured VDM(SVDM),unstructured VDM(UVDM)。其中,该VDM用于产品功能扩展自定义。具体地,该VDM中包括切换指令a,该切换指令a用于控制多路开关从非调试通道切换到调试通道。CC控制器接收到该具有切换指令a的第一VDM后,控制USBType-C接口与终端设备内部的调试接口连通。
其中,终端设备内部的调试接口可以为UART调试接口,也可以为系统管理总线(system management bus;SMBUS)调试接口、集成电路(inter-integrated circuit;I2C)接口或者串行调试(serial wire debug;SWD)接口等。本申请实施例对此不做具体限定。
本申请实施例中,CC控制器控制USB Type-C接口与终端设备内部的调试接口连通。具体为,CC控制器控制多路开关中的第一引脚与终端设备内部的调试接口连通。其中,第一引脚为除CC1引脚、CC2引脚之外的其他任意信号线引脚。
本申请实施例对第一引脚不做具体限定。作为一个示例,该第一引脚为以下引脚中的任意一个引脚:SBU1引脚、SBU2引脚、D+引脚、D-引脚、TX引脚、RX引脚。作为另一个示例,该第一引脚为以下引脚中的任意多个引脚:SBU1引脚、SBU2引脚、D+引脚、D-引脚、TX引脚、DX引脚。例如,该第一引脚可以为D+引脚和D-引脚。又例如,该第一引脚也可以为SBU1引脚和SBU2引脚。再例如,该第一引脚也可以为TX引脚、DX引脚、D+引脚和D-引脚。
对于支持USB PD协议功能的USB Type-C接口,PD协议中定义了VDM(SVDM和UVDM)消息,VDM消息在CC1引脚、CC2引脚上传输。本申请实施例在此基础上,对CC控制器定制固件,使CC控制器在接收到VDM指令后,实现对多路开关进行控制的功能。例如:可以在CC控制器上增加一段程序或者开发一个软件,在CC控制器进入调试模式后,通过调用程序或软件向多路开关发送控制指令。
作为另一个示例,CC控制器在检测到CC1引脚和CC2引脚上的电压同时拉高或拉低时,控制USB Type-C接口与终端设备内部的调试接口连通。
USB Type-C标准协议中规定,CC控制器在检测到CC1引脚和CC2引脚同时拉高或拉低的情况下,CC控制器会进入调试模式。本申请实施例在此基础上,对CC控制器定制固件,使CC控制器在进入调试模式后,实现对多路开关进行控制的功能。例如:可以在CC控制器上增加一段程序或者开发一个软件,在CC控制器进入调试模式后,通过调用程序或软件向多路开关发送控制指令。
本申请实施例对CC控制器控制多路开关的方式不做具体限定。作为一个示例,CC控制器可以通过通用输入/输出(general purpose input output;GPIO)向多路开关发送高/低电平,控制多路开关进行通道切换。作为另一个示例,CC控制器可以通过系统管理总线SMBUS,或者I2C总线向多路开关发送切换指令,控制多路开关进行通道切换。
以D+、D-引脚为例,在非调试模式下,多路开关中的D+、D-信号线是与终端设备中的待调试模块的D+、D-接口相连接。终端设备在连接到调试卡之后,CC控制器可以将多路开关中的D+、D-信号线切换到与终端设备内部的调试接口相连接。这样,USB Type-C接口中的D+、D-引脚被用来作为调试通道。调试卡可以通过D+、D-引脚所连通的调试通道对终端设备进行调试,读取终端设备的调试数据,如读取终端设备的log、寄存器状态,或者读写固件等。其中,该待调试模块可以为系统级芯片(system on chip;SOC),也可以为终端设备中的内部控制器。
此外,在对终端设备进行调试的过程中,可以根据需要将多路开关切换回原来的非调试通道。仍以D+、D-引脚作为调试通道为例,如果在调试过程中,需要使用D+、D-引脚的数据传输功能时,可以通过向CC控制器发送切换指令b,控制多路开关将D+、D-引脚切换为非调试通道。
根据本申请实施例提供的终端设备,调试卡能够基于Type-C接口打开该终端设备的调试通道,从而不需要对终端设备进行拆机就可以对终端设备进行调试,能够避免拆装机繁琐过程带来的麻烦,而且操作简单,能够避免拆机过程造成的屏幕等部件的损坏。此外,本申请实施例复用CC标准协议中的规定去控制多路开关,不需要对CC协议增加额外的逻辑,因此不会与CC协议原有的功能出现干涉,从而不会影响USB Type-C的接口功能。
此外,在调试卡对终端设备调试之前,为了保证终端设备信息的安全性,调试卡与终端设备之间可以进行加密认证。只有认证通过的调试卡才能对终端设备进行调试,从而能够保障通信安全,避免第三方访问调试接口。
作为一个示例,可以对VDM消息采用预设方式进行加密。终端设备收到该VDM后,如果能正确解密该VDM,则表示认证成功。如果不能正确解密该VDM,则表示认证失败。
作为另一个示例,可以在第一VDM消息中合入加解密验证算法进行安全通信。具体地,调试卡向终端设备发送第一VDM,终端设备收到该第一VDM进行解码得到第一密钥,并对该第一密钥进行验证。当该终端设备验证该第一密钥与之前协商的第一初始密钥相一致时,确定该调试卡认证通过。在调试卡认证通过之后,终端设备中的CC控制器去控制多路开关打开调试通道,调试卡才能对终端设备进行调试。其中,该第一密钥可以是对称密钥,也可是非对称密钥,本申请实施例对此不做具体限定。
此外,本申请实施例除了在打开调试通道的过程中进行安全认证外,也可以在打开调试通道之后对调试卡再次进行安全认证,从而进一步地保证通信的安全性。
具体地,多路开关在打开调试通道后,终端设备中的待调试模块可以与调试卡进行通信,对调试卡再次进行安全认证。具体地,在调试通道打开后,调试卡通过调试通道向待调试模块发送第二VDM,该第二VDM中包括第二密钥。待调试模块在收到该第二VDM之后,对该第二VDM进行解码得到第二密钥,并对该第二密钥进行认证。当待调试模块确定该第二密钥与之前协商好的初始密钥一致时,允许调试卡读取待调试模块中的调试信息。例如,如读取待调试模块中的log、寄存器状态,或者读写固件等。其中,该第二密钥可以是对称密钥,也可是非对称密钥,本申请实施例对此不做具体限定。
本申请实施例除了上文描述的通过发送VDM消息来打开调试通道外,还提供了另外一种打开调试通道的方式。
具体,终端设备也可以通过检测CC1引脚和CC2引脚上的电压,来打开调试通道。具体地,调试卡可以通过电阻模块来控制当终端设备中的CC1引脚和CC2引脚上的电压同时拉高或拉低。当CC控制器检测到CC1引脚和CC2引脚上的电压同时拉高或拉低时,控制USBType-C接口与终端设备内部的调试接口连通。
上述技术方案中,调试卡能够在调试通道上对终端设备进行不拆机调试。此外,检测CC1引脚和CC2引脚的电压同时拉高或同时拉低是USB Type-C接口原有的功能,因此通过复用USB Type-C接口原有的功能来打开调试通道不会影响USB Type-C接口的原有功能。
本申请实施例中,CC控制器控制USB Type-C接口与终端设备内部的调试接口连通。具体为,CC控制器控制多路开关中的第一引脚与终端设备内部的调试接口连通。其中,第一引脚为除CC1引脚、CC2引脚之外的其他任意信号线引脚。
本申请实施例对第一引脚不做具体限定。作为一个示例,该第一引脚为以下引脚中的任意一个引脚:SBU1引脚、SBU2引脚、D+引脚、D-引脚、TX引脚、RX引脚。作为另一个示例,该第一引脚为以下引脚中的任意多个引脚:SBU1引脚、SBU2引脚、D+引脚、D-引脚、TX引脚、DX引脚。例如,该第一引脚可以为D+引脚和D-引脚。又例如,该第一引脚也可以为SBU1引脚和SBU2引脚。再例如,该第一引脚也可以为TX引脚、DX引脚、D+引脚和D-引脚。
多路开关在打开调试通道后,终端设备的待调试模块可以与调试卡进行通信,对调试卡再次进行安全认证。具体地,在调试通道打开后,调试卡可以通过调试通道向待调试模块发送第二VDM,该第二VDM中包括第二密钥。待调试模块在收到该第二VDM之后,对该第二VDM进行解码得到第二密钥,并对该第二密钥进行认证。当待调试模块确定该第二密钥与之前协商好的初始密钥一致时,允许调试卡读取待调试模块中的调试信息。例如,如读取待调试模块中的log、寄存器状态,或者读写固件等。
图2仅为终端设备的示意性结构图,本申请实施例并不限于此。例如,终端设备可以将CC控制器与多路开关集成在一个芯片中,这样可以节约制造成本。
图3是本申请实施例提供的调试卡的示意性结构图。该调试卡300包括第一控制器310、USB Type-C接口320。第一控制器310通过USB Type-C接口320与终端设备进行通信,例如第一控制器310可以向终端设备发送VDM或UVDM指令。第一控制器310可以通过USB Type-C接口320对终端设备进行调试,例如读取终端设备的log文件、寄存器状态,或读写固件等。
具体地,当调试卡通过USB Type-C接口与终端设备连接后,第一控制器通过USBType-C接口中的CC1引脚和CC2引脚向终端设备发送VDM或UVDM指令,以控制所述终端设备将所述USB Type-C接口与终端设备内部的调试接口连通。
该调试卡还可以包括切换开关和电阻模块。该切换开关用于在电阻模块和第一控制器之间进行切换。
具体地,在调试卡通过USB Type-C接口与终端设备连接后,切换开关与电阻模块相连接时,电阻模块控制CC1引脚和CC2引脚的电压同时拉高或拉低,以控制终端设备将USBType-C接口与终端设备内部的调试接口连通。切换开关也可以切换到与第一控制器相连接,这时第一控制器可以向终端设备发送VDM,以控制终端设备将USB Type-C接口与终端设备内部的调试接口连通。
下面结合图4-图6,对本申请实施例提供的调试方案进行详细描述。
图4是本申请实施例提供的调试卡与终端设备相连接的结构示意图。该终端设备包括Type-C接口、CC控制器、多路开关、系统复位控制器、SOC以及内部控制器。其中,多路开关的一端与Type-C接口的引脚相连,多路开关的另一端与SOC和/或内部控制器相连。CC控制器通过切换控制总线与多路开关相连。
CC控制器可以实现对CC总线的控制,完成功率传输(power delivery;PD)标准协议。
多路开关:在多路数据传送过程中,能够根据需要将输入端任意一路端口映射到输出端对应端口的电路。多路开关具有非调试通道和调试通道两种通道,可以根据需要在两种通道之间进行切换。非调试通道也可以叫做默认通道。
系统级芯片(system on chip;SOC)也称作片上系统,包含终端设备中的关键部件,可以通过读取SOC的log文件、寄存器状态对终端设备进行调试。
内部控制器:用于控制终端设备的内部逻辑。该内部控制器例如可以为嵌入式控制器(embedded controller;EC)。
系统复位控制器:用于接收系统复位信号,对系统进行复位。
该调试卡包括显示模块、控制模块、第一控制器、切换开关以及电阻模块。该调试卡可用于对终端设备进行简单调试或深度调试。简单调试例如可以是显示终端产品状态灯等。当进行深度调试时,调试卡与PC相连,通过PC对终端设备进行深度调试。此时调试卡当做转接卡之用,起到PC与终端设备之间的桥接作用。
电阻模块:该电阻模块包括两个并联电阻Rd,Rd的电阻值例如可以为5.1kohm。该电阻模块包括两个工作状态,通过开关在两个工作状态之间进行切换,即可以通过开关将电阻模块切换到与电源电缆相连或者与接地电缆相连。当电阻模块与电源相连接时,代表CC1引脚和CC2引脚上的电压同时拉高。当电阻模块切换到接地时,则代表CC1引脚和CC2引脚的电压同时拉低。
切换开关可以选择调试卡与CC控制器的通信方式。例如,切换开关切换到与第一控制器相连,此时第一控制器与CC控制器相连通。调试卡中的第一控制器可以采用与CC控制器VDM通信的方式,控制多路开关。又例如,切换开关切换到与电阻模块相连,此时电阻模块与CC控制器相连通。电阻模块可以控制CC1引脚、CC2引脚的电压同时拉高或拉低,启动CC控制器的调试辅助模式(debug accessory mode),从而来控制多路开关。
第一控制器:用于对终端设备进行简单调试或固件读写。此外,当调试卡与PC相连时,还可以实现PC与终端设备之间的协议转换,使得PC对终端设备进行深度调试或固件读写。
显示模块:用于显示调试状态。该显示模块例如可以为显示屏幕,也可以为指示灯。
控制模块:用于对调试卡的状态进行设定或调试控制之用。例如可以控制第一控制器与终端设备的通信方式。
PC:可用于对终端设备进行深度调试。例如读取终端设备的log、寄存器状态,固件读写等,并记录数据。
下面结合图5,对终端设备的调试过程进行详细描述。
S510、在调试之前,需要准备调试的硬件环境:在终端设备的USB Type-C接口上插入调试卡或转接卡。
S520、CC控制器检测CC1引脚和CC2引脚上的电压是否都是低电压或都是高电压。在插入调试卡之后,CC控制器根据CC1引脚和CC2引脚上的电压信号,判断CC1引脚和CC2引脚上的电压是否同时拉高或同时拉低。
S530、在CC1引脚和CC2引脚上的电压同时拉高或同时拉低的情况下,CC控制器进入debug accessory mode。在CC1引脚和CC2引脚上的电压不是同时拉高或拉低的情况下,CC控制器继续侦测CC1引脚和CC2引脚上的电压信号。
S540、CC控制器进入debug accessory mode后,CC控制器向多路开关发送切换指令。也就是说,CC控制器可以输出控制信号或指令给到多路开关,从而控制多路开关进行通道切换。
S550、多路开关根据控制信号或切换指令,将USB Type-C接口中的第一引脚切换至终端设备的调试接口,从而将调试卡的调试接口与终端设备的调试接口打通。本申请实施例将调试卡的调试接口与终端设备的调试接口连通的通道称为调试通道。该终端设备的调试接口可以为UART接口、SMBUS接口、I2C接口或SWD接口等。
S560、调试卡通过该调试通道,与终端设备内部的SOC和/或内部控制器进行通信,读取log、寄存器状态,读写固件等动作。调试卡对终端设备的调试过程例如可以为显示80口字串,输出UART日志等。
S570、调试完成,解除调试环境。
此外,在步骤560之前,也就是在调试通道打开之后,终端设备可以按照上文描述的方案对调试卡进行安全验证,以增强通信的安全性。
具体地,在调试通道打开后,调试卡通过调试通道向待调试模块发送VDM,该VDM中包括密钥。待调试模块在收到该VDM之后,对该VDM进行解码得到密钥,并对该密钥进行认证。
图6为本申请实施例提供的另一种对终端设备进行调试的方法的流程图。
S610、在调试之前,需要准备调试的硬件环境:在终端设备的USB Type-C接口上插入调试卡或转接卡。
S620、调试卡中的第一控制器通过CC总线向终端设备发送VDM。可选地,该VDM可以包括密钥信息,该密钥信息用于控制终端设备打开调试通道。
S630、CC控制器通过CC总线接收VDM,并对VDM进行解码得到该密钥。CC控制器对该密钥进行验证,以确定认证是否成功。
S640、确认认证是否成功。如果解码认证成功,则往下继续步骤S650;如果解码认证不成功,则返回继续等待步骤S620。
S650、CC控制器输出控制信号或指令给到多路开关,从而控制多路开关进行通道切换。
S660、多路开关将USB Type-C接口中的第一引脚切换至终端设备内部的调试接口,从而将终端设备内部的调试接口与调试卡的调试接口打通。本申请实施例将调试卡的调试接口与终端设备的调试接口连通的通道称为调试通道。该终端设备的调试接口可以为UART接口、SMBUS接口、I2C接口或SWD接口等。
S670、调试卡通过该调试通道,与终端设备内部的SOC或内部控制器进行通信,读取SOC或内部控制器的log文件、寄存器状态,或读写固件等。
S680、调试完成,解除调试环境。
此外,在步骤670之前,也就是在调试通道打开之后,终端设备可以按照上文描述的方案对调试卡再次进行安全验证,以增强通信的安全性。
具体地,在调试通道打开后,调试卡通过调试通道向待调试模块发送第二VDM,该第二VDM中包括第二密钥。待调试模块在收到该第二VDM之后,对该第二VDM进行解码得到第二密钥,并对该第二密钥进行认证。
需要说明的是,对于支持PD协议的终端设备,CC控制器可以为PD控制器,去实现上文描述的CC控制器的相应功能。
本申请实施例提供的技术方案,可以基于USB Type-C接口,实现不拆机调试基本输入输出系统(basic input output system;BIOS)、EC、检查硬件故障,并实现即使EC出现错误时也可以实现读写EC的可擦只读存储器(eraseable read only memory;EROM)、BIOS闪客(flash)内容。
具体地,在CC控制器控制多路开关将第一引脚切换至调试接口(例如SMBUS接口)后,第一控制器通过SMBUS接口向终端设备发送硬件复位指令EC GPIO Reset。此时,RSMRST#恢复至默认状态:低电平。也就是说,将SOC串行外设接口(serial peripheralinterface;SPI)总线切至高阻状态,释放SPI总线的访问权限。另外,EC打开SMBUS至SPIBUS通道,可以通过SMBUS读写EROM、BIOS flash对终端设备进行调试。调试结束后,解除调试环境。
根据本申请实施例提供的技术方案,调试卡不仅可以对终端设备的SOC、内部控制器进行调试,而且可以通过调试通道对SOC或内部控制器周边的硬件进行检查。
具体地,当调试卡通过USB Type-C接口与终端设备相连时,可以独立打开调试卡至SOC UART、EC的SMBUS的调试通道,通过不拆机的方式实现如下功能:通过UART调试BIOS、检查SOC周边硬件故障;通过SMBUS调试EC、检查EC周边硬件故障;通过EC的SMBUS-SPI硬件通道,可以实现读写EROM、BIOS Flash内容。
根据本申请实施例提供的技术方案,可以通过CC控制器固件的定制开发,将调试卡与终端设备内部总线或接口沟通,实现Type C标准功能(供电、USB、DP、HDMI、AudioJack)之外的特殊功能设计。例如,调试卡中的第一控制器可以通过调试通道向终端设备的内部控制器发送恢复指令,从而使内部控制器对终端设备的系统进行恢复。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (6)
1.一种终端设备,其特征在于,包括:
通用串行总线USB Type-C接口;
多路开关;
通道配置CC控制器,用于:
接收调试卡发送的第一厂家自定义消息VDM,并对所述第一VDM进行解码得到第一密钥;
根据所述第一密钥,控制所述USB Type-C接口通过所述多路开关与所述终端设备内部的调试接口连通;
所述CC控制器具体用于:
根据所述第一VDM,控制所述USB Type-C接口中的第一引脚通过所述多路开关与所述终端设备内部的调试接口连通,其中,所述多路开关设置于所述CC控制器与所述终端设备内部的调试接口之间,所述第一引脚为以下引脚中的任意一个或多个引脚:SBU1引脚、SBU2引脚、D+引脚、D-引脚、TX引脚、RX引脚。
2.根据权利要求1所述的终端设备,其特征在于,所述终端设备还包括:
待调试模块,所述待调试模块用于在调试通道上接收所述调试卡发送的第二VDM,所述第二VDM包括第二密钥,所述第二密钥用于控制所述待调试模块发送调试数据,所述调试通道为所述USB Type-C接口通过所述多路开关与所述终端设备内部的调试接口连通的通道。
3.一种终端设备,其特征在于,包括:
通用串行总线USB Type-C接口;
多路开关;
通道配置CC控制器,用于:
对所述USB Type-C接口中的CC1引脚和CC2引脚上的电压进行检测;
当检测到所述CC1引脚和所述CC2引脚的电压同时拉高或同时拉低时,控制所述USBType-C接口通过所述多路开关与所述终端设备内部的调试接口连通;
所述CC控制器具体用于:
当检测到所述CC1引脚和所述CC2引脚的电压同时拉高或同时拉低时,控制所述USBType-C接口中的第一引脚通过所述多路开关与所述终端设备内部的调试接口连通,其中,所述多路开关设置于所述CC控制器与所述终端设备内部的调试接口之间,所述第一引脚为以下引脚中的任意一个或多个引脚:SBU1引脚、SBU2引脚、D+引脚、D-引脚、TX引脚、RX引脚。
4.根据权利要求3所述的终端设备,其特征在于,所述终端设备还包括:
待调试模块,所述待调试模块用于在调试通道上接收调试卡发送的VDM,所述VDM包括密钥,所述密钥用于控制所述待调试模块发送调试数据,所述调试通道为所述USB Type-C接口通过所述多路开关与所述终端设备内部的调试接口连通的通道。
5.一种调试方法,其特征在于,包括:
接收调试卡发送的第一厂家自定义消息VDM,并对所述第一VDM进行解码得到第一密钥;
根据所述第一密钥,控制通用串行总线USB Type-C接口通过多路开关与终端设备内部的调试接口连通;
根据所述第一VDM,控制所述USB Type-C接口中的第一引脚通过所述多路开关与所述终端设备内部的调试接口连通,其中,所述多路开关设置于所述终端设备的通道配置CC控制器与所述终端设备内部的调试接口之间,所述第一引脚为以下引脚中的任意一个或多个引脚:SBU1引脚、SBU2引脚、D+引脚、D-引脚、TX引脚、RX引脚。
6.一种调试方法,其特征在于,包括:
对终端设备的通用串行总线USB Type-C接口中的通道配置CC1引脚和CC2引脚上的电压进行检测;
当检测到所述CC1引脚和所述CC2引脚的电压同时拉高或同时拉低时,控制所述USBType-C接口通过多路开关与所述终端设备内部的调试接口连通,其中,所述多路开关设置于所述终端设备的CC控制器与所述终端设备内部的调试接口之间;
所述当检测到所述CC1引脚和所述CC2引脚的电压同时拉高或同时拉低时,控制所述USB Type-C接口通过多路开关与所述终端设备内部的调试接口连通,包括:
当检测到所述CC1引脚和所述CC2引脚的电压同时拉高或同时拉低时,控制所述USBType-C接口中的第一引脚与所述终端设备内部的调试接口连通,其中,所述第一引脚为以下引脚中的任意一个或多个引脚:SBU1引脚、SBU2引脚、D+引脚、D-引脚、TX引脚、RX引脚。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2018/080582 WO2019183787A1 (zh) | 2018-03-27 | 2018-03-27 | 终端设备、调试卡及调试方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111886585A CN111886585A (zh) | 2020-11-03 |
CN111886585B true CN111886585B (zh) | 2022-12-13 |
Family
ID=68058581
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880091590.XA Active CN111886585B (zh) | 2018-03-27 | 2018-03-27 | 终端设备、调试卡及调试方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN111886585B (zh) |
WO (1) | WO2019183787A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114694326B (zh) * | 2020-12-29 | 2023-08-08 | 腾讯科技(深圳)有限公司 | 人脸支付设备的扩展显示设备及人脸支付系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106484645A (zh) * | 2016-09-21 | 2017-03-08 | 乐视控股(北京)有限公司 | Usb接口模式切换方法、装置及智能终端 |
CN207115402U (zh) * | 2017-08-16 | 2018-03-16 | 广州视源电子科技股份有限公司 | Usb接口电路 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7961885B2 (en) * | 2005-04-20 | 2011-06-14 | Honeywell International Inc. | Encrypted JTAG interface |
US9927486B2 (en) * | 2012-07-09 | 2018-03-27 | Ultrasoc Technologies Ltd. | Debug architecture |
TW201627862A (zh) * | 2015-01-26 | 2016-08-01 | 鴻海精密工業股份有限公司 | 除錯電路、除錯請求電路及除錯系統 |
US10339089B2 (en) * | 2015-10-28 | 2019-07-02 | Qualcomm Incorporated | Enhanced communications over a universal serial bus (USB) type-C cable |
CN108475227B (zh) * | 2016-03-31 | 2020-07-21 | 华为技术有限公司 | 测试功能组件及数据调试方法 |
CN106021150B (zh) * | 2016-04-29 | 2019-02-15 | 青岛海信电器股份有限公司 | Type-C接口设备、通信系统和通信方法 |
CN107783874A (zh) * | 2016-08-26 | 2018-03-09 | 华为技术有限公司 | Jtag调试装置以及jtag调试方法 |
CN107248910A (zh) * | 2017-05-26 | 2017-10-13 | 深圳市金立通信设备有限公司 | 安全保护方法以及设备 |
CN107807892B (zh) * | 2017-11-14 | 2019-12-24 | 深圳增强现实技术有限公司 | 一种usb type-c转usb3.0的方法及转接头 |
-
2018
- 2018-03-27 WO PCT/CN2018/080582 patent/WO2019183787A1/zh active Application Filing
- 2018-03-27 CN CN201880091590.XA patent/CN111886585B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106484645A (zh) * | 2016-09-21 | 2017-03-08 | 乐视控股(北京)有限公司 | Usb接口模式切换方法、装置及智能终端 |
CN207115402U (zh) * | 2017-08-16 | 2018-03-16 | 广州视源电子科技股份有限公司 | Usb接口电路 |
Also Published As
Publication number | Publication date |
---|---|
CN111886585A (zh) | 2020-11-03 |
WO2019183787A1 (zh) | 2019-10-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108259803B (zh) | 电子终端设备、电视终端、信号输入电路及方法 | |
RU2682911C2 (ru) | Двусторонний разъем для вспомогательных устройств | |
AU2007265149B2 (en) | Method and system for authenticating an accessory | |
CN102483728B (zh) | 非对称串行协议的模式之间的取决于设备的选择 | |
US10866920B2 (en) | Method and device for adjusting signal transmission direction in bidirectional ReDriver IC chip | |
US9059906B1 (en) | Data communication interface | |
WO2009091193A2 (ko) | 단일 커넥터로 uart 및 usb 통신을 지원하는 휴대용 단말기 및 그 동작 방법 | |
US20070239924A1 (en) | Electronic device transmitting audio-and-video signals with USB connector | |
US8533380B2 (en) | Apparatus for peer-to-peer communication over a universal serial bus link | |
US20090276546A1 (en) | Techniques for detection and serial communication for a non-usb serial interface over usb connector | |
US8458376B1 (en) | USB peripheral device with automatic mode switch | |
CN111381118B (zh) | 进水检测模块、进水检测方法及终端 | |
CN112799985B (zh) | Usb接口控制方法、usb控制电路及智能网联设备主板 | |
WO2017161750A1 (zh) | 一种移动设备 | |
CN111886585B (zh) | 终端设备、调试卡及调试方法 | |
US20180011809A9 (en) | Mobile device and method for reading uart data | |
CN109346883B (zh) | 一种实现Type-C接口正反插的系统 | |
TWI338840B (en) | Expandable express card and its method for isolating noise and method for combining functionalities of the express card with a non-host device | |
US20110195750A1 (en) | Application expanding docking apparatus and electrical system thereof | |
CN105893296B (zh) | 一种数据信息的传输装置及其方法 | |
US10515025B2 (en) | Communication protocol adapter | |
CN111428227B (zh) | 一种支持读卡的智能密钥设备 | |
CN100547576C (zh) | 快速卡及其隔离噪声方法和与非主机装置机能结合的方法 | |
CN214540750U (zh) | Usb控制电路、智能网联设备主板及电子设备 | |
AU2011253604B2 (en) | Method and system for authenticating an accessory |
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 |