访问DP辅助通道的方法及装置与流程

文档序号:12665815阅读:1025来源:国知局
访问DP辅助通道的方法及装置与流程

本发明涉及通信领域,具体而言,涉及一种访问DP辅助通道的方法及装置。



背景技术:

随着DP(DisplayPort)视频输出越来越普及,工程师需要通过DP协议的Aux Channel(辅助通道)来操作、配置外部接入设备(如监视器、Dongle((数据接口转换器))、附属设备等)的需求也越来越多,由于目前大多数CPU输出的视频源是HDMI格式,但在下游接收端却是DP设备,这就需要一款HDMI转DP输出的芯片。但目前并没有一个统一的规范去控制这类芯片,这就造成了操作系统无法配置和管理下游设备,如读取EDID,链路带宽协商等等,并且在操作系统(例如,Windows Phone)上没有太多开放接口可以提供给工程师,所以,间接导致了设备对外部连接的监视器、Dongle、附属设备等的DP视频接口开发配置的难度。

DisplayPort规范规定,通过DP辅助通道读取数据有两种模式,直接通过DP辅助通道读取数据的模式被称为Native的读取模式,另外一种模式是为了兼容Monitor的I2C EDID读取方式,它的原理是通过协议发送DP辅助通道数据,然后在下游设备解析此信号,然后通过下游设备自己的I2C Master(主机)再转发数据到设备,称为I2C Over Aux。

现有技术中,常见的移动设备的应用层(例如APP或视频驱动程序)需要访问DisplayPort辅助通道,而其实现方式比较复杂。

针对上述的问题,目前尚未提出有效的解决方案。



技术实现要素:

本发明实施例提供了访问DP辅助通道的方法及装置,以至少解决现有技术中设备应用层访问DisplayPort辅助通道的方法过于复杂的技术问题。

根据本发明实施例的一个方面,提供了一种用于访问DP辅助通道的方法,包括:设备接收通过应用层传入的输入参数;设备根据输入参数生成第一控制数据;设备将第一控制数据转换为DP格式的第二控制数据;设备将第二控制数据通过DP辅助通道输出到设备连接的外部设备。

进一步地,设备接收通过应用层传入的输入参数包括:响应于应用层的请求,设备的CPU运行系统驱动,以向应用层提供访问接口;以及设备通过访问接口接收输入参数。

进一步地,在根据输入参数生成第一控制数据之后,还包括:CPU通过I2C总线向转换芯片发送第一控制数据。

进一步地,系统驱动为Windows驱动,其中,向应用层提供访问接口包括:通过Windows驱动中的IoDeviceControl函数向应用层提供DP辅助通道操作接口。

进一步地,系统驱动中定义有对I2C总线进行操作的第一函数以及对辅助通道进行操作的第二函数。

进一步地,通过第一函数和/或第二函数向转换芯片提供操作数据。

进一步地,第一函数包括以下中的至少一个:I2C批量写函数,用于调用系统函数完成在预定地址上预定位置开始的多个寄存器的写;I2C批量读函数,用于调用系统函数完成在预定地址上预定位置开始的多个寄存器的读;I2C单字符写函数,用于调用系统函数完成在预定地址上预定位置开始的1个寄存器的写;以及I2C单字符读函数,用于调用系统函数完成在预定地址上预定位置开始的1个寄存器的读。

进一步地,第二函数包括以下中的至少一个:Native读函数,用于在Native模式下对转换芯片进行操作,实现从辅助通道读取数据;Native写函数,用于在Native模式下对转换芯片进行操作,实现向辅助通道写入数据;I2C Over AuxChannel读函数,用于在I2C Over AuxChannel模式下对转换芯片进行操作,实现从辅助通道读取数据;以及I2C Over AuxChannel写函数,用于在I2C Over AuxChannel模式下对转换芯片进行操作,实现向辅助通道写入数据。

进一步地,Native读函数、Native写函数、I2C Over AuxChannel读函数和I2C Over AuxChannel写函数在运行过程中均调用第一函数中相应的一个函数。

进一步地,第一控制数据包括外部设备需要配置的DP参数。

根据本发明的另一个方面,提供了一种用于访问DP辅助通道的装置,包括:接收模块,被配置为接收通过应用层传入的输入参数;生成模块,被配置为根据输入参数生成第一控制数据;转换模块,被配置为将第一控制数据转换为DP格式的第二控制数据;以及输出模块,被配置为将第二控制数据通过DP辅助通道输出到装置连接的外部设备。

根据本发明的另一方面,提供了一种用于实现访问DP辅助通道的装置,该装置包括:CPU,被配置为接收通过应用层传入的输入参数,并根据输入参数生成第一控制数据;以及转换芯片,被配置为将第一控制数据转换为DP格式的第二控制数据,并将第二控制数据通过DP辅助通道输出到装置连接的外部设备。

进一步地,该装置,还包括:I2C总线,与CPU相连,用于将第一控制数据传送至转换芯片。

