0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

标签 > DM642

DM642

+关注 0人关注

DM642全名TMS320DM642是TI公司C6000系列DSP中最新的定点DSP,其核心是C6416型高性能数字信号处理器,具有极强的处理性能,高度的灵活性和可编程性,同时外围集成了非常完整的音频、视频和网络通信等设备及接口,特别适用于机器视觉、医学成像、网络视频监控、数字广播以及基于数字视频/图像处理的消费类电子产品等高速DSP应用领域。

文章: 19
浏览: 26460
帖子: 47

DM642简介

  DM642全名TMS320DM642是TI公司C6000系列DSP中最新的定点DSP,其核心是C6416型高性能数字信号处理器,具有极强的处理性能,高度的灵活性和可编程性,同时外围集成了非常完整的音频、视频和网络通信等设备及接口,特别适用于机器视觉、医学成像、网络视频监控、数字广播以及基于数字视频/图像处理的消费类电子产品等高速DSP应用领域。笔者针对市场客户的需求,设计并实现了一款以TVP5150为视频输入解码器,以PCM1801为音频输入采集电路,以TMS320DM642型DSP为核心处理器的多路视频采集兼压缩处理PCI板卡,并将其应用于构建高稳定性、高鲁棒性和多媒体数字监控系统,取得了较好的社会效益和经济效益。

