码迷,mamicode.com
首页 > 其他好文 > 详细

MiS603开发板 第十七章 图像之HDMI接口测试输入日志标题

时间:2015-09-13 14:39:27      阅读:989      评论:0      收藏:0      [点我收藏+]

标签:

作者:MiS603开发团队

日期:20150911

公司:南京米联电子科技有限公司

论坛:www.osrc.cn

网址:www.milinker.com

网店:http://osrc.taobao.com

EAT博客:http://blog.chinaaet.com/whilebreak

博客园:http://www.cnblogs.com/milinker/

技术分享

MiS603开发板 第十七章 图像之HDMI接口测试

17.1 HDMI概述

HDMI是High Definition Multimedia Interface的简称,也就是高清晰度多媒体接口,这是一种数字化视频/音频传输技术,是适合影像传输的专用型数字化接口,在传输视频和音频时,最高数据传输速度为2.25GB/s。在这里要注意,HDMI传输的是数字信号,VGA传输的是模拟信号,这是两者的最大区别之一。

HDMI系统架构有2部分构成,他们是发射源和接收器,因此一个带HDMI接口的设备可能有一个或者多个发送器或者接收器,HDMI的输入要满足HDMI的接收规则。如下图所示,HDMI的发射源和接收器之间连接着四对差分信号,其中包括三对数据和一对时钟,数据通道用来传输视频、音频和一些辅助信息,一对时钟通常是等于视频像素的比特率,通过一对时钟通道来发送。接收端通过这对时钟获得三对数据通道上传过来的数据,关于HDMI其他详细信息参考HDMI手册。

技术分享

接下来介绍一下HDMI接口,HDMI接口主要分为A类、B类和C类,其中A型接口主要用在消费电子应用,也是最常见的,总共19个引脚,如下图所示,接下来表的表格是对应的引脚说明。B类多了一组信号,这是为了传输超高清晰度的图像,尺寸比较大,共29个引脚。C类比较小,主要用在便携式设备上的。

技术分享

HDMI A类接口说明

引脚序号

说明

引脚序号

说明

1

TMDS数据2+

11

TMDS时钟屏蔽

2

TMDS数据2屏蔽

12

TMDS时钟-

3

TMDS数据2-

13

CEC

4

TMDS数据1+

14

保留

5

TMDS数据1屏蔽

15

SCL

6

TMDS数据1-

16

SDA

7

TMDS数据0+

17

DDC/CEC地

8

TMDS数据0屏蔽

18

+5V

9

TMDS数据0-

19

热插拔检测

10

TMDS时钟+

   

17.2 HDMI硬件电路解析

本次设计使用的是专用HDMI发送芯片SIL9134,最高支持1080P@60HZ视频输入,支持3D输出。由于SIL9134在使用前需要进行内部寄存器初始化,配置过程比较复杂,开发板上专门配备了一个STM32芯片来配置SIL9134。

技术分享

如上图所示,输入数据经过SIL9134编码成HDMI视频流,视频数据和控制信号连接到FPGA,配置端口连接到STM32。由于FPGA引脚受限,MIS603没有把音频接口引出,后续的开发平台会完善此功能。SIL9134和FPGA、STM32的连接方式如下所示。

SIL9134和FPGA连接方式

标号

对应的FPGA引脚

描述

Video_clk

N8

驱动时钟,由FPGA输出

Video_blank

R9

数据有效,由FPGA输出

Video_hs

P9

HDMI行同步信号,由FPGA输出

Video_vs

N9

HDMI场同步信号,由FPGA输出

Video_d[23:0]

H13,J14,K15,L14,M15,N14,P15,R15,J13,L12,M13,R14,J11,K12,T14,R12,M12,P12,N12,P11,N11,M10,L10,T9

HDMI数据位,支持YUV444、RGB888输入

注:VGA和HDMI共用FPGA引脚。

SIL9134和STM32连接方式

标号

对应的STM32引脚

描述

9134_reset

PA2

SIL9134复位引脚,低电平有效

scl

PC9

I2C总线时钟

sda

PC8

I2C总线数据

注:由于SIL9134内部寄存器多余255个,一个SIL9134芯片对应2个设备地址,设备1的I2C地址:0X72,设备2的I2C地址:0X7A。

