【摘要】 根据汽车行驶记录仪中大量数据交换的实际需求,本文介绍了基于单片机利用SL811HST在汽车行驶记录仪中实现USB HOST 功能,对SUB HOST中的关键技术USB设备枚举、Bulk_Only传输协议以及FAT16文件结构的实现做了较详细的说明。 关键词: USB HOST SL811HST 设备枚举 Bulk_Only FAT16 在开发汽车行驶记录仪过程中,以单片机和SL811HST为核心,通过实现USB设备枚举、Bulk_Only传输协议,FAT16文件结构等技术,把汽车行驶记录仪记录在大容量FLASH和铁电存储器中的车辆行驶各种状态信息读写到优盘上,以实现汽车行驶记录仪数据和PC主机快速交换,方便车辆信息管理。 1. USB 总线的简介 USB(Universal Serial Bus )是一种通用串行总线,是一种标准的连接接口。在与外面的USB 从结构和USB HOST连接时,不必重新配置系统和调节接口,USB HOST 自动识别这些接口设备,并配置适当的驱动程序,因此实现了即插即用与热插拔性,方便了用户使用。随着此项技术的发展、普及和成熟,USB总线所具有的特性使得其在数据采集和嵌入式用户中得到广泛的应用。现在的电子产品移动存储需求越来越大,而USB总线以其优异的性价比和灵活性常用来实现大量数据交换。 USB接口技术分为 USB SLAVE 和USB HOST。当前电子产品具有USB功能的大部是SLAVE技术,USB HOST技术一直是开发的难点。USB通信可以用图1来表示。在图1中左半部分为USB HOST端,由两部分组成,即USB软体、USB硬体。实际上有3个软件组成了USB HOST解决方案,即USB客户驱动程序、USB驱动程序以及USB主机控制器驱动程序。应用程序的事物处理是由USB客户驱动程序启动的,客户驱动程序把USB设备当作一个可以被访问的端点集合,它可以被控制并与它的功能单元进行通信。USB系统软件包括USB驱动程序以及USB主控制器驱动程序,USB驱动程序负责配置管理、用户管理、总线管理以及传输管理,USB主控制器驱动程序负责调度管理、队列管理、控制管理、以及数据的位编码、封包、循环校验、发送以及错误处理等。
图1 USB通信模型层次关系 2. USB HOST相关模块总体设计 USB HOS相关模块总体设计由单片机、SL811HST、FLASH、铁电存储体、实时时钟、电源管理及其他单片机接口电路组成。汽车行驶记录仪工作时,由单片机通过前端接口电路拾起汽车的各种信息,包括车速、发动机转速、各种车辆开关等信号。汽车行驶记录仪以实时时钟为基准,把车辆信息按类别分别存入铁电存储体和FLASH存储体。当需要从汽车行驶记录仪中获取汽车信息时,用户插入优盘,单片机自动识别优盘并加载驱动程序,当完成设备枚举和Bulk_Only传输协议后,单片机就可以把汽车行驶记录仪中的信息以文件的形式传输到优盘。USB的主机接口设计包括物理层实现,SL811HST底层驱动实现、设备枚举协议实现、Bulk_Only传输协议实现以及FAT16文件结构的实现。模块功能框图见图2。