DM642百科

  DM642全名TMS320DM642是TI公司C6000系列DSP中最新的定点DSP,其核心是C6416型高性能数字信号处理器,具有极强的处理性能,高度的灵活性和可编程性,同时外围集成了非常完整的音频、视频和网络通信等设备及接口,特别适用于机器视觉、医学成像、网络视频监控、数字广播以及基于数字视频/图像处理的消费类电子产品等高速DSP应用领域。笔者针对市场客户的需求,设计并实现了一款以TVP5150为视频输入解码器,以PCM1801为音频输入采集电路,以TMS320DM642型DSP为核心处理器的多路视频采集兼压缩处理PCI板卡,并将其应用于构建高稳定性、高鲁棒性和多媒体数字监控系统,取得了较好的社会效益和经济效益。

  硬件架构

  TMS320DM642采用第二代高性能、先进的超长指令字veloci T1.2结构的DSP核及增强的并行机制,当工作在720M赫兹的时钟频率下,其处理性能最高可达5760MI/s,使得该款DSP成为数字媒体解决方案的首选产品,它不仅拥有高速控制器的操作灵活性,而且具有阵列处理器的数字处理能力,TMS320DM642的外围集成了非常完整的音频、视频和网络通信接口。

  主要构成

  3个可配置的视频端口(VPORT0-2)能够与通用的视频编、解码器实现无缝连接,支持多种视频分辨率及视频标准,支持RAW视频输入/输出,传输流模式;

  1个10/100Mb/s以太网接口(EMAC),符合IEEE 802.3标准;

  1个多通道带缓冲音频串行端口(McASP),支持I2S,DIT,S/PDIF,IEC60958-1,AES-3、CP-430等音频格式;

  2个多通道带缓冲串行端口(McBSP),采用RS232电平驱动;

  1个VCXO内插控制单元(VIC),支持音/视频同步;

  1个32位、66M赫兹、3.3V主/从PCI接口,遵循PCI2.2规范;

  1个用户可配置的16/32主机接口(HPI);

  1个16位通用输入/输出端口(GPIO);

  1个64位外部存储器接口(EMIF),能够与大多数异步存储器(SRAM、EPROM)及同步存储器(SDRAM,SBSRAM,ZBT SRAM,FIFO)无缝连接,最大可寻址外部存储器空间为1024MB;

  1个具有64路独立通道的增强型直接内存访问控制器(EDMA);

  1个数据管理输入/输出模块(MDIO);

  1个I2C总线模块;

  3个32位通用定时器;

  1个符合IEEE 1149.1标准的JTAG接口及子板接口等。

  DM642学习笔记(程序注释)

  用的是瑞泰创新的实验箱(ICETEK-DM642-IDK-M),主要是视频处理部分的程序注释及思考题思路及一些不成熟的见解~~

  实验5.6-5.19 视频驱动程序应用

  DM642视频驱动程序的注释:

  /*

  * Copyright 2003 by Texas Instruments Incorporated.

  * All rights reserved. Property of Texas Instruments Incorporated.

  * Restricted rights to use, duplicate or disclose this code are

  * granted through contract.

  *

  */

  /* “@(#) DDK 1.10.00.23 07-02-03 (ddk-b12)” */

  #include 《std.h》 //如果使用C语言,必须将此文件作为第一个头文件

  #include 《tsk.h》

  #include 《sem.h》

  #include 《gio.h》

  #include 《csl_dat.h》

  #include 《csl_cache.h》//使用CSL库,要用到的一些头文件,可参考CSL

  #include 《fvid.h》//视频驱动头文件

  #include 《edc.h》

  #include 《vport.h》

  #include 《vportcap.h》

  #include 《vportdis.h》

  #include 《saa7105.h》

  #include 《saa7115.h》

  #include 《evmdm642.h》//芯片头文件

  #include “colorbar.h”//如果显示彩色滚动条,就必须有此头文件;否则不需要

  #include “evmdm642_vcapparams.h”

  #include “evmdm642_vdisparams.h”

  /* heap IDs defined in the BIOS configuration file */

  extern Int EXTERNALHEAP;//??DSP/BIOS?????¨??

  /*

  * ======== main ========

  */

  main()

  {

  /******************************************************/

  /* open CSL DAT module for fast copy */

  /******************************************************/

  CSL_init(); //调用任何CSL库中的函数,必须先在此调用函数

  CACHE_clean(CACHE_L2ALL, 0, 0); //清洗Cache模式

  CACHE_setL2Mode(CACHE_256KCACHE); //设置Cache模式

  CACHE_enableCaching(CACHE_EMIFA_CE00); //使能EMIFA CE0空间

  CACHE_enableCaching(CACHE_EMIFA_CE01); //使能EMIFA CE1空间

  DAT_open(DAT_CHAANY, DAT_PRI_LOW, DAT_OPEN_2D); //打开数据传输

  }

  /*

  * ======== tskVideoLoopback ========

  * video loopback function.

  */

  void tskVideoLoopback()

  {

  Int i;

  int m_nWork;

  Int status;

  FVID_Handle disChan; //设置设备句柄

  Int frames = 0;

  FVID_Frame *disFrameBuf;

  Int numLinesDis = EVMDM642_vDisParamsChan.imgVSizeFld1;

  //设置显示的行数,VGA为480,PAL为576

  Int numLinesCap =EVMDM642_vCapParamsChan.fldYStop1 - //设置采集行数

  EVMDM642_vCapParamsChan.fldYStrt1+1;

  /*判断是显示区域大,还是采集区域大,取其小者*/

  Int numLines = (numLinesDis 》 numLinesCap) ? numLinesCap : numLinesDis;

  #ifdef _LOOPBACK

  FVID_Handle capChan;

  /*设置每行显示的像素数,PAL制为720*/

  Int numPixels = EVMDM642_vCapParamsChan.fldXStop1 -

  EVMDM642_vCapParamsChan.fldXStrt1+1;

  FVID_Frame *capFrameBuf;

  /*设置采集图像一行的总像素*/

  Int capLinePitch = EVMDM642_vCapParamsChan.fldXStop1 -

  EVMDM642_vCapParamsChan.fldXStrt1+1;

  /*设置显示图像一行的总像素*/

  Int disLinePitch = EVMDM642_vDisParamsChan.imgHSizeFld1;

  #ifdef _PIP

  VPORTCAP_Params EVMDM642_vCapParamsChan2 = EVMDM642_vCapParamsChan;

  FVID_Handle capChan2;

  FVID_Frame *capFrameBuf2;

  Int yPitch = capLinePitch 》》 1;

  Int cPitch = ((capLinePitch 》》 2) + 7) & (~ 7);

  #endif

  #endif

  numLines *= 2; /* both fields */如果输出为PAL制,前面numLinesCap不要*2,这里再*2?

  /******************************************************/

  /* allocate both capture and display frame buffers */

  /* in external heap memory */

  /******************************************************/

  /*分配采集和显示图像的存放缓冲区*/

  EVMDM642_vCapParamsChan.segId = EXTERNALHEAP;

  EVMDM642_vDisParamsChan.segId = EXTERNALHEAP;

  EVMDM642_vDisParamsSAA7105.hI2C = EVMDM642_I2C_hI2C;

  EVMDM642_vCapParamsSAA7115.hI2C = EVMDM642_I2C_hI2C;

  /******************************************************/

  /* initialization of capture driver */

  /******************************************************/

  /*建立并初始化采集设备对象*/

  #ifdef _LOOPBACK

  capChan = FVID_create(“/VP0CAPTURE/A/0”,

  IOM_INPUT, &status, (Ptr)&EVMDM642_vCapParamsChan, NULL);

  #ifdef _PIP

  EVMDM642_vCapParamsChan2.scale = VPORT_SCALING_ENABLE;

  EVMDM642_vCapParamsChan2.fldOp = VPORT_FLDOP_FLD1;

  EVMDM642_vCapParamsChan2.thrld 》》=1;

  capChan2 = FVID_create(“/VP1CAPTURE/A/1”,

  IOM_INPUT, &status, (Ptr)&EVMDM642_vCapParamsChan2, NULL);

  #endif

  #endif

  /******************************************************/

  /* initialization of display driver */

  /******************************************************/

  /*建立并初始化显示设备对象*/

  disChan = FVID_create(“/VP2DISPLAY”, IOM_OUTPUT,

  &status, (Ptr)&EVMDM642_vDisParamsChan, NULL);

  /******************************************************/

  /* configure video encoder & decoder */

  /******************************************************/

  for ( m_nWork=0;m_nWork《6;m_nWork++ )//这里的循环有何用???一直没有弄清楚

  {

  /*为保证采集和显示设备正常工作,为其设置驱动*/

  FVID_control(disChan, VPORT_CMD_EDC_BASE + EDC_CONFIG,

  (Ptr)&EVMDM642_vDisParamsSAA7105);

  #ifdef _LOOPBACK

  FVID_control(capChan, VPORT_CMD_EDC_BASE + EDC_CONFIG,

  (Ptr)&EVMDM642_vCapParamsSAA7115);

  #ifdef _PIP

  EVMDM642_vCapParamsSAA7115.aFmt = SAA7115_AFMT_COMPOSITE;

  FVID_control(capChan2, VPORT_CMD_EDC_BASE+EDC_CONFIG,

  (Ptr)&EVMDM642_vCapParamsSAA7115);

  #endif

  #endif

  }

  /******************************************************/

  /* start capture & display operation */

  /******************************************************/

  /*开始采集和显示操作*/

  FVID_control(disChan, VPORT_CMD_START, NULL);

  #ifdef _LOOPBACK

  FVID_control(capChan, VPORT_CMD_START, NULL);

  #ifdef _PIP

  FVID_control(capChan2, VPORT_CMD_START, NULL);

  #endif

  #endif

  /********************************************************/

  /* request a frame buffer from display & capture driver */

  /********************************************************/

  /*分配采集和显示一帧图像存放的缓冲区*/

  FVID_alloc(disChan, &disFrameBuf);

  #ifdef _LOOPBACK

  FVID_alloc(capChan, &capFrameBuf);

  #ifdef _PIP

  FVID_alloc(capChan2, &capFrameBuf2);

  #endif

  #endif

  frames ++;

  while(1){/* loop forever */

  #ifdef _LOOPBACK

  /* copy data from capture buffer to display buffer */

  /***************************************************/

  /*将采集缓冲区的内容复制到显示缓冲区*/

  for(i = 0; i 《 numLines; i ++) {

  DAT_copy(capFrameBuf-》frame.iFrm.y1 + i * capLinePitch,

  disFrameBuf-》frame.iFrm.y1 + i * disLinePitch,

  numPixels);

  DAT_copy(capFrameBuf-》frame.iFrm.cb1 + i * (capLinePitch 》》 1),

  disFrameBuf-》frame.iFrm.cb1 + i * (disLinePitch 》》 1),

  numPixels》》1);

  DAT_copy(capFrameBuf-》frame.iFrm.cr1 + i * (capLinePitch 》》 1),

  disFrameBuf-》frame.iFrm.cr1 + i * (disLinePitch 》》 1),

  numPixels》》1);

  }

  #ifdef _PIP

  for(i = 0; i 《 (numLines》》1); i ++) {

  DAT_copy(capFrameBuf2-》frame.iFrm.y1 + i * yPitch,

  disFrameBuf-》frame.iFrm.y1 + i * disLinePitch

  + (disLinePitch 》》 1),

  (numPixels》》1));

  DAT_copy(capFrameBuf2-》frame.iFrm.cb1 + i * cPitch,

  disFrameBuf-》frame.iFrm.cb1 + i * (disLinePitch 》》 1)

  + (disLinePitch 》》2 ),

  (numPixels 》》 2));

  DAT_copy(capFrameBuf2-》frame.iFrm.cr1 + i * cPitch,

  disFrameBuf-》frame.iFrm.cr1 + i * (disLinePitch 》》 1)

  +(disLinePitch 》》 2),

  (numPixels 》》 2));

  }

  #endif

  DAT_wait(DAT_XFRID_WAITALL);

  FVID_exchange(capChan, &capFrameBuf);//采集一帧图像

  #ifdef _PIP

  FVID_exchange(capChan2, &capFrameBuf2);

  #endif

  #else //如果定义CAPTURE则填充图像缓冲区为8条带

  fillFrmBuf(&disFrameBuf-》frame.iFrm, EVMDM642_vDisParamsChan.imgHSizeFld1,

  EVMDM642_vDisParamsChan.imgVSizeFld1

  + EVMDM642_vDisParamsChan.imgVSizeFld2,

  frames % 360);

  #endif

  FVID_exchange(disChan, &disFrameBuf);//将显示缓冲区中一帧图像送给显示设备

  frames ++; //处理下一帧图像

  }

  }

  实验5.20 视频图像处理-取反

  1.将程序改成屏幕1/4进行取反,而其他不变

  在主程序中ICETEKDM642PCIImageProcessReverse()函数前加if(i《(numLines/2)),即:

  if(i《(numLines/2))

  ICETEKDM642PCIImageProcessReverse();

  并将ICETEKDM642PCIImageProcessReverse()函数中的循环体改为如下:

  for ( i=0;i《720/2;i++ )

  nMemTemp[i]=~nMemTemp[i];

  2.例程中处理了亮度信号,以下是处理色差信号:

  for ( i = 0; i 《 numLines; i ++ )

  {

  m_nID=DAT_copy(capFrameBuf-》frame.iFrm.cb1+i*(capLinePitch》》1),nMemTemp,numPixels》》1);

  DAT_wait(m_nID);

  ICETEKDM642PCIImageProcessReverse();

  DAT_copy(nMemTemp,disFrameBuf-》frame.iFrm.cb1+i*(disLinePitch》》1),numPixels》》1);

  for ( m_nWork=0;m_nWork《numPixels》》1;m_nWork++ )

  nMemTemp[m_nWork]=0x080;

  DAT_copy(nMemTemp,disFrameBuf-》frame.iFrm.y1+i*disLinePitch,numPixels); DAT_copy(nMemTemp,disFrameBuf-》frame.iFrm.cr1+i*(disLinePitch》》1),numPixels》》1);

  }

  出现的问题:图像显示时右半屏有闪烁???~~~

  实验5.21 视频图像处理-直方图统计

  程序注释:源程序中定义的js变量不知为何用,于是就删除了~~~

  #include “ICETEK-DM642-PCI.h”

  //工作变量

  #pragma DATA_SECTION(nMemTemp, “.INTPROCBUFF”);

  #pragma DATA_ALIGN(nMemTemp,128);

  unsigned char nMemTemp[720];

  #pragma DATA_SECTION(nHisto, “.INTPROCBUFF”);

  #pragma DATA_ALIGN(nHisto,128);

  unsigned int nHisto[256];

  unsigned char imgHisto[HISTOHIGH*HISTOWIDTH];//128*256

  int mi,mj,m_nWork1;

  unsigned int m_nWork,*pWork;

  unsigned char *pImg,*pImg1;

  void ICETEKDM642PCIBoardInit()//直方图显示区域初始化

  {

  for ( mi=0;mi《HISTOHIGH*HISTOWIDTH;mi++ )

  imgHisto[mi]=1;

  for ( mi=0;mi《256;mi++ )

  nHisto[mi]=0;

  }

  #pragma CODE_SECTION(ICETEKDM642PCIStatistic,“.text1”)

  void ICETEKDM642PCIStatistic()//统计一帧图像的直方图

  {

  int i;

  for ( i=0;i《720;i++ )

  {

  nHisto[nMemTemp[i]]++;

  }

  }

  #pragma CODE_SECTION(ICETEKDM642PCIHistogram,“.text1”)

  void ICETEKDM642PCIHistogram()//将统计的一帧图像的直方图显示在显示区域上

  {

  m_nWork=0;

  for ( mi=0;mi《256;mi++ )//找出各灰度级别像素总数最大的

  if ( m_nWork《nHisto[mi] )

  m_nWork=nHisto[mi];

  m_nWork/=(HISTOHIGH-1);//求出比例因子(即像素总数最大值/显示区域的高度)

  for ( mi=0;mi《256;mi++ )//转换各灰度级,将其映射到显示区域(即:各个灰度级的像素/比例因子)

  {

  nHisto[mi]/=m_nWork;

  }

  for ( mi=0;mi《HISTOHIGH*HISTOWIDTH;mi++ )//将显示区域置白

  imgHisto[mi]=1;

  pImg = imgHisto; //pImg指针指向显示区域首地址

  pImg += ((HISTOHIGH-1)*HISTOWIDTH); //mImg指针指向显示区域尾地址

  pImg++;//???

  for ( mi=1;mi《255;mi++,pImg++ )

  {

  for ( mj=0,pImg1=pImg;mj《nHisto[mi];mj++,pImg1-=HISTOWIDTH )

  (*pImg1)=HISTOCOLOR;//对应的显示区域填充颜色,这里还是不太明白

  }

  for ( mi=0;mi《256;mi++ ) //清除直方图统计的数组

  nHisto[mi]=0;

  }

  实验5.22 视频图像处理-直方图均衡化增强

  程序注释:直方图均衡化,其实质是图像增强的一种。

  #include “math.h”

  #include “ICETEK-DM642-PCI.h”

  //工作变量

  #pragma DATA_SECTION(nMemTemp, “.INTPROCBUFF”);

  #pragma DATA_ALIGN(nMemTemp,128);

  unsigned char nMemTemp[720];

  #pragma DATA_SECTION(fHisto, “.INTPROCBUFF”);

  #pragma DATA_ALIGN(fHisto,128);

  float fHisto[256];//

  #pragma DATA_SECTION(lut, “.INTPROCBUFF”);

  #pragma DATA_ALIGN(lut,128);

  unsigned char lut[256];//保存新的灰度级,是通过上一帧图像计算的

  int mi,mj,m_nWork1;

  unsigned int m_nWork,*pWork,js;

  unsigned char *pImg,*pImg1;

  float m_fWork;

  void ICETEKDM642PCIBoardInit()

  {

  js=0;

  for ( mi=0;mi《256;mi++ )

  {

  fHisto[mi]=0.0f;

  lut[mi]=0;

  }

  }

  #pragma CODE_SECTION(ICETEKDM642PCIStatistic,“.text1”)

  void ICETEKDM642PCIStatistic()

  {

  int i;

  for ( i=0;i《720;i++ )

  {

  fHisto[nMemTemp[i]]++;//统计灰度直方图

  nMemTemp[i]=lut[nMemTemp[i]];//新的灰度级映射(通过上一帧图像计算出的新灰度级,处理这一帧图像)

  }

  }

  #pragma CODE_SECTION(ICETEKDM642PCIHistogramEnhance,“.text1”)

  void ICETEKDM642PCIHistogramEnhance()//

  {

  m_fWork=720*576; fHisto[0]/=m_fWork;

  for ( mi=1;mi《256;mi++ )//灰度直方图频率

  {

  fHisto[mi]/=m_fWork;

  fHisto[mi]+=fHisto[mi-1];

  }

  for ( mi=0;mi《256;mi++ )//计算新的灰度级

  {

  m_fWork=fHisto[mi];

  m_fWork*=255;

  lut[mi]=(unsigned char)m_fWork;//这就是新的灰度级

  }

  for ( mi=0;mi《256;mi++ )//灰度直方图数组清0

  fHisto[mi]=0.0f;

  }

  实验5.23 视频图像处理-中值滤波

  中值滤波算法实质是一种图像噪声的抑制。该系统实现中值滤波算法速度极慢。

  实验5.24 视频图像处理-边缘检测(Sobel算子)

  Sobel算子实质是图像的锐化处理,主要目的是突出图像中的细节或者增强被模糊了的细节。

  但是对这个算法程序实现不是很明白。

  for ( mi=0;mi《MWIDTH;mi++,pImg1++,pImg2++,pImg3++ )

  {

  x3=(*pImg1); x6=(*pImg2); x9=(*pImg3);

  m_nWork1=x7+x8+x8-x2-x2-x3;

  m_nWork2=x3+x6+x6-x4-x4-x7;

  if ( m_nWork1《m_nWork2 )////对这个算法的程序实现不是很明白

  m_nWork1=m_nWork2;

  m_nWork2=m_nWork1+x9-x1;

  if ( m_nWork2》255 ) m_nWork2=255;

  else if ( m_nWork2《0 ) m_nWork2=0;

  nMemTemp[mi+180]=m_nWork2;

  x1=x2; x2=x3;

  x4=x5; x5=x6;

  x7=x8; x8=x9;

  }

  实验5.25 视频图像处理-傅立叶变换

  对傅立叶变换的知识比较空白。压根没看懂~~~

  实验5.26 视频图像处理-色彩空间变换

  程序注释:

  void ICETEKDM642PCIYUVRGB()

  {

  int i,j;

  int r,g,b,y,u,v;

  unsigned char *py,*pu,*pv,*pr,*pg,*pb;

  py=m_dbFrameY; pu=m_dbFrameU; pv=m_dbFrameV;

  pr=m_dbTargetImageR; pg=m_dbTargetImageG; pb=m_dbTargetImageB;

  for ( i=0;i《SIMGHEIGHT;i++ )

  {

  for ( j=0;j《SIMGWIDTH;j+=2 ) ////列720点,360个32bit,

  {

  u=(*pu); v=(*pv); y=(*py);

  u-=128; v-=128;

  r=y+1.402*u;

  g=y-0.34414*u-0.71414*v;

  b=y+1.772*v;

  if ( r》255 ) r=255;

  else if ( r《0 ) r=0;

  if ( g》255 ) g=255;

  else if ( g《0 ) g=0;

  if ( b》255 ) b=255;

  else if ( b《0 ) b=0;

  (*pr)=r; pr++;

  (*pg)=g; pg++;

  (*pb)=b; pb++;

  py++; y=(*py);

  r=y+1.402*u;

  g=y-0.34414*u-0.71414*v;

  b=y+1.772*v;

  if ( r》255 ) r=255;

  else if ( r《0 ) r=0;

  if ( g》255 ) g=255;

  else if ( g《0 ) g=0;

  if ( b》255 ) b=255;

  else if ( b《0 ) b=0;

  (*pr)=r; pr++;

  (*pg)=g; pg++;

  (*pb)=b; pb++;

  py++; pu++; pv++;

  }

  }

  }

  ////在计算机中,用RGB方式描述一个像素需要R、G、B共3个字节。而用YUV方式描述,则对于每2个像素,Y用2个字节,U取相同的值,用一个字节,V取相同的值,

  ////用一个字节,平均每个像素2个字节。理解了这一点,对于上面的程序就理解了~~~

