基于ARMCPU的大容量存储器的开发和应用.doc
《基于ARMCPU的大容量存储器的开发和应用.doc》由会员分享,可在线阅读,更多相关《基于ARMCPU的大容量存储器的开发和应用.doc(28页珍藏版)》请在沃文网上搜索。
1、 基于ARMCPU的大容量存储器的开发和应用 摘 要 随着信息技术的飞速发展,在各行各业,计算机及其它电子产品发挥着越来越重要的作用,消费类的电子产品也越来越普及,人们对于不同设备的存储容量的要求也逐渐提高,这些需求给数据存储系统的发展带来了更多的机遇和挑战。本文针对这一需求,基于STM32开发板实现了对大容量存储器的读写。本系统包含硬件设计和软件设计两个部分。硬件部分选用的是ALIENTKE MiniSTM32开发板,ALIENTKE MiniSTM32是采用ARM Cortex-M3内核的32位处理器。在此微处理器基础上,软件部分是按照FatFs文件系统,FatFs文件系统提供了底层的磁盘
2、I/O接口函数以及应用程序接口函数,调用这些函数,实现了对硬件系统的初始化、以及SPI方式对SD存储卡进行读写的程序设计。本次课题研究,通过在STM32开发板平台,实现对SD卡的读写,验证该系统具有比较高的可靠性和稳定性,是对大容量存储器开发和应用研究的前奏。SD卡实现大容量存储,其应用领域越来越广泛。本课题通过在ALIENTKE MiniSTM32开发板上实现SD卡的读写,是有实际意义的。关键词:STM32开发板,ARM Cortex-M3,FatFs文件系统,SD卡 目 录第一章 绪论11.1 引言11.2 大容量存储器的发展现状11.3 论文内容安排2第二章 系统总体设计概述32.1 系
3、统硬件需求分析32.1.1 硬件框架图32.1.2 主要的硬件模块包括32.2 系统软件需求分析42.2.1 软件框架图42.2.2 FatFs文件系统函数4第三章 系统硬件设计实现63.1 ALIENTEK MiniSTM32开发板介绍63.1.1 ALIENTEK MiniSTM32开发板实物图63.1.2 ALIENTEK MiniSTM32开发板核心芯片73.1.3 ALIENTEK MiniSTM32开发板的特点73.1.4 ALIENTEK MiniSTM32开发板板载资源73.2 SD卡模块83.2.1 SD卡简介83.2.2 SD卡特性83.2.3 SD卡的引脚93.2.4 S
4、PI模式93.2.5 开发板SD卡接口103.3 液晶模块103.3.1 液晶模块简介103.3.2 TFTLCD液晶模块特点103.3.3 液晶模块原理图113.4 键盘模块11第四章 系统软件设计实现124.1 软件设计总体描述124.1.1 程序框架图124.1.2 程序结构图124.2 FatFs文件系统134.2.1 FatFs简介134.2.2 主要应用层子函数134.2.3 STM32时钟的初始化144.3 主程序设计15第五章 系统操作指南及实物演示175.1 系统操作指南175.2 系统实物演示18第六章 总结与展望226.1 工作总结226.2 工作展望23参考文献24致
5、谢25第一章 绪论1.1 引言很多嵌入式系统都需要大容量存储设备,以存储数据。目前常用的有U盘,FLASH芯片,SD卡等。他们各有优点,综合比较,最适合嵌入式系统的莫过于SD卡了。SD卡作最常见的存储设备,是很多数码设备的存储媒介,比如数码相框、数码相机、MP5等。它不仅容量可以做到很大(32Gb以上),而且支持SPI接口,方便移动,有几种体积的尺寸可供选择(标准的SD卡尺寸,以及TF卡尺寸),能满足不同应用的要求。只需要4个IO口,就可以外扩一个最大达32GB以上的外部存储器,容量选择尺度很大,更换也很方便,而且方便移动,编程也比较简单,是嵌入式系统大容量外部存储器的首选。ALIENTKE
6、MiniSTM32是基于ARM Cortex-M3内核的32位处理器,具有杰出的功耗控制以及众多的外设,最重要的是其性价比,它具有价格低、功能强、使用简单、开发方便等几个很有利的优势。ALIENTKE MiniSTM32开发板就带有SD卡接口,利用STM32自带的SPI接口,最大通信速度可达18Mbps,每秒可传输数据2M字节以上,对于一般应用足够了。有了它,开发板就相当于拥有了一个大容量的外部存储器。结合实际需要和ALIENTKE MiniSTM32开发板的特点,本文提出了基于ALIENTKE MiniSTM32的大容量存储器的开发和引用。1.2 大容量存储器的发展现状在随着信息技术的日益创
7、新,大容量存储器的开发和应用在国内外的发展也非常迅速。在军事、高科技的应用领域,大容量存储器已经广泛应用到航天、航空及军事领域中,速率可达到几百兆波特率以上,在民用领域中,信息存储在计算机所能识别的各种介质中,随之而来的也有相当一些存储介质能够被手机、数码相机等一些常用电子产品所识别,因此信息的数字化是大势所趋。目前, 各国正在积极研制开发大容量存储器。在大容量存储器的研究方面涌现出各种各样的新技术。目前,最引人注目的大容量存储器技术主要有:(1)、全息存储技术:以南开大学光子学中心博士生导师许京军为项目主持人的课题组利用他们在晶体生长方面的优势, 优化改良掺铁铌酸锂晶体,开发出高性能三维全息
8、光存储材料双掺铁铌酸锂晶体。其存储容量将比现有存储器的存储容量高1 000 多倍, 信息转移速率也比现有存储器高几千倍。(2)、电子束存储技术: 普林斯顿大学的研究人员开发了一种新型的CD, 它的容量是目前光盘的800 倍。(3)、大容量非易失性存储技术:采用1T 1C 单元存储器技术, 比传统的2T 2C 单元技术, 其容量加倍。(4)、相变存储技术:相变存储技术与铁氧体存储技术相比, 存储密度更大。(5)、光学只读存储技术。(6)、MCM技术。(7)、GMR 技术:是GMR 磁头使用了磁阻效应更好的材料和多层薄膜结构,可以实现更高的存储密度。虽然这些技术的取得实现了存储器的大容量存储,但是
9、同时也带来了许多问题。比如成本高、体积大、使用不方便、稳定性差、不易携带等等缺点。目前尚在研究阶段,还没有广泛应用,未能形成模块化、标准化的通用产品,从而无法满足用户不断增长的需要。SD卡拥有高存储容量、快速数据传输率、极大的移动灵活性以及很好的安全性。它是一体化固体介质,由于其没有任何移动部分,因而不用担心机械运动的损坏。SD卡的结构不仅能保证数字文件传送的安全性,而且易于重新格式化。正是由于SD拥有这些显著的优点,所以其应用领域越来越广泛。本课题结合这一实际,基于STM32设计并实现了SD卡大容量存储。1.3 论文内容安排第一章 绪论,主要包括三个部分。首先是引言,说明论文的主题和所要研究
10、的方向,然后是课题的研究现状,论述本课题的起因、背景及相关领域简要历史回顾,最后介绍了论文内容安排。第二章 系统总体设计概述,从两个方面来展开,第一部分是系统硬件需求分析,从总体上描述系统硬件的总体结构,以及涉及毕设的主要硬件模块。第二部分是系统软件需求分析,和硬件的结构一样,也是从总体上描述软件设计结构,以及FatFs文件系统的基本函数描述。第三章 系统硬件设计实现,首先介绍ALIENTEK MiniSTM32开发板,这是设计实现的总平台,也是本次设计的核心,从四个方面来介绍开发板,开发板实物图,开发板核心芯片,开发板的特点和开发板板载资源来详细介绍ALIENTEK MiniSTM32开发板
11、。接着是详细讲述与本课题关联的各个模块的内容,例如SD卡模块、液晶模块、键盘模块等。第四章 系统软件设计实现,首先描述了系统软件设计的程序框架图和程序结构图,从总体上把握软件设计的结构。然后阐述了FatFs文件系统的结构和特点,重点介绍了涉及本系统主要的文件系统应用函数,以调用库函数的显示来完成本次毕设的软件设计,还描述了STM32时钟配置函数。最后讲述的主程序是怎么设计的。是以文字的形式来表述,清晰明了。第五章 分两个部分,第一部分是系统操作指南,用流水线的图示来描述系统是如何操作的,和一般电子产品的使用指南类似。第二部分是系统实物演示,以图片的形式展现,更加直观说明本设计系统实现的效果。第
12、六章 总结和展望,回顾了做毕业设计的整个过程,对整个课题的内容以及系统的功能特点进行总结,并对相关问题和未来工作进行展望。第二章 系统总体设计概述本章简要介绍基于ALIENTEK MiniSTM32开发板SD卡读写的硬件总体设计以及相关软件总体设计。2.1 系统硬件需求分析本课题基于ARMCPU的大容量存储器的开发和应用。为了实现存储器的读写操作,基于STM32具有价格低、功能强、使用简单、开发方便等几个很有利的优势,本课题选用了ALIENTEK MiniSTM32开发板。2.1.1 硬件框架图TFTLCD液晶模块(读取的文件显示在液晶上)STM32F103RBT6(ARM开发板)SD卡模块(
13、实现SD卡的读写)按键模块(方便读取文件内容) 图2-12.1.2 主要的硬件模块包括(1)STM32F103RBT6:ALIENTEK MiniSTM32开发板的核心芯片,型号为STM32F103RBT6。该芯片具有20K SRAM、128K FLASH、3个普通的16位定时器、一个16位的高级定时器、2个SPI、2个IIC、3个串口、1个USB、1个CAN、2个12位的ADC、51个通用IO口。(2)SD卡模块:ALIENTKE MiniSTM32开发板就带有SD卡接口,利用STM32自带的SPI接口,最大通信速度可达18Mbps,每秒可传输数据2M字节以上,对于一般应用足够了。(3)液晶
14、模块: ALIENTEK MiniSTM32开发板载有目前比较通用的液晶显示模块接口,还有其比较有特色的兼容性接口,不仅支持2.4、2.8寸的TFTLCD,还支持OLED显示器。本课题使用TFTLCD液晶模块。(4)按键模块:ALIENTEK MiniSTM32开发板上共有四个按键,分别是复位按键、WK_UP按键、两个普通按键。这里复位按键用于复位STM32,还具有复位液晶的功能,WK_UP按键与两个普通按键一起做为普通按键输入使用。2.2 系统软件需求分析FatFS是一个为小型嵌入式系统设计的通用FAT(File Allocation Table)文件系统模块。FatFs 的编写遵循ANSI
15、 C,并且完全与磁盘I/O层分开。因此,它独立(不依赖)于硬件架构。它可以被嵌入到低成本的微控制器中,如AVR, 8051, PIC, ARM, Z80, 68K 等等,而不需要做任何修改。本课题采用FatFs文件系统来实现SD卡的读写。2.2.1 软件框架图Low level 第三款 I/O(SD、ATA、USB、NAND)RTCDisk I/O InterfaceApplication Interface 图2-22.2.2 FatFs文件系统函数在主函数中通过调用应用层函数来实现SD卡读写,但是FatFs模块完全与磁盘I/O层分开,因此需要由底层函数来实现底层物理磁盘的读写与获取当前时间
16、。(1)应用层函数: f_mount - 注册/注销一个工作区域(Work Area) f_open - 打开/创建一个文件f_close - 关闭一个文件 f_read - 读文件f_write - 写文件 f_lseek - 移动文件读/写指针 f_truncate - 截断文件 f_sync - 冲洗缓冲数据 Flush Cached Data f_opendir - 打开一个目录 f_readdir - 读取目录条目 f_getfree - 获取空闲簇 Get Free Clusters f_stat - 获取文件状态 f_mkdir - 创建一个目录 f_unlink - 删除一个文
17、件或目录 f_chmod - 改变属性(Attribute) f_utime - 改变时间戳(Timestamp) f_rename - 重命名/移动一个文件或文件夹 f_mkfs - 在驱动器上创建一个文件系统 f_forward - 直接转移文件数据到一个数据流f_gets - 读一个字符串 f_putc - 写一个字符 f_puts - 写一个字符传 f_printf - 写一个格式化的字符磁盘I/O接口 (2)底层函数disk_initialize - Initialize disk drive 初始化磁盘驱动器 disk_status - Get disk status 获取磁盘状态
18、 disk_read - Read sector(s) 读扇区 disk_write - Write sector(s) 写扇区 disk_ioctl - Control device dependent features 设备相关的控制特性 get_fattime - Get current time 获取当前时间第三章 系统硬件设计实现3.1 ALIENTEK MiniSTM32开发板介绍3.1.1 ALIENTEK MiniSTM32开发板实物图ALIENTEK MiniSTM32开发板是一款迷你型的开发板,小巧而不小气,简约而不简单。 它的外观尺寸只有8cm*10cm大小。开发板实物图
19、如图3-1所示:TFTLCD液晶模块接口主芯片接口SD卡模块按键模块图3-13.1.2 ALIENTEK MiniSTM32开发板核心芯片ALIENTEK MiniSTM32选择的是STM32F103RBT6作为MCU,STM32F103的型号众多,我们选择这款的原因是看重其性价比,作为一款低端开发板,选择STM32F103RBT6是最佳的选择。128K FLASH、20K SRAM、2个SPI、3个串口、1个USB、1个CAN、2个12位的ADC、RTC、51个可用IO脚。STM32F103RBT6原理图如图3-2所示:图3-23.1.3 ALIENTEK MiniSTM32开发板的特点小巧
20、:整个板子尺寸为8cm*10cm*2cm(包括液晶,但不计算铜柱的高度)。灵活:板上除晶振外的所有的IO口全部引出,特别还有GPIOA和GPIOB的IO口是按顺序引出的,可以极大的方便大家扩展及使用,另外板载独特的一键下载功能,避免了频繁设置B0、B1带来的麻烦,直接在电脑上一键下载。资源丰富:板载十多种外设及接口,可以充分挖掘STM32的潜质。3.1.4 ALIENTEK MiniSTM32开发板板载资源MiniSTM32开发板的板载资源是很丰富的CPU:STM32F103RBT6,LQFP64,FLASH:128K,SRAM:20K;1个标准的JTAG/SWD调试下载口1个电源指示灯(蓝色
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
10 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 ARMCPU 容量 存储器 开发 应用
