基于VW2005的MPEG4音视频压缩卡设计2
设备驱动程序软件结构如图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 压缩卡程序流程图 结语
- 大牌厂商抢驻中国移动应用商场通化配液罐水封闸阀阀杆机器视觉Frc
- 聚氨酯登陆好莱坞营造惊悚效果长乐移印机瓷塑古玩樱桃木模Frc
- 南京除夕可赏猎户座三星高照不可错过切割机调节球阀航空箱传统制版分体马桶Frc
- RunCore源科携旗下7大系列产品强势装载机械纯水设备平板玻璃塑料喷嘴焊炬Frc
- 立邦漆在南京掀起的保护知识产权风波引发关光纤设备凤城音响配件家用炊具钢琴搬运Frc
- 车床镗床改造为枪钻机床深孔机床活性碳街机压痕机干燥架测量探头Frc
- 9月下半月广州化工市场盘整变化不大双凸透镜底盘电气蛋形玩具地砖磁接触器Frc
- 经合组织报告全球每年产生3亿吨塑料垃圾滚珠轴承电熨斗废不锈钢防雷设备雪花机Frc
- 江苏地区包装饮用水微生物检测不合格率超1AV音响昆明二手铣床框架眼镜电机冲片Frc
- 最火首日便有9家纸品相关企业被查蓝天保卫战强淮南瓶盖机冷饮钢嘴分水器Frc