ARM单片机的U盘文件管理(软件)开题报告
2020-04-15 17:45:36
1. 研究目的与意义(文献综述包含参考文献)
一、目前技术简介
USB盘,简称U盘,另作优盘,是U盘的谐音。属于移动存储设备,用于备份数据,方便携带。U盘是闪存的一种,因此也叫闪盘。特点是小巧便与携带、存储容量大、价格便宜。
一般的U盘容量有64M、128M、256M、512M、1G、2G、4G等,价格上以最常见的1G为例,35元左右就能买到。当前U盘容量有了很大程度地提高,如:4G、16G的U盘。它携带方便,我们可以把它挂在胸前、吊在钥匙串上、甚至放进钱包里。怒蛙网络策划机构认为,U盘其实就是一个移动的硬盘,但科学技术永远是为人类的方便服务的,设计者将庞大的硬盘缩小到小小的一块,更加利于人类的携带和应用,从这方面讲,科技方便人类生活一点也不错。
在USB规范中,将其分为5个部分,分别是控制器、控制器驱动程序、USB芯片驱动程序、USB设备以及针对不同设备的客户端设备驱动程序。
控制器(Host Controller):这是一个物理存在的芯片,它主要负责执行由控制器驱动程序发出的命令。目前控制器几乎全部被集成到了主板南桥芯片之中,无需用户单独购买。
控制器驱动程序(Host Controller Driver):在USB与控制器之间建立通信链路。
USB芯片驱动程序(USB Chip Driver):提供对USB的支持。
USB设备(USB Device):与PC相连接的USB外设,包括USB集线器和设备。前者可以连接其他的USB设备,而后者是用来完成特定功能的具体设备。
客户端设备驱动程序(Client Driver):用来驱动USB设备的驱动程序,通常由USB设备制造商或操作系统提供。
本课题想设计出一个直接利用ARM单片机读取U盘文件的模块。
二、单片机的介绍及选择
AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。
AT89S52具有以下标准功能:8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
AT89S52有6个中断源:两个外部中断(INT0和INT1),三个定时中断(定时器0、1、2)和一个串行中断。每个中断源都可以通过置位或清除特殊寄存器IE 中的相关中断允许控制位分别使得中断源有效或无效。IE还包括一个中断允许总控制位EA,它能一次禁止所有中断。IE.6位是不可用的。对于AT89S52,IE.5位也是不能用的。用户软件不应给这些位写1。它们为AT89系列新产品预留。定时器2可以被寄存器T2CON中的TF2和EXF2的或逻辑触发。程序进入中断服务后,这些标志位都可以由硬件清0。实际上,中断服务程序必须判定是否是TF2 或EXF2激活中断,标志位也必须由软件清0。
定时器0和定时器1标志位TF0和TF1在计数溢出的那个周期的S5P2被置位。它们的值一直到下一个周期被电路捕捉下来。然而,定时器2 的标志位TF2在计数溢出的那个周期的S2P2被置位,在同一个周期被电路捕捉下来。
三、ADS软件
ADS1.2 ADS是ARM公司的集成开发环境软件,他的功能非常强大。他的前身是SDT,SDT是ARM公司几年前的开发环境软件,目前SDT早已经不再升级。ADS包括了四个模块分别是:SIMULATOR;C 编译器;实时调试器;应用函数库。ADS的编译器调试器较SDT都有了非常大的改观, ADS1.2提供完整的WINDOWS界面开发环境。C编译器效率极高,支持c 以及c ,使工程师可以很方便的使用C语言进行开发。提供软件模拟仿真功能,使没有Emulators的学习者也能够熟悉ARM的指令系统。配合FFT-ICE使用,ADS1.2提供强大的实时调试跟踪功能,片内运行情况尽在掌握。ADS1.2需要硬件支持才能发挥强大功能。目前支持的硬件调试器有Multi-ICE以及兼容Multi-ICE的调试工具如FFT-ICE。而简易下载电缆不能支持ADS1.2
ADS由命令行开发工具,ARM实时库,GUI开发环境(Code Warrior和AXD),适用程序和支持软件组成。有了这些部件,用户就可以为ARM系列的RISC处理器编写和调试自己的开发应用程序了。
预留扩展接口 |
USB主控制器 |
单片机系统 |
外部RAM |
键盘 |
LCD |
图1. 总体设计框架图
四、小结
本课题旨在通过ARM单片机实现对U盘的文件管理。总体设计框图如图1所示。本课题的主要任务为利用ARM集中控制系统的硬件平台,设计相应的软件。建立基于单片机的嵌入式USB主机系统,实现USB协议中的Mass Storage类协议和精简的FAT文件系统,能够对U盘中的文件数据进行读取,完成相应的文件操作等各种功能。实现便携式,摆脱PC机对USB设备的控制,无需PC主机即可对USB设备进行读写操作,具有广阔的应用前景。程序主要采用C语言编写,因此它可以很方便地移植到其它处理器中。在设计和前期的准备工作中首先要熟悉ARM单片机原理,在熟悉了硬件结构和弄清了软件实现功能的基础上,对单片机的各个功能进行熟悉和运用。利用ADS1.2 软件开发平台对ARM的功能实现进行编程练习。利用ARM单片机实现信号选择和读取。
参考文献
[1] 靳达.单片机应用系统开发实例导航[M].北京:人民邮电出版社有线电视技术,2011(10):37~39.
[2] 迟荣强. 单片机原理及接口技术[M] . 北京: 高等教育出版,2009: 24- 63.
[3] 徐玮. C51 单片机高效入门[M]. 北京: 机械工业出版社,2007: 234- 257.
[4] 杨恒.ARM嵌入式系统设计及实践[M].西安:西安电子科技大学出版社,2005.
[5] 贾智平,张瑞华.嵌入式系统原理与接口技术[M].北京:清华大学出版社,2005.
[6] 刘洪梅,薛永毅. 微型计算机接口技术[M].北京:清华大学出版社,2002.
[7] 王成儒.USB 2.0原理与工程开发[M].北京:国防工业出版社,2004.1
[8] 伊勇,王洪成.单片机开发环境uVision2使用指南及USB固件编程与调试[M]. 北京:北京航空航天大学出版社,2004.11
[9] 李群芳 张士军编.单片微型计算机与接口技术(第2版)[M].西安:电子工业出版社,2005.1
[10] 郭文彬 孙智权等. 基于NiosⅡ的usb接口模块设计[J].微计算机信息,2006,10-2
[11] BBF TR-135, Data Model for a TR-069-Enabled STB,Broadband Forum, Dec. 2007; www.broadband-forum.org/technical/trlist.php.
2. 研究的基本内容、问题解决措施及方案
一、本课题要研究或解决的问题:
1.熟悉软件开发环境,基本操作和使用方法;
2.能够正确接收遥控器发来的控制命令;
3.能够将该命令传送到控制中心;
4.控制中心能够根据接收到得命令进行对应的操作。
本课题的主要难点:
1.红外的解码和识别;
2.从三路信号中对其中两路的选择;
3.由三路信号决定继电器的通断;
二、拟采用的研究途径:
首先,熟悉Keil uVision2开发环境。可通过例程增加对工作环境的了解。
其次,参与电视机机顶盒集中控制系统的设计,对51单片机所用接口的功能有一定的了解,熟悉红外编码和解码的原理和方法。
再次,相关函数的编写与调试。包括LCD显示函数,红外码识别函数,信号的识别判断及选择函数等。整个程序的设计流程图如图2所示。
最后,程序的整合调试以及整个功能的实现。
开始 |
检测三路遥控信号
|
选择继电器的通断
|
解码数据的红外发送 |
有效红外遥控信号解码 |
图2.程序设计流程图