这是DM642视频采集卡的框图。下面结合程序来说明一下。
首先采用PAL制式的摄像头,大小为720*576个像素点,设置为4:2:2模式采集,通过TVP5150或者SAA7113解码输出后,要进行4:2:2->4:2:0模式的转换,因为人眼对亮度信息敏感,对色度信息不敏感,所以减少色度值进而减少数据压缩量。经过芯片解码后,由EDMA通过视频接口搬运至SDRAM中,进而进行运动估计,运动补偿,DCT,量化和编码,将经过MPEG-2压缩编码后的码流经PC104输出,完成整个视频采集卡的功能。
电源模块:
DSP所需的工作电压分别为1.4V 、 3.3V 。
SDRAM工作电压为3.3v,
TVP5150工作电压为1.8v,由电源芯片LM1117所提供,
SAF7113工作电压为3.3v,
CPLD工作电压为3.3v,
FLASH工作电压为3.3v,
PCI工作电压为5v,
时钟电路:
DM642输入时钟CLKIN为50MHz,片内PLL设置为x12,cpu内核频率为600MHz;
EMIF时钟采用外部时钟为133MHz,,即SDRAM和FLASH的工作频率为133MHz;
片上外设总线、EDMA传输和L2存储器的工作频率为CPU内核频率的1/2,即300MHz;
片上定时器的工作频率为CPU内核时钟频率的1/8,即75MHz;
SDRAM的时钟频率为133MHz;
TVP5150的时钟由晶振提供,时钟频率为14.31818MHz;
SAF7113的时钟由晶振提供,时钟频率为24.576MHz;
PCI 的时钟频率为33.33MHz;
CPLD:
CPLD主要是控制时序电路EMIF的读写、外部存储地址的选择、EMIF读写信号,以及FLASH的高四位地址的选择。
SDRAM:采用两片SDRAM芯片,大小为4M*32B,DM642可扩展的最大为4M*64,所以这里采用两片SDRAM并联的方式,共用地址总线,数据总线分别为前32位和后32位,SDRAM的控制信号均由DM642给出。SDRAM的首地址为 0x8000 0000。SDRAM主要用于视频采集、处理和传输时的存储。
FLASH:
大小为4M,也是可扩展的最大容量。控制信号由CPLD给出。
下面写一下程序设计中需要注意的问题吧:
首先是BIOS的使用,我们可以利用BIOS做很多事情,比如分配内存空间,设置软件中断,还可以利用BIOS观察程序运行情况,如观察线程之间的切换和CPU的利用率等。在利用BIOS进行内存空间的分配的时候需注意,我们在程序中将L2缓冲区设置为了128KB的Cache和128KB的SRAM,所以我们配置时看到的ISRAM空间就是我们配置L2成SRAM的大小。而且我们可以在BIOS分配其他的段,如代码段,数据段等等的位置。这里还需要注意的地方,heap需要设置的大小,因为在程序中我们分配了很多数据空间,720*576大小的,所以在分配内存空间时就需要足够大的heap来支持,这里我们将heap的大小设置为0x1000000。同时我们可以通过view->memory来查看内存中的内容,例如:
其次说明一下,利用CCS编译环境实现优化,