admin管理员组

文章数量:1532656

2024年3月13日发(作者:)

智能仪器作业

U盘原理

一、U盘的结构。

U盘的结构基本上由五部分组成:USB端口、主控芯片、FLASH(闪存)

芯片、PCB底板、外壳封装。 其中USB端口负责连接电脑,是数据

输入或输出的通道;主控芯片负责各部件的协调管理和下达各项动作

指令,并使计算机将U盘识别为“可移动磁盘”,是U盘的“大脑”;

FLASH芯片与电脑中内存条的原理基本相同,是保存数据的实体,其

特点是断电后数据不会丢失,能长期保存;PCB底板是负责提供相应

处理数据平台,且将各部件连接在一起。

1、USB端口:

常见的USB端口有以下几种:

USB A型插座引脚分布 USB A型插头引脚分布

USB B型插座引脚分布 USB B型插头引脚分布

USB mini-B插座引脚分布 USB mini-B插头引脚分布

U盘接口上一般都有四条线:电源线、地线、两根信号线。

2、主控芯片:

此款U盘我们采用安国出产的芯片:AU9380。对于此款芯片有几个特

性要介绍一下:(以下摘自AU9380的技术手册第6页)

“1、Support up to 4 NAND Flash memory chips with

write-protected capability;

2、Runs at 12MHz, built-in 48 MHz PLL;

3、Built-in 3.3V regulator;”

这说明了几点:该款芯片能够自动提供稳压电源3.3V,支持多达4 个

NAND 闪存芯片与写保护功能,另外外加晶振是12MHz。有了以上三个

特性和以下的引脚功能就可以构造我们基本的电路。引脚功能如下:

3、flash芯片:

这里采用K9F5608。这是一款32M8位数据宽度的存储芯片。关于该芯

片的一些重要引脚功能如下(摘自K9F5608芯片手册第5页)

“Command Latch Enable(CLE)

The CLE input controls the activating path for commands sent to the

command register. When active high, commands are latched

into the command register through the I/O ports on the rising edge of

the WE signal.

Address Latch Enable(ALE)

The ALE input controls the activating path for address to the internal

address registers. Addresses are latched on the rising edge of WE

with ALE high.

Chip Enable(CE)

The CE input is the device selection control. When CE goes high

during a read operation the device is returned to standby mode.

However, when the device is in the Busy state during program or

erase, CE high is ignored, and does not return the device to

standby mode.

Write Enable(WE)

The WE input controls writes to the I/O port. Commands, address

and data are latched on the rising edge of the WE pulse.

The WE must be held high when outputs are activated.

Read Enable(RE)

The RE input is the serial data-out control, and when active drives

the data onto the I/O bus. Data is valid tREA after the falling edge

of RE which also increments the internal column address counter

by one.

