基于VW2010芯片的嵌入式多媒体监控系统压缩/解压卡设计
VW2010采用DMA方式实现与应用空间的数据交换。读/写命令用于建立从VW2010到host的DMA通道并启动数据传输,它并不等待数据传输完成,而是让DMA传输在后台运行,当DMA传输结束后,VW2010将中断主机。
《基于VW2010芯片的嵌入式多媒体监控系统压缩/解压卡设计(第4页)》
本文链接地址:http://www.oyaya.net/fanwen/view/140583.html
当应用程序要读写数据时,它首先会分配一些缓冲区用于保存读写数据。这些缓冲区可以用首地址和长度标识,如可以使用(Address,Len)代表首地址为Address、长度为Len的缓冲区。在发送读/写数据命令时,SM_PC2VW的Parameters字段为X,辅助参数区的内容为应用空间数据缓冲区的信息,其格式即为上述的首地址和缓冲长度标识对(Address,Len)。VW2010根据这些缓冲区信息来建立应用空间的DMA通道。
(2)IOCTL的实现
使用时,可定义多种IOCTL码以用于控制VW2010芯片,各IOCTL码的参数各不相同。需要注意的是,此处的IOCTL码不同于Driver API中的IOCTL码。该命令与读写数据命令的主要区别在于其命令辅助参数存储区的格式不同,而控制流程类似,限于篇幅,这里不再赘述。
4 结论
为了测试压缩/解压卡和设备驱动程序的性能,作者在Linux Redhat 7.3下编写了测试程序。在测试中,分别让VW2010芯片工作在手动录像模式、定时录像模式和动态侦测录像模式。结果表明:该系统卡在各种模式下都能稳定工作。
《基于VW2010芯片的嵌入式多媒体监控系统压缩/解压卡设计(第4页)》