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

文档序号:9826221阅读:来源:国知局
]调用模块4011,用于在接收到中断信号后,调用MHL回调函数;其中,所述中断信号为外部设备插入USB接口时所产生,所述MHL回调函数由MHL驱动预先注册在所述USBOTG驱动中;
[0124]MHL驱动单元402可以包括:
[0125]第一检测模块4021,用于通过执行所述MHL回调函数以检测所述外部设备是否为MHL设备;
[0126]第一切换模块4022,用于在所述MHL回调函数的检测结果是所述外部设备为MHL设备时,将所述USB接口的工作模式切换为MHL模式。
[0127]本发明实施例中,USB接口可以包括USB_ID、VBUS、USB_DP、USB_DM和GND这五个管脚连接。
[0128]在本发明的一种优选实施例中,MHL驱动单元还可以包括:
[0129]第二检测模块,用于在所述第一切换模块将所述USB接口的工作模式切换为MHL模式之后,检测所述MHL设备是否拔出;
[0130]第二切换模块,用于在所述第二检测模块检测出所述MHL设备拔出时,将所述USB接口的工作模式切换为USB OTG模式;
[0131]返回模块,用于在所述第一检测模块通过执行所述MHL回调函数以检测所述外部设备是否为MHL设备之后,将所述MHL回调函数的检测结果返回至USB OTG驱动。
[0132]USB OTG驱动单元还可以包括:
[0133]处理模块,用于在所述MHL回调函数的检测结果是所述外部设备不为MHL设备时,保留所述USB接口的USB OTG模式;在所述MHL回调函数的检测结果是所述外部设备为MHL设备时,停止运行。
[0134]在本发明的一种优选实施例中,第一检测模块可以包括以下子模块:
[0135]状态检测子模块,用于通过执行所述MHL回调函数以检测所述USB_ID管脚的状态;
[0136]电阻读取子模块,用于在所述USB_ID管脚为低电平时,读取所述USB_ID管脚的对地电阻;
[0137]设备确定子模块,用于在所述USB_ID管脚的对地电阻的阻值为1ΚΩ时,确定所述外部设备为MHL设备;否则,确定所述外部设备不为MHL设备。
[0138]第二检测模块可以包括以下子模块:
[0139]电平检测子模块,用于检测所述USB_ID管脚的电平;
[0140]拔出确定子模块,用于在检测到所述USB_ID管脚的电平为高电平时确定所述MHL设备拔出。
[0141]其中,USB接口连接有转换开关,第一切换模块,用于控制所述转换开关切换到对应的MHL控制器,选通所述USB接口的MHL通路,通过所述MHL通路传输MHL数据;第二切换模块,用于控制所述转换开关切换到对应的USB OTG控制器,选通所述USB接口的USB OTG通路,通过所述USB OTG通路传输USB数据。
[0142]本发明实施例中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代码的完整性。
[0143]对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0144]实施例四:
[0145]参照图5,示出了本发明实施例四的一种USB接口复用MHL的电路的结构框图,该电路具体可以包括:
[0146]检测电路501,用于检测USB接口中USB_ID管脚的电平,并在检测到所述USB_ID管脚的电平为低电平时产生中断信号;
[0147]触发电路502,用于在接收到所述中断信号后,触发USB OTG驱动调用MHL回调函数,以及触发MHL驱动通过执行所述MHL回调函数以检测所述外部设备是否为MHL设备,所述MHL回调函数由MHL驱动预先注册在所述USB OTG驱动中;
[0148]切换电路503,用于在所述MHL回调函数的检测结果是所述外部设备为MHL设备时,将所述USB接口的工作模式切换为MHL模式。
[0149]在本发明的一种优选实施例中,所述触发电路,还用于在MHL驱动通过执行所述MHL回调函数以检测所述外部设备是否为MHL设备之后,触发MHL驱动将所述MHL回调函数的检测结果返回至USB OTG驱动,以及,触发USB OTG驱动在所述MHL回调函数的检测结果是所述外部设备不为MHL设备时保留所述USB接口的USB OTG模式,在所述MHL回调函数的检测结果是所述外部设备为MHL设备时停止运行。
[0150]所述触发电路,还用于在所述切换电路将所述USB接口的工作模式切换为MHL模式之后,触发MHL驱动检测所述MHL设备是否拔出;所述切换电路,还用于在所述MHL驱动检测出所述MHL设备拔出时,将所述USB接口的工作模式切换为USB OTG模式。
[0151]在本发明的一种优选实施例中,MHL驱动在通过执行所述MHL回调函数以检测所述外部设备是否为MHL设备时,具体用于通过执行所述MHL回调函数检测所述USB_ID管脚的状态;在所述USB_ID管脚为低电平时,读取所述USB_ID管脚的对地电阻;在所述USB_ID管脚的对地电阻的阻值为1ΚΩ时,确定所述外部设备为MHL设备;否则,确定所述外部设备不为MHL设备。
[0152]参照图6,示出了本发明实施例四的一种切换电路的连接示意图。
[0153]本发明实施例中,切换电路与USB接口连接,USB接口包括USB_ID、VBUS、USB_DP、USB_DM和GND这五个管脚连接,其中,正常工作时VBUS管脚的电压为5V,GND管脚接地。该切换电路可以包括:转换开关、MHL控制器和USB OTG控制器,其中,MHL控制器包括:MHL_DB管脚、MHL_D管脚和CBUS_ID管脚,USB控制器包括:USB_ID管脚、USB_DP管脚和USB_DM管脚。
[0154]切换电路在将所述USB接口的工作模式切换为MHL模式时,控制所述转换开关将所述USB接口的USB_ID管脚与所述MHL控制器的CBUS_ID管脚连接,将所述USB接口的USB_DP管脚与所述MHL控制器的MHL_D管脚连接,将所述USB接口的USB_DM管脚与所述MHL控制器的MHL_DB管脚连接;
[0155]切换电路在将所述USB接口的工作模式切换为USB模式时,控制所述转换开关将所述USB接口的USB_ID管脚与所述USB OTG控制器的USB_ID管脚连接,将所述USB接口的USB_DP管脚与所述USB OTG控制器的USB_DP管脚连接,将所述USB接口的USB_DM管脚与所述USB OTG控制器的USB_DM管脚连接。
[0156]本发明实施例中,无需单独设置检测程序,利用回调函数机制,可以使复用USB接口的设备执行检测功能,能够保证USB代码的完整性,从而不影响USB OTG驱动的检测和其他功能,能够降低模块间的耦合性,还可以自如地添加更多USB接口复用的设备。
[0157]对于该电路实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0158]本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
[0159]本发明可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本发明,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
[0160]最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
[0161]以上对本发明所提供的USB接口复用MHL的方法、装置和电路,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助
当前第4页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1