基于C6000系列DSP的MPEG-4编码器实现
PC与编码卡通信可以通过并口、串口、USB口、PCI接口等方式实现。其中PCI接口方式易于PC与编码器高速传输数据,因此本文采用PCI接口。编码后的数据通过DSP的HPI、PCI桥芯片、PCI总线到达PC。PC通过DSP的HPI直接对DSP的存储空间进行访问。HPI有两种工作方式:一种是单数据读写,这种方式每次只能读写一个数据,一般主机对编码参数进行设置,例如设置图像大小、帧率等;另一种是burst方式的数据读写,在这种方式下只需要指定初始访问地址,然后以地址自加的方式访问DSP的存储空间,这种访问方式不需要DSP的CPU参与。图2中CPLD完成PCI桥芯片与DSP之间的访问控制,DSP、PCI的中断控制等功能。
3 MPEG-4编码卡的软件设计
C6000系列DSP提供的编译环境支持C++、C以及汇编语言,用C++设计的程序执行效率较低,一般不用;大多数都采用C语言和汇编语言相结合的方式来完成DSP程序设计。DSP程序设计流程如下:先写出C代码并对其优化,如果不能达到预期的运行效率,则编写汇编代码来提高效率。对于MPEG-4这样复杂的算法,只运用C语言是远远不够的,在本设计里大部分代码都由汇编语言完成。
·每一个指令包可以包括多条操作指令,在C6000系列DSP中每一条指令包括八条32位操作指令;
评论