基于VW2010芯片的嵌入式多媒体监控系统压缩/解压卡设计 2
t与VW2010进行通信的共享存储区(以下简称SM_PC2VW)位于encoderSDRAM中地址3F1800处,共128字节;而VW2010与host进行通信的共享存储区(以下简称SM_VW2PC)则位于encoderSDRAM中的地址3F1880处,也是128字节。
SM_PC2VW的格式如表2所列。表中,CMD为命令码,分别为:读数据(CMD=1)、发IOCTL码(CMD=2)、写数据(CMD=3)、打开命令(CMD=4)和关闭命令(CMD=5);IntFlag为中断标识,IntFlag为1时,VW2010执行完CMD定义的任务后将产生一个中断,为0则不产生中断;DeviceHandle由打开命令从firmware中获得,当CMD不同时,Parameters有不同的含义。
表2host到VW2010的共享内存区格式
Address31:1615:87:03F1800ReservedIntFlagCMD3F1804ReservedReservedReserved3F1808Reserved3F180CDeviceHandle3F1810Parameters3F1814……
表3VW2010到host的共享内存区格式
Address31:1615:87:03F1880ReservedReservedReserved3F1884ReservedACK/NACKCMD3F1888ReturnCode3F188CDeviceHandle3F1890Parameters3F1894……
SM_VW2PC的格式如表3所列。ACK/NACK的含义是:如果SM_PC2VW中的IntFlag为1,且命令CMD成功执行,则为ACK;如果SM_PC2VW中IntFlag为1,而执行命令CMD失败,则为NACK,并将错误码保存在ReturnCode字段。
一般在发送其它命令之前,必须先发送打开命令,此时,DeviceHandle字段应为0,Parameters字段为打开类型(TSMUX,PSMUX,TSDEMUX或PSDE-MUX)。如果该命令成功执行,则会在SM_VW2PC的DeviceHandle字段返回所分配的DeviceHandle,并在SM_VW2PC的Parameters字段返回辅助参数区的首地址(下面简称为X)。辅助参数区由firmware在encoderSDRAM中动态分配,主要用于传递与命令有关的参数。
在结束使用共享内存区后,必须发送关闭命令以释放辅助参数区。
(2)信号灯
由于共享存储区是临界资源,所以必须提供一种机制,以保证VW2010和host使用时不发生冲突。为此,VW2010分别给SM_PC2VW和SM_VW2PC提供了两个硬件信号灯,它们由寄存器REG_INT1和REG_INT2的最低位控制。此外,VW2010还为信号灯定义了以下两种操作。
写操作:向REG_INT1或REG_INT2最低位写入1,然后释放共享存储区。
读操作:返回REG_INT1或REG_INT2最低位的值,同时清该位为0。
(3)host到VW2010的中断
host通常通过向VW2010发中断的方式通知VW2010从共享存储区读取主机命令。VW2010用寄存器REG_DHIU5实现h 《基于VW2010芯片的嵌入式多媒体监控系统压缩/解压卡设计 2(第3页)》
本文链接地址:http://www.oyaya.net/fanwen/view/140354.html
SM_PC2VW的格式如表2所列。表中,CMD为命令码,分别为:读数据(CMD=1)、发IOCTL码(CMD=2)、写数据(CMD=3)、打开命令(CMD=4)和关闭命令(CMD=5);IntFlag为中断标识,IntFlag为1时,VW2010执行完CMD定义的任务后将产生一个中断,为0则不产生中断;DeviceHandle由打开命令从firmware中获得,当CMD不同时,Parameters有不同的含义。
表2host到VW2010的共享内存区格式
Address31:1615:87:03F1800ReservedIntFlagCMD3F1804ReservedReservedReserved3F1808Reserved3F180CDeviceHandle3F1810Parameters3F1814……
表3VW2010到host的共享内存区格式
Address31:1615:87:03F1880ReservedReservedReserved3F1884ReservedACK/NACKCMD3F1888ReturnCode3F188CDeviceHandle3F1890Parameters3F1894……
SM_VW2PC的格式如表3所列。ACK/NACK的含义是:如果SM_PC2VW中的IntFlag为1,且命令CMD成功执行,则为ACK;如果SM_PC2VW中IntFlag为1,而执行命令CMD失败,则为NACK,并将错误码保存在ReturnCode字段。
一般在发送其它命令之前,必须先发送打开命令,此时,DeviceHandle字段应为0,Parameters字段为打开类型(TSMUX,PSMUX,TSDEMUX或PSDE-MUX)。如果该命令成功执行,则会在SM_VW2PC的DeviceHandle字段返回所分配的DeviceHandle,并在SM_VW2PC的Parameters字段返回辅助参数区的首地址(下面简称为X)。辅助参数区由firmware在encoderSDRAM中动态分配,主要用于传递与命令有关的参数。
在结束使用共享内存区后,必须发送关闭命令以释放辅助参数区。
(2)信号灯
由于共享存储区是临界资源,所以必须提供一种机制,以保证VW2010和host使用时不发生冲突。为此,VW2010分别给SM_PC2VW和SM_VW2PC提供了两个硬件信号灯,它们由寄存器REG_INT1和REG_INT2的最低位控制。此外,VW2010还为信号灯定义了以下两种操作。
写操作:向REG_INT1或REG_INT2最低位写入1,然后释放共享存储区。
读操作:返回REG_INT1或REG_INT2最低位的值,同时清该位为0。
(3)host到VW2010的中断
host通常通过向VW2010发中断的方式通知VW2010从共享存储区读取主机命令。VW2010用寄存器REG_DHIU5实现h 《基于VW2010芯片的嵌入式多媒体监控系统压缩/解压卡设计 2(第3页)》