HDMI20协议解析_Audio_Clock_Regeneration

HDMI20协议解析_Audio_Clock_Regeneration


1.版本说明

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

2.概述

当通过HDMI传输音频信号时,Audio Clock Regeneration(ACR)是必须要传输的数据包之一;
HDMI传输过程中,音频采样时钟不再保留,通过TMDS时钟和音频采样时钟之间,建立关系,以此恢复音频时钟;
当音视频时钟同源时,由于具有固定的关系, 因此N/CTS会固定, 否则 N固定,CTS会小范围波动,以此平衡
音频和视频之间的波动;
强调:ACR数据包非常重要,传输异常,会导致部分专业显示器没有声音;


3.目标

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


4.协议解析

  • 协议分类

在这里插入图片描述

  • 协议格式

在这里插入图片描述

5.参数分析

  • 整个ACR包只涉及两个参数,N和CTS;且N和CTS官方都有具体的推荐参数,但是推荐参数只能用于两种情况;第一:音视频同源;第二:音视频异步,但是前级模块增加音频采样率转换模块匹配采样速率;当音视频异步时,
    HDMI协议也提供了一种标准做法,实时统计CTS的值,以一定的频率(大概每间隔CTS/次)传输;

  • 推荐参数如图:

  • 在这里插入图片描述

  • 音视频异步处理原理

  • 在这里插入图片描述

  • 核心公式:
    128*fs = F_tmdsfreq * N / CTS


6.推荐

  • 采用实时统计CTS取代固定CTS,但是N用官方参数;
  • CTS传输频率要符合官方要求,重点!!
Nominally, Audio Clock Regeneration Packets with newly generated CTS values will be
transmitted at a rate of 128*fs/N. On average, the Source shall transmit CTS values at this rate
precisely. The Source shall transmit each CTS data value as close as possible to the nominal
transmission time for that value with the exception that priority must be given to Audio Sample
packets to ensure that Audio Sample Packet delivery requirements are met.

7.软件实现

reg            [8                       -1 : 0] HB0                         = 8'h01;
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;

always @(posedge clk) begin
    PB0 <= 0;
    PB1 <= {4'b0000, acr_cts[19:16]};
    PB2 <= acr_cts[15:8];
    PB3 <= acr_cts[7:0];
    PB4 <= {4'b0000, acr_n[19:16]};
    PB5 <= acr_n[15:8];
    PB6 <= acr_n[7:0];
end


8.参考文档

  • EIA-CEA-861-D
  • HDMI 1.4(1.4b/2.0)

在这里插入图片描述


在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值