首页 专利交易 科技果 科技人才 科技服务 国际服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

基于MHL实现SINK设备与智能移动设备互联的方法及系统 

买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!

申请/专利权人:深圳市航盛电子股份有限公司

摘要:本发明提供一种基于MHL实现SINK设备与智能移动设备互联的方法及系统,属于信息传输领域。本发明方法包括如下步骤:判断是否发生MHL电气discovery中断,如果是,执行MHL边带通道连接发现操作;判断是否收到abort命令,如果是,复位寄存器状态和重启discovery序列;判断Responder Rx是否接收到数据中断信号,如果是,执行Responder Rx循环操作,获取变量Read_devcap的值;判断Requester Rx是否接收到数据中断信号,如果是,读取Requester Rx缓冲区的命令和数据;判断变量Read_devcap的值是否等于1,如果是,通过MHL边带通道命令连续读取智能移动设备source端的capability寄存器的值。本发明采用软件的方式进行手机互联,解决了目前只能通过硬件实现的方案来进行MHL手机互联问题,能够跨平台移植。

主权项:1.基于MHL实现SINK设备与智能移动设备互联的方法,其特征在于包括如下步骤:S1:开始,判断是否发生MHL电气discovery中断,如果是,执行SINK设备与智能移动设备的MHL边带通道连接发现操作,然后执行步骤S2,如果否,直接执行步骤S2;S2:判断是否收到abort命令,如果是,复位寄存器状态和重启discovery序列,然后执行步骤S3,如果否,直接执行步骤S3;S3:判断当处于Responder Rx状态时,是否接收到数据中断信号,如果是,执行Responder Rx循环操作,获取变量Read_devcap的值,然后执行步骤S4,如果否,直接执行步骤S4;S4:判断当处于Requester Rx状态时,是否接收到数据中断信号,如果是,读取Requester Rx状态缓冲区的命令和数据,然后执行步骤S5,如果否,直接执行步骤S5;S5:判断变量Read_devcap的值是否等于1,如果是,通过MHL边带通道命令连续读取智能移动设备source端的capability寄存器的值,结束,如果否,直接结束。

