(1)vip 简介

(2)vip 电路图

(3)vip 更换采集相机输入

(4)vip 驱动

---------------------author:pkf

---------------------------time:2015-01-07

-----------------------------------qq:1327706646

(1)vip 简介

  这里vip 就是video in port 的缩写,"VIP0 PortA", "VIP0 PortB", "VIP1 PortA", "VIP1 PortB",总共4个口

输入数据格式有yuv422i 和yuv420t 不小的这个i和t有啥区别 yuv420t/yuv420i,

输入数据位宽有" 8-bit", "16-bit", "24-bit"

输入数据模式有

"Non-mux Embedded Sync", "Line-mux Embedded Sync",

"Pixel-mux Embedded Sync", "Non-mux Discrete Sync"

example camerlink_drv.c:

char *gCameraLink_portName[] = {
"VIP0 PortA", "VIP0 PortB", "VIP1 PortA", "VIP1 PortB",
};

char *gCameraLink_ifName[] = {
" 8-bit", "16-bit", "24-bit",
};

char *gCameraLink_modeName[] = {
"Non-mux Embedded Sync", "Line-mux Embedded Sync",
"Pixel-mux Embedded Sync", "Non-mux Discrete Sync",
};

  输入方式有hdmi ,sdi,vga, 输出有dvo0(vout1) dvo1(vout0) ,

(2)vip 电路图

  

  HDVPSS模块即High-Definition Video Process Sub System,主要用于视频的capture、deinterlacing、scaler、up/down sample、graphics、display等,由Media Controller Dula ARM Cortex-M3系统中的VPSS-M3控制。软件工程师在做程序的时候需要注意各个模块支持数据的输入格式输出格式(另外需要注意的是:TI提供的RDK中限定了display controller的矩阵连接,如果希望灵活使用这个矩阵连接,需要自行拆分,关于该部分内容请参考HDVPSS_UserGuide.pdf中Display Controller Driver中Macro Mapping)。HDVPSS整体硬件框架如下图所示,注意数据格式。

播放输出:

  

播放接口:
       播放接口支持同时独立输出两路高清图像和一路标清图像,其中两路高清图像的源可以从两路数字接口(DVO1和DVO2,其中DVO1支持HDMI输出)和一路模拟接口(HDCOMP即内部集成的HD DAC)中选择,标清输出支持多种数据格式和多种视频制式。(需要注意的是DVO1与HDMI公用数字信号线,所以HDMI与DVO1输出是完全相同的,硬件工程师在设计的时候尤其需要注意。)
 
