微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > DSP学习交流 > DM642关于数据采集的疑问(VCA_XSTART)

DM642关于数据采集的疑问(VCA_XSTART)

时间:10-02 整理:3721RD 点击:
最近刚开始接触DM642这块DSP板子,在阅读DM642附带源码vportcap.c时遇到了如下的困惑

  1. /*PAL*/
  2. #define VCA_HBLNK_SIZE 144 /* (864-720),horizontal blanking */
  3. /*确定第一场图像的重直像素为288*/
  4. #define VCA_IMG_VSIZE1 288 /* (311-24+1), fld1 vertical image size */
  5. /*确定第一场图像的重直像素为288*/
  6. #define VCA_IMG_VSIZE2 288 /* (625-338+1), fld2 vertical image size */

  7. /*确定第一场图像的水平像素为720*/
  8. #define VCA_IMG_HSIZE1 720 /* field1 horizontal image size */
  9. /*确定第二场图像的水平像素为720*/
  10. #define VCA_IMG_HSIZE2 720 /* field2 horizontal image size */

复制代码

  1. /*设置图像的采集框*/
  2. /* HRST = 0, start of horizontal blanking,HCOUNT在EAV后复位
  3.    即一行是从EAV之后开始 ,那行消隐在前,图像在后*/
  4. #define VCA_XSTART1 (VCA_HBLNK_SIZE-2)/*EAV*/
  5. #define VCA_XSTOP1 (VCA_XSTART1 + VCA_IMG_HSIZE1-1)
  6. /* VRST = 1, end of vertical blanking */
  7. #define VCA_YSTART1 1
  8. #define VCA_YSTOP1 (VCA_YSTART1 + VCA_IMG_VSIZE1-1)

复制代码


这里用的是bt.656标准采集视频数据,疑惑有两点:
① 行 = 结束码(EAV) + 水平消隐(Horizontal Vertical Blanking) + 起始码(SAV) + 有效数据(Active Video)
   也就是有效数据应该从144像素之后的位置开始,为什么在上述代码中VCA_START1开始位置为142,也就是说从SAV开始
   如果从SAV开始的话,采集720个数据,那么真正一行只有718个有效像素?
   应该如何理解XSTART的设置呢。
②关于视频有效行( line )像素应该为720个,VCA_XSTOP1为什么后面需要减 1 ,实际上采集的是719个像素吗?
    我看到TMS320C64x DSP VIC Reference Guide (Rev. C).pdf里面对XSTOP的描述有下面这样一句话
   


    Last captured pixel (VCXSTO- 1). Must be an even value
    难道是默认需要减  1  ? 但是实际上不是应该采集720个像素吗?
   
    还望各位大神不吝赐教,小弟在这里谢谢了。



Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top