




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Electronic Component &Device Applications第10卷第3期 0引言随着U 盘技术的迅速发展,单片机海量存储选用U 盘已经成为大家的首选。而如何让单片机像在WINDOWS 下识别FAT 文件系统那样识别U 盘并进行随意读写呢?本文针对这一情况,给出了如何在嵌入式系统中利用CH375实现单片机对U 盘进行读写操作的具体方法。1CH375的主要特点其实,单片机读写U 盘主要是找到USB 总线接口芯片,而CH375就是一个非常好用的芯片USB 接口,它的主要特点如下:全速USB -HOST 主机接口,兼容USB V2.0,外围元器件只需要晶体和电容;可全速
2、动态切换主机与设备;主机端点有输入和输出缓冲区各64字节,可支持常用的12Mbps 全速USB 设备;支持USB 的控制、批量和中断传输;可自动检测USB 设备的连接和断开,并提供设备连接和断开的事件通知;内置控制传输的协议处理器,可简化常用的控制传输;内置固件处理海量存储设备的专用通讯协议,可支持B ulk-Only 传输协议和SCSI 、UFI 、RBC 或等效命令集的USB 存储设备(包括USB 硬盘/USB 闪存盘/U 盘;可通过U 盘文件级子程序库实现单片机读写USB 存储设备中的文件。并行接口包含8位数据总线,其中4线控制包括读选通、写选通、片选输入、中断输出等;串行接口包含串行输
3、入、串行输出、中断输出,支持通讯波特率动态调整;可支持5V 电源电压和3.3V 电源电压,此外,CH375A 芯片还支持低功耗模式;采用SOP-28封装。2FAT 文件系统由于绝大部分单片机海量存储系统最终会与Windows 操作系统计算机交换数据,所以,为了方便数据交换,U 盘中的数据应该符合Windows 文件系统格式。常用的FAT 文件系统有FAT12、FAT16、FAT32等,U 盘上的数据按照其不同的特点和作用大致可分为以下几部分:(1主引导记录(MBR实际上,在总共512字节的主引导扇区中,MBR 只占用了其中的446字节,另外的64字节交给了DPT (Disk Partition
4、 Table 盘分区表,最后两字节“55AA ”是分区的结束标志。(2系统引导记录(DBR包括一个引导程序和一个被称为BPB (BiosParameter Block的本分区参数记录表,在BPB 参数记录表里包含着本分区的起始扇区、结束扇区、文件存储格式、根目录大小、FAT 个数、分配单元的大小等重要参数。(3文件分配表(FAT文件分配表是DOS 文件组织结构的主要组成收稿日期:2007-09-05用C 语言来实现单片机对U 盘的操作程序,张毅(南瑞集团公司,江苏南京210003摘要:介绍了在嵌入式系统中利用CH375对U 盘进行读写的实现方法;同时介绍了USB 总线接口芯片CH375的主要特
5、点及FAT 文件系统的组成。给出了USB 的接口电路和软件流程。关键词:USB-HOST ;FAT 文件系统;CH37564 第10卷第3期2008年3月FAT ,找到第一个可用簇,便将该空间分配给文件,同时将该簇的簇号填到目录的相应段,以形成“簇号链”,FAT 就是记录文件簇号的一张表。(4文件目录表(FDT文件目录区是DOS 文件组织结构的又一重要组成部分,文件目录分为两类:根目录和子目录。其中根目录有一个,子目录可以有多个,DOS 为目录项分配了32字节,它包含文件名、扩展名、文件属性、时间日期、文件的开始簇号和文件长度等重要信息。(5数据区(DATA数据区是真正存储数据的地方。3USB
6、 读写的硬件设计本设计采用CH375的并行接口来完成对U 盘的操作,它使用8位双向数据总线D7D0、读选通输入脚RD 、写选通输入脚WR 、片选输入脚CS 、中断输出脚INT 以及地址输入脚A0。CH375芯片的RD 和WR 可以分别连接到单片机的读选通输出引脚和写选通输出引脚。CS 由地址译码电路驱动,用于在单片机具有多个外围器件时进行设备选择。INT 输出的中断请求是低电平有效,可以连接到单片机的中断输入引脚或者普通I/O 引脚,单片机可以使用中断方式或者查询方式来获知中断请求。当WR 为高电平并且CS 和RD 及A0都为低电平时,CH375中的数据将通过D7D0输出;当RD 为高电平并且
7、CS 和WR 及A0都为低电平时,D7D0上的数据将被写入CH375芯片中;即当RD 为高电平并且CS 和WR 都为低电平但A0为高电平时,D7D0上的数据被作为命令码写入CH375芯片中。单片机与CH375的并行接口电路如图1所示。CH375芯片复位期间,TXD 引脚用于选择通讯接口。若CH375在复位期间检测到TXD 引脚为低电平,则启用并行接口,否则启用串行接口。由于本设计中采用的是并行方式,所以,将CH375的TXD 引脚直接接地。USB 总线包括一对5V 电源线和一对数据信号线。USB 插座J1可以直接接USB 设备,也可以在提供给USB 设备的+5V 电源线上串接具有限流作用的快速
8、电子开关,但USB 电源必须为5V 。电容C4用于CH375内部电源节点的退耦,C4是容量为0.01F 的独石或高频瓷片电容。如果对EMI 没有要求,那么可以省掉C4;电容C5和C6用于外部电源退耦,C5应选择容量为0.1F 的独石或高频瓷片电容;晶体Y1、电容C1和C2用于CH375的时钟振荡电路;USB-HOST 主机方式要求时钟频率比较准确,Y1的频率是12MHz ±0.4,C1和C2是15pF 的独石或高频瓷片电容。如果电源上电过程较慢且电源断电后放电时间较长,那么CH375将不能可靠复位,可以在RSTI 引脚与VCC 之间跨接一个容量(为0.47F 的电容C3,同时可以减少
9、干扰。4软件设计通过USB 主控芯片对U 盘进行操作的主要工作量在软件方面,它需要对众多规范、协议进行透彻理解。一般情况下,单片机或嵌入式系统处理USB 存储设备的文件系统需要实现如图2所示的4个层次,但如果USB 主控芯片选用CH375则要 图1单片机与CH375的并行接口电路设计参考65 Electronic Component &Device Applications第10卷第3期2008年3月 简单得多,因为它内置了处理Mass-Storage 海量存储设备的专用通讯协议固件,外部单片机可以直接以扇区为基本单位来读写常用的U 盘,所以,实际的单片机程序只需要处理图2最上层的FA
10、T 文件系统层,而且即使这一层也可以由CH375的U 盘文件级子程序库来实现。不过,应用厂家提供的U 盘文件级子程序库固然能为程序编写提供很大方便,但仍需要调整单片机以适应它们的设置,这个过程也是很麻烦的。由于单片机的程序空间有限,利用U 盘文件级子程序库会使程序空间变得更紧张,而由自己编写文件系统处理程序,不但能有效节省单片机资源,而且能灵活的想怎么升级就怎么升级。单片机读写U 盘的关键问题是找到目标扇区,一般可先找到FAT 表,读出有用的数据,再根据这些数据计算出文件所在的簇,然后根据簇和扇区的数学关系找到文件的扇区,这样就可以随心所欲地读写一个扇区(512B了。4.1USB 初始化软件设
11、计时,应先初始化CH375,以设置其工作模式,让其工作在USB 主机方式:WR_CMD_PORT (SET_USB_MODE;/设置模式WR_DAT_PORT (6;/主机模式初始化U 盘实际就是识别U 盘的类型,该操作不影响U 盘中的数据,但在所有读写操作之前必须进行此步骤:WR_CMD_PORT (DISK_INIT;/*初始化USB 存储器*/Status =WaitInterrupt (;/*等待中断并获取状态*/之后,还应当初始化U 盘里的文件格式:ReadBPB (;/读U 盘系统引导记录(DBR 里的BPB 表通过读BPB 表可以获取每扇区字节数、每簇含扇区数、FAT 表起始地址
12、、FAT 表个数、根目录个数、根目录所占扇区数、FDT 表起始地址、DATA 区起始地址、FAT 类型等等重要信息。4.2文件操作要将单片机系统的数据导入到U 盘,而且能直接被计算机识别,所要做的工作有下面几步:(1创建文件目录CreatFile (即创建文件目录里的文件名、扩展名、文件属性、时间日期、文件的开始簇号和文件长度。(2写文件WriteFile (写入新文件时,需在FAT 表中查找未使用的簇,并将该簇号写入文件所对应的目录数据结构中的文件开始簇号位置;当文件长度大于一簇时,还需在FAT 表中的对应起始簇号位置填入下一可用簇的簇号,直到文件的最后一簇。(3更新文件目录ModifyCatolog (;文件写完后,目录数据结构里有些项可能需要更改,如文件长度等。而将外面的数据通过USB 导入到单片机系统的步骤如下:(1搜索文件SearchFile (通过搜索文件目录可以找到所要读的文件的开始簇号、文件长度等重要信息。(2读文件ReadFile (读文件时,可将文件开始簇号转为扇区号,并读出扇区号对应的数据,若文件长度不止一簇,应根据前一簇号找到其链节簇,然后再将链节簇转换为扇区号并读出
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030年中国铁路物流行业十三五规划与投资战略研究报告
- 2025-2030年中国车灯模具行业市场前景规模及发展趋势分析报告
- 2025-2030年中国莲藕粉行业运行态势及发展趋势分析报告
- 2025-2030年中国花露水市场风险评估规划分析报告
- 2025-2030年中国胡麻油市场竞争状况及发展趋势分析报告
- 2025-2030年中国聚碳酸酯板(阳光板)行业发展趋势规划研究报告
- 2025-2030年中国缝制机械市场运行现状及发展趋势分析报告
- 2025-2030年中国纸制品市场运行现状及发展前景预测报告
- 2025-2030年中国电玩行业运行状况及发展前景分析报告
- 2025-2030年中国电容笔行业发展状况及营销战略研究报告
- 2025年01月2025广东深圳市何香凝美术馆公开招聘应届高校毕业生2人笔试历年典型考题(历年真题考点)解题思路附带答案详解
- 园林聘用劳动合同
- 300亩文冠果树栽培基地建设项目可行性研究报告
- 2025年菏泽职业学院高职单招职业技能测试近5年常考版参考题库含答案解析
- 2025年江西生物科技职业学院高职单招职业适应性测试近5年常考版参考题库含答案解析
- 2025年度企业安全生产与环保管理服务协议范本3篇
- 2025-2030年中国巧克力产品市场需求状况及发展趋势分析报告
- 六年级下册音乐全册教案湖南文艺出版社湘教版
- Tracepro-实例学习教程
- 进货单出货单(Excel表格模板)
- 质监站对监理工作监督的要点
评论
0/150
提交评论