对于1080P视频时钟为148.5MHz,对硬件要求很高,PCB必须等长布线。

技术分享

对于HDMI接口,采用差分信号传输,PCB必须等长布线。

技术分享

17.3 HDMI芯片寄存器配置

SIL9134内部有很多寄存器,在此给出几个常用的寄存器及其含义,更多的内容请参考SIL9134编程手册。

设备ID寄存器:

技术分享

对于SIL9134的设备ID是0X9134,SIL9034的设备ID是0X9034,通过读取设备ID可以判断I2C总线是否正常工作。

设备控制寄存器1:

技术分享

Bit6:外部输入引脚VSYNC的状态。

Bit5:VSYNC使能,配置为1。

Bit4:HSYNC使能,配置为1。

Bit2:输入总线选择,配置为1,选择24位总线模式。

Bit1:边沿选择,配置为0,下降沿锁存输入信号。

Bit0:掉电模式,配置为1,正常操作模式。

综上所说,这个寄存器配置值为0X35。

视频模式寄存器:

技术分享

Bit7-6:选择每个视频输出通道的位数,配置为00。

Bit5:配置为0,不使能。

Bit4:配置为0,数据16-235不变成0-255。

Bit3:配置为0,YCbCr不转换成RGB,也就是输入RGB信号。

Bit2:配置为0,不使能4:2:2上采样变成4:4:4。

Bit1:配置为0,不使能。

Bit0:配置为0,不提取同步信号。

综上,将此寄存器配置成0x00,主要是RGB输入RGB输出,将HDMI配置为DVI兼容模式。

SIL9134通过I2C接口配置内部寄存器,读写时序如下图所示。

技术分享

技术分享

注:S = start,开始信号 Sr = restart,重新开始信号

As = slave acknowledge,从机应答 Am = master acknowledge,主机应答

N = no ack,没有应答 P = stop,停止

W/R= 读写选择位

SIL9134芯片配置接口时序

从读时序中可以看到,依次发送S信号、从机地址+W信号、As信号、设备内部偏移地址、As信号、设备地址+R信号、As信号、读取数据0、Am信号………As信号、P信号。写时序中可以看到,依次发送S信号、从机地址+W信号、As信号、设备内部偏移地址、As信号、写数据0、As信号………As信号、写数据n、P信号。

SIL9134的地址选择引脚CI2CA连接GND,地址选择如下图所示,地址为:0X72和0X7A。

技术分享

关于STM32配置SIL9134的详细代码请参考附带的配置文件,在此不一一解说。其余配置信息参考STM32代码。

17.4 HDMI时序分析

SIL9134工作在DVI模式下,工作时序和VGA相同,参考VGA部分时序分析。

17.5 HDMI时序仿真

SIL9134工作在DVI模式下,工作时序和VGA相同,参考VGA部分时序仿真。

17.6 ChipScope数据分析

以720P(1280x720)为例抓取数据分析。采样时钟hdmi_clk_o。

行同步信号:从1649开始,3299结束,共1650个像素点,

技术分享

技术分享

8个彩条对应数据。

技术分享

17.7 程序分析

SIL9134配置到DVI兼容模式,操作很简单,直接输入RGB888数据,时序和VGA时序相同,代码和VGA部分相同。

技术分享

1:HDMI时序参数定义文件,支持不同分辨率,只需要更改宏定义即可实现。

2:HDMI测试顶层文件,例化DCM时钟模块和hdmi_driver模块。

3:由50MHz生成74.25MHz时钟模块,有些偏差。

4:hdmi_driver模块,生成相关HDMI时序参数。

5:ChipScope模块,在线分析数据。

6:ucf文件,包括引脚分配和时钟约束。

17.8 程序源码

详细参考:

6_03_MiS603_X25_HDMI_Test_720P:720P测试,分辨率1280x720。

6_03_MiS603_X25_HDMI_Test_1080P:1080P测试,分辨率1920x1080。

注意:测试时使用的是HDMI转VGA测试的,注意显示器分辨率是否支持。

技术分享

720P测试结果

技术分享

1080P测试结果

17.9 小结

了解了HDMI传输的基本知识、IIC协议、SIL9134的DVI配置。

MiS603开发板 第十七章 图像之HDMI接口测试输入日志标题

标签:

原文地址:http://www.cnblogs.com/milinker/p/4804915.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!