进一步地,CPU进一步被配置为:响应于应用层的请求,运行系统驱动,以向应用层提供访问接口;并且通过访问接口接收输入参数。

相对于现有技术中的技术方案,解决了现有技术中,设备应用层访问DisplayPort辅助通道的方法过于复杂的技术问题。

本发明实施例的技术方案具有简单、实用、便于控制等优点。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是根据本发明一个实施例的用于访问DP辅助通道的方法的流程图;

图2是根据本发明一个实施例的用于访问DP辅助通道的装置的示意图;

图3是根据本发明另一个实施例的用于访问DP辅助通道的装置的示意图;以及

图4是根据本发明一个实施例的用于访问DP辅助通道的装置的硬件原理示意图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

根据本发明实施例,提供了访问DP辅助通道的方法以及装置的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

本发明实施例涉及一种操作或访问DisplayPort的辅助通道的一种方式。本发明的实施例中,提出通过软硬结合的方式,为移动设备的APP或视频驱动程序提供一种间接访问DisplayPort辅助通道的方式。其中,通过I2C传递DisplayPort设备需要配置的参数,然后芯片对参数进行转换,并将参数通过辅助通道发送出去。

根据本发明的一个实施例,提供了一种访问DP辅助通道的方法,如图1所示,其中示出了访问DP辅助通道的方法的流程图。

该方法包括:

步骤S102,设备接收通过应用层传入的输入参数;

步骤S104,设备根据输入参数生成第一控制数据;以及

步骤S106,设备将第一控制数据转换为DP格式的第二控制数据;以及

步骤S108,设备将第二控制数据通过DP辅助通道输出到设备连接的外部设备。

该技术方案中,通过应用层接收输入参数,根据该输入参数生成控制数据,并将所生成的数据转换为DP格式,从而实现对DP设备进行控制,例如读、写等操作。通过该方案,解决了设备应用层访问DP辅助通道的方法过于复杂的技术问题。

在一个可选实施例中,设备接收通过应用层传入的输入参数包括:响应于应用层的请求,设备的CPU运行系统驱动,以向应用层提供访问接口;以及设备通过访问接口接收输入参数。通过采用该技术特征,能够为应用层提供接口,以实现应用层与系统内核之间的通信。

在一个可选实施例中,在根据输入参数生成第一控制数据之后,还包括:CPU通过I2C总线向转换芯片发送第一控制数据。该技术特征利用I2C总线的通信速率高的优点,实现CPU与转换芯片之间的高效通信。

在一个可选实施例中,系统驱动为Windows驱动,其中,向应用层提供访问接口包括:通过Windows驱动中的IoDeviceControl函数向应用层提供DP辅助通道操作接口。通过采用该技术特征,使得应用层能够实现对DP辅助通道的间接访问。

在一个可选实施例中,系统驱动中定义有对I2C总线进行操作的第一函数以及对辅助通道进行操作的第二函数。该特征中,两种函数分别适用于不同的操作模式。

在一个可选实施例中,通过第一函数和/或第二函数向转换芯片提供操作数据。该特征中,通过上述函数向转换芯片提供操作数据,实现了应用层对转换芯片的操作控制,进而能够实现对转换芯片连接的DP通道的操作。

在一个可选实施例中,第一函数包括以下中的至少一个:I2C批量写函数,用于调用系统函数完成在预定地址上预定位置开始的多个寄存器的写;I2C批量读函数,用于调用系统函数完成在预定地址上预定位置开始的多个寄存器的读;I2C单字符写函数,用于调用系统函数完成在预定地址上预定位置开始的1个寄存器的写;以及I2C单字符读函数,用于调用系统函数完成在预定地址上预定位置开始的1个寄存器的读。通过该特征,定义了Native模式(直接通过DP辅助通道读、写数据的模式)下的读写函数,以实现该模式下通过DP辅助通道读写数据。

在一个可选实施例中,第二函数包括以下中的至少一个:Native读函数,用于在Native模式下对转换芯片进行操作,实现从辅助通道读取数据;Native写函数,用于在Native模式下对转换芯片进行操作,实现向辅助通道写入数据;I2C Over AuxChannel读函数,用于在I2C Over AuxChannel模式下对转换芯片进行操作,实现从辅助通道读取数据;以及I2C Over AuxChannel写函数,用于在I2C Over AuxChannel模式下对转换芯片进行操作,实现向辅助通道写入数据。通过该特征,定义了I2C Over Aux模式(通过协议发送DP Aux Channel数据,然后在下游设备解析此数据,然后通过下游设备自己的I2C Master再转发数据到设备)下的读写函数,以实现该模式下通过DP辅助通道读写数据。

在一个可选实施例中,Native读函数、Native写函数、I2C Over AuxChannel读函数和I2C Over AuxChannel写函数在运行过程中均调用第一函数中相应的一个函数。通过调用基本函数,可以节约系统资源,提高运行效率。

在一个可选实施例中,第一控制数据包括外部设备需要配置的DP参数。通过该技术特征,实现了对外部DP设备的参数配置。