查看详情

dm642技术

基于TMS320DM642嵌入式图像识别方案实现车流量检测系统的设计

现有的传统视频检测方法基于工控机,其算法成熟,且已形成相关产品。但其也有缺点:一是由于通用CPU没有专用的硬件乘法器,故很难实现图像的时实性处理。二是采...

2020-11-17 标签:嵌入式控制系统德州仪器 5927 0

基于DM642的嵌入式网络视频服务器的设计

基于DM642的嵌入式网络视频服务器的设计

 目前的安防监控领域的主流产品是DVR(数字硬盘录像机),它的主要特点是适合监控点集中的局域监控应用。但是,随着对于远程分布式监控需求的增长,嵌入式网络...

2016-05-27 标签:嵌入式TIDM642 1335 0

基于DM642平台的智能视频分析系统设计

基于DM642平台的智能视频分析系统设计

以DM642为核心,设计了一款智能视频分析系统,支持标清视频。采用模块化设计,通过视频智能分析,对目标实现了检测、识别、跟踪及预警功能。

2014-01-09 标签:TIDM642智能视频 1402 0

基于DSP的视频采集驱动程序的设计

基于DSP的视频采集驱动程序的设计

视频终端的核心是图像的数字化处理模块。基于PC机的数字视频处理,给出了算法研究的途径,而基于高速DSP的应用模块才提供了实时嵌入式视频处理的可能。然而,...

