新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于C6000系列DSP的MPEG-4编码器实现

基于C6000系列DSP的MPEG-4编码器实现

作者: 时间:2008-11-27 来源:网络 收藏

  2.3 PC与编码卡通信

  PC与编码卡通信可以通过并口、串口、USB口、PCI接口等方式实现。其中PCI接口方式易于PC与编码器高速传输数据,因此本文采用PCI接口。编码后的数据通过的HPI、PCI桥芯片、PCI总线到达PC。PC通过的HPI直接对的存储空间进行访问。HPI有两种工作方式:一种是单数据读写,这种方式每次只能读写一个数据,一般主机对编码参数进行设置,例如设置图像大小、帧率等;另一种是burst方式的数据读写,在这种方式下只需要指定初始访问地址,然后以地址自加的方式访问DSP的存储空间,这种访问方式不需要DSP的CPU参与。图2中CPLD完成PCI桥芯片与DSP之间的访问控制,DSP、PCI的中断控制等功能。

  3 编码卡的软件设计

  C6000系列DSP提供的编译环境支持C++、C以及汇编语言,用C++设计的程序执行效率较低,一般不用;大多数都采用C语言和汇编语言相结合的方式来完成DSP程序设计。DSP程序设计流程如下:先写出C代码并对其优化,如果不能达到预期的运行效率,则编写汇编代码来提高效率。对于这样复杂的算法,只运用C语言是远远不够的,在本设计里大部分代码都由汇编语言完成。

  设计高效的代码,必须充分利用该DSP的VLIW和流水线结构。利用VLIW结构可以在一个时钟周期并行执行八条32位指令;在流水线结构下,一条指令的执行不用等待上一条指令执行结束,例如DSP从内存中读取一个数据需要5个时钟周期,在读取这个数据的同时,DSP可以去执行别的指令,不必等待这条指令执行结束。具有这两种结构的DSP在性能提高的同时,程序设计也变得比较复杂。对于具有VLIW和流水线结构的DSP在设计程序时必须注意以下几个问题:

  ·每一个指令包可以包括多条操作指令,在C6000系列DSP中每一条指令包括八条32位操作指令;



关键词: DSP MPEG-4 视频编码

评论


相关推荐

技术专区

关闭