图1 播放口应用
        DVO1:该接口的数据既可以直接输出数字信号也可以送给内部的HDMI Transfer Phy产生HDMI信号,可以支持10/20/30bit的内外同步数据输出,可以送出HS、VS、FID(Field ID)、AVID(Active Video ID)等时序信号。该接口有独立的时钟源,即hd_venc_d_clk。
        HDCOMP:该接口实际是内部集成的HD DAC输出接口,最高支持1080P60,像素时钟为148.5MHz,其时序参数是可编程的,具体请参考hdvpss中源码。HD DAC也有独立的时钟源,即hd_venc_g_clk。需要注意的是该接口支持VBI输出。
       DVO2:该接口特性基本和DVO1相同,需要注意的是DVO2口没有独立的时钟源,其时钟源既可以共享DVO1的时钟源,也可以共享HD DAC的时钟源,因此决定了播放接口只能送出两路独立的高清图像(主要体现在分辨率上)。(注:在RDK中DM814x的DVO2的时钟源绑定到了HDMI口,如果希望HDMI和DVO2口同时输出不同分辨率的内容,请注意修改该部分内容,E2E上已经有很多人问道该问题。具体修改,请参照VPSS M3侧Display controller配置部分代码
       SD DAC:该接口支持PAL、NTSC、SECAM等标清视频制式,输出格式也是多种多样,包括复合信号(CVBS)、S端子、分量信号(YPbPr)、Euro-SCART(RGB)等。和HD DAC一样,该接口也支持VBI输出。
图2 播放口时钟分配
 

(3)vip 更换采集相机输入

同步:分为内同步和外同步

"Non-mux Embedded Sync", "Line-mux Embedded Sync",
"Pixel-mux Embedded Sync", "Non-mux Discrete Sync"

注意:
  • 对于Multi Channel模式,由于无法共用参考时钟,因此必须使用内同步模式,具体格式可以参考BT656格式。Single Channel支持三种数据格式,即:YUV444、YUV422、RGB888;Multi Channel仅支持YUV422格式。
  • 采集口支持VBI数据采集;
  • 对于Multi Channel模式采集,采集口内置了De-Multiplexing模块,该模块不需要CPU的参与;
  • 采集口像素始终最高能达到150MHz,即Single Channel模式下采集分辨率可以达到1080P60,Multi Channel模式下采集分辨率可以达到16 Channel D1@30fps;
  • 采集模块中内置RGB2YUV和YUV2RGB色彩空间转换模块(CSC:ColorSpace Conversion)、Scalar模块(缩放范围:1/8x ---8x)、降采样模块(YUV422toYUV420);
  • 内置CSC模块矩阵系数 Ai/Bi/Ci 和偏置 Di 均可以设置,如下图所示。

 
Pixel Mux:在DM8168的TRM和TVP5158的数据手册中都有详细描述,说白了其实就是一种利用时分复用的减少数据引脚数的方法,下面用两张图(均摘自TVP5158数据手册)来说明,分别是两路视频信号和四路视频信号(内同步格式,嵌入了同步信号,请参考BT656格式)的复用模式:
注:上图中时钟好像有点错误,两路D1的pixel mux模式下时钟应该为54MHz。
 
Line Mux:下图(截图来自DM8168 TRM)中是两路视频信号的line mux模式。

 

(4)vip 驱动

http://blog.csdn.net/crushonme/article/details/11591839

http://www.61ic.com/Article/DaVinci/TMS320DM81x/201206/42849.html

http://blog.csdn.net/zhouzhuan2008/article/details/8609110 多核通信

http://www.deyisupport.com/question_answer/dsp_arm/davinci_digital_media_processors/f/39/t/75959.aspx ti viport a,b 同时采集

http://3y.uu456.com/bp-6ae1bd59ad02de80d4d840b1-6.html

http://e2e.ti.com/support/dsp/davinci_digital_media_processors/f/716/t/218132 ti

http://wenku.baidu.com/link?url=-gGJADXXWtiWiHjb52um9OZcsR6mySkd8PIwKv3q6lW7sQnGOdURT18yldY9hENCfdSxsz5S7SS81O-T5GSJo9IVVVXV7Lm4yK0dzhLxMcy

嵌入式驱动开发之sensor---"VIP0 PortA", "VIP0 PortB", "VIP1 PortA", "VIP1 PortB",dvo0(vout1) dvo1(vout0)的更多相关文章

  1. 嵌入式驱动开发之uboot---uboot 中的常见命令参数参数

    Uboot相关命令介绍 bootm bootp cmp cp crc32 echo erase flinfo go minfo loadb loads mw 14mw 用指定的数据填充内存 15md ...

  2. 嵌入式驱动开发之dsp fpga通信接口---spi串行外围接口、emif sram接口

    -----------------------------------------author:pkf ------------------------------------------------ ...

  3. 嵌入式驱动开发之usb 无线网卡驱动---RT2870STA dm368

    RT2870STA 368的无线网卡驱动! http://www.linuxidc.com/Linux/2014-02/96979.htm

  4. 嵌入式驱动开发之spi---spi串口通信调试

    一. 概念 SPI是 Serial Peripheral Interface(串型外部接口)的缩写.SPI接口有4根PIN脚,分别是:          * SPICLK     : 用于传输数据的同 ...

  5. 嵌入式驱动开发之sensor---sensor 图形传感器调试

    图像传感器(image sensor)复位顺序 1. 硬件复位寄存器:2. 软件复位寄存器:3. 设置时钟寄存器:4. 设置PLL倍频:5. 设置分辨率:6. 设置窗口控制:7. 设置输出顺序:8. ...

  6. 嵌入式驱动开发之dsp 算法优化vlib emcv---算法优化

    http://www.opencv.org.cn/forum.php?mod=forumdisplay&fid=9

  7. 嵌入式驱动开发之phy---fine Mac与Phy组成原理的简单分析

    关键字rj45.pci-e 1. general 下图是网口结构简图.网口由CPU.MAC和PHY三部分组成.DMA控制器通常属于CPU的一部分,用虚线放在这里是为了表示DMA控制器可能会参与到网口数 ...

  8. 嵌入式驱动开发之2440/2410---uboot 移植

    http://blog.chinaunix.net/uid-20620288-id-3058904.html

  9. Android驱动开发之Hello实例

    Android驱动开发之Hello实例:   驱动部分 modified:   kernel/arch/arm/configs/msm8909-1gb_w100_hd720p-perf_defconf ...

随机推荐

  1. Hadoop 2.2.0 Job源代码阅读笔记

    本文所有涉及的内容均为2.2.0版本中呈现. 概述: Job在创建Job并且提交的人的眼中,可以在创建的时候通过配置Job的内容,控制Job的执行,以及查询Job的运行状态.一旦Job提交以后,将不能 ...

  2. Delphi 实现窗体自适应调整尺寸以适应不同屏幕分辩率的显示问题

    给你一段代码,网上转的:unit uMyClassHelpers;//实现窗体自适应调整尺寸以适应不同屏幕分辩率的显示问题.//        陈小斌,2012年3月5日 interface Uses ...

  3. applicationContext.xml文件如何调用外部properties等配置文件

    只需要在applicationContext.xml文件中添加一行: <!-- 导入外部的properties文件 --> <context:property-placeholder ...

  4. C#中out与ref区别

    一.ref(参考)与out区别 1.out(只出不进) 将方法中的参数传递出去,在方法中将该参数传递出去之前需要在该方法起始赋初值:在方法外传递的该参数可以不用赋值: 简单理解就是:将一个东西抛出去之 ...

  5. Java源码阅读HashMap

    1类签名与注释 public class HashMap<K,V> extends AbstractMap<K,V> implements Map<K,V>, Cl ...

  6. Linux学习之二十一-shell编程基础

    Shell编程基础 Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁.Shell 既是一种命令语言,又是一种程序设计语言.Shell 是指一种应用程序,这个应用程序提供了一个 ...

  7. 改进xutils下载管理器,使其,在随意地方进行进度更新,以及其它状态监听操作

    1.前面在做下载进度监听.尝试过,通过加入 弱引用的View进度条,到相应的集合. 等到要进行更新进度的时候.通过Key 获取相应的VIew来进行更新 进度条.效果是达到了,可是我们怎样来监听其它的状 ...

  8. InnoDB事务和锁

    InnoDB支持事务,MyISAM不支持事务. 一.事务的基本特性 ACID特性 1.原子性(Atomicity):事务是一个原子操作单元,其对数据的修改,要么全都执行,要么全都不执行. 2.一致性( ...

  9. eclipse 内存配置

    -server -Xms256m -Xmx512m -XX:PermSize=128M -XX:MaxPermSize=256m -XX:+UseG1GC

  10. Oracle 格式化中文时间

    SELECT TO_CHAR(SYSDATE, 'MM"月"DD"日"') A FROM dual; --注: 当格式字符串当中, 存在 自定义的字符信息的时候 ...