首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 维修教程知识 > 单片机栏
基于U盘的单片机低功耗海量存储系统
来源:本站整理  作者:佚名  2009-05-21 13:17:18




过去,基于个人计算机的USB开发,仅仅是对USB外设的开发,USB核心驱动程序和USB主控制器驱动程序均由Windows等操作系统提供。而实现USB主机的功能,这两部分驱动程序都必须设计。
 嵌入式USB主机的软件设计思路[4]
USB主机协议描述了USB系统软件(核心驱动程序和主控制器驱动程序)的设计规范。根据该设计规范,嵌入式USB主机的软件设计应包括以下三部分:USB主机系统软件部分,主要实现对USB外设的配置,读取USB外设的信息,从而判断该设备属于USB的哪一类,并确定下一步选用哪个特定的程序加以支持;USB Mass Storage设备类协议软件部分,实现USB Mass Storage类所规定的各种命令;USB用户软件部分,实现用FAT文件系统管理和存储数据。因此,基于U盘的海量存储模块中单片机的固件程序有着如图1.3所示的积木式的结构。

单片机嵌入式USB主机固件程序
1、SL811HS与AT89C55WD的通信程序设计
SL811与单片机AT89C55WD的通信程序设计可以简单地认为是实现了PC的USB主机的主控制器驱动程序的部分功能。
①读数据
由于SL811HS的外接总线的地址和数据信号是复用的,通过A0信号来区分地址和数据。因此,AT89C55WD读取或写入SL811HS内存的时候首先发送地址,然后再发送数据。此外,由于SL811HS采用了地址自动增址的机制,因此,如果需要读取或写入连续地址内的数据时,只需要发送起始地址即可,以后每读取或写入一次数据,SL811HS会自动将寻址地址加1。根据SL811HS的读数据时序的要求,读取数据前首先发送地址,再读取数据,程序如下:
unsigned char SL811Read(unsigned char a)

 unsigned char nVal;
 unsigned char xdata *exAddress;
 exAddress = SL811_ADDR_PORT;    /*发送地址  */
 SL811_CS=0;
 *exAddress=a;
 exAddress=SL811_DATA_PORT;     /*读取数据  */
 nVal = *exAddress;
 SL811_CS=1;
 return nVal;
}
②写数据
与读数据类似,AT89C55WD向SL811HS的内存单元写数据时,也必须首先发送地址,然后发送要写入的数据。根据SL811HS的写数据时序,函数实现程序如下:
void SL811Write(unsigned char a, unsigned char d)

 unsigned char xdata *exAddress;
 exAddress = SL811_ADDR_PORT;       /*发送地址  */
 SL811_CS=0;
 *exAddress=a;
 exAddress=SL811_DATA_PORT;         /*写入数据  */
 *exAddress = d;
 SL811_CS=1;
}
单片机AT89C55WD与SL811HS通信的实现,是整个USB体系软件的根基。在此基础上即可实现USB主机协议的系统软件、Mass Storage类协议软件、FAT文件系统软件。
2、AT89C55WD的初始化
单片机AT89C55WD的初始化程序安排在主程序main.c中,主要是完成定时器T0、外部中断INT0、I/O口、串行通讯口以及SL811HS 的初始化,包括工作方式设定、初值设置、相关的数据缓冲器清零等,程序较为简单,此处省略。
3、人机接口程序
人机接口程序对来自主CPU模块的串口命令进行相应的处理,并将处理结果返回。因为主CPU模块需将采集的数据值通过存储模块存入U盘,所以主CPU模块的串口命令包括查询U盘、创建文件、打开文件、写文件、读文件等,如同人们在PC机对U盘的操作。
该段程序首先通过串口处理入口函数,判别主CPU发出何种命令,再跳转至功能操作子函数。U盘的功能操作子函数依据USB Mass Storage类的UFI命令,按照微软的FAT文件规范进行相应文件操作。
由于篇幅关系其它部分的实现本文不作具体介绍。
结语
总之,运用单片机直接控制读写U盘,部分地实现PC上USB主机的USB核心驱动程序的功能,是嵌入式系统的软件和硬件的集合,是一个全新的概念。基于U盘的单片机低功耗海量存储系统将使测控系统体积减小,更有利于野外作业或其它便携性要求较高的场合,为仪器便携化发展开拓了新的思路。

上一页  [1] [2] 

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)

推荐阅读

图文阅读

热门阅读

Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:36,406.25000 毫秒