基于单片机和CH375的U盘读写控制器设计.docx
- 文档编号:8586344
- 上传时间:2023-01-31
- 格式:DOCX
- 页数:34
- 大小:1.03MB
基于单片机和CH375的U盘读写控制器设计.docx
《基于单片机和CH375的U盘读写控制器设计.docx》由会员分享,可在线阅读,更多相关《基于单片机和CH375的U盘读写控制器设计.docx(34页珍藏版)》请在冰豆网上搜索。
基于单片机和CH375的U盘读写控制器设计
毕业设计(论文)
课题:
基于单片机和CH375的U盘读写控制器
专业(系)电气工程系
班级智能电子081班
学生姓名李小利
指导老师粟慧龙
完成日期2010-11-26
2011届毕业设计任务书
一、课题名称:
基于单片机和CH375的U盘读写控制器设计
二、指导教师:
粟慧龙
三、设计内容与要求
1、课题概述
随着计算机技术的快速发展,USB存储设备的使用已经非常的广泛,随着USB规汇范的完善和成熟,USB外设和的各类不断丰富,应用领域也不断扩大。
在传统的应用中,USB主要是PC扮演着主机的角色。
根据USB的规范,可以看到USB的拓朴结构中居核心地位的是主机,每一次数据传输必须由主机发起和控制。
但是随着单片机技术的发展,以及单片机应用领域的日益增长,USB外设的应用也随之扩大,为此在单片机系统中实现对USB外设控制也变得日益迫切。
尤其在一些需要转存数据的设备、仪器上提供能够使用USB移动储存设备的接口已经变得非常有必要。
本课题的研究目标是:
基于单片机和USB总线接口芯片CH375,设计一个可嵌入到相关设备上的U盘读写控制器,以实现对设备、仪器相关数据的存储。
2、本课题的主要研究内容如下:
1、基于单片机和CH375器件的系统电路的研究;
2、FAT16和FAT32文件系统的研究,以及文件系统的自动识别、切换;
3、U盘的插入和拔出检测;
4、文件的打开、读取、写入、创建、删除;
5、目录的创建和删除,支持多级目录;
6、长文件名、长目录名支持。
四、设计参考资料
参考文献:
1、CH375器件使用手册
2、FAT16和FAT32文件系统
3、《单片机高级教程》,何立民,北京航空航天大学出版社,2000年。
4、《单片机的C语言应用程序设计》,马忠梅,北京航空航天大学出版社,
5、《计算机控制系统》,清华大学出版社。
6、孙霞基本单片机的大容量数据存储技术的应用研究微计算机信息2006
7、张峰峰嵌入式U盘读写器接口技术和系统设计桂林电子科技大学2007
8、杨全玖基本CH375多通道USB接口与PC机通信的实现微计算机信息2007
摘要
介绍了一种USB总线的通用接口芯片CH375,并在此基础上提出了一种外部单片机读写U盘的基本方法及其硬件连接方法。
单片机只要在原硬件系统中增加1个CH375芯片就可以直接调用CH375提供的子程序库来直接读取U盘中的数据,从而实现了普通单片杌与U盘的通讯、方法简单、便于操作、综合成本比较低,具有较大的推广应用价值。
关键词:
U盘;CH375;接口芯片;单片机
Abstract
AgeneralpurposeinterfacechipCH375forUSBisintroducedinthispaper.BasedOnwhichanewmethodofUsingexternalsinglechipmicrocomputertoconnectwiththeflashdiskisgiven.OnlyaddoneCH375chiptothesinglechipmicrocomputershardwaresystem,theoperatorcanusetheprogramgivenbytheCH375toreadthedatafromtheflashdiskandrealizethecommunicationbetweenthesinglechipmicrocomputerandtheflashdisk.Thismethodisverysimpleandcanbeoperatedeasily.
Keywords:
USB;CH375;interfacechip;singlechipmicrocomputer
一、绪论
随着计算机技术的快速发展,USB(UniversalSerialBus)存储设备的使用已经非常普遍,USB用于将适用USB的外围设备(device)连接到主机(host),实现二者之间数据传输的外部总线结构;是一种快速、灵活的总线接口[5]。
它最大的特点是易于使用,主要是用在中速和低速的外设。
随着USB规范的完善和成熟,USB外设的种类不断丰富,应用领域也不断扩大。
在传统的应用中,主要是PC扮演着主机的角色。
根据USB的规范,可以看到在USB的拓朴结构中居于核心地位的是主机,每一次的数据传输都必须由主机发起和控制。
但是随着单片机产品应用领域的日益增长,USB外设的应用范围也随之扩大,为此在单片机系统中实现对USB外设控制也变得日益迫切。
因此在一些需要转存数据的设备,仪器上使用USB移动存储设备接口的芯片便相继产生了,CH375就是其中之一,它是一个USB总线的通用接口芯片,支持HOST主机方式和SLAVE设备方式[4].
如今的USB就象当日的R232,最终发展必是业界的主流外设接口技术。
USB有着其它接口不可替代的优势[12].
随着USB技术的发展,计算机的移动存储介质普遍采用U盘或移动硬盘。
如今,USB技术已经越来越普及和成熟,低成本、高稳定性、较高的数据传输速率和即插即用的方便性,使其备受硬件厂商的青睐。
随着数据采集和单片机用户对移动存储的需求越来越大,具有USB接口的存储设备以其优异的性价比和灵活性常用来进行数据的存储和交换,所以在单片机系统中实现对优盘或移动硬盘的直接读写是非常有价值的[6]。
介绍了一种USB总线的通用接口芯片CH375,并在此基础上提出了一种外部单片机读写U盘的基本方法及其硬件连接方法。
单片机只要在原硬件系统中增加1个CH375芯片就可以直接调用CH375提供的子程序库来直接读取U盘中的数据,从而实现了普通单片机与U盘的通讯、方法简单、便于操作、综合成本比较低,具有较大的推广应用价值。
二、总体方案设计与选择论证
2.1总体设计分析
2.2功能模块方案设计选择
2.2.1MCU的选择
单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。
AT89s51
AT89S51是一个低功耗,高性能CMOS8位单片机,片内含4kBytesISP(In-systemprogrammable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISPFlash存储单元,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案
STC12C5A60AD
STC12C5A60AD单片机是宏晶科技生产的单时钟/机器周期(1T)的单片机,是高速/低功耗/超强抗干扰的新一代8051单片机,指令代码完全兼容传统8051。
特点:
⏹加密性强,无法解密
⏹超强抗干扰:
⏹速度快,1个时钟/机器周期,可用低频晶振,大幅降低EMI
⏹---出口欧美的有力保证
⏹输入/输出口多,最多有44个I/O口,A/D做按键扫描还可以节省很多I/O
⏹超低功耗:
掉电模式可由外部中断唤醒,适用于电池供电系统,如水表、气表、便携设备等。
⏹在系统可编程,无需编程器,无需仿真器,可远程升级
⏹可送STC-ISP下载编程器,1万片/人/天
⏹内部集成MAX810专用复位电路,原复位电路可以保留,也可以不用,不用时RESET脚接1K电阻到地。
比较这两种我们选用STC12C5A60AD
2.2.2CH375工作方式方案选择
USB总线的通用接口芯片CH375具有8位数据总线和读、写、片选控制线以及中断输出,可以方便地挂接到单片机/DSP/MCU/MPU等控制器的系统总线上。
单片机只要在原硬件系统中增加1个CH375芯片就可以直接调用CH375提供的子程序库来直接读取U盘中的数据,从而实现了普通单片机与U盘的通讯。
CH375芯片可以工作于USB-HOST主机方式或者USB设备方式。
CH375的USB主机方式支持并行接口和串行接口,在USB主机方式下,CH375支持各种常用的USB全速设备,外部单片机需要编写固件程序按照相应的USB协议与USB设备通讯。
但是对于USB存储设备,CH375内置了相关协议,通常情况下,外部单片机不需要编写固件程序,就可以直接通讯。
并口方式
CH375的TXD引脚通过1KΩ左右的下拉电阻接地或者直接接地,从而使CH375工作于并口方式。
CH375芯片具有通用的被动并行接口,可以直接连接多种单片机、DSP、MCU等。
在普通的MCS-51系列单片机的典型应用电路中,CH375芯片可以通过8位被动并行接口的D7~D0、-RD、-WR、-CS、A0直接挂接到单片机U2的系统总线上。
串口方式
如果CH375芯片的TXD引脚悬空或者没有通过下拉电阻接地,那么CH375工作于串口方式。
在串口方式下,CH375只需要与单片机/DSP/MCU连接3个信号线,TXD引脚、RXD引脚以及INT#引脚,其它引脚都可以悬空。
除了连接线较少之外,其它外围电路与并口方式基本相同。
比较这两种我们选用CH375工作于主机方式下的并口方式
2.2.3电源选择
电源模块是单片机应用系统或数据采集系统中不可缺少的部分,也是保证系统稳定、安全工作的前提。
直流电源芯片按原理分为线性电源和开关稳压电源两种。
线性电源
通过改变调整元件控制信号的强弱来调节其等效电阻值.从而稳定输出电压.特点是纹波系数小.但效率低.一般适用于小功率的
开关稳压电源
通过改变开关管的导通时间,得到稳定的电压输出,特点是纹波系数大.电磁兼容性差、效率高、过载能力强,一般适用于太功率或要求效率高的场合。
比较这两种我选择线性电源。
2.3系统方框图
USB模块
三、硬件设计分析
硬件电路主要分为单片机最小系统、CH375接口电路、串口电平转换电路、按键控制模块、LED显示电路组成。
3.1STC12C5A60AD单片机最小系统电路
单片机最小系统由MCU、时钟电路、复位电路和电源模块组成。
MCU
时钟电路复位电路
电源模块
3.1.1STC12C5A60AD单片机简介
STC12C5A60S2/AD/PWM系列单片机是宏晶科技生产的单时钟/机器周期(1T)的单片机,是高速/低功耗/超强抗干扰的新一代8051单片机,指令代码完全兼容传统8051,但速度快8-12倍。
内部集成MAX810专用复位电路,2路PWM,8路高速10位A/D转换(250K/S),针对电机控制,强干扰场合。
STC12C5A60AD单片机
*增强型8051CPU,1T,单时钟/机器周期,指令代码完全兼容传统8051
*工作电压:
STC12C5A60S2系列工作电压:
5.5V-3.3V(5V单片机)
STC12LE5A60S2系列工作电压:
3.6V-2.2V(3V单片机)
*工作频率范围:
0-35MHz,相当于普通8051的0~420MHz
*用户应用程序空间8K/16K/20K/32K/40K/48K/52K/60K/62K字节......
*片上集成1280字节RAM
*通用I/O口(36/40/44个),复位后为:
准双向口/弱上拉(普通8051传统I/O口)
可设置成四种模式:
准双向口/弱上拉,推挽/强上拉,仅为输入/高阻,开漏
每个I/O口驱动能力均可达到20mA,但整个芯片最大不要超过55mA
*ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无需专用仿真器
可通过串口(P3.0/P3.1)直接下载用户程序,数秒即可完成一片
*有EEPROM功能(STC12C5A62S2/AD/PWM无内部EEPROM)
*看门狗
*内部集成MAX810专用复位电路(外部晶体12M以下时,复位脚可直接1K电阻到地)
*外部掉电检测电路:
在P4.6口有一个低压门槛比较器
5V单片机为1.32V,误差为+/-5%,3.3V单片机为1.30V,误差为+/-3%
*时钟源:
外部高精度晶体/时钟,内部R/C振荡器(温漂为+/-5%到+/-10%以内)
用户在下载用户程序时,可选择是使用内部R/C振荡器还是外部晶体/时钟
常温下内部R/C振荡器频率为:
5.0V单片机为:
11MHz~15.5MHz
3.3V单片机为:
8MHz~12MHz
精度要求不高时,可选择使用内部时钟,但因为有制造误差和温漂,以实际测试为准
*共4个16位定时器
两个与传统8051兼容的定时器/计数器,16位定时器T0和T1,没有定时器2,但有独立波特率发生器
做串行通讯的波特率发生器
再加上2路PCA模块可再实现2个16位定时器
*2个时钟输出口,可由T0的溢出在P3.4/T0输出时钟,可由T1的溢出在P3.5/T1输出时钟
*外部中断I/O口7路,传统的下降沿中断或低电平触发中断,并新增支持上升沿中断的PCA模块,
PowerDown模式可由外部中断唤醒,
INT0/P3.2,INT1/P3.3,P3.4/T0,P3.5/T1,P3.0/RxD,
CCP0/P1.3(也可通过寄存器设置到P4.2),CCP1/P1.4(也可通过寄存器设置到P4.3)
*PWM(2路)/PCA(可编程计数器阵列,2路)
---也可用来当2路D/A使用
---也可用来再实现2个定时器
---也可用来再实现2个外部中断(上升沿中断/下降沿中断均可分别或同时支持)
*A/D转换,10位精度ADC,共8路,转换速度可达250K/S(每秒钟25万次)
*通用全双工异步串行口(UART),由于STC12系列是高速的8051,可再用定时器或PCA软件实现多串口
*STC12C5A60S2系列有双串口,后缀有S2标志的才有双串口,RxD2/P1.2(可通过寄存器设置到P4.2),
TxD2/P1.3(可通过寄存器设置到P4.3)
*工作温度范围:
-40-+85℃(工业级)/0-75℃(商业级)
*封装:
PDIP-40,LQFP-44,LQFP-48
I/O口不够时,可用2到3根普通I/O口线外接74HC164/165/595(均可级联)来扩展I/O口,还可用A/D做按键扫描来节省I/O口,或用双CPU,三线通信,还多了串口。
3.1.2STC12C5A60AD系列主要性能:
●高速:
1个时钟/机器周期,增强型8051内核,速度比普通8051快8~12倍
●宽电压:
5.5~3.3V,2.2~3.6V(STC12LE5A60S2系列)
●低功耗设计:
空闲模式,掉电模式(可由外部中断唤醒)
●工作频率:
0~35MHz,相当于普通8051:
0~420MHz
●时钟:
外部晶体或内部RC振荡器可选,在ISP下载编程用户程序时设置
●8/16/20/32/40/48/52/56/60/62K字节片内Flash程序存储器,擦写次数10万次以上
●1280字节片内RAM数据存储器
●芯片内EEPROM功能,擦写次数10万次以上
●ISP/IAP,在系统可编程/在应用可编程,无需编程器/仿真器
●8通道,10位高速ADC,速度可达250K/S,2路PWM还可当2路D/A使用
●2通道捕获/比较单元(PWM/PCA/CCP),
---也可用来再实现2个定时器或2个外部中断(支持上升沿/下降沿中断)
●4个16位定时器,兼容普通8051的定时器T0/T1,2路PCA实现2个定时器
●可编程时钟输出功能,T0在P3.4输出时钟,T1在P3.5输出时钟,BRT在P1.0输出时钟
●硬件看门狗(WDT)
●全双工异步串行口(UART),兼容普通8051的串口
●先进的指令集结构,兼容普通8051指令集
有硬件乘法/除法指令
●通用I/O口(36/40/44个),复位后为:
准双向口/弱上拉(普通8051传统I/O)
可设置成四种模式:
准双向口/弱上拉,推挽/强上拉,仅为输入/高阻,开漏
每个I/O口驱动能力均可达到20mA,但整个芯片最大不得超过55mA
RST:
复位脚1K电阻接地即可
EX_LVD:
是外部低压检测比较器
不用的I/O口:
浮空即可
使用LQFP48封装时,最多有44个I/O口
使用LQFP44封装时,最多有40个I/O口
使用PDIP40封装时,最多有36个I/O口
3.1.37805三端正电源稳压电路
7805是三端正电源稳压电路,它的封装形式为T0-220。
它有一系列固定的电压输出,应用非常的广泛。
每种由于内部电流的限制,以及过热保护和安全工作区的保护,使用起来可靠、方便,而且价格便宜。
如果能够提供足够的散热片,它们就能够提供大于1.5A的输出电流。
虽然是按照固定值来设计的,但是当接入适当的外部器件后,就能够获得各种不同的电压和电流。
78XX系列集成稳压IC型号中的78后面的数字代表该三端集成稳压电路的输出电压,如7805表示输出电压为正5V。
特点:
●最大输出电流为1.5A
●输出电压为5V
●热过载保护
●短路保护
●输出晶体管安全工作区保护输出晶体管安全工作区保护
3.2CH375接口电路
这是CH375与单片机的连接电路。
CH375的TXD引脚通过10K的下拉电阻R43接地,从而使CH375工作于并口方式。
USB总线包括一对5V电源线和一对数据信号线,通常,+5V电源线是红色,接地线是黑色,D+信号线是绿色,D-信号线是白色。
USB插座P1可以直接连接USB设备,也可以在提供给USB设备的+5V电源线上串接具有限流作用的电阻R2、R3,USB电源电压必须是5V。
电容C2用于外部电源退耦,C2是容量为0.1μF的独石或高频瓷片电容。
电容C3用于CH375内部电源节点退耦,C3是容量为0.01μF的独石或高频瓷片电容,如果对EMI没有要求那么可以省掉C3。
晶体XTAL1、电容C6和C7用于CH375的时钟振荡电路。
USB-HOST主机方式要求时钟频率比较准确,XTAL1的频率是12MHz±0.4‰,C6和C7是容量约为15pF的独石或高频瓷片电容。
如果电源上电过程较慢并且电源断电后放电时间较长,那么CH375将不能可靠复位。
可以在RSTI引脚与VCC之间跨接一个容量为0.47μF的电容C5,同时可以减少干扰。
3.2.1USB总线的通用接口芯片CH375资料简介
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盘)
特点
●全速USB-HOST主机接口,兼容USBV2.0,外围元器件只需要晶体和电容。
●全速设备接口,完全兼容CH372芯片,支持动态切换主机与设备方式。
●主机端点输入和输出缓冲区各64字节,支持常用的12Mbps全速USB设备。
●支持USB设备的控制传输、批量传输、中断传输。
●自动检测USB设备的连接和断开,提供设备连接和断开的事件通知。
●内置控制传输的协议处理器,简化常用的控制传输。
●内置固件处理海量存储设备的专用通讯协议,支持Bulk-Only传输协议和SCSI、UFI、RBC或等效命令集的USB存储设备(包括USB硬盘/USB闪存盘/U盘)。
●通过U盘文件级子程序库实现单片机读写USB存储设备中的文件。
●并行接口包含8位数据总线,4线控制:
读选通、写选通、片选输入、中断输出。
●串行接口包含串行输入、串行输出、中断输出,支持通讯波特率动态调整。
●支持5V电源电压和3.3V电源电压,CH375A芯片还支持低功耗模式。
●采用SOP-28封装,可以提供SOP28到DIP28的转换板。
封装及引脚说明
3.2.3功能说明
3.2.3.1一般说明
CH375芯片可以工作于USB-HOST主机方式或者USB设备方式。
CH375的USB主机方式支持并行接口和串行接口。
在USB主机方式下,CH375支持各种常用的USB全速设备,外部单片机需要编写固件程序按照相应的USB协议与USB设备通讯。
但是对于USB存储设备,CH375内置了相关协议,通常情况下,外部单片机不需要编写固件程序,就可以直接通讯。
3.2.3.2本地端的硬件
CH375芯片在本地端提供了通用的被动并行接口和点对点的串行接口。
并行接口
并口信号线包括:
8位双向数据总线D7~D0、读选通输入引脚RD#、写选通输入引脚WR#、片选输入引脚CS#、中断输出引脚INT#以及地址输入引脚A0。
通过被动并行接口,CH375芯片可以很方便地挂接到各种8位单片机、DSP、MCU的系统总线上,并且可以与多个外围器件共存。
CH375芯片的RD#和WR#可以分别连接到单片机的读选通输出引脚和写选通输出引脚。
CS#由地址译码电路驱动,用于当单片机具有多个外围器件时进行设备选择。
INT#输出的中断请求是低电平有效,可以连接到单片机的中断输入引脚或者普通I/O引脚,单片机可以使用中断方式或者查询方式获知中断请求。
当WR#为高电平并且CS#和RD#及A0都为低电平时,CH375中的数据通过D7~D0输出;当RD#为高电平并且CS#和WR#及A0都为低电平时,D7~D0上的数据被写入CH375芯片中;当RD#为高电平并且CS#和WR#都为低电平而A0为高电平时,D7~D0上的数据被作为命令码写入CH375芯片中。
串行接口
串行接口只能用于USB主机方式
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 CH375 读写 控制器 设计
![提示](https://static.bdocx.com/images/bang_tan.gif)