2011-09-29 标签:DSPDM642EDMA 1633 0

DM642的I2C息线配置与应用

DM642的I2C息线配置与应用

本文主要介绍的就是基于DM642的视频采集处理系统中I2C模块的正确初始化,以及通过I2C总线正确地对视频解码芯片SAA7115的寄存器读/写程序。

2011-09-23 标签:DM642I2C视频采集 1482 0

DM642上5/3提升小波的优化

DM642上5/3提升小波的优化

本文介绍了5/3提升小波变换及其在DM642上的实现。在通用的DSP芯片上实现该算法具有很好的可扩展性、可升级性与易维护性。用这种方式灵活性强,完全能满...

2011-08-09 标签:DM642小波小波优化 1221 0

查看更多>>

dm642资讯

基于CDMA网络传输的无线视频监控存储系统

基于CDMA网络传输的无线视频监控存储系统

摘 要: 选用TMS320DM642 作为系统CPU ,并采用最新视频编码标准H. 264 压缩算法, 实现基于CDMA 网络传输的无线视频监控和视频数...

2012-07-18 标签:DM642h264编码无线视频监控 2200 1

多媒体处理器DM642及其在视频监控中的应用

多媒体处理器DM642及其在视频监控中的应用

  介绍了一种新型的多媒体DSP处理器DM642的结构和功能,总结了开发DM642系统的应用技术和方法,并给出了基于DM642的视频监控系统实例。

