数字温温度记录仪中的USB主机设计

| 2007-06-08
来源:单片机及嵌入式系统应用 | 黄豪佑 卢建刚

  2 软件设计

  整个系统软件分为用户程序和USB主机软件两部分,USB主机软件为用户程序提供软件接口。当记录仪需要读写USB磁盘时,调用接口发送读写命令即可实现。用户程序集成初始化、采集、显示、记录等子程序。初始化单片机与其外围模块;采集程序负责将数字温湿度传感器的脉冲输入转换为温湿度的值;显示程序则将采集到的数据通过液晶显示器显示出来,显示频率可以设置;记录程序将采集的数据写到F2PROM保存,掉电不丢失,从而要通过I/O口模拟I2C协议实现读写32PROM,USB主机软件集成USB主机控制器驱动程序(HCD)、USB驱动程序(USBD)和MassStorage类驱动程序。HCD负责

完成对USB主机控制器ISPl362配置和工作管理,通过数据线上的电平变化检测到USB设备的接入和拔出,如ISPl362的初始化、设置ISPl362的寄存器实现链路级数据传输等。USBD是整个主机软件的核心部分,相当于PC机上USB主机的核心驱动程序,按照USB协议合理调用HCD来获取设备、配置、接口及端点描述符,然后对USB设备设置地址并与之通信,从而识别并判断USB设备是否属于Mass Storage类。Mass Storage类驱动程序包括Bulk_Only传输协议的实现以及在协议实现的基础上发送特定的请求命令,进而对USB磁盘上的F1ash进行读和写,从USB磁盘上读取对记录仪的配置,并将记录仪保存的数据写到USB磁盘上供上位机分析处理。

  为了将系统的功耗降到最低,仅仅在硬件设计上考虑是远远不够的,还需要设计低功耗的软件来配合硬件工作,才能达到理想的目标。在本系统中,为了降低功耗,将用户程序和USB主机软件进行整理和优化,分成主程序、看门狗中断子程序和USB主机程序三大模块。主程序负责初始化、开中断后进入低功耗工作模式,然后一直等待中断,看门狗中断程序负责采集数据、显示数据、保存数据等功能,因为记录仪需要不断的采集、显示和保存,所以要周期性地进入中断。采集、显示和保存这三个事件不是同步的,每次进入中断后都会采集数据,但是达到显示和保存条件之后分别进入相应的处理,而且显示和保存的时间参数是通过USB磁盘配置得到的,可以更改。读写中断子程序负责判断按键类型,在Mass Storage类驱动程序基础上建立一个FAT文件系统,支持FATl6/FAT32两种文件格式,以文件的形式统一管理USB磁盘上的内容。各个程序流程如图4至图6所示。

各个程序流程
各个程序流程

  3 结论

  将USB主机应用到数字温湿度记录仪系统中;使用数字传感器可大大提高记录的精度,记录仪通过USB磁盘就可上传配置和下载数据,可去除对PC机的依赖,扩大应用范围,具有很好的扩展性;使用超低功耗单片机大大降低系统的功率,延长电池的寿命。

0
0
(请您对文章做出评价)
1】【2】【3
加载中

对文章的评论

更多评论

剩余字数:  

浏览该文章的用户还看过...

  • 文 章

  • 论 坛

  • 博 客

  • 小 组

设计资源与分销

赞助商链接

  • 博客推荐

  • 论坛推荐

  • 在线研讨会