基于uClinux嵌入式系统的汽车黑匣子的设计与开发

时间:2012-07-23来源:网络

USB 组织现在定义了Mass Storage 协议传输的两个规范,即:1. USB Mass Storage Class Control/Bulk/Interrupt (CBI) Transport 2. USB Mass Storage Class Bulk-Only Transport。但是CBI不能用于高速设备,所以在我们的这个系统中选用第二种传输方式Mass Storage Class Bulk-Only。

在这种传输模式下,需要注意接口描述符中的一些值的设定。把bInterfaceClass的值设为08,代表本设备为Mass storage Class。把bInterfaceSubClass的值设为06,这样表明USB设备在传输中遵循SCSI协议。这是因为海量存储设备(General Mass Storage Device)是随机存取、基于块/扇区存储的设备。它只能存储和取回来自CPU 的数据。这种设备的接口遵循SCSI-2 标准的直接存取存储设备(Direct Access Storage Device)协议。bInterfaceProtocol的值设为50,即USB设备为Bulk-Only Transport传输模式。

当设备插入到USB 后,USB 即对设备进行搜索,并要求设备提供相应的描述符。在USB Host 得到上述描述符后,即完成了设备的配置,识别出为Bulk-Only 的Mass Storage 设备,然后即进入Bulk-Only 传输方式。在这种传输方式下,有三种类型的数据在USB 和设备之间传送,CBW、CSW 和普通数据。CBW(Command Block Wrapper,即命令块包)是从USB Host 发送到设备的命令,命令格式遵从接口中的bInterfaceSubClass 所指定的命令块,这里为SCSI 传输命令集。USB设备需要将SCSI 命令从CBW 中提取出来,执行相应的命令,完成以后,向Host 发出反映当前

命令执行状态的CSW(Command Status Wrapper),Host 根据CSW 来决定是否继续发送下一个CBW 或是数据。Host 要求USB 设备执行的命令可能为发送数据,则此时需要将特定数据传送出去,完毕后发出CSW,以使Host 进行下一步的操作。USB 设备所执行的操作可用图三所示。

33.gif

在这里需要注意的是Flash的读写特点是其可随机读,但无法随机写。Flash在写之前必须先擦除,而一擦又必须擦一个Block或者一个sector,因此在擦除某Block或sector 之前必须保存同一个Block或sector 中有关的数据。如果每收到一次数据就进行一次擦、保存、写的操作,系统任务将十分繁重,无法及时响应USB Host 端的请求,因此这个需要通过设置一定大小的缓冲区来解决。

3 uClinux操作系统

在进行嵌入式系统设计中,对操作系统的选择是至关重要的,对于系统需求不同需要运用不同的操作系统。本系统考虑的主要是稳定性和安全性,所以运用uClinux操作系统。uClinux操作系统是基本上跟Linux操作系统是一样的。(1)它是免许可证用费同时具有很高的稳定性、安全性和可裁剪性。(2)支持强大的网络功能,这个使我们的系统有更好的扩展性,比如以后在上面实现GPRS等网络功能(3)具有丰富的开放工具,提供C、C++、JAVA以及很多其它的开发工具,这个为我们的应用程序的开发提供了很大方便。(4)具有大量的文档可供我们参考。它们之间最大的不同是是uClinux是了为了满足没有MMU的处理器而特别设计的,即uClinux不能使用处理器的虚拟内存管理技术而是采用的是实存储器管理策略。

这里有主要的三个方面在移植的过程中是需要注意的。1、如果处理器的核不被uClinux支持,这就需要我们在uclinux/linux-2.4.x/arch/中增加一个新的体系结构,这个工作量将是巨大的。但在我们的这个系统中ARM7TDMI体系结构已经存在uclinux/linux-2.4.x/arch/armnommu/目录中。2、在相同体系结构目录中找一个与你的处理器比较接近的处理器的配置文件进行修改,使之适合你的处理器。如果没有合适的就需要你自己写,同样这个工作量也是相当大的。3、如果本系统的一些外围设备电路不被uClinux所支持,需要自己编写其的设备驱动程序。

4 结束语

本汽车黑匣是建立在以32位三星的S3C44B0X微处理器为核心及uClinux操作系统的嵌入式系统,可以更好的满足系统稳定性和运用程序的多样性,因此可以更加完整、精确和多样性的记录下汽车的行驶状态,为事故的分析提供准确的依据,同时也对抑制交通事故起到很大的重要。另外在本系统中我们把整个系统做成U盘,这样可以把记录的数据方便、迅速的传输到计算机或者PDA上。

1 2

关键词: uClinux 嵌入式系统 汽车黑匣子

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版