SCDC       State and Control Data Channel

接收端如果有SCDC,应该在E-EDID中包含一个有效的HF-VSDB,并且把SCDC_Present位设置为1。在访问SCDC之前,源端必须验证接收端E-EDID中,包含一个有效的HF-VSDB并且SCDC_Present位要设置为1,否则源端不能访问SCDC。

HF-VSDB在H2.0中定义,用于指示宿端支持的H2.0中定义的特性。HF-VDSB与H1.4b中定义的VSDB是有区别的。HF-VDSB不能取代VDSB,它们都是Vendor Specific Data Block

在E-EDID中是否要支持HF-VDSB是可选的,除非支持Table10-5(H2.0)的特征。如果包含的话,HF-VSDB应该位于宿端E-EDID中CEA 扩展版本3,在E-EDID中紧随H14b VSDB。下图是H2.0中Table10-6,它定义了HF-VDSB

在程序中,SCDC主要用于源端更新宿端TMDS_Bit_Clock_Ratio和Scrambler_Enable寄存器位,并且在这个版本中不支持HDMI RX对SCDC的读请求。

SCDC_Present[1bit]  = 1,宿端支持SCDC功能

= 0,宿端不支持SCDC功能

以下HDMI Specification 2.0 中的对应的寄存器及地址参数

按照版本2.0,接收端版本应该是1

Table10-19:SCDC—TMDS Configuration

Scrambling_Enable:=1,源端设置该位为1使能宿端加扰

=0,源端设置该位为0,禁止宿端加扰

TMDS_Bit_Clock_Ratio:=0,(TMDS Bit Period)/ (TMDS Clock Period) = 1/10

=1, (TMDS Bit Period) / ( TMDS Clock Period) = 1/40

当宿端支持的TMDS位速率大于3.4Gbps时,就要提供TMDS_Bit_Clock_Ratio控制位。如果TMDS位速率小于3.4Gpbs,源端要设置TMDS_Bit_Clock_Ratio = 0,TMDS 时钟和数据信号要遵从HDMI1.4b。当TMDS位速率在3.4~6.0Gbps时,源端要设置TMDS_Bit_Clock_Ratio = 1,此时TMDS的时钟和数据信号要遵从HDMI2.0的6.1.1.4。设置之后源端可以读取Clock_Detected状态位来确保宿端接收到了传输的TMDS_Bit_Clock_Ratio设置。

源端修改宿端的TMDS_Bit_Clock_Ratio位的操作步骤:

  1. 源端要暂停传输TMDS时钟和数据
  2. 写tmds_bit_clock_ratio位
  3. 等待最小1ms,最大100ms,再启动TMDS时钟和数据的传输
  4. 源端可以读取Clock_Detected状态位来验证宿端是否检测到了TMDS时钟

Clock_Detected:当宿端接收到有效的时钟信号时该位置1,反之置0

Ch0_Locked:当宿端在通道0上成功解码出数据时该位置高,反之置0.

数据传输协议

SCDC 的I2C从机地址是0xA8/0xA9

(1)       读update flags

(2)       读其余数据

(3)       写操作

上面的程序对应一个地址为0Xa8,先看下在HDMI Specification2.0【10.4.3 Data Transfer Protocols】中的说明:

HDMI Specification2.0对SCDC(Satus and Control Data Channel)的参数进行了详细的讲述。