全文数据:基于MHL实现SINK设备与智能移动设备互联的方法及系统技术领域本发明涉及一种数据传输方法及系统,尤其涉及一种基于MHL实现SINK设备与智能移动设备互联的方法及系统。背景技术智能移动设备比如手机与SINK设备通讯的方式主要通过以下几种:mirrorlink是基于RFB3.8RemoteFrameBuffer,远程缓冲区的开放协议,对手机厂商的依赖性比较强,需要手机厂商预先安装相关的APPapplication,应用软件。它是采用H.26x的视频压缩后进行数据传输,因此具有低码率等特点,视频质量其实难以保证。miracast是面向各种WI-FI设备,采用WI-FIdirect技术,无需接入热点和路由器。缺点不能给手机充电,并且耗电量较高。carplay是美国苹果公司开发的车载系统,虽然在互联投射画面质量以及回控操作流畅性上很高,但是它只能支持基于IOSInternetworkOperatingSystem,互联网操作系统操作系统的设备,例如Iphone、Ipad、Ipod等等,因此局限性较大。usblink是由各个厂家定义的私有互联协议,例如RealVNC公司自己开发的VNCEnhance模式,它是基于RFB4.1协议的私有方案,主要用于类似于applink的场景需求,虽然比起Mirrorlink协议在速度、加密和可扩展性上面有较大的提高,并且对手机厂商的依赖性比较小不像Mirrorlink的支持还需要手机厂商预安装,但是它的一次性整套的解决方案价格较贵,并且量产之后每台还需支付一定的专利费用。HDMIHighDefinitionMultimediaInterface,高清晰度多媒体接口和MHLMobileHigh-DefinitionLink,移动终端高清影音标准接口在技术上虽然已经发展了很多年,但是在车载电子上面的应用还是在近几年,并且更重要的是HDMI和MHL技术是不依赖于硬件平台和软件操作系统的,无论是在CSR的Prima2处理芯片上面跑WinCE系统还是Android系统,还是在Freescale的I.mx6处理芯片上跑Android系统或者linux系统,又或者是在苹果的A7处理芯片上跑IOS系统等等,均可以实现HDMI和MHL,它目前已经成为车机与手机互联必不可缺的一种方案。相对于Mirrorlink、Miracast、carpaly、usblink采用H.264的视频压缩算法方式传输视频,HDMI和MHL采用TMDSTimeMinimizeDifferentialSignal,最小化传输差分信号,它是一种利用2个引脚的相同电压值而不同正负极性的差分方式传输,这抑制了信号传输过程中的噪声信号,另外,HDMI有3对用于传输数据的TMDS通道,MHL有1对TMDS通道,使用从无压缩的视音频信号实时的传输,最大可达1080P分辨率。HDMI和MHL与上面其他互联方案对比,它还具有高带宽、高传输速率、高清晰度、低成本、技术开发不复杂等优势,可以快速投入量产使用。目前市场上采用HDMIMHL双模接收器的芯片也有多种,例如台湾微驱科技股份有限公司使用的EP9553E,但是它是采用全硬件实现的方式,基本上配置好相关寄存器序列值。虽然简化了难度,但是在稳定性、可靠性、灵活性都有一定的局限性,另外互联的关键技术总是掌握在芯片厂商手中,如果要进行进行更为复杂的MHL通信比较受芯片厂商的制约。发明内容为解决现有技术中的问题,本发明提供一种基于MHL实现SINK设备与智能移动设备互联的方法,还提供了一种实现上述方法的系统。本发明基于MHL实现SINK设备与智能移动设备互联的方法包括如下步骤:S1:开始,判断是否发生MHL电气discovery中断,如果是,执行MHL边带通道连接发现操作,然后执行步骤S2,如果否,直接执行步骤S2;S2:判断是否收到abort命令,如果是,复位寄存器状态和重启discovery序列,然后执行步骤S3,如果否,直接执行步骤S3;S3:判断当处于ResponderRx状态时,是否接收到数据中断信号,如果是,执行ResponderRx循环操作,获取变量Read_devcap的值,然后执行步骤S4,如果否,直接执行步骤S4;S4:判断当处于RequesterRx状态时,是否接收到数据中断信号,如果是,读取RequesterRx状态缓冲区的命令和数据,然后执行步骤S5,如果否,直接执行步骤S5;S5:判断变量Read_devcap的值是否等于1,如果是,通过MHL边带通道命令连续读取智能移动设备source端的capability寄存器的值,结束,如果否,直接结束。本发明作进一步改进,在步骤S1中,所述MHL边带通道连接发现操作包括如下步骤:A:开始,读取SINK状态,判断是否处于SINK2状态,如果是,执行与智能移动设备source端连接步骤B,如果否,执行判断是否处于其他SINK状态步骤C;所述与智能移动设备source端连接步骤B包括如下步骤:B1:设置PATH_EN的值为1,并开启MHL+-通道时钟模式;B2:发送MHL边带通道SET_HPD命令到智能移动设备source端;B3:发送WRITE_STAT命令到智能移动设备source端;B4:发送capability寄存器状态改变的中断信号到智能移动设备source端,结束,所述判断是否处于其他SINK状态步骤C包括:C1:判断是否处于SINK3状态,如果是,结束,如果否,执行C2;C2:设置PATH_EN的值为0,并关闭MHL+-通道时钟模式;C3:发送PATH_EN值为0的命令到智能移动设备source端;C4:复位RequesterTx和ResponderTx状态的寄存器,结束。本发明作进一步改进,在步骤B3中,所述WRITE_STAT命令的内容包括PATH_EN的值为1、时钟模式为正常24bit模式、capability寄存器的值是否稳定,其中,PATH_EN的值为1表示最小化传输差分信号路径被使能。本发明作进一步改进,当capability寄存器的值不稳定,智能移动设备source端读取SINK设备的capability寄存器的值。本发明作进一步改进,所述capability寄存器的值包括SINK设备状态、MHL版本号、MHL能够识别的类型、能够支持的视音频的连接模式、最大的数据传输带宽。本发明作进一步改进,所述SINK状态包括SINK0状态、SINK1状态、SINK2状态、SINK3状态,所表示的状态分别如下:SINK0状态:SINK设备未连接MHL线缆;SINK1状态:SINK设备通过MHL线缆连接上智能移动设备;SINK2状态:SINK设备与智能移动设备完成握手;SINK3状态:SINK设备能够与智能移动设备传输视音频数据。本发明作进一步改进,在步骤S3中,所述ResponderRx循环操作包括如下步骤:1开始,读取ResponderRx状态缓冲区的命令和数据以及命令和数据的标识;2发送MHL边带通道ACK应答信号到智能移动设备的source端;3判断第一个字节读取到的是否为WRITE_STAT命令,如果是,执行步骤4,如果否,判断第一个字节读取到的是否为第一个字节读取到的是否为READ_DEVCAP命令,如果是,执行具体的MHL边带通道命令,如果否,结束,4判断第二个字节是否为连接状态寄存器地址值,如果是,将第三个字节的数据写到SINK设备的link状态寄存器的地址中,BREAK,如果否,执行步骤5,5判断第二个字节是否为连接准备状态寄存器地址值,如果是,打印出读取的地址与数据值,BREAK,如果否,执行步骤6;6判断第二个字节是否为中断寄存器地址值,如果是,设置变量Read_devcap的值为1,BREAK,如果否,执行步骤7;7判断是否错误,如果是,BREAK,结束。本发明还提供了一种实现上述方法的系统,包括第一判断模块:判断是否发生MHL电气discovery中断;MHL边带通道连接发现模块:如果发生MHL电气discovery中断,执行MHL边带通道连接发现操作;第二判断模块:判断是否收到abort命令;复位和重启模块:如果收到abort命令,复位寄存器状态和重启discovery序列;第三判断模块:判断当处于ResponderRx状态时,是否接收到数据中断信号;ResponderRx循环模块:当处于ResponderRx状态时,如果接收到数据中断信号,执行ResponderRx循环操作,获取变量Read_devcap的值;第四判断模块:判断当处于RequesterRx状态时,是否接收到数据中断信号;第一读取模块:当处于RequesterRx状态时,接收到数据中断信号,读取RequesterRx状态缓冲区的命令和数据;第五判断模块:判断变量Read_devcap的值是否等于1;第二读取模块:如果变量Read_devcap的值等于1,通过MHL边带通道命令连续读取智能移动设备source端的capability寄存器的值。本发明作进一步改进,所述MHL边带通道连接发现模块包括,读取SINK状态模块:读取SINK状态;第六判断模块:判断是否处于SINK2状态;连接模块:如果处于SINK2状态,则与智能移动设备source端连接;第七判断模块:判断是否处于其他SINK状态;所述连接模块包括:第一设置单元:设置PATH_EN的值为1,并开启MHL+-通道时钟模式;第一发送命令单元:发送MHL边带通道SET_HPD命令到智能移动设备source端;第二发送命令单元:发送WRITE_STAT命令到智能移动设备source端;第一发送信号单元:发送capability寄存器状态改变的中断信号到智能移动设备source端,所述第七判断模块包括:第一判断单元:判断是否处于SINK3状态;第二设置单元:设置PATH_EN的值为0,并关闭MHL+-通道时钟模式;第三发送命令单元:发送PATH_EN值为0的命令到智能移动设备source端;复位单元:复位RequesterTx和ResponderTx状态的寄存器。本发明作进一步改进,在第二发送命令单元中,所述WRITE_STAT命令的内容包括PATH_EN的值为1、时钟模式为正常24bit模式、capability寄存器的值是否稳定,其中,PATH_EN的值为1表示最小化传输差分信号路径被使能。与现有技术相比,本发明的有益效果是:1采用软件的方式进行手机互联,解决了目前只能通过硬件实现的方案来进行MHL手机互联问题;2可以实时监测到SINK设备状态,另外还可以利用MSC命令读取到智能移动设备source端的性能;3可编程的EDID数据,能够让智能移动设备source端选择性发送480P、720P或者1080P的视频分辨率;4软件互联线程代码可以跨平台移植到其它芯片上,大大增加了互联的灵活性,并且在稳定性和可靠性方面也进行了提升。附图说明图1为本发明方法流程图;图2为本发明MHL边带通道连接发现操作方法流程图;图3为本发明ResponderRx循环操作方法流程图;图4为本发明SINK状态转换示意图。具体实施方式下面结合附图和实施例对本发明做进一步详细说明。如图1-图3所示,本发明方法包括如下步骤:S1:开始,SINK设备判断是否发生MHL电气discovery中断,如果是,执行MHL边带通道连接发现操作,然后执行步骤S2,如果否,直接执行步骤S2;S2:判断是否收到abort命令,如果是,复位寄存器状态和重启discovery序列,然后执行步骤S3,如果否,直接执行步骤S3;S3:判断当处于ResponderRx状态时,是否接收到数据中断信号,如果是,执行ResponderRx循环操作,获取变量Read_devcap的值,然后执行步骤S4,如果否,直接执行步骤S4;S4:判断当处于RequesterRx状态时,是否接收到数据中断信号,如果是,读取RequesterRx状态缓冲区的命令和数据,然后执行步骤S5,如果否,直接执行步骤S5;S5:判断变量Read_devcap的值是否等于1,如果是,通过MHL边带通道命令连续读取智能移动设备source端的capability寄存器的值,结束,如果否,直接结束。在步骤S1中,所述MHL边带通道连接发现操作包括如下步骤:A:开始,读取SINK状态,判断是否处于SINK2状态,如果是,执行与智能移动设备source端连接步骤B,如果否,执行判断是否处于其他SINK状态步骤C;所述与智能移动设备source端连接步骤B包括如下步骤:B1:设置PATH_EN的值为1,并开启MHL+-通道时钟模式;B2:发送MHL边带通道SET_HPD命令到智能移动设备source端;B3:发送WRITE_STAT命令到智能移动设备source端;B4:发送capability寄存器状态改变的中断信号到智能移动设备source端,结束,所述判断是否处于其他SINK状态步骤C包括:C1:判断是否处于SINK3状态,如果是,结束,如果否,执行C2;C2:设置PATH_EN的值为0,并关闭MHL+-通道时钟模式;C3:发送PATH_EN值为0的命令到智能移动设备source端;C4:复位RequesterTx和ResponderTx状态的寄存器,结束。在步骤S3中,所述ResponderRx循环操作包括如下步骤:1开始,读取ResponderRx状态缓冲区的命令和数据以及命令和数据的标识;2发送MHL边带通道ACK应答信号到智能移动设备的source端;3判断第一个字节读取到的是否为WRITE_STAT命令,如果是,执行步骤4,如果否,判断第一个字节读取到的是否为第一个字节读取到的是否为READ_DEVCAP命令,如果是,执行具体的MHL边带通道命令,如果否,结束,4判断第二个字节是否为连接状态寄存器地址值,如果是,将第三个字节的数据写到SINK设备的link状态寄存器的地址中,BREAK,如果否,执行步骤5,5判断第二个字节是否为连接准备状态寄存器地址值,如果是,打印出读取的地址与数据值,BREAK,如果否,执行步骤6;6判断第二个字节是否为中断寄存器地址值,如果是,设置变量Read_devcap的值为1,BREAK,如果否,执行步骤7;7判断是否错误,如果是,BREAK,结束。本发明中BREAK表示中断,跳出循环,执行下一步。本例中,SINK设备采用的是ADI公司的ADV7481芯片。其中MHL最大像素时钟是75MHZ,因此最高带宽可以达到2.25Gbps=75MHZ*30bit。HDMI的最高带宽可以达到2.235Gbps=74.25MH*10bit*3。这两种带宽远高于采用USB2.0的480Mbps的带宽,而mirrorlink、USBlink均采用USB2.0传输。上述ADV7481芯片设置在车机内。而智能移动设备采用的手机,通过手机来控制视音频的输出和播放。本发明基于MHL实现SINK设备与智能移动设备互联的方法基于SINK设备比如ADV7481芯片简称7481内部的有限状态机进行MSCMHLSidebandChannel,MHL边带通道命令实现通信协议,从而完成从手机source端到7481sink端的互联。如图4所示,本例SINK设备在四种SINK状态间切换。由于ADV7481作为SINK设备,内部含有MHLLINKDISCOVERYMHL连接发现模块,当手机source端与7481sink端握手通信时,7481的会处于SINK0、SINK1、SINK2、SINK3这4种状态值中的任意一种。而如何控制这4种状态成为手机source端与7481sink端通信的基础。本例车机的系统级SOC芯片本系统采用freescale飞思卡尔公司的车载处理器i.mx6Q通过加载7481的驱动程序,达到初始化7481寄存器的目的,以下是SINK状态切换的条件与时序:1.当MHL线缆接口的大头标准HDMI接头未连接到7481的设备上时,7481SINK设备处于SINK0状态。2.从SINK0到SINK1状态的发生。当插上MHL线缆时,ADV7481的CD_SENSE引脚将检测到高电平,此时7481将认为连接到的是MHL模式,而不是HDMI模式,7481处于SINK1状态。手机source端会侦测到7481sink端的CBUSControlBUS--控制总线线缆的特性阻抗发生改变从三态状态ICBUS_LEAK_SINK变化为ZCBUS_SINK_DISCOVER。3.从SINK1到SINK2状态的发生。当7481处于SINK1状态后,手机source端会自动通过单线LinkCBUS发出wake唤醒脉冲序列,唤醒discover发现序列和discovery发现脉冲序列送给7481SINK设备,如果SINK设备正确识别脉宽并进行计数脉宽的个数,会发生电气discovery中断,7481设备从SINK1状态跳转为SINK2状态。此时7481sink端的CBUS线缆的阻抗匹配变化成ZCBUS_SRC_ON,手机source端的CBUS线缆的阻抗匹配转变成ZCBUS_SINK_ON,同时手机source端驱动CBUS为高电平保持为2V。7481sink端会主动在MHL+-这一对差分线上发送RxSense抗尖峰脉冲信号使能信号,如果手机source端检测到RxSense信号有效,差分线束MHL+-从不连通状态转变成连通状态,同时阻抗匹配变化为ZRXSENSE_TERM,但是MHL+-这一对差分线依旧处于不连通状态。4.从SINK2到SINK3状态的发生是通过软件控制去实现。具体控制方式如下:基于ADV7481内部的FSMFiniteStateMachine,有限状态机进行MSCMHLSidebandChannel,MHL边带通道命令操作,它的目的在于使得打通MHL+-通道,以及进行手机source端和7481sink端的通信,在本例也就是手机和车机之间的通讯。所述FSM能够在Requester发起者和Responder应答者状态下切换,其中Requester又存在RequesterRx发起者读和RequesterTx发起者写状态;Responder又存在ResponderRx应答者读和ResponderTx应答写状态;另外还存在一个IDLE空闲状态,所以,所述FSM一共有五种状态。作为本发明的一种实施例,SINK设备检测到一旦发生CBUS中断,将跳入中断处理函数,在中断处理函数中的底部是MHL手机互联的核心线程程序,如图1所示。当ADV7481完成电气discovery之后,将会触发MHL电气discovey中断,然后执行MSClinkdiscovey操作,见图2。然后,进行判断SINK设备是否接受到abort命令,如果接受到该命令,进行复位所有的寄存器状态操作并且重启discovery序列。接着判断在ResponderRx状态是否接收到命令和数据,如果接收到,将执行ResponderRx循环操作,如图3所示。接着判断RequesterRx是否接收到命令和数据,如果接收到将进行具体的MSC命令操作,RequesterRx作为发起者回应,一般情况下只会接受到ResponderTx的应答信号。最后,判断根据ResponderRx循环操作中的变量Read_devcap的值是否为1来进行操作是否需要读取手机source端的capability寄存器的值。其中,本例MSClinkdiscovery操作具体执行如下:首先读取ADV7481的SINK状态,如果在SINK2状态下,设置ADV7481sink端的PATN_EN为1,时钟模式为正常24-bit,即表示SINK设备已经准备好读取数据,此时7481将从SINK2状态变化为SINK3状态,但是此时TDMS差分线上的阻抗ZRxSense_TERM是100Kohms,因为阻抗值太大,视音频数据依然不能传输。此时FSM状态机是处于IDLE状态下。接着开始发送MSCSET_HPD命令,它是一个信号去告诉手机source端去通过CBUS总线读取ADV7481内部的EDIDEDID,是Extendeddisplayidentificationdata的简写,中文名为扩展显示表示数据,它是指屏幕分辨率的资料,包括厂商名称与序号,一般EDID存在于显示器的PROMprogrammableread-onlymemory或是EEPROM内,ADV7481内部有一个DDCEmulationEDID模拟器,它模拟DDCSDAI2C总线的数据信号线总线去读取EDID数据。而I2CInter-IntegratedCircuit总线是用于连接微控制器及其外围设备。命令一旦发送完成,将引发SINK设备RequesterTx数据传输完成中断,FSM状态机将被自动切换为RequesterRx状态。当手机source端一旦接收到第一个字节起,就会在手机source端产生ResponderRx中断,手机source端的FSM状态机立即从IDLE状态切换至ResponderRx状态,读取到SET_HPD命令。然后手机source端会发生ResponderTx中断,手机的FSM状态机切换到ResponderTx状态,发送ACK应答信号给ADV7481sink端,告诉它已经成功接收到信号,在ADV7481sink端的RequesterRx状态缓冲区将接收收到ACK应答信号,之后产生IDEL中断,FSM状态机从RequesterRx状态切换至IDLE状态。在手机source端同时进行相应的处理,通过DDCchannelCBUS总线的功能此时被虚拟成DDCchannel读取ADV7481内部的EDID数据EDID数据是告诉手机source端优先发送给ADV7481sink端视音频的格式,获取到EDID数据后,手机source端会进行对EDID数据的分析,然后根据EDID数据发送具体的视音频格式。接着,ADV7481sink端发送WRITE_STAT命令,该命令的作用是写字节到手机source端。例如发送PATH_EN为1和CLK_MODE为正常24bit模式给手机source端,即告诉手机source端此时SINK设备的TMDS路径被使能,并且时钟模式为正常24bit,手机source端接收到该命令之后,将同时使能手机source端的TMDS和开启正常的时钟模式。此时,MHL+-差分线上阻抗匹配ZRXSENSE_TMDS降低为700ohms,意味着此刻TDMS被打通,数据可以传输,至此手机source端将会有数据传输到7481sink端。另外,SINK设备还会发送一些命令去告诉手机source端,此时sink端的capability寄存器的值是否是稳定的,如果不稳定,手机source端将会读取7481sink端的capability寄存器的值,其中包括它的设备状态、MHL版本号、MHL系统可识别的类型、可支持的视音频的连接模式、最大的数据传输带宽等等。发送的过程和上面的一样,此时ADV7481sink端的FSM状态为RequesterTx,手机source端的FSM状态为ResponderRx,然后手机source端和ADV7481sink端的FSM状态机根据数据的发送和接收做出相应的改变,最终双方都达到IDLE状态,至此,通信结束。当拔出与手机相连接的MHL线缆的小头时,由于ADV7481设备的CBUS总线没有了手机source端的上拉驱动,此时CBUS总线会处于低电平状态,并且没有wake脉冲,会产生discovey中断,进入到MSClinkdiscovery操作函数中。ADV7481的SINK状态会切换至SINK1状态。当拔出不与手机相连接的MHL线缆的大头时,与上面一样,CBUS总线由于没有了手机source端驱动,将处于低电平状态,并且没有了wake脉冲,此刻会产生discovey中断,也会进入到MSClinkdiscovery操作函数中。另外由于ADV7481的CD_SENSE引脚检测不到高电平,导致7481认为MHL模式不存在,此时又会发生MHLMODE模式侦测不到中断,然后ADV7481的SINK状态会切换至SINK0状态。无论是SINK1状态,还是SINK0状态,接下来均会禁止ADV7481sink端的PATH_EN和关闭MHL+-通道时钟模式,然后发送WRITE_STAR命令,内容是PATH_EN{sink=0},手机source端接收到该命令,也会将手机source端的TMDS使能禁止,这样使得MHL+-处于不连通状态。当再插上MHL线缆时,重新执行本发明的方法完成发现及连接步骤。本例的ResponderRx循环操作具体执行方法如下:首先,SINK设备读取ResponderRx缓冲区的命令和数据,以及命令和数据的标识来断定哪个是命令,哪个是数据。紧接着发送ACK应答信号到手机source端,告诉手机source端已经接受到数据。然后,根据具体的命令和数据通过switchcase循环操作语句来进行相应的循环操作。例如:如果第一个字节是接受到WRITE_STAT命令,第二个字节是中断寄存器的地址值,即手机source端的capability寄存器发送改变,此时设置变量Read_devcap的值为1。本发明还提供了一种实现上述互联方法的系统,包括第一判断模块:判断是否发生MHL电气discovery中断;MHL边带通道连接发现模块:如果发生MHL电气discovery中断,执行MHL边带通道连接发现操作;第二判断模块:判断是否收到abort命令;复位和重启模块:如果收到abort命令,复位寄存器状态和重启discovery序列;第三判断模块:判断当处于ResponderRx状态时,是否接收到数据中断信号;ResponderRx循环模块:当处于ResponderRx状态时,如果接收到数据中断信号,执行ResponderRx循环操作,获取变量Read_devcap的值;第四判断模块:判断当处于RequesterRx状态时,是否接收到数据中断信号;第一读取模块:当处于RequesterRx状态时,接收到数据中断信号,读取RequesterRx状态缓冲区的命令和数据;第五判断模块:判断变量Read_devcap的值是否等于1;第二读取模块:如果变量Read_devcap的值等于1,通过MHL边带通道命令连续读取智能移动设备source端的capability寄存器的值。所述MHL边带通道连接发现模块包括,读取SINK状态模块:读取SINK状态;第六判断模块:判断是否处于SINK2状态;连接模块:如果处于SINK2状态,则与智能移动设备source端连接;第七判断模块:判断是否处于其他SINK状态;所述连接模块包括:第一设置单元:设置PATH_EN的值为1,并开启MHL+-通道时钟模式;第一发送命令单元:发送MHL边带通道SET_HPD命令到智能移动设备source端;第二发送命令单元:发送WRITE_STAT命令到智能移动设备source端;第一发送信号单元:发送capability寄存器状态改变的中断信号到智能移动设备source端。所述第七判断模块包括,第一判断单元:判断是否处于SINK3状态;第二设置单元:设置PATH_EN的值为0,并关闭MHL+-通道时钟模式;第三发送命令单元:发送PATH_EN值为0的命令到智能移动设备source端;复位单元:复位RequesterTx和ResponderTx状态的寄存器。在第二发送命令单元中,所述WRITE_STAT命令的内容包括PATH_EN的值为1、时钟模式为正常24bit模式、capability寄存器的值是否稳定,其中,PATH_EN的值为1表示最小化传输差分信号路径被使能。综上所述,本发明经过多次测试实验,可以支持MHL2.1以上的手机与SINK设备的互联,通过修改EDID让手机去选择优先发送1080P或者720P的视频,其中1080P可以达到30fps,720P可以达到60fps,并且传输视频质量良好,无延迟卡顿现象,满足了车机与智能手机的互联的要求。本发明具有以下优势:1点到点的单线LinkCBUS提供双向通信,MSC状态机实现通信协议,electricaldiscovery硬件实现和extendeddiscovery软件实现建立从智能移动设备source端到SINK设备sink端的MHL连接,可以实时监测到SINK设备状态。另外还是可以利用MSC命令读取到智能移动设备source端的性能,例如它的设备状态、MHL版本号、MHL系统可识别的类型、可支持的视音频的连接模式、最大的数据传输带宽等等。2可编程的EDID数据,可以让智能移动设备source端选择性发送480P、720P或者1080P的视频分辨率。3软件互联线程代码可以跨平台移植到其它芯片上,比如电视、电脑、娱乐设备等的芯片上,大大增加了互联方案的灵活性,并且在稳定性和可靠性方面也进行了提升。以上所述之具体实施方式为本发明的较佳实施方式,并非以此限定本发明的具体实施范围,本发明的范围包括并不限于本具体实施方式,凡依照本发明所作的等效变化均在本发明的保护范围内。

