为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

基于单片机和CH375的U盘读写控制器设计

2017-09-25 34页 doc 419KB 48阅读

用户头像

is_562397

暂无简介

举报
基于单片机和CH375的U盘读写控制器设计基于单片机和CH375的U盘读写控制器设计 毕业设计论文 基于单片机和CH375的U盘读写控制器设计 摘要 随着计算机技术的快速发展,USB存储设备的使用已经非常的广泛,随着USB规汇范的完善和成熟,USB外设和的各类不断丰富,应用领域也不断扩大。在传统的应用中,USB主要是PC扮演着主机的角色。根据USB的规范,可以看到USB的拓朴结构中居核心地位的是主机,每一次数据传输必须由主机发起和控制。但是随着单片机技术的发展,以及单片机应用领域的日益增长,USB外设的应用也随之扩大,为此在单片机系统中实现对USB外设控制也变得...
基于单片机和CH375的U盘读写控制器设计
基于单片机和CH375的U盘读写控制器 毕业设计 基于单片机和CH375的U盘读写控制器设计 摘要 随着计算机技术的快速发展,USB存储设备的使用已经非常的广泛,随着USB规汇范的完善和成熟,USB外设和的各类不断丰富,应用领域也不断扩大。在传统的应用中,USB主要是PC扮演着主机的角色。根据USB的,可以看到USB的拓朴结构中居核心地位的是主机,每一次数据传输必须由主机发起和控制。但是随着单片机技术的发展,以及单片机应用领域的日益增长,USB外设的应用也随之扩大,为此在单片机系统中实现对USB外设控制也变得日益迫切。尤其在一些需要转存数据的设备、仪器上提供能够使用USB移动储存设备的接口已经变得非常有必要。本课题的研究目标是:基于单片机和USB总线接口芯片CH375,设计一个可嵌入到相关设备、仪器上的U盘读写控制器,以实现对设备、仪器相关数据的存储。 关键词: USB存储设备 单片机 1 毕业设计论文 基于单片机和CH375的U盘读写控制器设计 abstract Along with the rapid development of computer technology, USB storage devices use has very wide, with USB compasses remit fan of perfect and mature, USB peripherals and all kinds of unceasingly rich, and the application fields also expands unceasingly. In the traditional applications, USB mainly PC plays host role. According to the USB norm, can see USB topology structure in the habitat core position is host, and each time the data transmission must by host to initiate and control. But as the microcontroller technology development, and MCU application field of growing, USB peripherals application has been magnified, therefore in the SCM system realizes to USB peripherals control also become increasingly urgent. Especially in some need archived data of equipment and instrument provides can use USB mobile storage device interface has become very be necessary. This topic research objectives are: based on SCM and USB interface chip CH375, design a embedded in related equipment, instruments on U dish of literacy controller, in order to equipment, instruments related data of storage. 2 毕业设计论文 基于单片机和CH375的U盘读写控制器设计 目 录 第一章 前言 ………………………………………………………………………5 第二章 系统#设计#与论证 2(1 设计要求 ……………………………………………………………………6 2(2 系统设计总体方案…………………………………………………………6 第三章 系统的硬件设计与实现 3(1 主要单元模块电路设计……………………………………………………9 3(2 USB协议……………………………………………………………………11 3(3 BULK_ONLY和UFI协议……………………………………………………11 3(4 FAT32………………………………………………………………………13 第四章 STC12C5A60AD和CH375芯片 4(1 STC12C5A60AD ……………………………………………………………14 4(2 USB总线控制芯片CH375…………………………………………………15 第五章 系统的软件设计 5(1 通信部分序流程图 ………………………………………………………24 5(2 相关程序块 ………………………………………………………………24 第六章 总结与致谢 ……………………………………………………………28 附录1: 主要元器件清单 ………………………………………………………30 附录2: 电路原理图 ……………………………………………………………31 附录3: 印制电路板图 …………………………………………………………32 附录4: 参考文献 ………………………………………………………………33 3 毕业设计论文 基于单片机和CH375的U盘读写控制器设计 第一章 前言 随着计算机技术的快速发展,USB(Universal Serial Bus)存储设备的使用已经非常普遍,USB用于将适用USB的外围设备(device)连接到主机(host), [5]实现二者之间数据传输的外部总线结构;是一种快速、灵活的总线接口。它最大的特点是易于使用,主要是用在中速和低速的外设。随着USB规范的完善和成熟,USB外设的种类不断丰富,应用领域也不断扩大。在传统的应用中,主要是PC扮演着主机的角色。根据USB的规范,可以看到在USB的拓朴结构中居于核心地位的是主机,每一次的数据传输都必须由主机发起和控制。但是随着单片机产品应用领域的日益增长,USB外设的应用范围也随之扩大,为此在单片机系统中实现对USB外设控制也变得日益迫切。因此在一些需要转存数据的设备,仪器上使用USB移动存储设备接口的芯片便相继产生了,CH375就是其中之一,它是 [4]一个USB总线的通用接口芯片,支持HOST主机方式和SLAVE设备方式. 如今的USB就像当日的R232,最终发展必是业界的主流外设接口技术。USB [12]有着其它接口不可替代的优势. 随着USB技术的发展,计算机的移动存储介质普遍采用U盘或移动硬盘。 如今,USB技术已经越来越普及和成熟,低成本、高稳定性、较高的数据传输速率和即插即用的方便性,使其备受硬件厂商的青睐。随着数据采集和单片机用户对移动存储的需求越来越大,具有USB接口的存储设备以其优异的性价比和灵活性常用来进行数据的存储和交换,所以在单片机系统中实现对U盘或移动硬 [6]盘的直接读写是非常有价值的。 介绍了一种USB总线的通用接口芯片CH375,并在此基础上提出了一种外部单片机读写U盘的基本方法及其硬件连接方法。单片机只要在原硬件系统中增加1个CH375芯片就可以直接调用CH375提供的子程序库来直接读取U盘中的数据,从而实现了普通单片机与U盘的通讯、方法简单、便于操作、综合成本比较低, [10]具有较大的推广应用价值。 第二章 系统设计方案与论证 4 毕业设计论文 基于单片机和CH375的U盘读写控制器设计 2(, 设计要求 基于单片机和USB总线接口芯片CH375,设计一个可嵌入到相关设备、仪器上的U盘读写控制器,以实现对设备、仪器相关数据的存储。能对U盘进行识别、检测,创建文件夹、删除文件夹、打开文件夹、读取文件夹、在文件夹里写入、删除东西、关闭文件夹等一系列对U盘的操作。 2(2系统设计总体方案 根据设计题目的要求,实现的功能,我们的设计系统方案思路如下: 采用单片机作为控制核心(单片机算术运算能力功能强,软件编程灵活,自由度大,可用软件编程的方法实现各种算法和逻辑控制,并且由于其功耗低,体积小,技术成熟和成本低等特点,使其在各个领域应用广泛(根据本系统的设计要求,选用一片即可胜任(为能进行较快的数据交换通过芯片CH375实现(故本设计选用本方案(总体方框图如下: 系统原理方框图 此课题设计中用单片机控制USB总线接口芯片ch375,键盘用于操作控制,并在显示模块中把内容显示出来。 在选用单片机时我们有两中选择:1)直接用我们现有的资源即MCS-5l单片机。我们教学中一直用到的单片机就是AT89S51,但是由于此单片机的内存太小,要完成此课题我们必须扩展它的内存; 2)用另外一种内存较大,结构与51单片机差不多的STC12C5A60AD。但是这种单片机不是我们所熟悉的,而且我们必须购买原器件重新制版并熟悉它。 经比较,我们还是决定用STC12C5A60AD单片机来完成此课题。 5 毕业设计论文 基于单片机和CH375的U盘读写控制器设计 2.2.1 硬件结构: CH375工作于并口方式,与普通的STC12C5A60AD单片机的连接如图所示。CH375的TXD引脚通过l kΩ左右的下拉电阻接地或者直接接地,从而使CH375工作于并口方式。 图1 MCS-51单片机读写U盘的电路原理图 MCS-51单片机读写U盘的电路原理图,CH375芯片的TXD引脚接高电平,工作于串口方式。在串口方式下,CH375只需要与单片机/DSP/MCU连接3个信号线,TXD引脚、RXD引脚以及INT#引脚,其他引脚都可以悬空。除了连接线较少之外,其他外围电路与并口方式基本相同。由于INT#引脚和TXD 引脚在CH375复位期间只能提供微弱的高电平输出电流,在进行较远距离的连接时,为了避免INT#或者TXD在CH375复位期间受到干扰而导致单片机误操作,可以在INT#引脚或者TXD引脚上加阻值为1,5kΩ的上拉电阻,以维持较稳定的高电平。在CH375芯片复位完成后,INT#引脚和TXD引脚将能够提供5mA的高电平输出电流或者5mA的低电平吸入电流。 2.2.2 软件设计 6 毕业设计论文 基于单片机和CH375的U盘读写控制器设计 软件设计流程图 进入USB主机模式,要读/写U盘,必须先设置CH375使其工作于USB主机方式。?将U盘当作存储器进行读,写,方法与读,写闪存差不多,操作简单且速度快。单片机读,写U盘文件程序分层如图所示。 单片机读,写U盘文件程序分层图 第三章 系统的硬件设计与实现 3.1 主要单元模块电路设计 a)接口模块 7 毕业设计论文 基于单片机和CH375的U盘读写控制器设计 用数码管显示我们的操作内容,但是在做STC12C5A60AD单片机时发原本打算 现只有P2口能接一个数码管。为了更好的显示出来我们对U盘的读写操作,我们决定用这个接口模块来把要显示的内容和电脑的显示屏连接起来。 芯片MAX232是用标准RS232电平与TTL电平的转换,即标准 rs232 电平很高,达正负15V;而常用的TTL电平最高5V。通常我们用的单片机是TTL电平(正负5V),用上 max232 后才能和电脑串口连接。 b)CH375模块 此电路是由USB总线的通用接口芯片ch375为核心的支持USB设备的控制传输、批量传输、中断传输的电路。单片机STC12C5A60AD通过CH375通过相关USB协议可以很方便的和其他USB设备进行连接。在此课题中,通过这个电路,我们的U盘能够和单片机进行较快的数据传输。 c)单片机相关模块 8 毕业设计论文 基于单片机和CH375的U盘读写控制器设计 这是单片机STC12C5A60AD的相关电路,此单片机的结构和AT89S51系列的单片机大致相同,只是其RAM较大。 d)其他电路 按键电路 稳压电路 此电路是一个按键控制电路, 此电路为稳压电路,能为电路输出 起硬件是属于单片机上的一部分。 稳定的5V电压。7805是一种固定式的三 我们就是通过此按键电路来操作U 端集成稳压器。 盘的。 3.2 USB协议 在USB的网络协议中每个USB的系统有且只有一个host它负责管理整个 USB系统 包括 USB Device的连接与删除Host与 USB Device的通信 总路线的控制等等 Host端有一个Root Hub可提供一个或多个 USB下行端口 每个端口可 9 毕业设计论文 基于单片机和CH375的U盘读写控制器设计 以连接一个 USB Hub或一个USB Device USB Hub 是用于 USB端口扩展的 即 USB Hub 可以将一个USB端口扩展为多个端口 图 1 中的每个Func(Function)就是一个USB Device如 USB键盘 USB鼠标USB MODEM USB硬盘等等 Compound Device是指带一个Hub和一个或多个不可删除的USB Device的复合设备一个US系统可连接多达 127个Function。 USB的系统有且只有一个host而PC端的USB都是Host所以将两台PC的 USB口通过A-A USB电缆连接起来 是不能实现通信 如果将两个host连起来通信 这样一来的一个USB的系统有了两个的host与它的网络协议冲突 Anchorchip Prolific 等厂家有USB到USB的设备控制器可以实现两个USB Host的相连USB 设备。 USB的设备可以接在PC上的任意的USB接口上而使用Hub还可以扩展使更多的USB设备连接到系统中USB的Hub有一个上行的端口(到 host)有多个的下行端口(连接其它的设备)从而可以使整个的系统可以扩展的连接 127 个外设 其中 Hub 也算外设。对于USB系统来说USB的host永远在PC边所有的其他连接到 host 都称为设备。 在设备与设备之间是无法实现直线通信的只有通过hos的管理与调节才能够实现数据的互相传送在系统中通常会有一个根Hub这个Hub一般有两个下行的端口。 3.3 BULK_ONLY和UFI协议 USB设备分为5大类,即显示器、通信设备、音频设备、人机输入和海量存储。通常所用的U盘、移动硬盘均属于海量存储类。海量存储类的规范中包括4个独立的子规范,即CBI传输、Bulk-Only传输、ATA命令块、UFI命令规范。前两个协议定义了数据/命令/状态在USB总线上的传输方法,Bulk-Only传输协议仅仅使用Bulk端点传送数据/命令/状态。 CBI传输协议则使用Control/bulk/interrupt三种类型的端点进行数据/命令/状态的传送。后两个协议定义了存储介质的操作命令,ATA协议用于硬盘,UFI协议则针对USB移动存储,U盘读写器的设计遵循Bulk-Only传输协议和UFI命令规范。UFI命令块规范是针对USB移动存储而制定的,它总共定义了19个12字节长度的操作命令。 10 毕业设计论文 基于单片机和CH375的U盘读写控制器设计 Bulk-Only事务以主机向设备发送CBW(Command Block Warp)包,并以建立相应的数据传输开始的,设备接收到CBW包,检查并解释它,试图满足主机的要求,并通过CSW(Command State Wrap)包向主机返回状态信息。 CBW是主机通过Bulk-Out端点向设备发送的命令块包,在CBW中使用方向位和数据传输长度域指明期待的传输,CBW必须起始于包边界,并且必须以31字节的短包传输结束,相继的数据包和CSW包必须开始于一个新的包边界,所有的CBW包必须按低字节在前的次序传输。 CBW包结构如图16所示: CSW向主机表明来自于CBW包的命令块的执行状态。设备收到CBW包解析处理后将通过Bulk-In端点发送一个CSW包。 CSW开始于包边界,并以13字节的短包结束: 1)命令状态包标识。CSW包的标记表明这是一个CSW包,域值为53425355H。 2)命令状态标记。次域的值域CBW包的命令块标记相同。 3)数据残余。实际数据传输量与CBW包中规定的数据传输长度的差值。 4)命令执行状态,表明命令成功或失败信息,如果命令执行成功,则设备将设置此域的值为0,非0值;则表明失败或错误。 UFI是针对USB移动存储而制定的命令块协议,它规定了主机和设备进行信息交换所使用的命令块、数据和状态信息,Bulk-Only传输协议定义了传输这些信息的方法,其中UFI命令块是封装在CBW包中的CBWCB,设备通过读取CBWCB确定具体要执行何种操作命令(如读命令),如何完成这个命令(如从闪存的哪个地址读,需要读取的长度),设备将命令的执行状态封装成CSW返回给主机。 UFI用于大多数命令的12字节命令块的描述,其中各参数意义如下: 1)操作命令代码。指明所需要执行的操作命令; 2)逻辑单元号。指明命令将发送到哪个逻辑单元。 3)逻辑块地址。命令操作的起始地址。 11 毕业设计论文 基于单片机和CH375的U盘读写控制器设计 4)传输长度,指明请求传输的数据量,通常以"扇区"作单位,但是有几个命令是以"字节"作单位的,对于这些命令,传输长度域可以以不同的名字标识。 5)参数列表长度,用于指定发送到设备的字节数,这个域典型的应用于发送到设备的参数命令块,若此域的值为0,则表面没有数据需要传输。 6)分配长度,指明主机已经分配的用于返回数据的最大字节长度,若此值为0,则表明没有数据需要传输。 3.4 FAT32 FAT是Microsoft较早推出的文件系统,具有高度的兼容性,目前仍然广泛应用于个人电脑尤其是移动存储设备中,FAT由引导扇区、FAT1表、FAT2表、目录和文件区组成(其中FAT2表是FAT1表的备份)。磁盘的管理是以扇区为单位的,而移动存储设备则是以块为单位的,FAT将块映射成扇区,原理相同,FAT将磁盘空间以一定数目的扇区为单位进行划分,这样的单位成为"簇"。通常情况下,每扇区512字节的原则是不变的,簇的大小一般是2n(n为整数)个扇区的大小。所以以簇为单位而不以扇区为单位进行磁盘的分配,是因为当区分容量较大时,采用512字节的扇区管理,会增加FAT表的项数和大文件存取的消耗,使文件系统效率不高。 引导扇区DBR(DOS Boot Record)通常占用分区的第0扇区,共512字节,FAT表紧随其后。DBR的第一部分是一个x86跳转指令、厂商标志和操作系统版本号,接下来的从偏移0x0B开始的是一段描述能够使可执行引导代码找到相关参数的消息,通常称之为BPB。最后是引导程序代码以及扇区结束标志。BPB中记录了扇区大小、簇的扇区数、保留扇区数、FAT表大小和文件系统类型等重要参数,用于文件的索引和定位计算。 第四章 STC12C5A60AD和CH375芯片 4.1 STC12C5A60AD单片机的相关介绍 A)概述 STC12C5A60S2/AD/PWM 系列单片机是宏晶科技生产的单时钟/机器周期(1T)的单片机,是高速/低功耗/超强抗干扰的新一代8051单片机,指令代码完全兼容传统8051,但速度快8-12倍。内部集成MAX810专用复位电路,2路PWM,8路高速10 12 毕业设计论文 基于单片机和CH375的U盘读写控制器设计 位A/D转换(250K/S,即25万次/秒),针对电机控制,强干扰场合。 1)增强型 8051CPU,1T,单时钟/机器周期,指令代码完全兼容传统8051。 2)工作电压:STC12C5A60S2 系列工作电压:5.5V-3.3V(5V单片机); STC12LE5A60S2 系列工作电压:3.6V-2.2V(3V单片机)。 3) 工作频率范围:0,35MHz,相当于普通8051的 0,420MHz。 4) 用户应用程序空间 8K/16K/20K/32K/40K/48K/52K/60K/62K字节...... 5) 片上集成1280字节 RAM 6) 通用I/O口(36/40/44 个),复位后为: 准双向口/弱上拉(普通8051传统I/O口)可设置成四种模式:准双向口/弱上拉,强推挽/强上拉,仅为输入/高阻, 口驱动能力均可达到20mA,但整个芯片最大不要超过120Ma。 开漏每个I/O 7) ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无需专用仿真器可通过串口(P3.0/P3.1)直接下载用户程序,数秒即可完成一片。 8) 有EEPROM功能(STC12C5A62S2/AD/PWM无内部EEPROM) 9) 看门狗 10)内部集成MAX810专用复位电路(外部晶体?12M,复位脚可直接1K电阻到地) 11. 外部掉电检测电路: 在P4.6口有一个低压门槛比较器5V单片机为1.32V,误差为?5%,3.3V 单片机为1.30V,误差为?3%。 12) 时钟源:外部高精度晶体/时钟,内部R/C振荡器(温漂为?5% 到?10% 以内)用户在下载用户程序时,可选择是使用内部R/C振荡器还是外部晶体/时钟。 常温下内部R/C 振荡器频率为;5.0V;单片机为:11MHz,15.5MHz。 3.3V 单片机为:8MHz,12MHz精度要求不高时,可选择使用内部时钟,但因为有制造误差和温漂,以实际测试为准。 13) 共4 个16位定时器:两个与传统8051兼容的定时器/计数器,16位定时器T0 和T1,没有定时器2,但有独立波特率发生器做串行通讯的波特率发生器,再加上2路PCA 模块可再实现2个16位定时器。 14) 2个时钟输出口,可由T0的溢出在P3.4/T0输出时钟,可由T1的溢出在P3.5/T1输出时钟。 15)外部中断I/O口7路,传统的下降沿中断或低电平触发中断,并新增支持上升沿中断的PCA模块,PowerDown模式可由外部中断唤醒, INT0/P3.2,INT1/P3.3,T0/P3.4,T1/P3.5,RxD/P3.0,CCP0/P1.3(也可通过寄存器 13 毕业设计论文 基于单片机和CH375的U盘读写控制器设计 设置到P4.2), CCP1/P1.4(也可通过寄存器设置到P4.3)。 B)内部结构 STC12C5A60S2单片机中包含中央处理器(CPU)、程序存储器(Flash)、数据存储器(SRAM)、定时/计数器、UART串口、串口2、I/O接口、高速A/D转换、SPI接口、PCA、看门狗及片内R/C振荡器和外部晶体振荡电路等模块。STC12C5A60S2系列单片机几乎包含 了数据采集和控制中所需的所有单元模块,可称得上一个片上系统。 ?STC12C5A60S2系列(有第二串口,有A/D转换,有PWM/PCA功能,有内部EEPROM) ?STC12C5A60AD系列(无第二串口,有A/D转换,有PWM/PCA功能,有内部EEPROM) ?STC12C5A60PWM/CCP系列(无第二串口,无A/D 转换,有PWM/CCP 功能,有内部EEPROM)。 ?我们用的便是STC12C5A60AD系列。 4.2 USB总线接口芯片ch375 A)概述 CH375是南京沁恒电子生产的一款USB总线的通用接口芯片,其内部集成了PLL倍频器、主从USB接口SIE、数据缓冲区、被动并行接口、异步串行接口、命令解释器、控制传输的协议处理器、通用的固件程序等,支持HOST主机方式和DEVICE设备方式。CH375支持USB-HOST 主机方式和 USB-DEVICE/SLAVE 设备方式。在本地端,CH375具有8位数据总线和读、写、片选控制线以及中断输出,可以方便地挂接到单片机/DSP/MCU/MPU等控制器的系统总线上。在USB 主机方式下,CH375还提供了串行通讯方式,通过串行输入、串行输出和中断输出与单片机/DSP/MCU/MPU 等相连接。CH375的USB设备方式与CH372芯片完全兼容,CH375 包含了CH372的全部功能。 CH375的USB主机方式支持常用的USB全速设备,外部单片机可以通过CH375按照相应的 USB 协议与 USB 设备通讯。CH375 还内置了处理 Mass-Storage 海量存储设备的专用通讯协议的固件,外部单片机可以直接以扇区为基本单位读写常用的USB 存储设备(包括 USB 硬盘/USB 闪存盘/U 盘)。 14 毕业设计论文 基于单片机和CH375的U盘读写控制器设计 B)特点 ? 低速和全速USB-HOST主机接口,兼容USBV2.0,外围元器件只需要晶体和电容。 ? 低速和全速USB设备接口,兼容CH372芯片,支持动态切换主机与设备方式。 ? 主机端点输入输出缓冲区各64字节,支持12M全速USB设备和1.5M低速设备。 ? 支持USB设备的控制传输、批量传输、中断传输。 ? 自动检测USB设备的连接和断开,提供设备连接和断开的事件。 ? 内置控制传输的协议处理器,简化常用的控制传输。 ? 内置固件处理海量存储设备的专用通讯协议,支持 Bulk-Only传输协议和 SCSI、UFI、RBC 或等效命令集的USB存储设备(包括 USB 硬盘/USB 闪存盘/U 盘/USB 读卡器)。 ? 通过U盘文件级子程序库实现单片机读写USB 存储设备中的文件。 ? 并行接口含8位数据总线,4线控制:读选通、写选通、片选输入、中断输出。 ? 串行接口包含串行输入、串行输出、中断输出,支持通讯波特率动态调整。 ? 支持5V电源电压和3.3V电源电压,支持低功耗模式。 ? 采用SOP-28无铅封装,兼容RoHS,提供 SOP28到 DIP28的转换板,引脚基本兼容CH374芯片。 C)引脚 15 毕业设计论文 基于单片机和CH375的U盘读写控制器设计 D)芯片ch375封装: 16 毕业设计论文 基于单片机和CH375的U盘读写控制器设计 E)功能说明 1〉一般说明 CH375芯片可以工作于USB-HOST主机方式或者 USB 设备方式。 CH375的USB主机方式支持并行接口和串行接口。在USB主机方式下,CH375支持各种常用的 USB全速设备,外部单片机需要编写固件程序按照相应的USB 协议与 USB设备通讯。但是对于 USB存储设备,CH375内置了相关协议,通常情况下,外部单片机不需要编写固件程序,就可以直接通讯。 2>本地端的硬件 CH375芯片在本地端提供了通用的被动并行接口和点对点的串行接口。 在CH375芯片的复位期间,TXD引脚用于选择通讯接口。如果CH375 在复位期间检测到 TXD引脚为低电平则启用并行接口,否则启用串行接口。如果启用串行接口,那么复位完成后TXD 引脚将用于串行数据输出,并且CH375芯片只能工作于 USB 主机方式。 3>并行接口 并口信号线包括:8 位双向数据总线 D7,D0、读选通输入引脚 RD#、写选通输入引脚 WR#、片选输入引脚CS#、中断输出引脚INT#以及地址输入引脚A0。通过被动并行接口,CH375芯片可以很方便地挂接到各种8位单片机、DSP、MCU的系统总线上,并且可以与多个外围器件共存。 CH375 芯片的 CS#由地址译码电路驱动,用于当单片机具有多个外围器件时进 17 毕业设计论文 基于单片机和CH375的U盘读写控制器设计 行设备选择。INT#输出的中断请求是低电平有效,可以连接到单片机的中断输入引脚或者普通 I/O 引脚,单片机可以使用中断方式或者查询方式获知中断请求。 对于类似 Intel 并口时序的单片机,CH375 芯片的 RD#引脚和 WR#引脚可以分别连接到单片机的 读选通输出引脚和写选通输出引脚。对于类似 Motorola并口时序的单片机,CH375 芯片的RD#引脚应该接低电平,并且WR#引脚连接到单片机的读写方向输出引脚 R/-W。 CH375 芯片占用两个地址位,当 A0 引脚为高电平时选择命令端口,可以写入新的命令,或者读出中断标志;当A0引脚为低电平时选择数据端口,可以读写数据。 下表为并口I/O操作的真值表(表中 X 代表不关心此位,Z 代表 CH375 三态禁止)。 CH375中文手册(一) CS# WR# RD# A0 D7-D0 对 CH375 芯片的实际操作 1 X X X X/Z 未选中 CH375,不进行任何操作 0 1 1 X X/Z 虽然选中但无操作,不进行任何操作 0 0 1/X 1 输入 向 CH375 的命令端口写入命令码 0 0 1/X 0 输入 向 CH375 的数据端口写入数据 0 1 0 0 输出 从 CH375 的数据端口读出数据 0 1 0 1 输出 从CH375B 的命令端口读取中断标志,位 7 等效于 INT#引脚 4>其它 CH375芯片的ACT#引脚用于状态指示。在内置固件的USB 设备方式下,当 USB设备尚未配置或者取消配置后,该引脚输出高电平;当USB设备配置完成后,该引脚输出低电平。在USB 主机方式下,当USB设备断开后,该引脚输出高电平;当 USB 设备连接后,该引脚输出低电平。CH375的 ACT#引脚可以外接串了限流电阻的发光二级管LED,用于指示相关的状态。 CH375 芯片的 UD+和 UD-引脚是 USB 信号线,工作于 USB 设备方式时,应该直接连接到 USB 总线上;工作于USB主机方式时,可以直接连接到USB设备。如果为了芯片安全而串接保险电阻或者电感或者ESD保护器件,那么交直流等效串联电阻应该在 5Ω之内。 18 毕业设计论文 基于单片机和CH375的U盘读写控制器设计 CH375芯片内置了电源上电复位电路,一般情况下,不需要外部提供复位。RSTI 引脚用于从外部输入异步复位信号;当RSTI 引脚为高电平时,CH375芯片被复位;当RSTI 引脚恢复为低电平后,CH375会继续延时复位 35mS 左右,然后进入正常工作状态。为了在电源上电期间可靠复位并且减少外部干扰,可以在 RSTI引脚与 VCC 之间跨接一个容量为 0.1uF 左右的电容。RST 引脚和 RST#引脚是复位状态输出引脚,分别是高电平有效和低电平有效;当CH375电源上电复位或者被外部强制复位以及复位延时期间,RST引脚和RST#引脚分别输出高电平和低电平;CH375复位完成后,RST 引脚和 RST#引脚分别恢复到低电平和高电平。RST和RST#引脚可以用于向外部单片机提供上电复位信号。 CH375芯片正常工作时需要外部为其提供12MHz的时钟信号。一般情况下,时钟信号由 CH375内置的反相器通过晶体稳频振荡产生。外围电路只需要在 XI 和 XO引脚之间连接一个标称频率为12MHz的晶体,并且分别为XI和XO引脚对地连接一个高频振荡电容。如果从外部直接输入12MHz 时钟信号,那么应该从XI引脚输入,而XO引脚悬空。 CH375B 芯片支持 3.3V或者 5V电源电压。当使用 5V 工作电压时,CH375 芯片的 VCC 引脚输入外部 5V 电源,并且 V3 引脚应该外接容量为 4700pF 到 0.02uF 左右的电源退耦电容。当使用 3.3V 工作电压时,CH375芯片的V3引脚应该与VCC 引脚相连接,同时输入外部的 3.3V电源,并且与 CH375芯片相连接的其它电路的工作电压不能超过3.3V。 F) 内部结构 CH375 芯片内部集成了 PLL 倍频器、主从 USB 接口 SIE、数据缓冲区、被动并行接口、异步串行接口、命令解释器、控制传输的协议处理器、通用的固件程序等。 PLL倍频器用于将外部输入的12MHz时钟倍频到 48MHz,作为 USB 接口 SIE 时钟。 主从USB接口SIE是USB主机方式和 USB设备方式的一体式 SIE,用于完成物理的 USB数据接收和发送,自动处理位跟踪和同步、NRZI编码和解码、位填充、并行数据与串行数据之间的转换、CRC数据校验、事务握手、出错重试、USB总线状态检测等。 19 毕业设计论文 基于单片机和CH375的U盘读写控制器设计 在本地端,CH375具有8位数据总线和读、写、片选控制线及中断输出,可以方便地挂接到单片机,DSP,MCU,MPU等控制器的系统总线上。在USB主机方式下,提供了串行通信方式,通过串行输入、串行输出和中断输出与单片机,DSP,MCU,MPU等相连。外部单片机,DSP,MCU,MPU可以通过CH375按照相应的USB协议与USB设备通信,使设计人员设计开发USB工作简单化。应用框图见图1。 下图为CH375芯片内部的中断逻辑图 20 毕业设计论文 基于单片机和CH375的U盘读写控制器设计 6.4 本地端的单片机软件 单片机通过8位并口对CH375芯片进行读写,所有操作都是由一个命令码、若干个输入数据和若干个输出数据组成,部分命令不需要输入数据,部分命令没有输出数据。命令操作步骤如下: ?、 在A0=1时向命令端口写入命令代码; ?如果该命令具有输入数据,则在A0=0时依次写入输入数据,每次一个字节; ?如果该命令具有输出数据,则在A0=0 时依次读取输出数据,每次一个字节; ?命令完成,可以暂停或者转到?继续执行下一个命令。 CH375芯片专门用于处理USB通讯,在检测到USB 总线的状态变化时或者命令执行完成后,CH375以中断方式通知单片机进行处理。 文件级子程序库的所有API在调用后都有操作状态返回,但不一定有应答数据。有关 API参数的说明请参考CH375HF?.H,主要子程序如下: 初始化CH375芯片:CH375Init 查询U盘是否准备好:CH375DiskReady 查询U盘容量:CH375DiskSize 查询U盘信息(总容量及剩余容量):CH375DiskQuery 打开文件:CH375FileOpen 枚举或者搜索文件:CH375FileEnumer 关闭文件:CH375FileClose 新建文件:CH375FileCreate 删除文件:CH375FileErase 21 毕业设计论文 基于单片机和CH375的U盘读写控制器设计 以扇区为单位从文件读数据:CH375FileReadX 以扇区为单位向文件写数据:CH375FileWriteX 以扇区为单位移动文件指针:CH375FileLocate 查询文件属性(属性/日期/时间/长度):CH375FileQuery 设置文件属性(属性/日期/时间/长度):CH375FileModify 以字节为单位从文件读数据:CH375ByteRead 以字节为单位向文件写数据:CH375ByteWrite 以字节为单位移动文件指针:CH375ByteLocate 22 毕业设计论文 基于单片机和CH375的U盘读写控制器设计 第五章 系统的软件设计 3.1 通信部分流程图 3.2 部分程序块 主函数: #include #include "myfun.h" #include #include "uart.h" */ #define CH375_CMD_PORT_ADDR 0x8100 /* CH375命令端口的I/O地址 #define CH375_DAT_PORT_ADDR 0x8000 /* CH375数据端口的I/O地址 */ #include "ch375hf6.h" sfr BUS_SPEED=0xa1;//STC12C5A60S2速度很快,这里的BUS_SPEED可以用来调整它的总线速度,使CH375工作稳定 unsigned char i,j,k,len,err; void Show_File_Inf() { UART_Send_Str("查询当前文件/目录的信息\n"); UART_Put_Inf("当前文件/目录的开始簇为:",CH375vStartCluster); //UART_Put_Inf("当前文件的大小为:",CH375vFileSize); UART_Put_Inf("当前文件的偏移量为:",CH375vCurrentOffset); UART_Put_Inf("当前文件/目录的文件目录项所在扇区为:",CH375vFdtLba); UART_Put_Inf("当前文件/目录的文件目录项在所在扇区中的位置为: ",CH375vFdtOffset); CH375FileQuery(); UART_Put_Inf("当前文件/目录的长度为:",mCmdParam.Modify.mFileSize); 23 毕业设计论文 基于单片机和CH375的U盘读写控制器设计 UART_Send_Str("当前文件/目录的修改日期为:"); UART_Put_Num((unsigned int)(mCmdParam.Modify.mFileDate>>9)+1980); UART_Send_Str("年"); UART_Put_Num((mCmdParam.Modify.mFileDate&0x01ff)>>5); UART_Send_Str("月"); UART_Put_Num((mCmdParam.Modify.mFileDate&0x001f)); UART_Send_Str("日\n"); UART_Send_Str("当前文件/目录的修改时间为:"); UART_Put_Num(mCmdParam.Modify.mFileTime>>11); UART_Send_Str("时"); UART_Put_Num((mCmdParam.Modify.mFileTime&0x07ff)>>5); UART_Send_Str("分"); UART_Put_Num((mCmdParam.Modify.mFileTime&0x001f)*2); UART_Send_Str("秒\n"); UART_Send_Str("文件/目录属性:\n"); for(i=0;i<6;i++) { if(mCmdParam.Modify.mFileAttr&(1<
/
本文档为【基于单片机和CH375的U盘读写控制器设计】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索