单片机U盘控制器的设计与实现
- 格式:pdf
- 大小:1.13 MB
- 文档页数:5


舰船防化2010年第 2期,20~24 CHEMICAL DEFENCE ON SHIPS №2, 20~24单片机 U 盘控制器的设计与实现孟涛,王福虎(中国船舶重工集团公司第七一八研究所,河北邯郸,056027)摘要: 基于目前在数据采集设备和仪器仪表等嵌入式系统中,数据交换多采用串行口或以太网等方式的现状,本文介绍了一种以 U 盘为存储介质的 U 盘控制器设计方案,并给出了系统电路原理图和单片机读写 U 盘的程序流程。
该方案以 USB 接口芯片 CH376 和单片机为核心,具有成本低、通用性强、可靠性高等特点,可方便的集成到各种测控系统中,解决了串口、网络通信方式需要布线施工、成本高、移动性差的问题。
关键词: CH376;单片机;U盘;USB接口中图分类号:TP311 文献标识码:ADesign and implementation of MCU USB flash disk controllerMeng Tao, Wang Fu-hu(The 718th Research Institute of CSIC, Handan 056027, China)Abstract: Now UART and Ethernet are widely used in application-embedded systems. Based on MCU and CH376, this paper introduces a design and implementation to control USB flash disk, and provides schematic diagram of hardware and part of program, gives detailed introductions to their principles and control-methods. It is proved to have several advantages such as low cost, easy application and stable running. This solution fits the application especially in measuring system and data acquisition equipment. Key words: CH376; MCU; USB flash disk; USB interface引言目前在数据采集设备和仪器仪表等嵌入式系统中,数据交换多采用串行口(RS232、RS485、CAN总线)或以太网等方式,这些方式需要布线施工、成本高且不具有移动性。
ElectronicComponent&DeviceApplicationsVol.10No.3Mar.2008第10卷第3期2008年3月2008.3www.ecda.cn0引言随着U盘技术的迅速发展,单片机海量存储选用U盘已经成为大家的首选。
而如何让单片机像在WINDOWS下识别FAT文件系统那样识别U盘并进行随意读写呢?本文针对这一情况,给出了如何在嵌入式系统中利用CH375实现单片机对U盘进行读写操作的具体方法。
1CH375的主要特点其实,单片机读写U盘主要是找到USB总线接口芯片,而CH375就是一个非常好用的芯片USB接口,它的主要特点如下:◇全速USB-HOST主机接口,兼容USBV2.0,外围元器件只需要晶体和电容;◇可全速动态切换主机与设备;◇主机端点有输入和输出缓冲区各64字节,可支持常用的12Mbps全速USB设备;◇支持USB的控制、批量和中断传输;◇可自动检测USB设备的连接和断开,并提供设备连接和断开的事件通知;◇内置控制传输的协议处理器,可简化常用的控制传输;◇内置固件处理海量存储设备的专用通讯协议,可支持Bulk-Only传输协议和SCSI、UFI、RBC或等效命令集的USB存储设备(包括USB硬盘/USB闪存盘/U盘);◇可通过U盘文件级子程序库实现单片机读写USB存储设备中的文件。
◇并行接口包含8位数据总线,其中4线控制包括读选通、写选通、片选输入、中断输出等;◇串行接口包含串行输入、串行输出、中断输出,支持通讯波特率动态调整;◇可支持5V电源电压和3.3V电源电压,此外,CH375A芯片还支持低功耗模式;◇采用SOP-28封装。
2FAT文件系统由于绝大部分单片机海量存储系统最终会与Windows操作系统计算机交换数据,所以,为了方便数据交换,U盘中的数据应该符合Windows文件系统格式。
常用的FAT文件系统有FAT12、FAT16、FAT32等,U盘上的数据按照其不同的特点和作用大致可分为以下几部分:(1)主引导记录(MBR)实际上,在总共512字节的主引导扇区中,MBR只占用了其中的446字节,另外的64字节交给了DPT(DiskPartitionTable盘分区表),最后两字节“55AA”是分区的结束标志。
USB单片机CH559实现U盘控制器应用实例一、摘要根据Mass Storage Class(大容量/海量存储器,以下简称MSC)协议,使用CH558、CH559和CH563分别实现模拟全速和高速U盘的功能,外部存储介质和U盘容量支持自由调整,用以解决数据转存或者定制U盘等功能。
关键在于CH5XX USB设备控制器操作、Bulk-Only传输协议、SCSI命令支持和存储介质读写这几个部分。
二、总体概述模拟U盘关键功能部件包括以下几点:(1)、USB Mass Storage Framework(2)、以U盘为例,下图是PC和U盘的内部抽象逻辑框图CH558、CH559和CH563内置USB设备控制器和PHY,对于实现U盘控制器的应用,只需要配置USB设备模式和读写外部存储介质。
(3)、USB MSC CBI/BBB TransportUSB MSC Control/Bulk/Interrupt Transport 只能用于Full-speed的软盘(Floppy drive),这里不赘述,有兴趣可以自己百度。
Bulk-only传输类控制、批量都是通过批量端点,即用Bulk端点来传送命令块,数据,状态,因此,才类似于Control/Bulk/Interrupt被简称为CBI一样,而Bulk/Bulk/Bulk被简称为BBB。
(4)、USB MSC Protocol relation传输通讯:Host和Device之间的数据通讯根据存储介质(Floppy或Flash)分别使用UFI和SCSI协议,更深入的设备特性配置参考More Feature。
(5)、U盘配置描述符Class,Subclass和Protocol对应关系对应的,了解USB的都知道,每个设备的描述符中,都有对应下面这几个域:bInterfaceClass 、 bInterfaceSubClass 、 bInterfaceProtocol分别对应着USB的Class,Subclass,Protocol。