2012-05-28 标签:多媒体处理器视频监控DM642 1238 0

基于DM642的视音频采集器的设计

基于DM642的视音频采集器的设计

地理信息系统( GIS)、全球定位系统( GPS)的广泛应用使人们享受到了基于位置服务所带来的诸多便利。传统G IS 是以地图为可视化主要手段, 然而人...

2011-09-22 标签:GPSDM642GIS 1686 0

基于DM642DSP的视频编码优化方法

基于DM642DSP的视频编码优化方法

在视频监控系统和视频会议系统以及流媒体等应用中,数字视频编码成为最重要和最基本的技术手段,论文作者针对视频监控系统,论述了基于TMS320DM642媒体...

2011-09-16 标签:DSPDM642视频编码 1119 0

DM642和CPLD外部中断的寄存器式键盘设计

DM642和CPLD外部中断的寄存器式键盘设计

介绍了一种采用DM642和CPLD相配合的扩展键盘方法。CPLD管理键盘电路中的芯片逻辑,DM642的外部中断监控按键的状态。简单阐述了键盘的分类,给出...

2011-08-19 标签:CPLD寄存器键盘 2294 0

基于DM642的X.264编码器优化

基于DM642的X.264编码器优化

TMS320DM642是TI公司推出的一款针对视频和图像处理领域应用的数字多媒体处理芯片,具有处理能力强和集成度高等特点,是目前实现H.264视频编码器...