HDMI SCDC处理过程的更多相关文章

  1. HDMI EDID 处理过程

    DDC的参数 EDID是一种VESA 标准数据格式,其中包含有关监视器及其性能的参数,包括供应商信息.最大图像大小.颜色设置.厂商预设置.频率范围的限制以及显示器名和序列号的字符串.EDID数据标准: ...

  2. HDMI接口与协议

    深入了解HDMI接口 一.HDMI接口的工作原理这张图是HDMI接口的架构示意图.从左边的信号源中你可以看到,HDMI接口的信源可以是任何支持HDMI输出的设备,而接入端也可以是任何带有HDMI输 入 ...

  3. HDMI介绍与流程

    HDMI接口 http://baike.c114.net/view.asp?id=17671-21565442 DDC(Display Data Channel)通道用于HDMI发送和接收端之间交换一 ...

  4. LVDS/DVI/HDMI Interface

    数字视频信号 以SXGA为例,其时序如下: 垂直:         水平: 图中DSPTMG为使能信号,VSYNC为场同步信号,HSYNC为行同步信号.在行场的消隐期(T1与T7),DSPTMG为低电 ...

  5. 【转】 HDMI介绍与流程

    转自:https://www.cnblogs.com/TaigaCon/p/3840653.html HDMI,全称为(High Definition Multimedia Interface)高清多 ...

  6. HDMI中checksum计算法

    在AVI传输过程中有三个字节没有被传输.这是在HDMI1.4B中找到的前三个字节的数据. >> hex2dec('82') ans = 130 下图中的数据中在HDMI中接收到的一串数据, ...

  7. 转:HDMI介绍与流程

    HDMI介绍与流程   HDMI,全称为(High Definition Multimedia Interface)高清多媒体接口,主要用于传输高清音视频信号. HDMI引脚: HDMI有A,B,C, ...

  8. 转载: HDMI 基础知识

    转自:http://www.cnblogs.com/TaigaCon/p/3840653.html HDMI,全称为(High Definition Multimedia Interface)高清多媒 ...

  9. c++ primer plus 第6版 部分二 5- 8章

    ---恢复内容开始--- c++ primer plus 第6版 部分二    5-  章 第五章 计算机除了存储外 还可以对数据进行分析.合并.重组.抽取.修改.推断.合成.以及其他操作 1.for ...

随机推荐

  1. Java 多态的实现机制

    http://my.oschina.net/onlytwo/blog/52222 是父类或接口定义的引用变量可以指向子类或实现类的实例对象,而程序调用的方法在运行期才动态绑定,就是引用变量所指向的具体 ...

  2. JavaWeb——jsp-config

    <jsp-config> 包括 <taglib> 和 <jsp-property-group> 两个子元素.其中<taglib> 元素在JSP 1.2 ...

  3. python中定时任务

    今天看网络框架时,突然想看一下定时器,于是往上搜索了一下python中timer task的实现,但是由于python本身对线程的支持不是太好,因为全局排它锁的存在,使得多线程在访问资源时效率比较低. ...

  4. DateTimeOffset DateTime

    DateTime只保存两部分信息:Ticks和KindTicks 一个Tick是100纳秒(1万Tick等于1毫秒)Ticks记录了从1/1/0001 12:00 AM到现在经过了多少100纳秒.Ki ...

  5. ios7自定义返回按钮后,右滑返回功能失效解决方法

    -(void)viewWillAppear:(BOOL)animated{     [super viewWillAppear:animated];     //开启ios右滑返回     if ([ ...

  6. python变量、注释、程序交互、格式化输入、基本运算符

    变量                                                                                                  ...

  7. <记录> PHP监控进程状态,完成掉线自动重启

    1. 利用Shell脚本实现 #!/bin/bash PORT= while [ true ];do read -p "please enter the port that you want ...

  8. JavaScript学习-4——DOM对象、事件

    本章目录 --------window对象 --------document对象 --------事件 一.window对象 函数调用: 自己封装的函数只写:函数名(): 数学函数Math 例:绝对值 ...

  9. 学习node.js 第1篇 介绍nodejs

    Node.js是什么? Node.js是建立在谷歌Chrome的JavaScript引擎(V8引擎)的Web应用程序框架. 它的最新版本是:v0.12.7(在编写本教程时的版本).Node.js在官方 ...

  10. synchronized 和reentrantlock的优缺点

    reentrantlock的优点 可以添加多个检控条件, 如果使用synchronized,则只能使用一个. 使用 reentrant locks 可以有多个wait()/notify() 队列. [ ...