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