GND (Pin # 6)

Connect this input pin to GND or set to static low state unless the

sequential read mode excluding spare area is used.

I/O Port : I/O 0 ~ I/O 7

The I/O pins are used to input command, address and data, and to

output data during read operations. The I/O pins float to high-z

when the chip is deselected or when the outputs are disabled.

Write Protect(WP)

The WP pin provides inadvertent write/erase protection during

power transitions. The internal high voltage generator is reset when

the WP pin is active low.

Ready/Busy(R/B)

The R/B output indicates the status of the device operation. When

low, it indicates that a program, erase or random read operation is

in process and returns to high state upon completion. It is an open

drain output and does not float to high-z condition when the chip

is deselected or when outputs are disabled.”根据以上信息和主控

芯片的资料可以连接二者的电路。

对于U盘的其他结构不再多讲了,还提一下电路图中有多个滤波除噪

电路,保证整个电路工作在稳定的环境下。

二、U盘的原理:

U盘的基本工作原理比较简单,具体如下:

当U盘连接到电脑主机的USB接口中,电脑USB接口的5V电压

通过U盘的USB接口的供电针脚为U盘供电电路提供供电,产生VCC

电压。接着USB接口电路中的USB插座的数据输入针脚为高电平,而

数据输出引脚为低电平:当电脑主板的USB模块检测到数据线上的一

高一低电平信号后,就认为USB设备连接好,向USB设备发出准备好

信号。接着U盘的主控芯片调取存储器中的基本信息及文件信息,通

过USB接口发送给电脑主机的USB总线,电脑主机接收数据后,就会

提示发现新硬件,并开始安装U盘的驱动程序。驱动程序安装完成之

后,接着用户就看见U盘存储器中的文件了。

当用户向U盘中存储数据文件时,主控芯片首先检测其写保护端

口的电平信号。若写保护端口为高电平信号,则主控芯片接着向闪存

芯片发送一个读写信号,接着闪存将数据存入其中。若写保护端口为

低电平信号,则主控芯片向闪存芯片发送一个写保护信号,闪存将拒

绝数据的存储。U盘在与主机交互时遵循一定的通信协议。

上面所说的U盘是通过描述符实现的,USB描述符主要包括:设备描

述符,配置描述符,接口描述符,端点描述符等。 当U盘插入主机

时,主机首先就会要求对方把它的设备描述符传回来,这些设备描述

符中就包含了设备类型及制造商信息。又如传输所采用的协议是由接

口描述符确定,而传输的方式则包含在端点描述符中。

USB设备分很多类:显示类,通信设备类,音频设备类,人机接口类,海

量存储类。特定类的设备又可分为若干子类,每一个设备可以有一个

或多个配置,配置用于定义设备的功能。配置是接口的集合,接口是

指设备中哪些硬件与USB交换信息。每个与USB交换信息的硬件是一

个端点。因些,接口是端点的集合。usb设备的结构从上到下依次为:

用户-->应用程序-->usb驱动程序-->usb core-->usb主控制器

-->usb设备-->接口(多个)-->端点(多个)

U盘属于海量存储类。USB海量存储设备又包括通用海量存储子

类,CDROM,Tape等,U盘实际上属于海量存储类中通用海量存储子类。

通用海量存储设备实现上是基于块/扇区存储的设备。

USB组织定义了海量存储设备类的规范,这个类规范包括4个独立的

子类规范。主要是指USB总线上的传输方法与存储介质的操作命令。

海量存储设备只支持一个接口,即数据接口,此接口有三个端点Bulk

input ,Bulk output,中断端点。这种设备的接口采用SCSI-2的直接

存取设备协议,USB设备上的介质使用与SCSI-2以相同的逻辑块方式

寻址。

对于Flash的读写:针对NAND Flash读写的特点再结合时序图(手

册上16页~30页都是关于操作的时序图),特别是其可随机读,但无法

随机写的问题,需要通过设置缓冲区来解决。在与USB Host进行数

据交换的过程中,最小的单位是扇区:512字节。由于NAND Flash在

写之前必须先擦除,而一擦又必须擦一个Block,因此在擦除某Block

之前必须保存同一个Block中有关扇区的数据。因此,如果每收到一

个扇区的内容就进行一次擦、保存、写的操作,系统任务将十分繁重,

无法及时响应USB Host端的请求。因此,在系统中设置32K的缓冲

区,每完成一次数据传输后,记下本次要写的开始扇区和总扇区数,

将本次要写的数据所涉及的扇区以外的数据从NAND Flash中读出来,

存放在缓冲区中对应位置,然后擦除一个Block,再将缓冲区中内容

一次全部重新写入NAND Flash。

三、电路中各个模块电路的解析:

1、滤波稳压供电电路模块

图1 图2

图中的磁珠是用于抑制信号线、电源线上的高频噪声和尖峰干扰,还

具有吸收静电脉冲的能力。

图3

该图的VCC是从主机的USB插座得来的,但是担心电压有一些干扰,

所以通过左边的滤波稳压得到真正的VCC(5V),同样从主控芯片

VCCIO输出的是3.3V电压经过稳压滤波得到稳定的VCC3.3。

另外图3的一个注意点便是当U盘插入主机时,主机便可检测出

USB-DP引脚是高电平,USB-DM低电平,这就表示有设备在USB

总线,进而执行接下去的动作-----读取U盘信息。

2、主控芯片电路模块

该芯片的连接是根据AU9380的技术手册连接的。这里不再赘述。这

里的21管脚是检测flash芯片是否处于忙状态。如果忙的话flash的

R/nB端是低电平,则21引脚是低电平,否则不检测的话是保持在高

电平状态下。

3、flash芯片模块:

这是根据前面说的连接的,注意flash的供电是依靠VCC2FM。对于

那些重要的引脚连接参看前面的主控芯片的引脚分配说明。

4、晶振电路和LED工作灯模块:

电路外加晶振12MHz,主控芯片内部有PLL,将其倍频,同时提供

给flash频率。

以上就是U盘原理图的各模块解析。

除了硬件外还得有软件,这里省略。

以下附录U盘完整原理图

本文标签: U盘芯片设备