警示牌厂家
免费服务热线

Free service

hotline

010-00000000
警示牌厂家
热门搜索:
行业资讯
当前位置:首页 > 行业资讯

基于VW2005的MPEG4音视频压缩卡设计2

发布时间:2020-07-21 17:33:37 阅读: 来源:警示牌厂家

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

图2 系统驱动程序软件结构 主机与VW2005的通信 VW2005内部的编码存储器(encoder SDRAM)中有两个双端口、128字节的共享存储区,作为主机与VW2005的通信媒介。用于主机到VW2005通信的128字节的共享存储区(以下简称host_VW_SM)位于encoder SDRAM中地址0x3F1800处。Host_VW_SM格式如表1所示。

表1 主机到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所示。

表2 VW2005到主机的共享存储区格式 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的最低位的值,同时将该位清零。 压缩卡程序流程图 压缩结果是传输流时的程序流程如图3所示。主机只需在编码开始前对压缩卡进行初始化操作,之后的编码压缩完全由VW2005芯片独立完成,这样大大降低了压缩卡对主机CPU的要求。

图3 压缩卡程序流程图 结语

昆明碧莲盛植发

碧莲盛

长沙碧莲盛电话

石家庄碧莲盛