发明内容
鉴于上述现有技术的不足之处,本发明的目的在于提供一种具有OTG(On-The-Go)功能的终端,以解决现有技术中四线制的USB接口的工作模式固定、不能识别外设类型的问题。
为了达到上述目的,本发明采取了以下技术方案:
一种具有OTG功能的终端,用于接入外设时、根据外设的接口类型切换工作模式,其包括CPU、USB OTG接口、VBUS电源模块和采样单元,所述USB OTG接口、采样单元、VBUS电源模块、CPU依次连接,所述CPU连接采样单元和USB OTG接口;
所述采样单元用于对VBUS电源模块的输出电流进行采样并输出采样结果给CPU;CPU根据采样结果判断外设的接口类型,根据外设的接口类型输出相应的使能信号控制VBUS电源模块的工作状态、以及输出相应的驱动信号转换USB OTG接口的工作模式;USB OTG接口根据CPU输出的驱动信号控制USB OTG接口在USB Slave工作模式与USB Host工作模式之间进行转换;VBUS电源模块根据CPU输出的使能信号控制对USB OTG接口的供电状态。
所述的具有OTG功能的终端中,还包括保护单元,用于当外设与USB OTG接口的USB Host工作模式不匹配时,防止外设的电流倒灌至VBUS电源模块。
所述的具有OTG功能的终端中,所述采样单元包括第一电阻和电压比较放大器,所述电压比较放大器的正向输入端连接第一电阻的一端和VBUS电源模块的输出端,电压比较放大器的反向输入端连接第一电阻的另一端和USB OTG接口的VBUS脚,电压比较放大器的输出端连接CPU的ADC_IN脚。
所述的具有OTG功能的终端中,所述第一电阻为阻值小于1Ω的精密电阻。
所述的具有OTG功能的终端中,电压比较放大器对第一电阻两端的电压差放大后作为采样结果输入CPU,CPU对放大后的电压差进行模数转换、量化后得到压差值;CPU根据电压差、第一电阻的阻值以及电压比较放大器的放大倍数计算出流过第一电阻的电流,根据电流的大小判断外设的接入状态以及外设的接口类型。
所述的具有OTG功能的终端中,所述保护单元包括第一二极管,所述第一二极管的正极连接第一电阻的另一端,第一二极管的负极连接USB OTG接口的VBUS脚。
所述的具有OTG功能的终端中,所述采样单元还包括第二电阻、第三电阻和第四电阻,所述第二电阻连接在电压比较放大器的反向输入端和第一电阻的另一端之间,所述第三电阻连接在电压比较放大器的正向输入端和第一电阻的一端之间,所述第四电阻连接在电压比较放大器的反向输入端和电压比较放大器的输出端之间。
所述的具有OTG功能的终端中,所述采样单元还包括第五电阻,所述第五电阻连接在电压比较放大器的输出端与CPU的ADC_IN脚之间;所述第二电阻与第三电阻的阻值相等。
所述的具有OTG功能的终端中,所述VBUS电源模块包括限流器、电压转换器和振荡线圈,所述限流器的IN脚连接***电源,限流器的EN脚连接CPU的OTG_DRV脚,限流器的OUT脚连接电压转换器的VIN脚和EN脚、还通过振荡线圈连接电压转换器的LX脚,所述电压转换器的LX脚连接第一电阻的一端。
所述的具有OTG功能的终端中,所述VBUS电源模块还包括第六电阻和第一电容,所述第六电阻的一端连接限流器的EN脚、还通过第一电容接地,第六电阻的另一端连接CPU的OTG_DRV脚。
相较于现有技术,本发明提供的具有OTG功能的终端,在接入外设时,采样单元对VBUS电源模块的输出电流进行采样并输出采样结果给CPU。CPU根据采样结果判断外设的接口类型,根据外设的接口类型输出相应的使能信号控制VBUS电源模块的工作状态、以及输出相应的驱动信号转换USB OTG接口的工作模式;在四线制的USB接口上实现了USB OTG功能;其无需增加USB接口的数据线或改变USB接口的外形就能实现外设接口类型的检测并自动转换为相应的工作模式,能兼容现有的四线制USB插头,适用范围较广,兼容性较高。
具体实施方式
本发明提供一种具有OTG功能的终端,为使本发明的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
请参阅图1,本发明提供的具有OTG功能的终端为具有USB接口的终端,如智能手机、平板电脑等智能设备,其包括CPU、USB OTG接口J1、采样单元100和VBUS电源模块200。所述USB OTG接口、采样单元、VBUS电源模块、CPU依次连接,所述CPU连接采样单元和USB OTG接口。当外设接入时,采样单元100对VBUS电源模块200的输出电流进行采样并输出采样结果给CPU。CPU根据采样结果判断外设的接口类型,根据外设的接口类型输出相应的使能信号控制VBUS电源模块200的工作状态、以及输出相应的驱动信号转换USB OTG接口J1的工作模式。若无电流输出,则外设为USB Host接口, CPU控制USB OTG接口为USB Slave工作模式,同时CPU控制VBUS电源模块200停止对USB OTG接口供电,此时由外设对终端供电。若有电流输出,则外设为USB Slave接口, CPU控制USB OTG接口为USB Host工作模式,同时CPU控制VBUS电源模块200对USB OTG接口供电,此时由终端对外设供电。
本实施例中,所述采样单元100包括第一电阻R1和电压比较放大器U1,所述电压比较放大器U1的正向输入端连接第一电阻R1的一端和VBUS电源模块200的输出端1,电压比较放大器U1的反向输入端连接第一电阻R1的另一端和USB OTG接口J1的VBUS脚,电压比较放大器U1的输出端连接CPU的ADC_IN脚。
其中,第一电阻R1用于检测VBUS电源模块200是否有电流输出。根据电流的大小即可判断外设的接入状态以及外设的接口类型,有如下3种情况:
1、当外部无连接时,VBUS电源模块200的输出悬空,没有电流产生。
2、当外部连接的是USB Host接口的外设时,外设与VBUS电源模块200同时向USB OTG接口J1的VBUS脚上输入电压,第一电阻R1两端的压降为0,也没有电流流过。此时CPU通过USB OTG接口J1的D+脚和D-脚按USB协议枚举出外设,USB OTG接口J1进入USB Slave工作模式。此时CPU关闭VBUS电源模块200,停止其供电。
3、当外部连接的是 USB Slave接口的外设时,该外设通过USB OTG接口J1的VBUS脚取电,终端的VBUS电源模块200对外设供电。此时供电电流通过第一电阻R1时,会在其两端产生电压差。电压比较放大器U1采集第一电阻R1两端上的电压,对两个电压进行比较,将电压差放大后作为采样结果输入CPU的ADC_IN脚(即模数转换接口),CPU对放大后的电压差进行模数转换后转换成数字信号、量化得到压差值。CPU根据电压差、第一电阻的阻值以及电压比较放大器的放大倍数计算出流过第一电阻的电流。CPU检测到该电流值判断USB Slave接口的外设接入,USB OTG接口J1进入USB Host工作模式,此时CPU控制VBUS电源模块200保持供电状态。其中,电流计算公式为I=V/(A*R),其中,V为输入CPU的ADC_IN脚的电压差,A为电压比较放大器U1的放大倍数,R为第一电阻R1的阻值。
在具体实施时,由于VBUS电源模块200有时需要对外设供电,为了不影响供电效率,所述第一电阻R1的阻值要小,且必须稳定才能采集到电流的压降。较优地,所述第一电阻R1采用阻值小于1Ω的精密电阻,如0.1Ω,这样即可最小程度地影响VBUS供电,同时又能满足电流测量的需求。
当外设对终端供电时,为了避免外设的电流倒灌至VBUS电源模块200,所述终端还包括保护单元300,用于当外设与USB OTG接口J1的USB Host工作模式不匹配时(即两者在USB Host工作模式下碰撞),防止外设的电流倒灌至VBUS电源模块200,影响终端内容正常工作。本实施例中,所述保护单元300包括第一二极管D1,所述第一二极管D1的正极连接第一电阻R1的另一端,第一二极管D1的负极连接USB OTG接口J1的VBUS脚,通过第一二极管D1的连接方式使VBUS电源模块200只能单向电流输出,对外设输入的逆向电流进行截止,避免外部电流倒灌。
请同时参阅图2,为了获取较好的输入信号,并对USB OTG接口的输入端进行保护,所述终端还包括第一保护二极管ESD1、第二保护二极管ESD2、第三保护二极管ESD3和共模抑制线圈FB1。所述USB OTG接口J1的VBUS脚通过第一保护二极管ESD1接地,USB OTG接口J1的D+脚连接共模抑制线圈FB1的第1端、还通过第二保护二极管ESD2接地;USB OTG接口J1的D-脚连接共模抑制线圈FB1的第3端、还通过第三保护二极管ESD3接地。共模抑制线圈FB1的第2端连接CPU的OTG_DP脚,共模抑制线圈FB1的第4端连接CPU的OTG_DM脚。第一保护二极管ESD1、第二保护二极管ESD2、第三保护二极管ESD3能起到静电保护作用,共模抑制线圈FB1起到滤波作用,优化了外设与终端之间传输的数据信号的波形。
所述采样单元100还包括第二电阻R2、第三电阻R3和第四电阻R4,所述第二电阻R2连接在电压比较放大器U1的反向输入端和第一电阻R1的另一端之间,所述第三电阻R3连接在电压比较放大器U1的正向输入端和第一电阻R1的一端之间,所述第四电阻R4连接在电压比较放大器U1的反向输入端和电压比较放大器U1的输出端之间。所述第二电阻R2和第四电阻R4的阻值决定了电压比较放大器U1的放大倍数。所述第二电阻R2与第三电阻R3的阻值相等,用于平衡输入阻抗,使电压差的比较结果更准确。
为了保护终端,所述采样单元还包括第五电阻R5,所述第五电阻R5连接在电压比较放大器U1的输出端与CPU的ADC_IN脚之间。当外设故障或VBUS电源模块200故障产生大电流时,通过第五电阻R5限流可避免大电流对CPU的损坏。
本实施例中,所述VBUS电源模块200包括限流器U2、电压转换器U3和振荡线圈L1,所述限流器U2的IN脚连接***电源,限流器U2的EN脚(即VBUS电源模块200的输入端2)连接CPU的OTG_DRV脚,限流器U2的OUT脚连接电压转换器U3的VIN脚和EN脚、还通过振荡线圈L1连接电压转换器U3的LX脚,所述电压转换器U3的LX脚连接第一电阻的一端。
所述限流器U2用于限制VBUS电源模块200输出的最大电流,其将***电源提供的电源电压传输给电压转换器U3进行DC/DC转换,电压转换器U3为直流到直流的电压转换器,其输出的电压通过第一电阻R2和第一二极管D1后给USB OTG接口J1供电。限流器U2根据其EN脚输入的CPU传输的使能信号来控制VBUS电源模块200的启闭。当出现短路时可通过限流器U2关闭电压转换器U3,使VBUS电源模块200停止供电,实现短路保护。
为了避免控制启闭时的误动作,所述VBUS电源模块200还包括第六电阻R6和第一电容C1,所述第六电阻R6的一端连接限流器U2的EN脚、还通过第一电容C1接地,第六电阻R6的另一端连接CPU的OTG_DRV脚。由第六电阻R6和第一电容C1组成的RC滤波电路进行低通滤波,能减少干扰,准确采集CPU输出的使能信号。
为了确保电源电压的稳定性,所述VBUS电源模块200还包括第二电容C2,所述第二电容C2的一端连接***电源和限流器U2的IN脚,第二电容C2的另一端接地。第二电容C2可对输入的电源电压实现滤波稳压的作用。
在具体实施时,所述VBUS电源模块200还包括第三电容C3、第四电容C4、第五电容C5和第六电容C6。所述第三电容C3和第四电容C4并联在限流器U2的OUT脚与地之间,对限流器U2输出的电压进行滤波、平滑。所述第五电容C5和第六电容C6并联在电压转换器U3的LX脚与地之间,对电压转换器U3输出的电压进行滤波。
请同时参阅图1和图2,在具体实施时, USB OTG接口J1的缺省工作状态设置为USB Slave工作模式,VBUS电源模块200设置为+5V输出模式;由CPU的OTG_DM脚和OTG_DP脚输出相应的指令通过USB OTG接口J1的D+/D-脚实现。
当外部连接USB Host接口设备时,USB OTG接口J1默认的是USB Slave工作模式,这两个接口匹配。此时CPU通过USB OTG接口J1的D+/D-脚枚举出外部的USB Host接口设备的接入并进行相应的操作。同时,由于外部的USB Host接口设备和VBUS电源模块200都在对USB OTG接口J1的VBUS脚供电,第一电阻R1上没有产生电流,也就没有电压差,电压比较放大器U1输出低电平。CPU获取该低电平后量化得到的压差值为0,即电流为0。CPU的OTG_DRV脚输出低电平的使能信号给限流器U2,使限流器U2关闭,停止将***电源传输的电源电压提供给电压转换器U3。电压转换器U3不工作,无输出,相当于VBUS电源模块200关闭,停止对USB OTG接口J1的VBUS脚供电。USB OTG接口J1保持USB Slave工作模式。
当外部连接的是USB Slave接口设备时,由于USB OTG接口J1默认的是USB Slave工作模式,这两个接口不匹配。USB Slave接口设备通过USB OTG接口J1的VBUS脚取电,终端的VBUS电源模块200对外供电。此时有电流流过第一电阻R1,产生了压降,第一电阻R1两端的电压差经过电压比较放大器U1放大后进入CPU的ADC_IN脚。CPU对放大后的电压差进行模数转换后量化得到压差值,根据公式I=V/(A*R)计算出电流的大小,根据电流值判定外部有USB Slave接口设备接入,CPU立即驱动USB OTG接口J1将其工作模式切换为USB Host工作模式,并枚举USB Slave接口设备的接入,枚举出后再根据需要进行相关的USB操作。此时CPU输出高电平的使能信号给限流器U2,保持VBUS电源模块200的供电状态。
综上所述,本发明提供的具有OTG功能的终端,采用了USB OTG接口,通过在USB OTG接口的VBUS脚与VBUS电源模块的输出端之间串联一个小阻值的精密电阻(即第一电阻),当有电流流过该电阻时产生压降,通过检测该压降即可判断外设的接口模式,从而自动切换为相应的工作模式来与外设匹配,在四线制的USB接口上实现了USB OTG功能;其无需增加USB接口的数据线或改变USB接口的外形就能实现外设接口类型的检测,能兼容现有的四线制USB插头,适用范围较广,兼容性较高,同时还通过第一二极管实现了电流防倒灌,保护了终端的正常工作,提高了***的稳定性和可靠性。
可以理解的是,对本领域普通技术人员来说,可以根据本发明的技术方案及其发明构思加以等同替换或改变,而所有这些改变或替换都应属于本发明所附的权利要求的保护范围。