基于嵌入式系统U盘开发的设计_第1页
基于嵌入式系统U盘开发的设计_第2页
基于嵌入式系统U盘开发的设计_第3页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

湖南文理学院芙蓉学院课程设计报告课程名称: 嵌入式系统课程设专业班级: 通信工程1301班学生姓名: 王海波指导教师: 邵湘怡完成时间: 2016年6月22报告成绩:评阅意见:评阅意见:评阅教师日期湖南文理学院制目录基于嵌入式系统u盘开发的设计 1一、设计题目 1二、设计内容及要求 12。1设计内容 12.2设计要求 1三、设计作用与目的 2四、系统设计方案 24。1系统总体设计 24。2简要阐述系统工作原理 3五、系统硬件设计 3硬件电路 3基本程序结构 45。2.1.USB设备端的固件分以下几个层次: 45.2。2。在调试的时候,从现象上来看,分成以下几个阶段性的步骤 55。2。3。检查USB器件工作与否 55。2。4.提供描述符 65。3硬件设计 6六、系统软件设计 7USB协议 7BULK_ONLY和UFI协议 76。3FAT32 116.4软件系统模块 11七、仿真调试分析 13八、嵌入式系统学习心得 14九、参考文献 14PAGEPAGE14基于嵌入式系统u盘开发的设计一、设计题目基于嵌入式系统u盘开发的设计 二、设计内容及要求设计内容USB便携式采集系统,需要采集后临时存储,再拿回来传给作为上位机的PC给人们带来很多不变,为此,本文提出了一种方法——利用UUSBUPC设计要求UU盘的系统结构,U线数据卡上,或者手机上,以实现数据存储的功能。USB(称为固件,Firmware进行调USB协议有严格的时间要求,这就使得程序必须在有效时间内对某些请求或状显示输出的一些信息来辅助调试,定位问题所在.比如,在某个函数中加入LED1,LED2PC调试软件BusHound)USB协议(主要有描述符请求、端口配置、地址设置以及基本数据交换)调通及基本数据交换)调通.USB设备接口来嵌入文件系统功能。三、设计作用与目的UUU到无线数据卡上,或者手机上,以实现数据存储的功能四、系统设计方案4。1系统总体设计图1 USB读写器结构图4.2简要阐述系统工作原理SB1MSP430F149SL811HSMSP43014,P2。7,P2.6P4SL811P6SL811SL811五、系统硬件设计5。1硬件电路图2图2PDIUSBD12引脚图a)GND(33V5V3.3VVDD3。3V5V。33。3V的电压,用于提供给D+作参考电压,因为此参考电压必须为33VU盘来说,由于USBGNDUSBGND,VDDUSB接口中VDD,D+DUSB接口中的对应位。b)XTAL1XTAL2按传统接法。PDIUSBD12MCUAT—89C55WDDATA<0>~DATA<7〉P0。0~P0.7(AD0~AD7)ALEALE/PROGCS_NP1。6RESET_NP1。7INT_NP3.2(INT0)SUSPENDP3。3WR_NP3。6(WR)RD_NP3。7(RD)A0PDIUSBD12MCUAT—89C55WDDATA<0>~DATA<7〉P0。0~P0.7(AD0~AD7)ALEALE/PROGCS_NP1。6RESET_NP1。7INT_NP3.2(INT0)SUSPENDP3。3WR_NP3。6(WR)RD_NP3。7(RD)A0GNDd)DMARQDMACK_NEOT_NGL_NCLKOUT引脚悬空,可作为扩充功能使用。e)MCUAT-89C55WDP1。2P1.32LED1LED2.5。2基本程序结构5。2.1.USB设备端的固件分以下几个层次:固件模块功能固件模块功能Main.c中断设置中断服务程序,负责将不同类型的intr.c中断转向不同的地方D12D12usb_op.cUSB设备枚举需要的设备描述符,配置usb_prtcl。c描述符,接口描述符,端口描述符都由此模块来执行提供massStorage协议endpoint2_bulk_only.CCBW,CSW,DATAFLASH由此模块来处理5。2.2。在调试的时候,从现象上来看,分成以下几个阶段性的步骤1、USB芯片正常工作,可以实现软连接,此时PC机上会出现“未知设备类型”的USB;2、向主机提供普通USB设备提供描述符,提供正确的VIDPID能够3、安装驱动程序后,使用周立功单片机公司提供UsbDebugexe12,4MassStorageBulk-OnlyPC机上设备类型变成MassStorageDevice;5Bulk-OnlyInquiry;6、UFI(SCSI子集0扇区(BPB区)的内容按照FAT127、在AT-89C55WDEEPROM8、创建文Write命令,等等。下面从具体实际操作方面来描述调试各阶段的步骤5.23.检查USB器件工作与否USB芯片是否已经正常工作,USBSoftConnectPCUSBBusHoundUSBUSB初始化过程为:MCU的各种端口;②进行中断初始化,设置中断服务程序入口地址,将MCUD12INT_N就一直为低.③断开SoftConnect,延时1秒后再次连接④进入主程序循环,等待中断的到来⑤由中断服务程序处理所有与USB有关的操作。5.2.4。提供描述符USBWindows对USB设备的枚举顺序是非常有必要的:GetDeviceDescriptor。主机主要对Length域感兴趣,发送内容一定要正确,2type0x01,即Device,或这时由于Device的描述符将有多长实际上都不知道,所以这个步骤只是试探性的,目的是DeviceDescriptor.5。3硬件设计TIMSP430F149SL811HSUSB控制器,充分发挥各自优势满足低功耗要求。MSP430TI公司的MSP430系列单片机是一种超低功耗的混合信号控制器,由各种不同的模块组成,这些微控制器可用电池工作,且使用的时间很长,MSP430单片机具有16RISC166μs/I/OP1P2SL811HSCypressSL811HSUSB//2561,8DMA。六、系统软件设计PCUFAT32USBUFIFAT32USB协议USB通用串行总线)用于将USB接口的外围设备(devic)连接到主机(host,USB制(contro、批量(bulk)、中断(interrup)和同步(synchronous4是易于使用,即插即用,主要是用在中速和低速的外设.USB来选择使用控制传输,这种数据传输不会丢失数据.典型的批量数据包括象使用打印机或扫描仪时所出现的大数据量的数据,这种批量数据是连续的,通过在硬件中实现差错检测功能,并且有选择地进行一定的应进重试操作,可以在硬件层次上保证数据的可靠交换。USBUSB总线以不低于设备说明的速率进行传输。同步数据在产生、传送和处理过程中是连续的和实时的,在稳定的同步数据发送和接收速率中包含了相应的时钟信息,为了保持定时关系,同步数据必须按照接收的速率进行传输。BULK_ONLYUFI协议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字节长度的操作命令。Bulk-OnlyCBW(CommandBlockCBW(CommandStateWrap)包向主机返回状态信息.CBWBulk-OutCBW31字节的短包传输CSWCBW包必须按低字节在前的次序传输。CBW包结构如图2所示,各域含义如下:字节76543字节765432100~3命令块包标识4~78~11命令块标记数据传输长度12命令块标旗13预留逻辑单元号14预留CBWCB长度15~3015~30CBWCB命令块包标识。CBW包标记,表明这是一个CBW包,43425355H.命令块标记.CSWBulk端点上传数据的字节长度,如果这个域0,则在CBWCSW标旗域中的方向位的值.Bulk端点数据传输的方向,其他位预留。5)逻辑单元号。指定命令块被发送到的逻辑单元号,如果设备不支持多个逻辑单元号,则主机将这个域设置为0.6)CBWCB长度,定义了CBWCB的有效长度,合法值为1-16。7)CBWCB。由设备执行的命令,由设备解释.CSW向主机表明来自于CBW包的命令块的执行状态.设备收到CBW包解析处理后将通过Bulk—In端点发送一个CSW包。CSW开始于包边界,并以13字节的短包结束,结构如图3所示,各域含义如下:字节765字节765432100~3命令状态包标识4~7命令状态标记8~11数据残余12命令执行状态CSWCSW53425355H。命令状态标记.CBW包的命令块标记相同.3)数据残余。实际数据传输量与CBW包中规定的数据传输长度的差值。4)命令执行状态,表明命令成功或失败信息,如果命令执行成功,则设备将设置此域的值为0,非0值;则表明失败或错误.UFIUSBBulk-Only传输协议定义了传输这些信息的方法,其中UFICBWCBWCBCBWCB操作命令(如读命令),如何完成这个命令(如从闪存的哪个地址读,需要读取的长度CSW返回给主机。UFI1241)操作命令代码。指明所需要执行的操作命令;,如果设备只有一个逻辑单元,0.逻辑块地址.命令操作的起始地址。传输长度,指明请求传输的数据量,通常以"扇区"作单位,但是有几个命令是以”,0表面没有数据需要传输。参数列表长度,用于指定发送到设备的字节数,这个域典型的应用于发送到设备如模式参数、诊断参数等0分配长度,指明主机已经分配的用于返回数据的最大字节长度,若此值为0明没有数据需要传输。字7654字765432100操作命令代码1逻辑单元号预留2~5逻辑块地址66预留7~8传输长度或参数列表长度或分配长度9~11预留6。3FAT32FATMicrosoft较早推出的文件系统,具有高度的兼容性,目前仍然广泛应用于个人电脑尤其是移动存储设备中,FATFAT1FAT2表、目录和文件区组成(FAT2FAT1表的备份。磁盘的管理是以扇区为单位的,而移动存储设备则是以块为单位的,FAT将块映射成扇区,原理相同,FAT将磁盘空间以一定数目的扇区为单位进,5122n(n为整数)个扇区的大小。所以以簇为单位而不以扇区为单位进行磁盘的分配,512字节的扇区管理,FAT表的项数和大文件存取的消耗,使文件系统效率不高。DBR(DOSBootRecord)通常占用分区的第0扇区,512表紧随其后.DBRx86跳转指令、厂商标志和操作系统版本号,接下来的从偏0x0BBPBBPB中记录了扇区大小、簇的扇区数、保留扇区数、FAT表大小和文件系统类型等重要参数,用于文件的索引和定位计算.6。4软件系统模块USB读写器软件由主模块、USB模块、BULK模块、FAT模块和中断处理模块组成。各模块之间相互协调调用,共同完成对U盘文件的读写创建。USBUSB设备的移入/BULK_ONLY输入/输出通道,BULK模块则在已建立的BULK_ONLY输入/输出通道发送CBW数据包,并接收CSW数据包,通过CBWCBWCBU盘读/写操作的扇区位置和大小,FAT模块主要完成簇和扇区间的索引定位,即在U盘内寻址,利用BPB中的参数计算给定扇区的所在簇以及进入休眠状态等待外部中断唤醒。统的核心部分.5

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论