您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 咨询培训 > (经典)基于单片机的U盘读写
基于单片机的U盘数据传输装置机电工程学院测控技术与仪器专业李朋飞摘要:随着单片机技术的发展,各种嵌入式系统的逐渐应用于工作现场的数据采集和控制之中。USB总线技术的发展,使得数据传输和采集技术,变得简单,易携和方便使用。基于USB总线技术的USB储存设备简称U盘,它具有支持热拔热插,储存量大,耐用,和轻巧方便的特点。基于单片机技术的U盘数据采集是把单片机系统作为主机系统,再利用支持USB总线协议的U盘读写芯片或者模块来完成工业现场的数据采集或者传输。这样,便可以把U盘的大容量存储,方便易用的功能从PC机系统扩展到单片机系统中,可以方便在室外进行大量数据的采集。例如,可以将单片机系统中AD转换后采集到的数据,储存到U盘之中,以便于利用计算机对数据经行整理或分析。本文主要介绍一种技术成熟U盘读写芯片CH375和以此芯片为核心的U盘读写模块,简单介绍了CH375芯片的构造和特点,以及U盘模块的应用特点。再次,介绍了串口版U盘模块的应用,并设计了串口模块和单片机之间的通信的应用方式,并附有模块和单片机之间采用RS232电平进行通信的连接电路图。同时,还简单的介绍了,U盘读写之中需要注意的几个协议等。最后附录中的程序提供了一个能够实现单片机以字节的方式对U盘的读和写的程序。关键词:单片机U盘USB2.0U盘模块串口通信RS232接口CH375电平一,引言半导体技术的发展带来计算机向微型化发展的革命,同时随着计算机技术的快速发展,USB(UniversalSerialBus)存储设备的使用已经非常普遍,USB用于将适用USB的外围设备(device)连接到主机(host),实现二者之间数据传输的外部总线结构;是一种快速、灵活的总线接口。它最大的特点是易于使用,携带方便,主要是用在中速,低速的外设。随着USB规范的完善和成熟,USB外设的种类不断丰富,应用领域也不断扩大。在传统的应用中,主要是PC扮演着主机的角色。根据USB的规范,可以看到在USB的拓朴结构中居于核心地位的是主机,每一次的数据传输都必须由主机发起和控制。但是随着单片机产品应用领域的日益增长,USB外设的应用范围也随之扩大,为此在单片机系统中实现对USB外设控制也变得日益迫切。因此在一些需要转存数据的设备,仪器上使用USB移动存储设备接口的芯片便相继产生了,CH375就是其中之一,它是一个USB总线的通用接口芯片,支持HOST主机方式和SLAVE设备方式。如今的USB就象当日的RS232,最终发展必是业界的主流外设接口技术。USB有着其它接口不可替代的优势。随着USB技术的发展,计算机的移动存储介质普遍采用U盘或移动硬盘。如今,USB技术已经越来越普及和成熟,低成本、高稳定性、较高的数据传输速率和即插即用的方便性,使其备受硬件厂商的青睐。随着数据采集和单片机用户对移动存储的需求越来越大,具有USB接口的存储设备以其优异的性价比和灵活性常用来进行数据的存储和交换,所以在单片机系统中实现对优盘或移动硬盘的直接读写是非常有价值的。二,研究的意义USB是近年发展起来的一种快速、灵活的总线接口。它最大的特点是易于使用、可热插拔、接口连接灵活,并且能够提供外设电源,在嵌人式系统及智能仪表中得到广泛的应用。而51系列单片机以其优越的性能、成熟的技术、高性价比被广应用于测控仪器等自动化领域。因此用51系列单片机实现USB主机接口,进而实现对USB外设的控制,对提高整个系统的数据存储、数据传输、设备控制等性能都有很大的作用。根据我们的调查和了解,我们发现,随着FlashMemory非易失存储技术的发展,基于USB接口的闪存即U盘现已得到广泛应用。从理论上讲,以U盘作为便携式采集存储系统的存储载体完全能够满足长时间采集海量数据的要求。但目前所面临的问题是,U盘主要应用于PC机系统中。以单片机等微处理器为核心的嵌入式系统的应用中,尚缺少与U盘的直接接口技术。因此将单片机技术与U盘存储技术两者结合起来,利用单片机直接读写U盘,并通过总线方式与嵌入式系统的其它部分实现命令和数据的通信。采用单片机直接控制读写U盘,关键在于USB-HOST技术的实现,即单片机作为USB主机系统。USB系统包括两部分:USB主机和USB外设,它们组合在一起就构成了完整的USB系统。USB的拓扑结构中居于核心地位的是Host(也称为主机),任何一次USB的数据传输都必须由主机来发起和控制,所有的USB外设都只能和主机建立连接,任何两个外设之间或是两个主机之间无法直接通信。鉴于复杂的USB协议,我们觉得可以采用USB读写模块,这样只要将USB读写模块嵌入到用户单片机系统中,就可以通过单片机的串口与USB读写模块之间的通信,进而读写U盘里面的数据,还可以方便的利用U盘储存海量的AD转换后的数据等。三,USB总线接口芯片CH3753.1概述:CH375是一个USB总线的通用接口芯片,支持USB-HOST主机方式和USB-DEVICE/SLAVE设备方式。在本地端,CH375具有8位数据总线和读、写、片选控制线以及中断输出,可以方便地挂接到单片机/DSP/MCU/MPU等控制器的系统总线上。在USB主机方式下,CH375还提供了串行通讯方式,通过串行输入、串行输出和中断输出与单片机/DSP/MCU/MPU等相连接。CH375的USB主机方式支持常用的USB全速设备,外部单片机可以通过CH375按照相应的USB协议与USB设备通讯。CH375还内置了处理Mass-Storage海量存储设备的专用通讯协议的固件,外部单片机可以直接以扇区为基本单位读写常用的USB存储设备(包括USB硬盘/USB闪存盘/U盘)3.2特点1)全速USB-HOST主机接口,兼容USBV2.0,外围元器件只需要晶体和电容。2)全速设备接口,完全兼容CH372芯片,支持动态切换主机与设备方式。3)主机端点输入和输出缓冲区各64字节,支持常用的12Mbps全速USB设备。4)支持USB设备的控制传输、批量传输、中断传输。5)自动检测USB设备的连接和断开,提供设备连接和断开的事件通知。6)内置控制传输的协议处理器,简化常用的控制传输。7)内置固件处理海量存储设备的专用通讯协议,支持Bulk-Only传输协议和SCSI、UFI、RBC或等效命令集的USB存储设备(包括USB硬盘/USB闪存盘/U盘)。8)通过U盘文件级子程序库实现单片机读写USB存储设备中的文件。9)并行接口包含8位数据总线,4线控制:读选通、写选通、片选输入、中断输出。10)串行接口包含串行输入、串行输出、中断输出,支持通讯波特率动态调整。11)支持5V电源电压和3.3V电源电压,CH375A芯片还支持低功耗模式。12)采用SOP-28封装,可以提供SOP28到DIP28的转换板。图1CH375各引脚说明3.3功能说明CH375芯片可以工作于USB-HOST主机方式或者USB设备方式。CH375的USB主机方式支持并行接口和串行接口。在USB主机方式下,CH375支持各种常用的USB全速设备,外部单片机需要编写固件程序按照相应的USB协议与USB设备通讯。但是对于USB存储设备,CH375内置了相关协议,通常情况下,外部单片机不需要编写固件程序,就可以直接通讯。CH375芯片在本地端提供了通用的被动并行接口和点对点的串行接口。图2CH375芯片的电器参数3.4CH375工作于串口模式下串行接口只能用于USB主机方式,CH375芯片的USB设备方式不支持串口。串口信号线包括:串行数据输入引脚RXD、串行数据输出引脚TXD、中断输出引脚INT#。通过串行接口,CH375可以用最少的连线与单片机、DSP、MCU进行较远距离的点对点连接。CH375芯片的RXD和TXD可以分别连接到单片机的串行数据输出引脚和串行数据输入引脚。INT#输出的中断请求是低电平有效,用于通知单片机。CH375的串行数据格式是1个起始位、9个数据位、1个停止位,其中前8个数据位是一个字节数据,最后1个数据位是命令标志位。第9位为0时,前8位的数据被写入CH375芯片中,第9位为1时,前8位被作为命令码写入CH375芯片中。CH375的串行通讯波特率默认是9600bps,单片机可以随时通过SET_BAUDRATE命令选择合适的通讯波特率。3.5其它功能简介在CH375芯片的复位期间,TXD引脚用于选择通讯接口。如果CH375在复位期间检测到TXD引脚为低电平则启用并行接口,否则启用串行接口。如果启用串行接口,那么复位完成后TXD引脚将用于串行数据输出,并且CH375芯片只能工作于USB主机方式。CH375芯片的ACT#引脚用于状态指示。在内置固件的USB设备方式下,当USB设备尚未配置或者取消配置后,该引脚输出高电平;当USB设备配置完成后,该引脚输出低电平。对于CH375A芯片,在USB主机方式下,当USB设备断开后,该引脚输出高电平;当USB设备连接后,该引脚输出低电平。CH375的ACT#引脚可以外接串了限流电阻的发光二级管LED,用于指示相关的状态。CH375芯片的UD+和UD-引脚是USB信号线,工作于USB设备方式时,应该直接连接到USB总线上;工作于USB主机方式时,可以直接连接到USB设备。如果为了芯片安全而串接保险电阻或者电感,那么交直流等效串联电阻应该在5Ω之内。CH375芯片内置了电源上电复位电路,一般情况下,不需要外部提供复位。RSTI引脚用于从外部输入异步复位信号;当RSTI引脚为高电平时,CH375芯片被复位;当RSTI引脚恢复为低电平后,CH375会继续延时复位20mS左右,然后进入正常工作状态。为了在电源上电期间可靠复位并且减少外部干扰,可以在RSTI引脚与VCC之间跨接一个容量为0.47uF左右的电容。RST引脚和RST#引脚是复位状态输出引脚,分别是高电平有效和低电平有效;当CH375电源上电复位或者被外部强制复位以及复位延时期间,RST引脚和RST#引脚分别输出高电平和低电平;CH375复位完成后,RST引脚和RST#引脚分别恢复到低电平和高电平。RST和RST#引脚可以用于向外部单片机提供上电复位信号。CH375芯片正常工作时需要外部为其提供12MHz的时钟信号。一般情况下,时钟信号由CH375内置的反相器通过晶体稳频振荡产生。外围电路只需要在XI和XO引脚之间连接一个标称频率为12MHz的晶体,并且分别为XI和XO引脚对地连接一个高频振荡电容。如果从外部直接输入12MHz时钟信号,那么应该从XI引脚输入,而XO引脚悬空。CH375芯片支持5V电源电压或者3.3V电源电压。当使用5V工作电压时,CH375芯片的VCC引脚输入外部5V电源,并且V3引脚应该外接容量为0.01uF左右的电源退耦电容。当使用3.3V工作电压时,CH375芯片的V3引脚应该与VCC引脚相连接,同时输入外部的3.3V电源,并且与CH375芯片相连接的其它电路的工作电压不能超过3.3V。3.6内部结构CH375芯片内部集成了PLL倍频器、主从USB接口SIE、数据缓冲区、被动并行接口、异步串行接口、命令解释器、控制传输的协议处理器、通用的固件程序等。PLL倍频器用于将外部输入的12MHz时钟倍频到48MHz,作为USB接口SIE时钟。主从USB接口SIE是USB主机方式和USB设备方式的一体式SIE,用于完成物理的USB数据接收和发送,自动处理位跟踪和同步、NRZI编码和解码、位填充、并行数据与串行数据之间的转换、CRC数据校验、事务握手、出错重试、USB总线状态检测等。数据缓冲区用于缓冲USB接口SIE收发的数据。被动并行接口用于与外部单片机/DSP/MCU交换数据。异步串行接口用于代替被动并行接口与外部单片机/DSP/MCU交换数据。命令解释器用于分析并执行外部单片机/DSP/MCU提交的各种命令。控制传输的协议处理器用于自动处理常用的控制传输的多个阶段,简化外部固件编程。通用的固件程序包含两组:一组用于USB设备方式,自动处理USB默认端点0的各种标准事务等;另一组用于USB主机方式,自动处理Mass
本文标题:(经典)基于单片机的U盘读写
链接地址:https://www.777doc.com/doc-4980016 .html