2011-08-17 标签:编码器DM642H.264 1682 0

基于DM642的视频处理系统硬件设计

基于DM642的视频处理系统硬件设计

系统研究并实现了一个通用的基于DM642的视频处理系统。该系统已经调试成功,它可以完成视频信号的输入与输出,可以应用于视频图象采集和处理的各种场合中

2011-03-23 标签:DM642视频处理 4378 0

基于DM642的PCI总线GJB289A智能仿真卡的设计

基于DM642的PCI总线GJB289A智能仿真卡的设计

  虚拟仿真系统模拟GJB289A总线设备,需要收发大量的GJB289A总线数据。传统的处理方式是通过GJB289A总线PCI通讯卡将接收到的数据传输到...

2010-12-25 标签:DM642PCI总 1092 0

基于DM642的I2C模块的正确初始化

基于DM642的I2C模块的正确初始化

  DM642作为高性能的视频处理芯片,被广泛应用到视频处理的很多领域,但是DM642的I2C应用容易遇到I2C、VP等死锁,以及

2010-11-27 标签:DM642视频采集 1626 0

基于DM642的嵌入式图像型火灾探测系统

基于DM642的嵌入式图像型火灾探测系统

  引言   火灾是最常见的严重灾害之一,它往往给人们的生命财产造成巨大的危害。目前用于火焰探测的主要有烟感探测器、红外探测器、紫外探测器等,但这些

