普通单片机读写U盘使用指南
上传时间: 2013-10-23
上传用户:ayfeixiao
当前,USB接口技术的应用已十分成熟和普遍,尤其是已FLASH作为存储介质的U盘更是带动了一个IT行业新的经济增长点。在整个IT经济相对低迷的情况下,U盘能脱身而出,独秀一枝,主要归功于其把握了好的行业方向:USB接口技术高速、稳定、即插即用,注定了是未来接口技术的主流;FLASH存储媒体稳定、可靠是新一代移动数据存储的首选。但美中缺憾的是现在的U盘都只能在PC上使用,许多其它需要直接进行数据存储和交换的地方却不能直接使用U盘。如数据采集和工控行业中诸多设备都还是利用软磁盘,以太网等方式。软盘稳定性差,容量小,以太网成本太高,移动性不好。所以要在工控和嵌入式行业中实现对U盘的读写是一件非常有意义和前景的事情。本开发板就是在传统的单片机单片机实现了对U盘的读写。本开发板的核心技术是USBHOST的实现,包括USB批量传输、海量存储、文件系统等协议内容较多,协议复杂,开发难度比较高。开发板的对象主要是面对二次开发和USB初步学习的朋友,提供所有硬件,源代码,开发文档和调试软件。使大家最快掌握这一核心技术,进入USB技术的天堂。
上传时间: 2013-11-09
上传用户:jx_wwq
USB总线接口芯片CH375支持USB-HOST和USB-DEVICE,可以用于单片机读写U盘。本说明中的多数内容为建议性说明,而非强制性说明,建议的目的旨在提高最终产品的稳定性和可靠性,很多内容只是针对一般情况和大多数用户而言,而未考虑个别或者例外。本说明中列举了一些发生在某些品牌U盘上的怪现象,都是我们实际测试现象的描述,我们并没有以此评价U盘的优劣,因为实际上它们可能已经算是所有U盘中比较优秀的几种,而且,我们也不排除这仅仅是品牌U盘中的个别现象,只是正好被我们碰到而已。
上传时间: 2013-11-13
上传用户:yuzsu
概述 CH376是文件管理控制芯片,用于单片机系统读写 U 盘或者 SD 卡中的文件。 CH376 支持 USB 设备方式和 USB 主机方式,并且内置了 USB 通讯协议的基本固件,内置了处理Mass-Storage 海量存储设备的专用通讯协议的固件,内置了SD 卡的通讯接口固件,内置了FAT16和FAT32 以及 FAT12 文件系统的管理固件,支持常用的 USB 存储设备(包括 U 盘/USB 硬盘/USB 闪存盘/USB读卡器)和SD卡(包括标准容量SD 卡和高容量HC-SD 卡以及协议兼容的MMC 卡和 TF 卡)。 CH376 支持三种通讯接口:8 位并口、SPI 接口或者异步串口,单片机/DSP/MCU/MPU 等控制器可以通过上述任何一种通讯接口控制CH376芯片,存取U 盘或者 SD 卡中的文件或者与计算机通讯。 CH376的 USB设备方式与CH372 芯片完全兼容,CH376 的 USB 主机方式与CH375 芯片基本兼容。
上传时间: 2014-12-27
上传用户:sglccwk
单片机读写U盘方案开发手册 目录 1.芯片及模块手册资料2.应用电路图及封装3.SPI例程及UART例程4.其他外围应用电路5.232、电平转换资料6.芯片测试文档7.U盘支持列表
上传时间: 2013-11-01
上传用户:whymatalab
at91rm9200启动过程教程 系统上电,检测BMS,选择系统的启动方式,如果BMS为高电平,则系统从片内ROM启动。AT91RM9200的ROM上电后被映射到了0x0和0x100000处,在这两个地址处都可以访问到ROM。由于9200的ROM中固化了一个BOOTLOAER程序。所以PC从0X0处开始执行这个BOOTLOAER(准确的说应该是一级BOOTLOADER)。这个BOOTLOER依次完成以下步骤: 1、PLL SETUP,设置PLLB产生48M时钟频率提供给USB DEVICE。同时DEBUG USART也被初始化为48M的时钟频率; 2、相应模式下的堆栈设置; 3、检测主时钟源(Main oscillator); 4、中断控制器(AIC)的设置; 5、C 变量的初始化; 6、跳到主函数。 完成以上步骤后,我们可以认为BOOT过程结束,接下来的就是LOADER的过程,或者也可以认为是装载二级BOOTLOER。AT91RM9200按照DATAFLASH、EEPROM、连接在外部总线上的8位并行FLASH的顺序依次来找合法的BOOT程序。所谓合法的指的是在这些存储设备的开始地址处连续的存放的32个字节,也就是8条指令必须是跳转指令或者装载PC的指令,其实这样规定就是把这8条指令当作是异常向量表来处理。必须注意的是第6条指令要包含将要装载的映像的大小。关于如何计算和写这条指令可以参考用户手册。一旦合法的映像找到之后,则BOOT程序会把找到的映像搬到SRAM中去,所以映像的大小是非常有限的,不能超过16K-3K的大小。当BOOT程序完成了把合法的映像搬到SRAM的任务以后,接下来就进行存储器的REMAP,经过REMAP之后,SRAM从映设前的0X200000地址处被映设到了0X0地址并且程序从0X0处开始执行。而ROM这时只能在0X100000这个地址处看到了。至此9200就算完成了一种形式的启动过程。如果BOOT程序在以上所列的几种存储设备中找到合法的映像,则自动初始化DEBUG USART口和USB DEVICE口以准备从外部载入映像。对DEBUG口的初始化包括设置参数115200 8 N 1以及运行XMODEM协议。对USB DEVICE进行初始化以及运行DFU协议。现在用户可以从外部(假定为PC平台)载入你的映像了。在PC平台下,以WIN2000为例,你可以用超级终端来完成这个功能,但是还是要注意你的映像的大小不能超过13K。一旦正确从外部装载了映像,接下来的过程就是和前面一样重映设然后执行映像了。我们上面讲了BMS为高电平,AT91RM9200选择从片内的ROM启动的一个过程。如果BMS为低电平,则AT91RM9200会从片外的FLASH启动,这时片外的FLASH的起始地址就是0X0了,接下来的过程和片内启动的过程是一样的,只不过这时就需要自己写启动代码了,至于怎么写,大致的内容和ROM的BOOT差不多,不同的硬件设计可能有不一样的地方,但基本的都是一样的。由于片外FLASH可以设计的大,所以这里编写的BOOTLOADER可以一步到位,也就是说不用像片内启动可能需要BOOT好几级了,目前AT91RM9200上使用较多的bootloer是u-boot,这是一个开放源代码的软件,用户可以自由下载并根据自己的应用配置。总的说来,笔者以为AT91RM9200的启动过程比较简单,ATMEL的服务也不错,不但提供了片内启动的功能,还提供了UBOOT可供下载。笔者写了一个BOOTLODER从片外的FLASHA启动,效果还可以。 uboot结构与使用uboot是一个庞大的公开源码的软件。他支持一些系列的arm体系,包含常见的外设的驱动,是一个功能强大的板极支持包。其代码可以 http://sourceforge.net/projects/u-boot下载 在9200上,为了启动uboot,还有两个boot软件包,分别是loader和boot。分别完成从sram和flash中的一级boot。其源码可以从atmel的官方网站下载。 我们知道,当9200系统上电后,如果bms为高电平,则系统从片内rom启动,这时rom中固化的boot程序初始化了debug口并向其发送'c',这时我们打开超级终端会看到ccccc...。这说明系统已经启动,同时xmodem协议已经启动,用户可以通过超级终端下载用户的bootloader。作为第一步,我们下载loader.bin.loader.bin将被下载到片内的sram中。这个loder完成的功能主要是初始化时钟,sdram和xmodem协议,为下载和启动uboot做准备。当下载了loader.bin后,超级终端会继续打印:ccccc....。这时我们就可以下在uboot了。uboot将被下载到sdram中的一个地址后并把pc指针调到此处开始执行uboot。接着我们就可以在终端上看到uboot的shell启动了,提示符uboot>,用户可以uboot>help 看到命令列表和大概的功能。uboot的命令包含了对内存、flash、网络、系统启动等一些命令。 如果系统上电时bms为低电平,则系统从片外的flash启动。为了从片外的flash启动uboot,我们必须把boot.bin放到0x0地址出,使得从flash启动后首先执行boot.bin,而要少些boot.bin,就要先完成上面我们讲的那些步骤,首先开始从片内rom启动uboot。然后再利用uboot的功能完成把boot.bin和uboot.gz烧写到flash中的目的,假如我们已经启动了uboot,可以这样操作: uboot>protect off all uboot>erase all uboot>loadb 20000000 uboot>cp.b 20000000 10000000 5fff uboot>loadb 21000000 uboot>cp.b 210000000 10010000 ffff 然后系统复位,就可以看到系统先启动boot,然后解压缩uboot.gz,然后启动uboot。注意,这里uboot必须压缩成.gz文件,否则会出错。 怎么编译这三个源码包呢,首先要建立一个arm的交叉编译环境,关于如何建立,此处不予说明。建立好了以后,分别解压源码包,然后修改Makefile中的编译器项目,正确填写你的编译器的所在路径。 对loader和boot,直接make。对uboot,第一步:make_at91rm9200dk,第二步:make。这样就会在当前目录下分别生成*.bin文件,对于uboot.bin,我们还要压缩成.gz文件。 也许有的人对loader和boot搞不清楚为什么要两个,有什么区别吗?首先有区别,boot主要完成从flash中启动uboot的功能,他要对uboot的压缩文件进行解压,除此之外,他和loader并无大的区别,你可以把boot理解为在loader的基础上加入了解压缩.gz的功能而已。所以这两个并无多大的本质不同,只是他们的使命不同而已。 特别说名的是这三个软件包都是开放源码的,所以用户可以根据自己的系统的情况修改和配置以及裁减,打造属于自己系统的bootloder。
上传时间: 2013-10-27
上传用户:wsf950131
基于P89V51RD2单片机的TPAM软启动装置的研究:文中针对TPAM 传统启动方式启动电流大、启动时间长等缺陷,研究了基于电力电子技术的TPAM软启动技术,提出以P89V51RD2 为核心的软启动装置的设计方案。该软启动装置采用晶闸管调压方式,通过改变晶闸管的触发角来实现对TPAM 定子两端电压调节,从而实现了TPAM的软启动。关键词:TPAM;软启动;单片机
上传时间: 2013-11-03
上传用户:spman
本文介绍了一个以嵌入式USB 主机接口芯片SL811HS 为核心,采用U 盘为存储介质的单片机低功耗海量存储系统。该系统实现了仪器的便携化,从而,为便携仪器或嵌入式系统的外挂式海量存储的发展开拓了新思路。近几年,随着Flash Memory 非易失存储技术的发展,基于USB 接口的闪存即U 盘现已得到广泛应用。从理论上讲,以U 盘作为便携式采集存储系统的存储载体完全能够满足长时间采集海量数据的要求。但目前所面临的问题是,U 盘主要应用于PC 机系统中。以单片机等微处理器为核心的嵌入式系统的应用中,尚缺少与U 盘的直接接口技术。因此将单片机技术与U 盘存储技术两者结合起来,利用单片机直接读写U 盘,并通过总线方式与嵌入式系统的其它部分实现命令和数据的通信,从而实现便携仪器或者嵌入式系统的外挂式海量存储,具有广阔的应用前景。而以Cypress 公司的SL811HS 为代表的嵌入式USB 主机接口芯片为这种方案的实现提供了可能。
上传时间: 2013-10-09
上传用户:无聊来刷下
这里介绍的一款多功能编程器,功能强大,支持大多数常用的EPROM, EEPROM, FLASH, I2C,PIC, MCS-51,AVR, 93Cxx等系列芯片(超过400种)。硬件成本较低,性价比很高。既适合于电子和电脑爱好者使用,也适合家电维修人员维修家电和单片机开发人员使用。图1为多功能编程器的主机,中间是32脚ZIF(零插力)锁紧插座, 用于27系列、28系列、29系列、39/49系列等BIOS芯片。左边是25芯并口插座,通过并口电缆连接计算机并口。左下方是电源插座。32脚ZIF插座下方是12位的DIP开关,对EPROM芯片进行读写等操作前,需将此开关拨至相应位置。具体开关位置可以参照软件提示。锁紧插座右侧依次排列3个DIP8插座和一个DIP18插座,分别用于25系列、24系列、93系列存储器和PIC系列单片机等;绿色电源指示灯(Power)用于指示编程器电源状态;红色指示灯(Vpp)用于指示芯片Vpp电源状态;黄色指示灯(Vcc)用于指示芯片编程状态。 一、 主要功能: ★ 可用此编程器升级、维修电脑主板,显卡等BIOS芯片。可支持3.3V低电压BIOS芯片。 ★ 用来写网卡启动芯片:用于组建无盘站写网卡启动芯片或制作硬盘还原卡等。 ★ 可用于复印机、传真机、打印机主板维护和维修。★ 可用于读写用来写汽车仪表、安全气囊、里程表数据。★ 可用于维修显示器、彩电、VCD、DVD 上面的存储芯片。可修改开机画面。 ★ 用来开发单片机: 通过添加不同适配器,可以支持 MCS-51 系列, AVR 系列和 PIC 系列的MCU。 ★ 用来写大容量存储芯片:大容量的存储芯片,一般在卫星接收机上使用较多,可以用编程器直接来升级或改写。 二、电路简介图2是这台编程器的完整电路图,可以看到编程器电路由完全分离的两部分组成:串行部分和并行EPROM部分电路。限于篇幅,原理部分不再详述。对原理感兴趣的读者可以参考本文配套文件包中的“电路原理参考.PDF”文件。图2三、电路板设计与制作 图3是编程器参考元件布局图,双面PCB尺寸为160X100毫米,厚度1.6毫米。具体的PCB设计可以参考配套文件中的“PCB参考设计.PDF”。这个文件中包括电路板的顶层和低层布线和顶层丝印层。如果业余自制电路板,建议使用双面感光电路板制作,以确保精度。
标签: 多功能编程器
上传时间: 2013-10-14
上传用户:问题问题
U盘IC1114的电路图和C语言源程序
上传时间: 2013-12-17
上传用户:hanli8870