|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
摘 要:本设计针对MT9M111这款数字图像传感器,采用 Altera 公司 Cyclone 系列的 FPGA 作为主控芯片,实现了对图像传感器输出的 ITU-R BT.656 视频数据的采集,色彩空间转换,以及在 DVI-I 显示器上显示的全过程。通过本设计,图像能够以 1280×960(60Hz)和 1280×1024(60Hz)两种显示格式在 DVI-I 显示器上显示,并且具有图像静止功能。同时,在系统空闲时,可以将系统设置为待机状态,实现了低功耗。
N3 T- h9 t% G- w; t; w, L3 F, \1 q* I: p |+ f& m: Q" ^6 s
1.数据格式简介
+ K# ~/ B" O0 ^5 B& O1.1 MT9M111 芯片的 ITU-R BT.656 视频数据格式
( \* x4 _. P4 WMT9M111 芯片是美光科技公司推出的新型低噪音 Digital Clarity 片上系统(SOC)130 万像素CMOS 图像传感器,该图像传感器能输出 ITU-R BT.656、565RGB、555RGB 和 444RGB 原始和处理过的视频数据,与标准的 ITU-R BT.656 隔行扫描的数据格式不同,这款图像传感器输出的数据格式是逐行扫描的数据格式,因此在设计时,视频数据流的处理部分就可以不用区分奇偶场,降低了设计的复杂度。# F/ |. t5 M* w3 S5 E' V
MT9M111 图像传感器输出的一帧完整的视频 ITU-R BT.656 图像矩阵如右图 1所示的四部分组成,矩阵的大小是可配置的,其输出的顺序依次为从左到右,从上到下。图 1 中左上角的灰色部分为像素数据,其余白色部分均为消隐数据。按照串行数据流的表示方式,MT9M111 图像传感器输出的一帧数据也可以表示由图 2 来表示,图 2 中上半部分的数据为的一帧数据,下半部分为的一行数据(timing codes、视频数据和消隐数据)。# F }" e/ `, V1 f' z# F! k
0 n) J2 L2 P$ r9 |* {# G$ W
MT9M111 输出的一帧图像矩阵:
. V" p) F ]1 W; O
2 Q9 S! q8 }, c. j
MT9M111 输出的 BT.656 数据格式:
4 m9 o3 j0 m$ G) Y; X4 |. }
/ ?! U) D5 D' ?! B5 \9 t5 p! _
1 Q. E# L! S* H/ v" `
1.2 DVI 数据格式+ @! v9 k/ C2 D) P- M+ y
DVI(Digital Visual InteRFace)接口标准是 DDWG(Digital Display Working Group)组织推出的视频通信接口标准。它以 Silicon Image 公司的 PanalLink 接口技术为基础,以 TMDS(Transition Minimized Differential Signaling)作为数据链路的基本电气连接形式,为数字视频数据的实时传输提供了一种高速的数据链路通道。DVI 接口标准提供了两条独立的 TMDS 链路。每条链路的可用像素带宽如图 3 所示:) n& n" u, N6 @# @& }( s7 J# a# q Z
0 p+ g0 Y( m0 L* V) ?
0 z: L3 D' ]. g8 e0 ~单链路的最大像素带宽为 165MPix/sec,能够满足的最高图像显示格式为 1600×1200(60Hz)。当图像的显示格式超过此值时,需要两条链路同时传输视频数据。由于两条链路共用一条时钟通道,因此数据传输带宽由两条链路平均承担。单链路的通道连接结构如图 4 所示:
. k. W, @' D* Y0 m! S
# u% i% _$ q1 T% ?% M$ S/ Q
在单链路结构中,图像处理终端由图像控制器将 R、G、B 三组视频数据(每组 8bit)以及时钟和控制信号传送给 TMDS 发送芯片,在 TMDS 发送芯片中包含三个编码器,每个编码器负责对一组视频数据编码。编码后的码元(10bit)经过并串转换后,发送到 TMDS 链路上,并且最低位先被发送。图像接收终端中,TMDS 接收芯片将接收到的视频数据先进行串并转换,然后由其中的三个解码器分别对三个通道的视频数据解码。解码后的视频数据以及时钟和控制信号共同送给显示控制器来显示。
7 n( U( g, Y1 H/ S, ^8 @3 Q4 z2 u( V ]2 }
2. 整体方案设计
6 [* X* D0 v$ R4 K5 V' v2 f ^" T+ G现实景物的采集与显示过程如图 5 所示。图像传感器 MT9M111 采集到现实景物后,将生成的ITU-R BT.656 数据流由 ITU 数据输出端口发送给视频转换接口。视频转换接口将 ITU 数据输入端口送来的 ITU-R BT.656 数据流转换成 TMDS 数据流发送,通过 DVI-I 端口发送给显示终端显示。本设计方案中,MT9M111 输出图像的分辨率为 1280×960。
1 c% i, P: a H& y: v- Q- N
t7 a8 ?- s& E9 Y在现实景物的采集与显示过程中,视频转换接口功能的实现通过以下步骤来完成:/ B- q# C7 N; I; V0 U8 b# P
1) 对收到的 ITU-R BT.ITU656 数据流解交织
7 U% W/ z G" s$ Y图像传感器 MT9M111 输出的 ITU-R BT.656 数据流中的视频数据是以串行的方式传输的,即每个像素的 YCbCr 值在同一个通道依次连续输出,且前后两个像素的 YCbCr 值有所交织,因此需要将交织在一起的串行 YCbCr 数据流拆解成独立的并行的 YCbCr 数据流。这部分的功能由 FPGA 来实现。2 M$ E R6 |3 Y2 K2 L
2) 对解交织后的数据流进行色彩空间转换 R- @! S' E) e. u. j7 s0 D" r
DVI 接口的 TMDS 链路上发送的是对像素的 RGB 值编码后的码元序列,而视频转换接口收到的是像素的 YCbCr 值,因此需要将每个像素的色彩值由 YCbCr 空间转换到 RGB 空间,实现色彩空间的转换。由于色彩空间变换的公式是固定的,所以 FPGA 在完成这部分数值运算操作时,可以考虑采用 Mega Core 库函数来完成。1 {$ F, Q$ Z* ]0 T" F
3) 将转换后的每个像素的 RGB 值写入存储器中, |$ U( f$ t# i) o8 w
由于 BT.656 接口和 DVI 接口的视频数据流工作的时钟域是不同的,同时考虑到视频转换接口又要具有能够对分辨率进行调整的功能,因此在系统中需要有专门的存储设备来实现这两种不同接口之间数据流的时序衔接以及分辨率格式的转换。同时考虑存储容量大和价格低的要求,存储器宜选用 SDRAM 来完成数据的存取,FPGA 中可以利用状态机来完成对 SDRAM 的读写操作。1 r8 I6 f% ]( Z
4) 从存储器中读出像素的 RGB 值,并将其转换成 TMDS 码元序列+ |2 [ k ?0 s' k p/ }
设计中输出图像的显示格式为 1280×960(60Hz)和 1280×1024(60Hz),根据 TMDS 链路上可用的像素带宽情况,需要的像素传输带宽在 100M(像素/秒)左右,因此只用一条 TMDS 链路就可满足要求。但是考虑到 TMDS 链路上传输的是编码后的串行码元,根据 TMDS 链路的编码规则,链路上传输的码元速率将达到 1G(码元/秒)左右,这样高的速度对于 FPGA 的实现是比较困难的,所以需要采用专用的 TMDS 发送芯片来实现 TMDS 数据流的发送,即由 FPGA 将像素的 RGB 值从SDRAM 中读出,并按照 VGA 的时序标准发传送给 TMDS 发送芯片,再由 TMDS 发送芯片完成对每个像素的 RGB 值的编码和并串转换,然后将其发送到 TMDS 链路上,提供给 DVI 显示器显示。因此,这部分工作需要 FPGA 和 TMDS 发送芯片共同协作完成。
! B' b7 n6 x0 U" F( w |
|