根据本发明的另一个方面,提供了一种用于访问DP辅助通道的装置,如图2所示。

图2是根据本发明一个实施例的用于访问DP辅助通道的装置的示意图。

该装置包括:接收模块22,被配置为接收通过应用层传入的输入参数;生成模块24,被配置为根据输入参数生成第一控制数据;转换模块26,被配置为将第一控制数据转换为DP格式的第二控制数据;以及输出模块28,被配置为将第二控制数据通过DP辅助通道输出到装置连接的外部设备。

该技术方案中,通过应用层接收输入参数,根据该输入参数生成控制数据,并将所生成的数据转换为DP格式,从而对DP设备进行控制,例如读、写等操作。通过该方案,解决了设备应用层访问DP辅助通道的方法过于复杂的技术问题。

根据本发明的另一方面,提供了一种用于实现访问DP辅助通道的装置,如图3所示。图3是根据本发明另一个实施例的用于访问DP辅助通道的装置的示意图。

该装置包括:CPU 32,被配置为接收通过应用层传入的输入参数,并根据输入参数生成第一控制数据;以及转换芯片34,被配置为将第一控制数据转换为DP格式的第二控制数据,并将第二控制数据通过DP辅助通道输出到装置连接的外部设备。

该技术方案中,CPU通过应用层接收输入参数,根据该输入参数生成控制数据,并将所生成的数据转换为DP格式,从而对DP设备进行控制,例如读、写等操作。通过该方案,解决了设备应用层访问DP辅助通道的方法过于复杂的技术问题。

在一个可选实施例中,该装置,还包括:I2C总线,与CPU相连,用于将第一控制数据传送至转换芯片。该技术特征利用I2C总线的通信速率高的优点,实现CPU与转换芯片之间的高效通信。

在一个可选实施例中,CPU进一步被配置为:响应于应用层的请求,运行系统驱动,以向应用层提供访问接口;并且通过访问接口接收输入参数。通过采用该技术特征,能够为应用层提供接口,以实现应用层与系统内核之间的通信。

图4是根据本发明一个实施例的用于访问DP辅助通道的装置的硬件原理示意图。

该实施例中的技术是芯片相关的设计,它采用了Analogix公司的slim ANX78xx系列HDMI转DP芯片。软件部分采用微软最新WDF驱动模型,通过IoDeviceControl向应用层引出DP辅助通道操作接口。当然,本发明不限于采用上述芯片和驱动系统、模型。

如图4所示,CPU通过I2C总线连接到Analogix ANX7816(实现由HDMI至DisplayPort的转换)芯片,然后ANX7816的输出端连接到USB Type-C连接器的SBU1或SBU2上,在USB Type-C协议规范上定义这两个引脚用于DisplayPort辅助通道的通讯。

如图4所示,硬件电路显示CPU通过I2C总线控制Analogix ANX7816芯片,芯片的Aux Channel输出信号和USB Type-C SBU1和SBU2相连。

该实施例中,Windows Phone驱动程序被加载到CPU端并为应用程序提供一接口,驱动程序初始化I2C总线,并完成对I2C的读写控制。

其中,I2C总线是一个双向的两线连续总线,提供集成电路之间的通信线路。是微电子通信控制领域广泛采用的一种总线标准。它是同步通信的一种特殊形式,具有接口线少,控制方式简单,器件封装形式小,通信速率较高等优点。I2C总线支持任何IC生产工艺(CMOS、双极型)。

DisplayPort(简称DP)连接器也包含一条独立的双向传输辅助通道,称作AUX通道或简称为AUX,一样是使用两条差分讯号线,单一方向速率仅1Mbit/s左右,用来传输设定与控制指令。

AUX的用途包括读取延伸显示能力识别资讯(EDID),以确保传送正确的影像格式;读取显示器所支援的DisplayPort项目内容,如多少条主要通道、传输速率及其他项目;设定各种显示组态暂存器;读取显示器状态暂存器。

本发明的实施例中Analogix芯片和Windows Phone驱动之间使用I2C通讯。应用程序可以通过DeviceIOControl接口访问Windows内核导出的IO接口。基于通过Windows驱动连接Analogix芯片,将I2C数据转化并通过辅助通道把数据发送出去。

本发明实施例中以上述芯片及驱动程序为例进行说明,但是本发明并不限于上述实施方式。而是可以采用其他多种芯片以及系统驱动来实施本发明的技术。

以下详细介绍本发明一个实施例中的软件部分的实现。

本发明提供了2种读写数据方式:

Native Aux Channel读写方式。

I2C Over Aux Channel读写方式。

以下将介绍他们的实现细节。

Driver I2C读写实现

定义Native AUX Channel的操作函数

定义I2C Over Aux Channel操作函数接口

定义应用层访问接口

本发明实施例提出了一种简单、实用、便于控制的用于设备(尤其是移动设备)的APP或视频驱动程序访问DisplayPort辅助通道的方法。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。本领域技术人员可以意识到,本发明中上述实施例,可以进行各种组合。

在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。

作为分离部件说明的单元(模块)可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1