2010-11-22 标签:DM642火灾探测 1380 0

查看更多>>

dm642数据手册

相关标签

相关话题

换一批
  • 德飞莱
    德飞莱
    +关注
  • 编程软件
    编程软件
    +关注
    常用的编程软件有:Visual studio、PhpStorm、Notepad++、WebStrom、Sublime Text、EditPlus 等。Visual studio是一款由美国微软公司开发的开发工具集,简称VS,它包括了整个软件的生命周期所需要的大部分工具。
  • 阻抗计算
    阻抗计算
    +关注
  • 串口调试工具
    串口调试工具
    +关注
      串口调试工具是一款简单实用的串口调试工具,无插件的绿色软件,适宜单片机编程时对RS232通讯测试用。
  • 信捷
    信捷
    +关注
  • Polar
    Polar
    +关注
  • MPLABIDE
    MPLABIDE
    +关注
    MPLABIDE是一种在PC机上运行的软件,用来为Microchip单片机开发应用程序。由于它提供了一种单一的集成环境来为嵌入式单片机开发程序代码,因此被称为集成开发环境或IDE。
  • adr
    adr
    +关注
  • HOG
    HOG
    +关注
  • 检测软件
    检测软件
    +关注
  • vue
    vue
    +关注
  • png
    png
    +关注
  • CSS3
    CSS3
    +关注

关注此标签的用户(0人)

编辑推荐厂商产品技术软件/工具OS/语言教程专题