北京航天自动控制研究所 谢振芳
HDMI信号转SDI信号设计
北京航天自动控制研究所 谢振芳
本文提出了一种HDMI信号转SDI信号的设计,该设计使用GV7611和GS2972芯片实现HDMI信号到HD-SDI信号的转换,接口支持高达1080p分辨率的全高清数字节目,HDMI接口支持高达8声道720KHz采样的高清音频传输,本设计HDMI信号和SDI信号的转换可以完美的实现音频信号在HD-SDI信号中的嵌入。
hdmi;sdi;高清sdi;hdmi转sdi
目前数字高清视频发展环境下,以DVI信号接口、以及由它发展而来的HDMI信号接口这一系列的数字视频信号接口成为了普通监视器、液晶电视兼容的主要信号接口。HDMI信号作为极少数在传输视频的同时还兼容高比特率多声道音频信号的标准,己经广泛使用在一般消费电子市场,但是,由于HDMI信号传输距离较短(一般在5-30米左右),而HD-SDI有着较长的传输距离(可达150米),各种高端图像设备都具有HD-SDI接口,HD-SDI接口具有布线方便的特点,但往往在施工过程种很多设备只有HDMI接口,给系统信号的连接、融合造成一定的困难,此文提供一种HDMI信号转SDI信号设计。由于sdi是非压缩传输数字信号,视频不失真,图像完整性高,清晰度高,色彩还原度好。并能提供更多的细节,所以可以作高清视频源无损转换和传输提供了保障。
本设计使用支持HD-SDI和HDMI标准的专用芯片对HDMI信号进行封装,其优势在于专用芯片处理速度快,一般不需要考虑处理速度的兼容性,相应的软件设计只负责整体系统的控制,而不需要负责具体的封装功能的实现工作。根据HDMI标准,HDMI接口传输的信号规格为3对差分信号线并行传输,另有一对差分线传输数字视频的时钟。HDMI、SDI转换器硬件结构如图1所示。
图1 系统结构图Fig.1 Architecture of HDMI to SDI system
本设计MCU采用宏晶STC12LE5A60S2芯片,该单片机是宏晶科技生产的单时钟/机器周期(1T)的单片机,是高速、低功耗、超强抗干扰的新一代8051单片机,指令代码完全兼容传统8051,但速度快8-12倍,内部集成MAX810专用复位电路,2路PWM,8路高速10位A/D转换(250K/S ,即25万次/秒)。原理图如图2所示。
图2 MCU控制原理图Fig.2 the control principle diagram of MCU
本设计的HDMI接收芯片采用美国AD公司的低功率165 MHz HDMI接收器ADV7611,ADV7611是高质量的单个输入HDMI接收器。它包含一个HDMI-capable接收机支持所有的HDMI 1.4版本规范中定义的3 d电视、支持8位UXGA 60赫兹格式。ADV7611还有音频输出端口,音频数据从HDMI流中提取。ADV7611设有一个先进的静音控制器,防止无关声音在音频输出噪声。可通过软件对寄存器设置选择静音模式。ADV7611原理框图如图3所示。
图3 HDMI 输入电路框图Fig.3 the block diagram of HDMI input circuit
本设计的SDI发送器采用Gennum公司3G/HD/SD-SDI 并串转换芯片GS2972,支持SMPTE ST 424,SMPTE ST 292,SMPTE 259 - c或DVB-ASI串行数字信号输出,该芯片用户可选择的四种基本模式: SMPTE模式,DVB-ASI模式中,数据模式,或待机模式。在SMPTE模式下,GS2972按照所有SMPTE特性处理。两个SMPTE ST 425 A和B级水平格式支持可选的转换从水平B级1080 p 50/60 4:2:2 10位。在DVB-ASI模式下,设备将执行8 b / 10 b编码之前的传播。在数据模式中,所有SMPTE和DVB-ASI处理是禁用的。该设备可以作为一个简单的平行串行转换器。GS2872原理框图如图4所示。
HDMI信号转SDI信号的设计外部由12V适配器提供能量,内部采用两片美信半导体MAX15041电源管理芯片分别输出5V和3.3V电压,1.2V电压由一片TLV1117LV12产生。电源部分原理图如图5所示。
HDMI信号转SDI信号的设计板层结构为四层,分别是顶层、GND层、电源层和底层,布线时重点注意GV7611和GS2972相连接的并行数据线,SDI输出接口的BNC连接器尽可能使与器件连接的走线短,走线间距设置为6mil即可,布局布线如图6所示。
图4 SDI输出原理框图Fig.4 the principle diagram of SDI input
图5 电源部分原理图Fig.5 the schematic diagram of power supply
图6 PCB布局布线图Fig.6 layout of the wiring diagram
如图1所示,HDMI高清图像信号通过输入接口送至低功耗165MHz的HDM接收器芯片ADV7611进行串并转换,转换为20bit位宽的并行数据输出EAI-861视频信号和IIS音频信号,ADV7611是一款高质量、单输入HDMI接收器,内置HDMI兼容型接收器,支持HDMI 1.4a规定的所有强制性3D电视格式,和最高UXGA 60 Hz、8位的分辨率。它集成一个CEC控制器,支持CDC特性。ADV7611具有一个音频输出端口,用于输出从HDMI流提取的音频数据。HDMI接收器具有高级静音控制器,可消除音频输出中的外来声频噪声。
经过ADV7611处理后的数字信号送至GS2972 SDI发射器芯片,GS2972其功能是将输入的EIA-CEA-861格式视频信号,IIS格式音频信号转化为一路SDI信号输出,输出信号规格为SMPTE425,SMPTE424,SMPTE292M,其控制方式为GSPI接口控制,电平控制,供电I/O电压3.3V,内核电压1.2V,该芯片是低电平复位。
HD-SDI输出驱动芯片GS2972的初始化在HDMI接收并成功配置了合适的视频和音频输出之后才开始的,由于GS2972功能需求相对简单,在初始化过程中仅需要配置相应的需要的工作电平即可。视频方面的配置因为在HDMI接收部分已经处理成HD-SDI所需要的视频输入,所以不需要进行过多更改和处理,使用初始化控制电平中给出的配置即可。音频方面,需要按照之前HDMI接收芯片接收到的音频格式和采样率比特率等参数进行合适的配置输出。MCU对GS2972负有硬件重启的任务,在HDMI接收并配置完合适的输出之后,MCU开始对GS2972硬件重启,配置合适的初始化电平。之后,MCU需要通过GSPI通信接口对GS2972进行音频方面配置,配置的结果需要依照HDMI接口中输入的音频状态。
HDMI接收芯片ADV7611的初始化在HDMI部分正式工作之前完成,MCU对ADV7611负有硬件重启任务,因此在MCU初始化的时候将该控制电平线设置为推挽模式,保证输出效果。在ADV7611初始化一开始就需要进行硬件RESET操作],然后才是配置各个功能部分的寄存器到待用状态。为了方便整个控制程序的设计,在ADV7611芯片初始化的过程中,对控制程序需要的全局变量也应该进行合理的初始化。图7、图8、图9分别是IIC时序、像素端口和控制SDR输出时序和IIS时序.MCU软件流程图如图10所示。
图7 IIC时序Fig.7 IIC sequence
图8 像素端口和控制SDR输出时序Fig.8 output sequence of pixel port and SDR
图9 IIS时序Fig.9 IIS sequence
图10 MCU软件流程图Fig.10 flow chart of MCU software
MCU STC12LE5A60S2源程序:
#include "pincfg.h"
#include <stdio.h>
#include "STC_NEW_8051.h"
#include "uart.h"
#include "GS2972.h"
#include "GSPI_2972.h"
#include "ADV7611.h"
#include "CFG_IIC.H"
//全局参数设置
// Main program
bit bwait;
unsigned char state;
unsigned char bdata flag;
unsigned char Video_Standard;
unsigned char clk_rate;
unsigned int Reg_temp;
sbit b_menu = flag ^ 0; ///////////////////////////////////////////
//基于定时器的等待函数
unsigned char data waitcnt;
unsigned char data runcnt;
#pragma disable
void setdelaycnt(unsigned char nwait)
{
waitcnt = nwait;
bwait = 1;
return;
}
void wait(unsigned char nwait)
{
setdelaycnt(nwait);
while(bwait);
return;
}
//定时器0初始化
void timer0_init(void)
{
TMOD = (TMOD & 0xF1) | 0x01;
TH0 = ( 65536 - 46080 )/256;
TL0 = ( 65536 - 46080 )%256;
ET0 = 1;//时钟中断0使能
TR0 = 1;//时钟中断开始计数
return;
}
//定时器函数
//定时器中断
void timer0(void) interrupt 1 using 1
{
TH0 = ( 65536 - 46080 )/256;//定时25毫秒
TL0 = ( 65536 - 46080 )%256;//定时25毫秒
//延时-25ms
if(waitcnt > 0)
waitcnt--;
else bwait = 0;
//延时1S控制LED1闪烁
if(runcnt < 40) runcnt++;
else
{
runcnt = 0;
MCU_LED1 = ~MCU_LED1;//板上led
MCU_LED3 = ~MCU_LED3;//机箱led
}
}
//系统复位
void sys_rst(void)
{
RESETn_7611 = 0;
RESETn_2972 = 0;
wait(40);
RESETn_7611 = 1;
RESETn_2972 = 1;
wait(40);//复位之后等待1S
}
//系统初始化
void init_other(void)
{
//GS2972_init();
ADV7611_init();
}
//中断初始化
void init_mcu(void)
{
timer0_init();
Serial_Init_Port0();
EA = 1;
}
void main(void)
{
b_menu = 0;
state = 0;
init_mcu(); //初始化单片机内部寄存器
flag = 0x00;
clk_rate = 0x00;
Reg_temp = 0x0000;
MCU_LED2 = 0;//板上LED MCU_LED4 = 0;//机箱LED ANC_BLANKn = 1;//the Luma and Chroma data pass through the device unaltered.
DETECT_TRS = 1;//从并行数据流中提取同步信号,不使用外部的同步信号.
TIM861_2972 = 0;//GS2972接收H,V,F信号
BIT10n_20_2972 = 1;//数据宽度为20
RATE_SEL0_2972 = 0;//
RATE_SEL1_2972 = 0;//
sys_rst();
init_other();
MCU_LED2 = 1;
MCU_LED4 = 1;
while(1)
{
MCU_LED2 = ~LOCK_2972;//GS2972 LOCK则LED亮
MCU_LED4 = ~LOCK_2972;
//读取ADV7611的0x68主地址下的0x51寄存器(TMDS信号中的时钟信号的频率值),
//判断其值的区间范围即可知道输入的DVI格式
clk_rate = E_read_CFG(0x68,0x51);
if((clk_rate >= 30) && (clk_rate <= 50))//时钟频率=74.25MHz,HD信号输入
{
RATE_SEL0_2972 = 0;
RATE_SEL1_2972 = 0;
}
else
{
if(clk_rate >= 60) //时钟频率=148.5MHz,3G信号输入
{
RATE_SEL0_2972 = 0;
RATE_SEL1_2972 = 1;
}
else //其他时钟频率,默认SD信号输入
{
RATE_SEL0_2972 = 1;
RATE_SEL1_2972 = 0;
}
}
}
}
HDMI信号转SDI信号的设计可将高清HDMI信号转换成广播级SDI信号,可以将标准的带音频的高清或者标清HDMI数字信号转为广播级质量的高清或标清SDI信号,为HDMI发送设备与SDI接收设备之间提供了信号接口的转换,也可为现有的HDMI输出设备增加SDI输出功能。SDI输出接口采用先进的3G SDI技术,可输出3G SDI信号,同时可将声音嵌入到SDI信号中保持良好的音质。可使用5到12V的直流电源适配器供电,方便了电源适配器的选择。可广泛用于使用SDI信号的各级电视台、播出机房、和非编制作领域,也广泛用于各种使用HDMI接口的光端传输领域。
[1]董素玲,王真.HDMI到HD-SDI接口转换在高清视频系统中的应用[J].徐州建筑职业技术学院学报,2011(2).
[2]赵字红,乐雄志,曾雷.HDMI车站终端显示系统设计[J].电视技术,2013(3).
[3]张勇.SDI-HDMI的技术实现[J].有线电视技术,2008(6).
[4]薛永林.数字视频接口的技术发展与应用[J].电视技术,2008(11).
A design of converting HDMI signals to SDI signals
Xie Zhen-fang
(Beijing Aerospace Automatic Control Institute,Beijing 100854 china)
;A design of converting HDMI signals to SDI signals is proposed.GV7611 and GS2972 chips are used to realize conversion from HDMI signals to hd-sdi signal,interface supports up to full HD 1080 p resolution program,HDMI interface supports up to 8 channel 720 KHZ sampling of HD audio transmission.In the design HDMI signal to SDI signal conversion can embed audio signals into the hd-sdi signals.
;hdmi;sdi;hd sdi;hdmi to sdi