一种视频处理系统设计与实现
iver,将由mini—driver做相应的响应,在这里通知vport端口开始工作。
(3)给VP口分配缓冲区FVID_alloc(fvidChan,bufp)参数说明:FVID_handle fvidChan:fvid通道句柄;Ptr bafp:分配的缓冲区指针。该函数从mini—ditver获取缓冲区指针。
(4)FVID_exchange(fvidChan,bufp) 参数说明:FVID_handle fvidChan:fvid通道句柄;Ptr butp:交换的缓冲区指针。该函数将转换好的图像数据发送给mini—driver处理,并传回空缓冲区指针,FVID_exchange函数相当于顺序执行FVID_free和FVID_alloc函数。利用FVID的API函数可方便配置和驱动视频通道,实现视频的采集和输出。
3.2 VGA输出
VGA(VideoGraphic Array)接口,即视频图形阵列,也叫DSub接口。VGA接口采用非对称分布的15针连接方式,其工作原理是将显存内以数字格式存储的图像信号在RAMDAC里经过模拟调制成模拟高频信号,然后再输出到显示设备成像。视频编码器SAA7105H支持VGA输出,SAA7105H被配置为VGA输出时,送输出缓冲区的数据必须为RGB格式,而非YUV4:2:2。用户可以自行编写相应的转换函数,或者调用TI img64.lib库中的IMG_ycbcr422p_rgb565函数实现视频格式的转换。
3.3 程序从Flash的引导
在系统上调试程序时,利用仿真器把程序下载到SDRAM内执行。当程序调试完毕应用时,应该把程序烧写到外部Flash里,实现系统每次上电后程序从Flash引导加载自动运行,省去每次利用仿真器下载程序。
DM642是以ROM方式引导系统的,当DSP上电或复位时,内核处于复位状态,并自动以ROM的读写时序从Flash的第0页起始地址开始复制lK字节的代码到DSP的片内内存起始地址为O的地址空间。然后释放CPU,使其从0地址开始运行程序。
Flash烧写根据不同的硬件设计,烧写步骤略有不同,但基本过程相同。系统Flash的烧写过程:①把引导程序文件boot.asm添加到要烧写的工程中,在BIOS中添加BOOT段,修改相应的CMD文件,编译原工程生成新的。out文件;②使用hex6x工具把生成的COFF格式的。out文件转化为。hex文件;③用FlashBurn建立。ccd文件;④用FlashBurn打开建立的。ccd文件,先擦除Flash,然后烧写Flash。
按照上述步骤烧写程序到Flash,在系统上电后程序将自动执行。应该注意的是,烧写程序后的系统仿真环境将难以进去,解决的办法是一边反复按复位键,一边打开仿真环境则可进去。
4 结语
系统研究并实现了一个通用的基于DM642的视频处理系统。采用了针对多媒体应用开发的专用媒体处理芯片DM642,该芯片配有丰富的外设接口,减小了系统硬件设计的复杂度,提高了系统的性价比;通过外接的SDRAM编程实现MPEG一2、MPEG-4、H.264等多种视频压缩编解码算法,灵活性大,实用性强,优于专用的视频编解码系统;由于DM642的高速运算能力,实时性强也是系统的一大优点。
- 3DES算法的FPGA高速实现(06-21)
- 基于DSP的Max-Log-MAP算法实现与优化(05-27)
- DSP中DMA操作的无阻塞请求实现(06-18)
- 二维DCT编码的DSP实现与优化(09-08)
- 基于DSP处理器上并行实现ATR算法(01-29)
- 基于DSP的H.324终端设计(05-27)