自学内容网 自学内容网

04_HDMI20协议解析_General_Control

04_HDMI20协议解析_General_Control


• 若该文为原创文章,未经允许不得转载
• 风释雪
• QQ:627833006
• E-mail:hn.cy@foxmail.com
• CSDN博客: https://blog.csdn.net/weixin_46718879
• 知乎:https://www.zhihu.com/people/abner-80-4


1.版本说明

日期作者版本说明
202409XX风释雪初始版本

2.概述

当通过HDMI传输音频信号时,General_Control是必须要传输的数据包之一, 如果没有,可能会有部分显示器有兼容性问题;
General_Control 可以打开或者关闭静音功能;


3.目标

FPGA 实现 HDMI2.0 TX/RX功能,生成或解析对应的General_Control数据包,用于传输双通道立体声


4.协议解析

  • 协议分类
    在这里插入图片描述

  • 协议格式

在这里插入图片描述

  • PP 4BIT = 4’b0000;
  • CD 4BIT = 4’b0000;
  • SET_AVMUTE 和 Clear_AVMUTE不能同时为1

5.实现

该协议直接固定发送数据即可;

reg            [8                       -1 : 0] HB0                         = 8'h03;
reg            [8                       -1 : 0] HB1                         = 8'h00;
reg            [8                       -1 : 0] HB2                         = 8'h00;
reg            [8                       -1 : 0] PB0                         = 0;
reg            [8                       -1 : 0] PB1                         = 0;
reg            [8                       -1 : 0] PB2                         = 0;
reg            [8                       -1 : 0] PB3                         = 0;
reg            [8                       -1 : 0] PB4                         = 0;
reg            [8                       -1 : 0] PB5                         = 0;
reg            [8                       -1 : 0] PB6                         = 0;
reg            [8                       -1 : 0] PB7                         = 0;
reg            [8                       -1 : 0] PB8                         = 0;
reg            [8                       -1 : 0] PB9                         = 0;
reg            [8                       -1 : 0] PB10                        = 0;
reg            [8                       -1 : 0] PB11                        = 0;
reg            [8                       -1 : 0] PB12                        = 0;
reg            [8                       -1 : 0] PB13                        = 0;
reg            [8                       -1 : 0] PB14                        = 0;
reg            [8                       -1 : 0] PB15                        = 0;
reg            [8                       -1 : 0] PB16                        = 0;
reg            [8                       -1 : 0] PB17                        = 0;
reg            [8                       -1 : 0] PB18                        = 0;
reg            [8                       -1 : 0] PB19                        = 0;
reg            [8                       -1 : 0] PB20                        = 0;
reg            [8                       -1 : 0] PB21                        = 0;
reg            [8                       -1 : 0] PB22                        = 0;
reg            [8                       -1 : 0] PB23                        = 0;
reg            [8                       -1 : 0] PB24                        = 0;
reg            [8                       -1 : 0] PB25                        = 0;
reg            [8                       -1 : 0] PB26                        = 0;
reg            [8                       -1 : 0] PB27                        = 0;
wire           [8                       -1 : 0] ECC0;                       /* PB0-PB6   */
wire           [8                       -1 : 0] ECC1;                       /* PB7-PB13  */
wire           [8                       -1 : 0] ECC2;                       /* PB14-PB20 */
wire           [8                       -1 : 0] ECC3;                       /* PB21-PB27 */
wire           [8                       -1 : 0] ECC4;                       /* HB0-HB2   */

always @(posedge clk) begin
    if (aud_en) begin
        PB0  <= 8'b0001_0000;
        PB7  <= 8'b0001_0000;
        PB14 <= 8'b0001_0000;
        PB21 <= 8'b0001_0000;
    end else begin
        PB0  <= 8'b0000_0001;
        PB7  <= 8'b0000_0001;
        PB14 <= 8'b0000_0001;
        PB21 <= 8'b0000_0001;
    end
end


在这里插入图片描述



原文地址:https://blog.csdn.net/weixin_46718879/article/details/143892928

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!