基于VW2005的MPEG-4音视频压缩卡的设计

[10-10 20:38:44]   来源:http://www.88dzw.com  电子制作   阅读:8891

文章摘要:图1 压缩卡原理框图图2 系统驱动程序软件结构图3 压缩卡程序流程图Windows下VW2005设备驱动程序设计驱动程序总体设计 设备驱动程序软件结构如图2所示。应用程序由用户根据不同的应用场合来编写,它只与Vweb USB驱动程序通信,而不与硬件内部的固件或微码通信。在Windows下,应用程序只需三个函数与驱动程序通信:CreatFile()用来打开一个基于VW2005的板卡;CloseHandle用来关闭一个基于VW2005的板卡;DeviceIoControl用来对VW2005板卡进行各种控制和设置。为了支持VW2005芯片的运行,Vweb公司提供了用于系统设计的USB驱动AP

基于VW2005的MPEG-4音视频压缩卡的设计,标签:电子小制作,http://www.88dzw.com

图1  压缩卡原理框图


图2 系统驱动程序软件结构

图3 压缩卡程序流程图

Windows下VW2005设备驱动程序设计
驱动程序总体设计
    设备驱动程序软件结构如图2所示。应用程序由用户根据不同的应用场合来编写,它只与Vweb USB驱动程序通信,而不与硬件内部的固件或微码通信。在Windows下,应用程序只需三个函数与驱动程序通信:CreatFile()用来打开一个基于VW2005的板卡;CloseHandle用来关闭一个基于VW2005的板卡;DeviceIoControl用来对VW2005板卡进行各种控制和设置。为了支持VW2005芯片的运行,Vweb公司提供了用于系统设计的USB驱动API、USB驱动、芯片级API、固件及微码。上电/复位后,固件从ROM中导入SDRAM,VW2005的RISC处理器有片内高速缓存(如dmem)用于执行固件程序,微码下载到特殊的内部RISC引擎,每个RISC引擎都有片内RAM和高速缓冲,用于存储和执行写入内部的微码。

主机与VW2005的通信
    VW2005内部的编码存储器(encoder SDRAM)中有两个双端口、128字节的共享存储区,作为主机与VW2005的通信媒介。

    用于主机到VW2005通信的128字节的共享存储区(以下简称host_VW_SM)位于encoder SDRAM中地址0x3F1800处。Host_VW_SM格式如表1所示。

表1 主机到VW2005的共享存储区格式

表2  VW2005到主机的共享存储区格式

    VW2005在Firmware ReadyCode中写入0x0A00,表示准备接收命令;CMD为命令码,分别是读数据(CMD=1)、发IOCTL码(CMD=2)、写数据(CMD=3)、打开命令(CMD=4)和关闭命令(CMD=5);Int Flag为中断标识,Int Flag=1则VW2005执行完命令后产生一个中断,Int Flag=0则不产生中断;Device Handle由打开命令从固件中获得;Paremeters为附加参数。

    用于VW2005到主机通信的128字节的共享存储区(以下简称VW_host_SM)位于encoder SDRAM中地址0x3F1880处。VW_host_SM格式如表2所示。

    ACK/NACK的含义是:如果Int Flag=1,命令CMD执行成功后则为ACK,失败则为NACK,并将错误代码保存在Return Code字段。Return Code的含义是:无错误产生则为0,有错误产生则为错误代码。其它参数与host_VW_SM类似,不再赘述。

信号灯

     由于共享存储区是临界资源,所以必须提供一种机制,用以保证主机和VW2005使用它们时是互斥的。为此,VW2005分别给host_VW_SM和VW_host_SM提供了两个硬件信号灯,分别由寄存器REG_INT1和REG_INT2的最低位实现。驱动程序通过REG_INT1检查固件是否为来自主机的下一个命令作好准备,通过REG_INT2告知固件主机已处理完成前一个命令。VW2005为信号灯定义了两种操作:
写操作:向REG_INT1或REG_INT2的最低位写入1,释放共享存储区。
读操作:返回REG_INT1或REG_INT2的最低位的值,同时将该位清零。

压缩卡程序流程图

上一页  [1] [2] [3]  下一页


Tag:电子制作电子小制作维修教程知识 - 电子制作

《基于VW2005的MPEG-4音视频压缩卡的设计》相关文章