本发明一般涉及有源线缆数据处理。更具体地,本发明涉及一种用于hdmi有源线缆的处理对cable id的读取的方法、控制读取hdmi有源线缆的cable id的设备以及读取hdmi有源线缆的cable id的方法。
背景技术:
1、hdmi2.1(hdmi,high definition multimedia interface,高清多媒体接口)协议将单通道最高带宽提升至12gbps,为克服长距离铜线信号衰减问题,可在线缆中增加高速信号处理芯片对信号进行重整。但是,hdmi源设备只能提供最大55ma电流,这对增加了有源芯片的线缆显然不够用。为解决上述问题,hdmi2.1协议新增了pca(power for cableassemblies,为线缆组件供电)功能,源设备可提供高达300ma的电流供线缆和从设备使用。
2、pca功能依赖于存储在线缆中的cable id。cable id为一组数据结构,表明了hdmi线缆的功能、性能及厂商信息,供源设备读取。对于单向传输或需要pca供电的category 3线缆,cable id为hdmi认证测试必要项目。
3、根据hdmi2.1协议,源设备利用idcc(id communications channel,身份通信通道)协议在i2c总线上完成cable id读取,这需要线缆内的cable id处理模块可以监听i2c通道上的数据,并回应cable id数据,同时要求cable id处理模块不能影响从设备对源设备的响应,即线缆中的cable id处理模块要对i2c从机地址不响应(nack,notacknowledge,未确认/未响应/未准备好)。
4、然而,目前通常利用mcu(microcontroller units,微控制单元)片内i2c外设的slave模式来完成i2c数据的监听和回应,但普通mcu的i2c外设在不响应i2c从机地址时,其内部状态机无法实现监控和回应数据。
5、因此,亟需提供一种用于hdmi有源线缆的处理对cable id的读取的方法、控制读取hdmi有源线缆的cable id的设备、读取hdmi有源线缆的cable id的方法,其可以使用标准i2c设备,并且可以实现在不响应i2c地址的情况下,监控i2c数据和回应i2c读操作,从而完成hdmi2.1协议的cable id数据读取功能。
技术实现思路
1、为了至少解决如上所提到的一个或多个技术问题,本发明在多个方面提出了一种用于hdmi有源线缆的处理对cable id的读取的方法、控制读取hdmi有源线缆的cable id的设备以及读取hdmi有源线缆的cable id的方法。
2、在第一方面中,本发明提供一种用于hdmi有源线缆的处理对cable id的读取的方法,所述方法通过处理器实现。所述方法包括:所述处理器,利用i2c设备监听hdmi有源线缆的hdmi-scl信号线与hdmi-sda信号线,其中所述i2c设备包括时钟引脚和数据引脚,所述时钟引脚连接所述hdmi-scl信号线,所述数据引脚可被设置为连接所述hdmi-sda信号线或浮空;所述i2c设备用于通过所述hdmi-scl信号线与hdmi-sda信号线响应源设备的i2c读操作与i2c写操作;所述处理器,响应于在hdmi-sda信号线上检测到源设备输出的从机地址或i2c数据,将所述i2c设备的数据引脚设置为浮空,以使所述i2c设备基于源设备输出数据生成的i2c ack信号不输出至所述hdmi-sda信号线;以及所述处理器,响应于在所述hdmi-sda信号线上检测到从设备输出的基于源设备输出数据的i2c ack信号,将所述i2c设备的数据引脚连接到所述hdmi-sda信号线,以使所述i2c设备与所述hdmi-sda信号线进行数据交互。
3、在一个实施例中,将所述i2c设备的数据引脚设置为浮空包括将所述i2c设备的数据引脚连接到所述i2c设备所处芯片的悬空引脚或对地引脚。
4、在一个实施例中,所述源设备和从设备在源设备的时钟信号的驱动下与所述hdmi-sda信号线进行数据交互;响应于在所述hdmi-sda信号线上检测到源设备输出的从机地址或i2c数据之后,所述方法还包括:执行时钟拉伸操作,以便延缓源设备再次向所述hdmi-sda信号线传输数据的时间;将所述i2c设备的数据引脚设置为浮空之后,若执行了时钟拉伸操作,所述方法还包括:释放时钟信号,以使源设备根据释放后的时钟信号继续与所述hdmi-sda信号线进行数据交互。
5、在一个实施例中,所述处理器,响应于在所述hdmi-sda信号线上检测到从设备针对源设备的i2c写操作所输出的从机地址或i2c数据而输出的i2c ack信号,在所述hdmi-scl信号线上出现下一时钟信号之前,将所述i2c设备的数据引脚连接到所述hdmi-sda信号线,以使所述i2c设备与所述hdmi-sda信号线进行数据交互。
6、在一个实施例中,所述处理器,响应于在所述hdmi-sda信号线上检测到从设备针对源设备的i2c读操作所输出的从机地址而依次输出的i2c ack信号和i2c数据,在所述hdmi-scl信号线上出现下一时钟信号之前,将所述i2c设备的数据引脚连接到所述hdmi-sda信号线,以使所述i2c设备与所述hdmi-sda信号线进行数据交互。
7、在一个实施例中,所述处理器,响应于在所述hdmi-scl信号线与hdmi-sda信号线上依次检测到多个第一信号序列以及一个第二信号序列,使所述i2c设备通过所述hdmi-scl信号线与hdmi-sda信号线输出所述cable id的全部或部分;其中根据从所述多个第一信号序列获取的偏移值和长度,确定通过所述hdmi-scl信号线与hdmi-sda信号线输出所述cable id的从所述偏移值开始且具有所述长度的数据;处理器,响应于在所述hdmi-scl信号线与hdmi-sda信号线上依次检测到第三信号序列,识别出对cable id的读取的处理完成。
8、在一个实施例中,所述处理器,响应于检测到所述第二信号序列,在所述hdmi-scl信号线上出现下一时钟信号之前,将所述i2c设备的数据引脚连接到所述hdmi-sda信号线。
9、在一个实施例中,所述第一信号序列包括依次出现的i2c开始信号、i2c地址0xa0、i2c数据、i2c重新开始信号、i2c地址0xa1、i2c nack信号以及i2c停止信号。
10、在一个实施例中,所述多个第一信号序列包括5个第一信号序列。
11、在一个实施例中,所述多个第一信号序列的第一个第一信号序列的i2c数据是0xae,所述多个第一信号序列的第二个第一信号序列的i2c数据是0x6e,所述多个第一信号序列的第三个第一信号序列的i2c数据是0x61,所述多个第一信号序列的第四个第一信号序列的i2c数据是所述偏移值offset,所述多个第一信号序列的第五个第一信号序列的i2c数据是长度length,其中length是所述长度的数值。
12、在一个实施例中,所述第二信号序列包括依次出现的i2c开始信号、i2c地址0xa0、i2c数据0x01、i2c重新开始信号、i2c地址0xa1。
13、在一个实施例中,所述通过所述hdmi-scl信号线与hdmi-sda信号线输出所述cable id的从所述偏移值开始且具有所述长度的数据,包括:使所述i2c设备通过所述hdmi-scl信号线与hdmi-sda信号线输出多个第四信号序列。
14、在一个实施例中,所述第四信号序列包括cable id的一字节数据。
15、在一个实施例中,所述第四信号序列的个数等于所述长度。
16、在一个实施例中,所述第一个第四信号序列的i2c数据是cable-id的第一字节,所述第二个第四信号序列的i2c数据是cable-id的第二字节,…,第length个第四信号序列的i2c数据是cable-id的第length个字节,其中length是所述长度的数值。
17、在一个实施例中,其中,通过所述hdmi-scl信号线与hdmi-sda信号线输出一个第四信号序列后,还响应于从所述hdmi-scl信号线与hdmi-sda信号线检测到i2c ack信号,通过所述hdmi-scl信号线与hdmi-sda信号线输出下一个第四信号序列。
18、在一个实施例中,使所述i2c设备通过所述hdmi-scl信号线与hdmi-sda信号线输出第四信号序列,包括:使所述i2c设备根据在所述hdmi-scl信号线上的时钟驱动下,向所述hdmi-sda信号线输出cable id的一字节数据,其中所述一字节数据位于距所述cable id的起始位置的偏移为所述偏移值加m减1,其中当前输出的第四信号序列是所述多个第四信号序列中的第m个第四信号序列,m为大于或等于1的正整数。
19、在一个实施例中,从所述hdmi-scl信号线与hdmi-sda信号线检测到i2cack信号,包括:使所述i2c设备根据在所述hdmi-scl信号线上的下一个时钟驱动下,在所述hdmi-sda信号线上检测到低电平时,识别出出现所述i2cack信号。
20、在第二方面中,本发明还提供一种控制读取hdmi有源线缆的cable id的设备,包括:i2c设备,其包括时钟引脚和数据引脚,所述时钟引脚连接hdmi有源线缆的hdmi-scl信号线,所述数据引脚连接hdmi有源线缆的hdmi-sda信号线,所述i2c设备监听所述hdmi-scl信号线与hdmi-sda信号线;处理器,其与所述i2c设备连接,用于执行程序指令;开关,其分别与所述处理器、i2c设备的数据引脚、hdmi-sda信号线和浮空线路连接;所述处理器可控制所述开关将所述i2c设备的数据引脚连接到所述hdmi-sda信号线,或者将所述i2c设备的数据引脚连接到所述浮空线路并同所述hdmi-sda信号线断开;存储器,其用于存储所述程序指令,当所述程序指令由所述处理器加载并执行时,使得所述处理器执行下述步骤:响应于在hdmi-sda信号线上检测到源设备输出的从机地址或i2c数据,控制所述开关将所述i2c设备的数据引脚连接到所述浮空线路并同所述hdmi-sda信号线断开,以使所述i2c设备基于源设备输出数据生成的i2c ack信号不输出至所述hdmi-sda信号线;以及响应于在所述hdmi-sda信号线上检测到从设备输出的基于源设备输出数据的i2c ack信号,控制所述开关将所述i2c设备的数据引脚连接到所述hdmi-sda信号线,以使所述i2c设备与所述hdmi-sda信号线进行数据交互。
21、在一个实施例中,所述浮空线路包括i2c设备所处芯片的悬空引脚或对地引脚。
22、在一个实施例中,所述i2c设备的数据引脚和所述芯片的悬空引脚均为可编程引脚。
23、在一个实施例中,所述处理器还连接所述hdmi-sda信号线,以读取所述hdmi-sda信号线上传输的信号。
24、在一个实施例中,所述处理器与所述i2c设备通过相同的引脚连接所述hdmi-sda信号线,在所述处理器控制所述开关将所述i2c设备的数据引脚连接到所述浮空线路并同所述hdmi-sda信号线断开时,所述处理器依然能通过所述引脚读取所述hdmi-sda信号线上传输的信号。
25、在一个实施例中,所述处理器与所述i2c设备分别通过第一引脚与第二引脚连接所述hdmi-sda信号线,在所述处理器控制所述开关将所述i2c设备的数据引脚连接到所述浮空线路并同所述hdmi-sda信号线断开时,所述处理器依然能通过所述第一引脚读取所述hdmi-sda信号线上传输的信号。
26、在第三方面中,本发明还提供一种读取hdmi有源线缆的cable id的方法,其特征在于,其中所述hdmi线缆同源设备与从设备连接,所述源设备连接所述hdmi有源线缆的hdmi-scl信号线与hdmi-sda信号线,所述从设备连接所述hdmi有源线缆的hdmi-scl信号线与hdmi-sda信号线,所述hdmi有源线缆包括i2c设备,所述i2c设备的时钟引脚连接所述hdmi-scl信号线,所述i2c设备的数据引脚通过开关分别连接所述hdmi-sda信号线和浮空线路,所述处理器还与所述i2c设备和所述开关连接。所述方法包括:所述源设备与所述从设备在所述hdmi-scl信号线与hdmi-sda信号线上通过从机地址、i2c数据和时钟信号通信,在所述hdmi-sda信号线上检测源设备输出的从机地址或i2c数据;所述源设备与所述从设备在所述hdmi-sda信号线上通过从设备的i2c ack信号通信,所述处理器在所述hdmi-sda信号线上检测从设备输出的基于源设备输出数据的i2c ack信号;所述处理器,响应于在所述hdmi-sda信号线上检测到源设备输出的从机地址或i2c数据,控制所述开关将所述i2c设备的数据引脚连接到所述浮空线路并同所述hdmi-sda信号线断开,以使所述i2c设备基于源设备输出数据生成的i2c ack信号不输出至所述hdmi-sda信号线;所述处理器,响应于在所述hdmi-sda信号线上检测到从设备输出的基于源设备输出数据的i2c ack信号,控制所述开关将所述i2c设备的数据引脚连接到所述hdmi-sda信号线,以使所述i2c设备与所述hdmi-sda信号线进行数据交互。
27、总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果:本方案使用标准i2c设备,而且可以实现在不响应i2c地址的情况下,监控i2c数据和回应i2c读操作,从而完成hdmi2.1协议的cable id数据读取功能。
1.一种用于hdmi有源线缆的处理对cable id的读取的方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,将所述i2c设备的数据引脚设置为浮空包括将所述i2c设备的数据引脚连接到所述i2c设备所处芯片的悬空引脚或对地引脚。
3.根据权利要求1或2所述的方法,其特征在于,所述源设备和从设备在源设备的时钟信号的驱动下与所述hdmi-sda信号线进行数据交互;
4.根据权利要求1-3中任一项所述的方法,其特征在于,
5.根据权利要求1-4中任一项所述的方法,其特征在于,
6.根据权利要求1-5任一所述的方法,其特征在于,
7.根据权利要求6所述的方法,其特征在于,
8.根据权利要求6所述的方法,其特征在于,所述第一信号序列包括依次出现的i2c开始信号、i2c地址0xa0、i2c数据、i2c重新开始信号、i2c地址0xa1、i2c nack信号以及i2c停止信号。
9.根据权利要求6-8中任一项所述的方法,其特征在于,所述多个第一信号序列包括5个第一信号序列。
10.根据权利要求9所述的方法,其特征在于,所述多个第一信号序列的第一个第一信号序列的i2c数据是0xae,所述多个第一信号序列的第二个第一信号序列的i2c数据是0x6e,所述多个第一信号序列的第三个第一信号序列的i2c数据是0x61,所述多个第一信号序列的第四个第一信号序列的i2c数据是所述偏移值offset,所述多个第一信号序列的第五个第一信号序列的i2c数据是长度length,其中length是所述长度的数值。
11.根据权利要求6-10任一所述的方法,其特征在于,所述第二信号序列包括依次出现的i2c开始信号、i2c地址0xa0、i2c数据0x01、i2c重新开始信号、i2c地址0xa1。
12.根据权利要求6-10任一所述的方法,其特征在于,所述通过所述hdmi-scl信号线与hdmi-sda信号线输出所述cable id的从所述偏移值开始且具有所述长度的数据,包括:使所述i2c设备通过所述hdmi-scl信号线与hdmi-sda信号线输出多个第四信号序列。
13.根据权利要求12所述的方法,其特征在于,所述第四信号序列包括cable id的一字节数据。
14.根据权利要求12或13所述的方法,其特征在于,所述第四信号序列的个数等于所述长度。
15.根据权利要求14所述的方法,其特征在于,所述第一个第四信号序列的i2c数据是cable-id的第一字节,所述第二个第四信号序列的i2c数据是cable-id的第二字节,…,第length个第四信号序列的i2c数据是cable-id的第length个字节,其中length是所述长度的数值。
16.根据权利要求12-15中任一项所述的方法,其特征在于,其中,
17.根据权利要求13-15中任一项所述的方法,其特征在于,使所述i2c设备通过所述hdmi-scl信号线与hdmi-sda信号线输出第四信号序列,包括:
18.根据权利要求16所述的方法,其特征在于,从所述hdmi-scl信号线与hdmi-sda信号线检测到i2c ack信号,包括:
19.一种控制读取hdmi有源线缆的cable id的设备,包括:
20.根据权利要求19所述的设备,其特征在于,所述浮空线路包括i2c设备所处芯片的悬空引脚或对地引脚。
21.根据权利要求20所述的设备,其特征在于,所述i2c设备的数据引脚和所述芯片的悬空引脚均为可编程引脚。
22.根据权利要求19-21中任一项所述的设备,其特征在于,所述处理器还连接所述hdmi-sda信号线,以读取所述hdmi-sda信号线上传输的信号。
23.一种读取hdmi有源线缆的cable id的方法,其特征在于,其中所述hdmi线缆同源设备与从设备连接,所述源设备连接所述hdmi有源线缆的hdmi-scl信号线与hdmi-sda信号线,所述从设备连接所述hdmi有源线缆的hdmi-scl信号线与hdmi-sda信号线,所述hdmi有源线缆包括i2c设备,所述i2c设备的时钟引脚连接所述hdmi-scl信号线,所述i2c设备的数据引脚通过开关分别连接所述hdmi-sda信号线和浮空线路,所述处理器还与所述i2c设备和所述开关连接;