本发明一般涉及有源线缆数据处理。更具体地,本发明涉及一种用于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功能依赖于存储在线缆中的cableid。cableid为一组数据结构,表明了hdmi线缆的功能、性能及厂商信息,供源设备读取。对于单向传输或需要pca供电的category 3线缆,cableid为hdmi认证测试必要项目。
3、根据hdmi2.1协议,源设备利用idcc(id communications channel,身份通信通道)协议在i2c总线上完成线缆cableid读取,这需要线缆内的cableid处理模块监听源设备在i2c通道上发送的数据,并回应cableid数据结构,同时要求cableid处理模块不能响应i2c从机地址(nack,not acknowledge,未确认/未响应/未准备好)。
4、然而,目前通常利用mcu(microcontroller units,微控制单元)片内i2c外设的slave模式来完成i2c数据的监听和回应,但若要满足不能响应i2c从机地址的要求,i2c外设的其内部状态机无法实现完整的i2c数据处理功能,即无法在i2c通道上监听和回应数据。即,该标准i2c外设在不能响应i2c地址时,无法作为从机的问题,因此无法实现cableid数据的读取操作。
5、因此,亟需提供一种用于hdmi有源线缆的处理对cable id的读取的方法、读取hdmi有源线缆的cable id的方法以及用于hdmi有源线缆的处理对cable id的读取的设备,其可以利用通用mcu片内的其它串行通信设备替代i2c片内外设,使在满足不响应i2c从机地址的同时,又能在i2c通道上监听和回应数据,从而完成hdmi2.1协议的cableid数据读取功能。
技术实现思路
1、为了至少解决如上所提到的一个或多个技术问题,本发明在多个方面提出了用于hdmi有源线缆的处理对cable id的读取的方法、读取hdmi有源线缆的cable id的方法以及用于hdmi有源线缆的处理对cable id的读取的设备。
2、在第一方面中,本发明提供一种用于hdmi有源线缆的处理对cable id的读取的方法,所述方法包括:利用串行通信设备监听hdmi有源线缆的hdmi-scl信号线与hdmi-sda信号线,其中所述串行通信设备包括第一引脚与第二引脚,所述第一引脚连接所述hdmi-scl信号线,所述第二引脚连接所述hdmi-sda信号线;所述串行通信设备,响应于在所述hdmi-scl信号线与hdmi-sda信号线上依次检测到多个第一信号序列以及一个第二信号序列,通过所述hdmi-scl信号线与hdmi-sda信号线输出所述cable id的全部或部分;其中根据从所述多个第一信号序列获取的偏移值和长度,确定通过所述hdmi-scl信号线与hdmi-sda信号线输出所述cable id的从所述偏移值开始且具有所述长度的数据;所述串行通信设备,响应于在所述hdmi-scl信号线与hdmi-sda信号线上依次检测到第三信号序列,识别出对cable id的读取的处理完成。
3、在一个实施例中,所述第一信号序列包括依次出现的i2c开始信号、i2c地址0xa0、i2c ack信号、i2c数据、i2c ack信号、i2c重新开始信号、i2c地址0xa1、i2c ack信号、i2c数据edid、i2c nack信号以及i2c停止信号。
4、在一个实施例中,所述多个第一信号序列包括5个第一信号序列。
5、在一个实施例中,所述多个第一信号序列的第一个第一信号序列的i2c数据是0xae,所述多个第一信号序列的第二个第一信号序列的i2c数据是0x6e,所述多个第一信号序列的第三个第一信号序列的i2c数据是0x61,所述多个第一信号序列的第四个第一信号序列的i2c数据是所述偏移值offset,所述多个第一信号序列的第五个第一信号序列的i2c数据是长度length,其中length是所述长度的数值。
6、在一个实施例中,所述第二信号序列包括依次出现的i2c开始信号、i2c地址0xa0、i2c ack信号、i2c数据0x01、i2c ack信号、i2c重新开始信号、i2c地址0xa1以及i2c ack信号。
7、在一个实施例中,所述通过所述hdmi-scl信号线与hdmi-sda信号线输出所述cable id的从所述偏移值开始且具有所述长度的数据,包括:通过所述hdmi-scl信号线与hdmi-sda信号线输出多个第四信号序列。
8、在一个实施例中,所述第四信号序列包括cable id的一字节数据。
9、在一个实施例中,所述第四信号序列的个数等于所述长度。
10、在一个实施例中,所述第一个第四信号序列的i2c数据是cableid的第一字节,所述第二个第四信号序列的i2c数据是cableid的第二字节,…,第length个第四信号序列的i2c数据是cableid的第length个字节,其中length是所述长度的数值。
11、在一个实施例中,其中,通过所述hdmi-scl信号线与hdmi-sda信号线输出一个第四信号序列后,还响应于从所述hdmi-scl信号线与hdmi-sda信号线检测到i2c ack信号,通过所述hdmi-scl信号线与hdmi-sda信号线输出下一个第四信号序列。
12、在一个实施例中,在所述hdmi-scl信号线与hdmi-sda信号线上检测第一信号序列,包括:根据在所述hdmi-scl信号线上出现高电平时,在所述hdmi-sda信号线上检测到下降沿,识别出出现所述i2c开始信号;根据在所述hdmi-scl信号线上的时钟驱动下,在所述hdmi-sda信号线上接收到数据0xa0,识别出出现所述i2c地址0xa0;根据在所述hdmi-scl信号线上的下一个时钟驱动下,在所述hdmi-sda信号线上检测到低电平时,识别出出现i2cack信号;根据在所述hdmi-scl信号线上的时钟驱动下,在所述hdmi-sda信号线上接收到i2c数据,识别出出现i2c数据;根据在所述hdmi-scl信号线上的下一个时钟驱动下,在所述hdmi-sda信号线上检测到低电平时,识别出出现i2c ack信号;根据在所述hdmi-scl信号线上出现高电平时,在所述hdmi-sda信号线上检测到下降沿,识别出出现所述i2c重新开始信号;根据在所述hdmi-scl信号线上的时钟驱动下,在所述hdmi-sda信号线上接收到数据0xa1,识别出出现所述i2c地址0xa1;根据在所述hdmi-scl信号线上的下一个时钟驱动下,在所述hdmi-sda信号线上检测到低电平时,识别出出现i2c ack信号;根据在所述hdmi-scl信号线上的时钟驱动下,在所述hdmi-sda信号线上接收到i2c数据edid的一字节数据,识别出出现所述i2c数据edid;根据在所述hdmi-scl信号线上的下一个时钟驱动下,在所述hdmi-sda信号线上检测到高电平时,识别出出现所述i2c nack信号;根据在所述hdmi-scl信号线上出现高电平时,在所述hdmi-sda信号线上检测到上升沿,识别出出现所述i2c停止信号。
13、在一个实施例中,在所述hdmi-scl信号线与hdmi-sda信号线上检测第二信号序列,包括:根据在所述hdmi-scl信号线上出现高电平时,在所述hdmi-sda信号线上检测到下降沿,识别出出现所述i2c开始信号;根据在所述hdmi-scl信号线上的时钟驱动下,在所述hdmi-sda信号线上接收到数据0xa0,识别出出现所述i2c地址0xa0;根据在所述hdmi-scl信号线上的下一个时钟驱动下,在所述hdmi-sda信号线上检测到低电平时,识别出出现i2cack信号;根据在所述hdmi-scl信号线上的时钟驱动下,在所述hdmi-sda信号线上接收到i2c数据0x01,识别出出现所述i2c数据0x01;根据在所述hdmi-scl信号线上的下一个时钟驱动下,在所述hdmi-sda信号线上检测到低电平时,识别出出现i2c ack信号;根据在所述hdmi-scl信号线上出现高电平时,在所述hdmi-sda信号线上检测到下降沿,识别出出现所述i2c重新开始信号;根据在所述hdmi-scl信号线上的时钟驱动下,在所述hdmi-sda信号线上接收到数据0xa1,识别出出现所述i2c地址0xa1;根据在所述hdmi-scl信号线上的下一个时钟驱动下,在所述hdmi-sda信号线上检测到低电平时,识别出出现i2c ack信号。
14、在一个实施例中,在所述hdmi-scl信号线与hdmi-sda信号线上检测第三信号序列,包括:根据在所述hdmi-scl信号线上的下一个时钟驱动下,在所述hdmi-sda信号线上检测到高电平时,识别出出现i2c nack信号;根据在所述hdmi-scl信号线上出现高电平时,在所述hdmi-sda信号线上检测到上升沿,识别出出现i2c停止信号。
15、在一个实施例中,通过所述hdmi-scl信号线与hdmi-sda信号线输出第四信号序列,包括:根据在所述hdmi-scl信号线上的时钟驱动下,通过所述hdmi-sda信号线输出cable id的一字节数据,其中所述一字节数据位于距所述cable id的起始位置的偏移为所述偏移值加m减1,其中当前输出的第四信号序列是所述多个第四信号序列中的第m个第四信号序列,m为大于或等于1的正整数。
16、在一个实施例中,从所述hdmi-scl信号线与hdmi-sda信号线检测到i2cack信号,包括:根据在所述hdmi-scl信号线上的下一个时钟驱动下,在所述hdmi-sda信号线上检测到低电平时,识别出出现所述i2c ack信号。
17、在一个实施例中,所述串行通信设备是spi通信设备,所述第一引脚是所述spi通信设备的时钟引脚,所述第二引脚是所述spi通信设备的数据引脚。
18、在另一个实施例中,所述串行通信设备是uart通信设备,所述第一引脚是所述uart通信设备的具有时钟速率检测功能的引脚,所述第二引脚是所述uart通信设备的数据引脚;所述uart通信设备支持单线半双工传输模式。
19、在第二方面中,本发明还提供一种读取hdmi有源线缆的cable id的方法,其特征在于,其中所述hdmi有源线缆同源设备与从设备连接,所述源设备连接所述hdmi有源线缆的hdmi-scl信号线与hdmi-sda信号线,所述从设备连接所述hdmi有源线缆的hdmi-scl信号线与hdmi-sda信号线,所述hdmi有源线缆包括串行通信设备,所述串行通信设备连接所述hdmi有源线缆的hdmi-scl信号线与hdmi-sda信号线。所述方法包括:所述源设备与所述从设备在所述hdmi-scl信号线与hdmi-sda信号线上通过多个第一信号序列通信,所述串行通信设备在所述hdmi-scl信号线与hdmi-sda信号线上检测所述多个第一信号序列;所述源设备与所述从设备在所述hdmi-scl信号线与hdmi-sda信号线上通过一个第二信号序列通信,所述串行通信设备在所述hdmi-scl信号线与hdmi-sda信号线上检测所述一个第二信号序列;所述串行通信设备,响应于在所述hdmi-scl信号线与hdmi-sda信号线上依次检测到多个第一信号序列以及一个第二信号序列,通过所述hdmi-scl信号线与hdmi-sda信号线输出所述cable id的全部或部分;其中根据从所述多个第一信号序列获取的偏移值和长度,确定通过所述hdmi-scl信号线与hdmi-sda信号线输出所述cable id的从所述偏移值开始且具有所述长度的数据;所述源设备与所述从设备在所述hdmi-scl信号线与hdmi-sda信号线上通过一个第三信号序列通信,所述串行通信设备在所述hdmi-scl信号线与hdmi-sda信号线上检测所述一个第三信号序列;所述串行通信设备,响应于在所述hdmi-scl信号线与hdmi-sda信号线上依次检测到第三信号序列,识别出对cable id的读取的处理完成。
20、在第三方面中,本发明还提供一种用于hdmi有源线缆的处理对cable id的读取的设备,所述设备为串行通信设备,包括:处理器,其配置用于执行程序指令;以及存储器,其配置用于存储所述程序指令,当所述程序指令由所述处理器加载并执行时,使得所述处理器执行根据前述第一方面的多个实施例之一所述的方法。
21、在一个实施例中,所述设备包括spi通信设备,所述spi通信设备的时钟引脚连接所述hdmi-scl信号线,所述spi通信设备的数据引脚连接所述hdmi-sda信号线。
22、在另一个实施例中,所述设备包括uart通信设备,所述uart通信设备的具有时钟速率检测功能的引脚连接所述hdmi-scl信号线,所述uart通信设备的数据引脚连接所述hdmi-sda信号线;所述uart通信设备支持单线半双工传输模式。
23、总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果:其利用通用mcu片内的其它串行通信设备替代了i2c片内外设,使在满足不响应i2c从机地址的同时,又能在i2c通道上监听和回应数据,从而完成hdmi2.1协议的cableid数据读取功能。
1.一种用于hdmi有源线缆的处理对cable id的读取的方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述第一信号序列包括依次出现的i2c开始信号、i2c地址0xa0、i2c ack信号、i2c数据、i2c ack信号、i2c重新开始信号、i2c地址0xa1、i2c ack信号、i2c数据edid、i2c nack信号以及i2c停止信号。
3.根据权利要求1或2所述的方法,其特征在于,所述多个第一信号序列包括5个第一信号序列。
4.根据权利要求3所述的方法,其特征在于,所述多个第一信号序列的第一个第一信号序列的i2c数据是0xae,所述多个第一信号序列的第二个第一信号序列的i2c数据是0x6e,所述多个第一信号序列的第三个第一信号序列的i2c数据是0x61,所述多个第一信号序列的第四个第一信号序列的i2c数据是所述偏移值offset,所述多个第一信号序列的第五个第一信号序列的i2c数据是长度length,其中length是所述长度的数值。
5.根据权利要求1-4任一所述的方法,其特征在于,所述第二信号序列包括依次出现的i2c开始信号、i2c地址0xa0、i2c ack信号、i2c数据0x01、i2cack信号、i2c重新开始信号、i2c地址0xa1以及i2c ack信号。
6.根据权利要求1-5任一所述的方法,其特征在于,所述通过所述hdmi-scl信号线与hdmi-sda信号线输出所述cable id的从所述偏移值开始且具有所述长度的数据,包括:通过所述hdmi-scl信号线与hdmi-sda信号线输出多个第四信号序列。
7.根据权利要求6所述的方法,其特征在于,所述第四信号序列包括cable id的一字节数据。
8.根据权利要求6或7所述的方法,其特征在于,所述第四信号序列的个数等于所述长度。
9.根据权利要求8所述的方法,其特征在于,所述第一个第四信号序列的i2c数据是cableid的第一字节,所述第二个第四信号序列的i2c数据是cableid的第二字节,…,第length个第四信号序列的i2c数据是cableid的第length个字节,其中length是所述长度的数值。
10.根据权利要求6-9中任一项所述的方法,其特征在于,其中,
11.根据权利要求2-8任一所述的方法,其特征在于,在所述hdmi-scl信号线与hdmi-sda信号线上检测第一信号序列,包括:
12.根据权利要求5-11任一所述的方法,其特征在于,在所述hdmi-scl信号线与hdmi-sda信号线上检测第二信号序列,包括:
13.根据权利要求1-12任一所述的方法,其特征在于,在所述hdmi-scl信号线与hdmi-sda信号线上检测第三信号序列,包括:
14.根据权利要求7所述的方法,其特征在于,通过所述hdmi-scl信号线与hdmi-sda信号线输出第四信号序列,包括:
15.根据权利要求10所述的方法,其特征在于,从所述hdmi-scl信号线与hdmi-sda信号线检测到i2c ack信号,包括:
16.根据权利要求1-15任一所述的方法,其特征在于,所述串行通信设备是spi通信设备,所述第一引脚是所述spi通信设备的时钟引脚,所述第二引脚是所述spi通信设备的数据引脚。
17.根据权利要求1-15任一所述的方法,其特征在于,所述串行通信设备是uart通信设备,所述第一引脚是所述uart通信设备的具有时钟速率检测功能的引脚,所述第二引脚是所述uart通信设备的数据引脚;所述uart通信设备支持单线半双工传输模式。
18.一种读取hdmi有源线缆的cable id的方法,其特征在于,其中所述hdmi有源线缆同源设备与从设备连接,所述源设备连接所述hdmi有源线缆的hdmi-scl信号线与hdmi-sda信号线,所述从设备连接所述hdmi有源线缆的hdmi-scl信号线与hdmi-sda信号线,所述hdmi有源线缆包括串行通信设备,所述串行通信设备连接所述hdmi有源线缆的hdmi-scl信号线与hdmi-sda信号线;
19.一种用于hdmi有源线缆的处理对cable id的读取的设备,所述设备为串行通信设备,其特征在于,包括:
20.根据权利要求19所述的设备,其特征在于,所述设备包括spi通信设备,所述spi通信设备的时钟引脚连接所述hdmi-scl信号线,所述spi通信设备的数据引脚连接所述hdmi-sda信号线。
21.根据权利要求19所述的设备,其特征在于,所述设备包括uart通信设备,所述uart通信设备的具有时钟速率检测功能的引脚连接所述hdmi-scl信号线,所述uart通信设备的数据引脚连接所述hdmi-sda信号线;所述uart通信设备支持单线半双工传输模式。
