U盘驱动程序设计
16
FLIP软件使用方法-1
启动软件,首先选择器件
插入设备,选择USB Port Connection进行USB连接,单击Open按钮打开USB设备。 可以查看内部寄存器状态。
17
FLIP软件使用方法-2
编程前需要载入HEX文件。 如需要重新写入HEX文件,可以对芯片进行擦除。
单击写入图标,将载入的HEX数据写入FLASH中。
14
Keil μVision2软件使用方法-4
选择菜单“Project”-〉“Options for Target’Trager 1’”进行设置。
在弹出的对话框的“Output”页中选择“Create HEX Files”
15
Keil μVision2软件使用方法-5
代码写好后,我们就可以对其进行编译了。
硬件电路综合课程设计
—电子电路硬件设计(II)
1
课设内容
一、电路板元件焊接 (1周) 二、U盘驱动程序设计(1周)
三、交课设报告(小组为单位,要区分每个人的工作量)
2
一、电路板元件焊接 拿到电路板不要把所有的元件一下全都焊上,这样最后出问题了 查找很困难。问题可能是焊接不牢、焊错、芯片问题,所以应该 有一个合理的焊接调试计划,边焊接边调试就可以准确发现问题、 及时解决。焊接调试步骤: 1.通过USB接口供电时的电源调试(参照原理图和电路板对照) 2.电池供电部分电源调试 3.单片机最小系统调试:芯片、晶振电路、复位电路3部分 4.存储器调试(U盘调试) 5.键盘调试 6.D/A转换及音频放大部分调试 7.MP3+U盘整机软硬件集成调试。
32K Pages =1024Blocks 第一半Page寄 第二半Page寄 存器 存器
512B
16B
8bit
Page寄存器
I/O0-I/O7 512B
16B
16MB三星K9F208U0A FLASH
1个Page为1个扇区 簇=2Block=64扇区=512×64=32K FLASH读写特点:以Page为单位读写;写前先擦除原有内容; 一次至少擦除一个Block
20
USB海量存储设备(U盘)基本知识-1
USB是通用串行总线(Universal Serial Bus)缩写。包括: (1)USB主机(Host):USB主控制器。 (2)USB设备(Device):USB设备,如U盘、移动硬盘等。 (3)USB集线器(Hub):用于扩展USB端口设备,主控器上带一个根集线器 。 USB通信的建立是主从模式,通信只能发生在主机和设备之间。 USB的传输类型: (1)控制传输——一般用于短的、简单的对设备的命令和状态反馈,例如用 于总线控制的0号管道。 (2)同步传输——按照有保障的速度(可能但不必然是尽快地)传输,可能 有数据丢失,例如实时的音频、视频。 (3)中断传输——用于必须保证尽快反应的设备(有限延迟),例如鼠标、 键盘。 (4)批量传输——使用余下的带宽大量地(但是没有对于延迟、连续性、带 宽和速度的保证)传输数据,例如普通的文件传输。
怎样验证每一步焊接成功与否见下几页。
3
1.通过USB接口供电时的电源调试 1)相关电阻焊接 2)USB插座焊接 3)AS1117芯片焊接 4)发光二极管焊接(注意方向:将万用表置于二极管档,用表笔接 触二极管两极,发光时黑笔对应的为GND) 5)通电前先测试一下USB接口的5V和GND是否短路 6)通电测试。将USB插入计算机上的USB接口,同时用手接触 AS1117芯片,如果发现有明显发热,立即取下,检查问题。如果不 发热,二极管也亮了,说明这部分电路工作正常。用万用表测输出 电压是否为3.3V,AT89C51SND1C工作电压为2.7V~3.3V,超出此 范围,芯片将无法工作。
22
USB海量存储设备(U盘)基本知识-3
23
USB海量存储设备(U盘)基本知识-4
24
USB海量存储设备(U盘)基本知识-5
25
USB海量存储设备(U盘)基本知识-6
26
USB海量存储设备(U盘)基本知识-7
SCSI指令集协议 Bulk_Only的CBW中的CBWCB中的内容即为SCSI-2格式的命令块描述符。SCSI-2 有3种字长的命令,6位、10位、12位。Windows环境下支持12位字长的命令。 SCSI命令包括操作代码,扇区地址,扇区数,需要传输数据长度等。 SCSI-2协议见“协议资料\文件系统及Mass Storage有关资料\scsi_2协 议.pdf”文件
27
USB海量存储设备(U盘)基本知识-8
Flash的文件系统 FAT文件系统结构一般分为: (1) 保留区(Reserved Region); (2) FAT区(File Allocation Table)文件分配表; (3) 根目录区(Root Directory Region); (4) 文件和目录数据区。
19
C51 程序设计基本知识
数据的存储方式:在C51中有两个比较特殊的类型,code和xdata。 code:定义了一个不可修改的变量,其内容与程序一起放在程序存 储区中,执行过程中不需要修改其值。 code unsigned char Device_Descriptor[18]={…}; xdata:定义一个外部地址,可以像访问变量一样访问此地址。 比如在Flash的控制中,使用如下语句定义Flash的地址。 xdata BYTE rKM29UXDATA _at_0x4000; 以后要读写Flash时,只要按下列格式进行即可: rKM29UXDATA=0x00;//将0写入Flash中 *pPage++=rKM29UXDATA; //把Flash端口的数据写入pPage指针指 向的单元
9
二、U盘驱动程序设计
本 次 课 程 设 计 所 使 用 的 U 盘 开 发 板 : 基 于 ATMEL 公 司 的 89C51SND1C芯片和K9F5608FLASH32M芯片。AT89C51SDN1C 芯片内置符合USB1.1标准的设备控制器,采用查询工作方式,根 据各个端点的状态进行相应的数据收发处理。
7
(2)焊盘在电路板表面的双腿元件 1.烙铁置于焊盘,直至焊盘表面锡层熔化 2.焊盘表面锡层熔化时,将焊锡送入焊区,形成焊点
3.看准时机抽走焊锡和烙铁,使得焊盘出现一个完整焊点
4.迅速将元件贴上去,待冷却之后即可
8
(3)多引脚的非DIP封装的芯片焊接 先对准芯片或芯片座与焊盘的位置;然后先固定几个 引脚,使芯片与焊盘的位置相对固定;最后焊接芯片。
数据写入完毕,单击BLJB选项, 将选中标记去掉,然后单击Set按 钮将其保存到芯片中。下次设备 一接通电源,即执行刚刚下载的 用户程序。
编程完毕后,单击Close按钮,关闭USB Port Connection连接。
18
U盘设计有关的基本知识 •C51 程序设计基本知识P11 •USB海量存储设备(U盘)基本知识P12-P21 •U盘程序框架设计P22-P30
10
U盘开发环境介绍 •编译器:KEIL C51(使用方法见P3-P7) •烧片程序:FLIP软件(下载固件、软件,使用方法见P8-P9) •仿真调试:串口调试助手
Keil μVision2软件是Keil公司推出的集成开发环境
FLIP软件是ATMEL公司提供的在线系统可编程(ISP)调试软件, 通过该软件可以对该公司的AT89C51SDN1C芯片进行反复的擦写。
保留区中的第一个扇区必须是BPB(BIOS Parameter Blok),也称为“ 引导扇区”、“零扇区”等,用来存放对文件系统进行识别的关键信息 。操作系统磁盘空间是按照簇来分配的,因此文件占用磁盘空间时的基 本单位是簇而不是字节。 文件系统参见“协议资料\文件系统及Mass Storage有关资料\文件系统 ”文件。
28
USB海量存储设备(U盘)基本知识-9 3. FLASH盘的FAT结构 1Block=32Pages
=(16K+512)Bytes 1Pages=528B 1Block=528B×32Pages =(16K+512)B 1Device=528B×32Pages×1024Blocks =132Mbits
4、最小系统调试完成后就可以开始焊接外设芯片包括串口电 平转换、FLASH存储器、键盘等。
6
(1)焊盘为过孔的元件和DIP封装的芯片
这类焊接的共同特点是元件有长长的管脚,需要插到电路板的孔里 ,然后将其焊接到过孔焊盘上。如果管脚过长,还需要在焊接结束 后将多余的管脚剪掉。这种焊接方式比较简单,只要先焊好一个管 脚,再调整元件的位置,最后依次焊完剩下的管脚即可。一次焊不 成功,也可以清理后再次重焊。
11
Keil μVision2软件使用方法-1
安装Keil μVision2后,桌面上会产生一个快捷方式,双击打开,进入软件主界面。
12
Keil μVision2软件使用方法-2
选择菜单中的“Project”-〉“New Project...”项新建一个工程
为工程添加器件
13
Keil μVision2软件使用方法-3
选择菜单中的“File”-〉“New...”项新建一个文件。
选择菜单中的“File”-〉“Save...”项将文件存储为“*.c”的形式 在Source Group1中单击右键,将新建的c文件添加到工程中。
在添加好的C源文件中单击右键,选择“Insert #include ’<REGSND1.H>’,这样我 们可以使用芯片内部寄存器。
21
USB海量存储设备(U盘)基本知识-2
通用海量存储设备(General Mass Storage Device)是随机存取、基于块/扇区存 储的设备。它只能存储和取回来自CPU的数据。Mass Storage设备可以使用两种 传输方式来实现与主机的通信。Control/Bulk/Interrupt即CBI方式或Bulk_Only方 式。 我们主要介绍Bulk_Only(批量传输)模式的Mass Storage设备的描述符。 设备描述符、配置描述符、接口描述符、端点描述符和字符串描述符。 Bulk_Only传输协议见“协议资料\文件系统及Mass Storage有关资料 \usbmassbulk_10.pdf”文件 设备插入到USB接口后,USB即对设备进行搜索,并且要求设备提供相应的描述 符。在USB Host得到上述描述符后,对设备重新设置地址,并完成对设备的配 置。通过描述符提供的信息,识别出Bulk_Only的Mass Storage设备,然后进入 Bulk_Only传输方式。USB与设备间的所有数据均通过Bulk_In和Bulk_Out来传输。 在Bulk_Only方式下,有三种类型的数据在USB设备之间传送,即CBW、CSW和普 通数据。CBW(Command Block Wrapper)是从USB Host发送到设备的命令;CSW (Command Status Wrapper)是设备向USB Host传输的反映当前命令执行状态 的数据。传输过程遵循SCSI指令集协议。