a)速度:普通SD卡的数据传输速度约2 MB/s;高速SD卡数据传输速度约10 MB/s;极速SD数据传输速度约20 MB/s。而现在通用的USB2.0的全速传输速率是480 Mbps(60 MB/s),为普通SD卡传输速度的30倍。再者,USB3.0标准也已推出,速度可达5 Gbps,并向下兼容。USB已经成了高速、方便的代名词,本文选用USB也正出于其通用性和方便升级性考虑。
b)容量瓶颈:现有发行的嵌入式Linux2.4.X内核对SD卡标准模式容量的支持绝大数为2 G以下(不包含2 G),要支持到更大容量需要对SD卡驱动程序进行大量修改,并且协议标准推出相对较晚,较新的嵌入式Linux 2.6.24内核通过笔者实际验证可以支持到2 G容量,但要对驱动进行多处修改,后续升级复杂,稳定性也需要进一步验证。
鉴于以上两点,采用USB接口进行视频数据的采集和存储,两路USB接口部分硬件连接如图3所示。
2.1.2 Linux内核配置修改
在Linux下,所有外设都被看成是一种特殊的文件,称为设备文件。设备驱动程序为内核和外设之间提供接口函数,完成设备的初始化与释放、对设备文件的各种操作及中断处理等。这些接口函数为应用程序屏蔽了外设硬件的细节,使程序可以像普通文件一样对外设进行操作。Linux系统中子模块 Video4Linux向虚拟文件系统注册视频设备文件,为视频应用程序提供了一套统一的API,视频应用程序通过标准的系统调用即可操纵各种不同的视频捕获设备。