权利要求:1.基于MHL实现SINK设备与智能移动设备互联的方法,其特征在于包括如下步骤:S1:开始,判断是否发生MHL电气discovery中断,如果是,执行SINK设备与智能移动设备的MHL边带通道连接发现操作,然后执行步骤S2,如果否,直接执行步骤S2;S2:判断是否收到abort命令,如果是,复位寄存器状态和重启discovery序列,然后执行步骤S3,如果否,直接执行步骤S3;S3:判断当处于ResponderRx状态时,是否接收到数据中断信号,如果是,执行ResponderRx循环操作,获取变量Read_devcap的值,然后执行步骤S4,如果否,直接执行步骤S4;S4:判断当处于RequesterRx状态时,是否接收到数据中断信号,如果是,读取RequesterRx状态缓冲区的命令和数据,然后执行步骤S5,如果否,直接执行步骤S5;S5:判断变量Read_devcap的值是否等于1,如果是,通过MHL边带通道命令连续读取智能移动设备source端的capability寄存器的值,结束,如果否,直接结束。2.根据权利要求1所述的基于MHL实现SINK设备与智能移动设备互联的方法,其特征在于:在步骤S1中,所述MHL边带通道连接发现操作包括如下步骤:A:开始,读取SINK状态,判断是否处于SINK2状态,如果是,执行与智能移动设备source端连接步骤B,如果否,执行判断是否处于其他SINK状态步骤C;所述与智能移动设备source端连接步骤B包括如下步骤:B1:设置PATH_EN的值为1,并开启MHL+-通道时钟模式;B2:发送MHL边带通道SET_HPD命令到智能移动设备source端;B3:发送WRITE_STAT命令到智能移动设备source端;B4:发送capability寄存器状态改变的中断信号到智能移动设备source端,结束,所述判断是否处于其他SINK状态步骤C包括:C1:判断是否处于SINK3状态,如果是,结束,如果否,执行C2;C2:设置PATH_EN的值为0,并关闭MHL+-通道时钟模式;C3:发送PATH_EN值为0的命令到智能移动设备source端;C4:复位RequesterTx和ResponderTx状态的寄存器,结束,所述SINK状态包括SINK0状态、SINK1状态、SINK2状态、SINK3状态,所表示的状态分别如下:SINK0状态:SINK设备未连接MHL线缆;SINK1状态:SINK设备通过MHL线缆连接上智能移动设备;SINK2状态:SINK设备与智能移动设备完成握手;SINK3状态:SINK设备能够与智能移动设备传输视音频数据。3.根据权利要求2所述的基于MHL实现SINK设备与智能移动设备互联的方法,其特征在于:在步骤B3中,所述WRITE_STAT命令的内容包括PATH_EN的值为1、时钟模式为正常24bit模式、capability寄存器的值是否稳定,其中,PATH_EN的值为1表示最小化传输差分信号路径被使能。4.根据权利要求3所述的基于MHL实现SINK设备与智能移动设备互联的方法,其特征在于:当capability寄存器的值不稳定,智能移动设备source端读取SINK设备的capability寄存器的值。5.根据权利要求4所述的基于MHL实现SINK设备与智能移动设备互联的方法,其特征在于:所述capability寄存器的值包括SINK设备状态、MHL版本号、MHL能够识别的类型、能够支持的视音频的连接模式、最大的数据传输带宽。6.根据权利要求1所述的基于MHL实现SINK设备与智能移动设备互联的方法,其特征在于:在步骤S3中,所述ResponderRx循环操作包括如下步骤:1开始,读取ResponderRx状态缓冲区的命令和数据以及命令和数据的标识;2发送MHL边带通道ACK应答信号到智能移动设备的source端;3判断第一个字节读取到的是否为WRITE_STAT命令,如果是,执行步骤4,如果否,判断第一个字节读取到的是否为第一个字节读取到的是否为READ_DEVCAP命令,如果是,执行具体的MHL边带通道命令,如果否,结束,4判断第二个字节是否为连接状态寄存器地址值,如果是,将第三个字节的数据写到SINK设备的link状态寄存器的地址中,BREAK,如果否,执行步骤5,5判断第二个字节是否为连接准备状态寄存器地址值,如果是,打印出读取的地址与数据值,BREAK,如果否,执行步骤6;6判断第二个字节是否为中断寄存器地址值,如果是,设置变量Read_devcap的值为1,BREAK,如果否,执行步骤7;7判断是否错误,如果是,BREAK,结束。7.实现权利要求1-6任一项所述的基于MHL实现SINK设备与智能移动设备互联方法的系统,其特征在于包括:第一判断模块:判断是否发生MHL电气discovery中断;MHL边带通道连接发现模块:如果发生MHL电气discovery中断,执行MHL边带通道连接发现操作;第二判断模块:判断是否收到abort命令;复位和重启模块:如果收到abort命令,复位寄存器状态和重启discovery序列;第三判断模块:判断当处于ResponderRx状态时,是否接收到数据中断信号;ResponderRx循环模块:当处于ResponderRx状态时,如果接收到数据中断信号,执行ResponderRx循环操作,获取变量Read_devcap的值;第四判断模块:判断当处于RequesterRx状态时,是否接收到数据中断信号;第一读取模块:当处于RequesterRx状态时,接收到数据中断信号,读取RequesterRx状态缓冲区的命令和数据;第五判断模块:判断变量Read_devcap的值是否等于1;第二读取模块:如果变量Read_devcap的值等于1,通过MHL边带通道命令连续读取智能移动设备source端的capability寄存器的值。8.根据权利要求7所述的基于MHL实现SINK设备与智能移动设备互联的系统,其特征在于:所述MHL边带通道连接发现模块包括,读取SINK状态模块:读取SINK状态;第六判断模块:判断是否处于SINK2状态;连接模块:如果处于SINK2状态,则与智能移动设备source端连接;第七判断模块:判断是否处于其他SINK状态;所述连接模块包括:第一设置单元:设置PATH_EN的值为1,并开启MHL+-通道时钟模式;第一发送命令单元:发送MHL边带通道SET_HPD命令到智能移动设备source端;第二发送命令单元:发送WRITE_STAT命令到智能移动设备source端;第一发送信号单元:发送capability寄存器状态改变的中断信号到智能移动设备source端,所述第七判断模块包括:第一判断单元:判断是否处于SINK3状态;第二设置单元:设置PATH_EN的值为0,并关闭MHL+-通道时钟模式;第三发送命令单元:发送PATH_EN值为0的命令到智能移动设备source端;复位单元:复位RequesterTx和ResponderTx状态的寄存器,所述SINK状态包括SINK0状态、SINK1状态、SINK2状态、SINK3状态,所表示的状态分别如下:SINK0状态:SINK设备未连接MHL线缆;SINK1状态:SINK设备通过MHL线缆连接上智能移动设备;SINK2状态:SINK设备与智能移动设备完成握手;SINK3状态:SINK设备能够与智能移动设备传输视音频数据。9.根据权利要求8所述的基于MHL实现SINK设备与智能移动设备互联的系统,其特征在于:在第二发送命令单元中,所述WRITE_STAT命令的内容包括PATH_EN的值为1、时钟模式为正常24bit模式、capability寄存器的值是否稳定,其中,PATH_EN的值为1表示最小化传输差分信号路径被使能。

百度查询: 深圳市航盛电子股份有限公司 基于MHL实现SINK设备与智能移动设备互联的方法及系统

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。