Usb接口复用mhl的方法、装置和电路的制作方法_2

文档序号:9826221阅读:来源:国知局
拔出;
[0062]所述切换电路,还用于在所述MHL驱动检测出所述MHL设备拔出时,将所述USB接口的工作模式切换为USB OTG模式。
[0063]优选地,所述USB接口还包括:USB_DP管脚和USB_DM管脚;所述切换电路包括:转换开关、MHL控制器和USB控制器,其中,所述MHL控制器包括:MHL_DB管脚、MHL_D管脚和CBUS_ID管脚,所述USB OTG控制器包括:USB_ID管脚、USB_DP管脚和USB_DM管脚;
[0064]所述切换电路在将所述USB接口的工作模式切换为MHL模式时,控制所述转换开关将所述USB接口的USB_ID管脚与所述MHL控制器的CBUS_ID管脚连接,将所述USB接口的USB_DP管脚与所述MHL控制器的MHL_D管脚连接,将所述USB接口的USB_DM管脚与所述MHL控制器的MHL_DB管脚连接;
[0065]所述切换电路在将所述USB接口的工作模式切换为USB OTG模式时,控制所述转换开关将所述USB接口的USB_ID管脚与所述USB OTG控制器的USB_ID管脚连接,将所述USB接口的USB_DP管脚与所述USB OTG控制器的USB_DP管脚连接,将所述USB接口的USB_DM管脚与所述USBOTG控制器的USB_DM管脚连接。
[0066]与现有技术相比,本发明包括以下优点:
[0067]本发明中USB接口的工作模式兼容USB OTG模式和MHL模式,且默认工作模式为USB OTG模式,当有USB OTG设备或MHL设备插入USB接口时将产生中断信号,USB OTG驱动在接收到该中断信号后,首先调用MHL回调函数,然后由MHL驱动通过执行该MHL回调函数以检测插入的外部设备是否为MHL设备,当MHL回调函数的返回结果是外部设备为MHL设备时,MHL驱动将USB接口的工作模式切换为MHL模式。综上,本发明能够准确识别出外部设备的类型,进而实现USB接口工作模式的准确切换,换种表述方式来讲,通过USB OTG驱动响应外部中断的形式调用预先注册在其中的MHL回调函数,进而转由MHL驱动执行该MHL回调函数以检测外部设备的类型,最终完成USB OTG模式和MHL模式之间的切换,其中检测和切换过程均在MHL驱动侧执行,因此能够减少对原有USB OTG驱动的影响,保证USB代码的完整性。
【附图说明】
[0068]图1是本发明实施例一的一种USB接口复用MHL的方法的流程图;
[0069]图2是本发明实施例二的一种USB接口复用MHL的方法的流程图;
[0070]图3是本发明实施例二的一种逻辑控制示意图;
[0071]图4是本发明实施例三的一种USB接口复用MHL的装置的结构框图;
[0072]图5是本发明实施例四的一种USB接口复用MHL的电路的结构框图;
[0073]图6是本发明实施例四的一种切换电路的连接示意图。
【具体实施方式】
[0074]为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和【具体实施方式】对本发明作进一步详细的说明。
[0075]为了能够在移动终端上实现MHL功能,同时又能够避免增加移动终端上硬件接口的数量,可以考虑采用已有的USB接口复用MHL。但是这样就需要在外部设备插入USB接口时,识别该外部设备的类型,以保证能够准确切换到USB接口的对应工作模式。本发明即提出了一种USB接口复用MHL的方法、装置和电路,能够准确识别出外部设备的类型,完成USB接口的工作模式切换。
[0076]本发明的USB接口兼容USB OTG模式和MHL模式这两种工作模式,其中,在USB OTG模式工作时所运行的是USB OTG驱动(0TG是On-The-Go的缩写,主要应用于各种不同的设备或移动设备间的联接,进行数据交换,OTG技术就是在没有Host的情况下,实现设备间的数据传送),而在MHL模式工作时所运行的是MHL驱动。USB接口的默认工作模式为USBOTG模式,因此在有外部设备插入USB接口时,首先运行的是USBOTG驱动。下面,通过以下各个实施例分别对本发明中USB接口复用MHL的方法、装置和电路进行详细介绍。
[0077]实施例一:
[0078]参照图1,示出了本发明实施例一的一种USB接口复用MHL的方法的流程图,该方法具体可以包括以下步骤:
[0079]步骤101,USB OTG驱动在接收到中断信号后,调用MHL回调函数。
[0080]本发明实施例中的USB接口可以为安装于移动终端如手机上的接口,安装有该USB 接口的设备为 host (主机)。USB 接口可以包括 VBUS、USB_ID、USB_DP、USB_DM 和 GND这五个管脚,其中,USB_ID管脚的常态为高电平,该管脚的电平变化会触发中断程序。当有USB OTG设备或者MHL设备插入该USB接口时,会将该USB_ID管脚的电平拉低(即USB_ID管脚的电平变为低电平),从而产生USB_ID中断信号。如果是其他设备,例如只用于被供电的设备(如USB电风扇)、普通的U盘等插入到该USB接口后,不会将USB_ID管脚的电平拉低,因此也不会产生USB_ID中断信号。需要说明的是,本文中的中断信号均是指由于USB OTG设备或者MHL设备插入USB接口而将USB_ID管脚的电平拉低后所产生的USB_ID中断信号。因此,如果有外部设备插入到USB接口,且又产生USB_ID中断信号,则USB OTG驱动将会在接收到该USB_ID中断信号后调用MHL回调函数。
[0081]该MHL回调函数由MHL驱动预先嵌套注册在USB OTG驱动的ID event work函数中,在响应中断后以供ID event work函数的调用,且该MHL回调函数的返回值对USB OTG驱动的进一步执行动作起到指示作用。
[0082]步骤102,MHL驱动通过执行所述MHL回调函数以检测所述外部设备是否为MHL设备。
[0083]由于USB接口的工作模式兼容USB OTG模式和MHL模式,因此需要检测插入该USB接口的外部设备是何种类型。本发明实施例中,在MHL驱动侧通过执行上述被USB OTG驱动所调用的MHL回调函数以检测外部设备是否为MHL设备,而无需通过原有的USB OTG驱动进行检测。
[0084]步骤103,MHL驱动在所述MHL回调函数的检测结果是所述外部设备为MHL设备时,将所述USB接口的工作模式切换为MHL模式。
[0085]在步骤102中MHL回调函数的检测结果是所述外部设备为MHL设备时,MHL驱动将所述USB接口的工作模式切换为MHL模式。
[0086]本发明实施例USB接口复用MHL的方法,能够准确识别出外部设备的类型,实现USB接口工作模式的准确切换,并且默认工作模式为USB OTG模式,通过USB OTG驱动调用MHL回调函数,再通过MHL驱动执行该MHL回调函数以检测外部设备的类型并进行工作模式的切换,因此能够减少对原有USB OTG驱动的影响,保证USB代码的完整性。
[0087]实施例二:
[0088]参照图2,示出了本发明实施例二的一种USB接口复用MHL的方法的流程图,该方法具体可以包括以下步骤:
[0089]步骤201,初始化。
[0090]本发明实施例中,终端上的USB接口的工作模式能够兼容USB OTG模式和MHL模式,即通过该USB接口既可以实现USB数据的传输,也可以实现MHL数据的传输,从而可以减少硬件接口的数量,简化终端的结构。本发明实施例可以基于Linux (Linux是一套类Unix操作系统)的软件框架模型实现。在USB OTG模式工作时所运行的是USB OTG驱动,在MHL模式工作时所运行的是MHL驱动。在系统软件初始化过程中,针对两种工作模式会在各自的驱动中注册相应的函数,在USB OTG驱动初始化时,会注册监听中断信号的监听函数和调用MHL回调函数的ID事件操作函数(ID event work函数);在MHL驱动初始化时,会注册被USB OTG驱动调用的MHL回调函数,并将该MHL回调函数注册到USB OTG驱动中。
[0091]回调函数就是一个通过函数指针调用的函数。如果把某个函数的指针(地址)作为参数传递给另一个函数,当这个指针被用为调用它所指向的函数时,此时即可称该函数为回调函数。回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进行响应。首先,定义MHL回调函数;然后提供函数实现的一方(MHL驱动)在初始化的时候,将回调函数的函数指针注册给调用者(USBOTG驱动);当特定的事件或条件发生的时候,调用者使用函数指针调用回调函数对事件进行处理。
[0092]步骤202,USB OTG驱动在接收到中断信号后,调用MHL回调函数。
[0093]当USB OTG设备或者MHL设备插入移动终端的USB接口时,USB接口的USB_ID管脚变为低电平,此时硬件会上报关于USB_ID管脚的中断信号。由于USB接口默认工作模式为USB OTG模式,即运行USB OTG驱动,因此首先通过USB OTG驱动来处理该中断信号。USBOTG驱动中注册的监听函数接收到该中断信号后,将调用ID event work函数,并通过该IDevent work函数调用预先注册的MHL回调函数。
当前第2页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1