1、基于STM32的硬件开发平台关键词: ARM、单片机、硬件、原理图、MDK第一章第一章 绪论绪论MCU的发展趋势以及平台的设计目的的发展趋势以及平台的设计目的随着现代电子设计的进步,MCU的发展也同样经历了一系列的过程。从最开始的51单片机一统天下逐渐发展到现今百家争鸣的局面。在低端8位机市场,51单片机仍牢牢地把握着市场;而在中端16位单片机市场,AVR、Freescale等一系列厂商也在各自努力发展;在高端32位市场,由三星S3C2410,2440为代表的ARM芯片一枝独秀。但是随着技术的发展和人们对工作和消费的需求。对MCU提出的要求越来越高。现如今能够大规模占有市场的芯片往往都具有如下
2、特点: 1 功能强大,外设丰富,兼容性高 2 良好的功耗控制,优秀的电源管理能力 3 低廉的成本随着国内近些年电子设计的高速发展,以及大众对高性能电子产品的需求增大,我们势必要使用更多的更好的芯片进行设计和开发。现今最热门的电子应用包括了汽车电子、工业控制、医疗机械等传统方向;同时也包含了智能手机,GPS导航,电子书以及MID等一系列的新兴的消费产品。在市面上这些高端的应用几乎都被各大国外企业所垄断,开发民族电子产品是发展中国电子的根本。所以选择一款好的芯片就能够使复杂的开发流程简化,从而达到事半功倍的效果。 本设计主要使用的开发工具 1:ALTIUM DESIGNER(DXP)Protel
3、DXP 简介 Altium公司作为EDA设计领域内的领先公司之一,在原来Protel 99SE的基础上,应用最先进的软件设计方法,率先推出了一款基于Windows2000和Windows XP操作系统的EDA设计软件Protel DXP。Protel DXP在前版本的基础上增加了许多新的功能。新的可定制设计环境功能包括双显示器支持,可固定、浮动以及弹出面板,强大的过滤和对象定位功能及增强的用户界面等。Protel DXP是第一个将所有设计工具集于一身的板级设计系统,电子设计者从最初的项目模块规划到最终形成生产数据都可以按照自己的设计方式实现。Protel DXP运行在优化的设计浏览器平台上,并
4、且具备当今所有先进的设计特点,能够处理各种复杂的PCB设计过程。通过设计输入仿真、PCB绘制编辑、拓扑自动布线、信号完整性分析和设计输出等技术融合,Protel DXP提供了全面的设计解决方案。2:REALVIEW MDK RealView MDK 简介 RealView MDK开发工具源自德国Keil公司,被全球超过10万的嵌入式开发工程师验证和使用,是ARM公司目前最新推出的针对各种嵌入式处理器的软件开发工具。RealView MDK集成了业内最领先的技术,包括uVision3集成开发环境与 RealView编译器。支持ARM7、ARM9和最新的Cortex-M3核处理器,可以自动配置启动
5、代码,集成Flash烧写模块,强大的Simulation设备模拟,性能分析等功能,与ARM之前的工具包ADS等相比,RealView编译器的最新版本可将性能改善提高超过20 。第二章第二章 STM32处理器简介处理器简介 ARM Cortex-M3(STM32)处理器 简介 Cortex-M3处理器是一个低功耗的处理器,具有门数少, 中断延迟小, 调试容易等特点。它是为功耗和价格敏感的应用领域而专门设计而同时又具有较高性能的处理器。应用范围可从低端微控制器到复杂SoC。Cortex-M3处理器使用了ARM v7-M体系结构,是一个可综合的、高度可配置的处理器。它包含了一个高效的哈佛结构三级流水
6、线,可提供1.25DMIPS/MHz的性能。在一个具有32个物理中断的标准处理器实现上(0.13um Metro 50MHz),达到了突出的0.06mW/MHz能效比。为降低器件成本,Cortex-M3处理器采用了与系统部件紧耦合的实现方法,来缩小芯片面积,其内核面积比现有的三级流水线内核缩小了30%。Cortex-M3处理器实现了Thumb-2指令集架构,具有很高的代码密度,可降低存储器需求,并能达到非常接近32位ARM指令集的性能。处理器组件 Cortex-M3处理器内部主要包括处理器内部主要包括 有以下部件有以下部件 处理器内核 (CM3Core) 与处理器核紧密结合的嵌套向量中断控制器
7、 (NVIC) 存储器保护单元 (MPU) 总线接口 (BUS Matrix ) 调试接口 (JATG)第三章第三章 STM32硬件平台的搭建硬件平台的搭建STM32硬件平台核心板的基本结构 STM32硬件平台基板的基本结构包括如下模块硬件平台基板的基本结构包括如下模块 数码管接口 led灯接口 矩阵键盘接口 SD 接口 CAN总线接口 MAX232 接UART接口 USB接口 扬声器接口 电源供电模块 复位和滤波模块 JATG调试接口 PCB的设计 PCB的设计主要来源于对原理图的转换和生成。只要建立了正确的原理图,通过生成元器件就可以将原理图上的元件都导入到PCB当中。然后就需要进行各个器
8、件的排布和连线。通过对规则进行详细的设计后,在进行布线,然后在检测其布线的合理性,并对其一一纠正。整体原理图和生成的PCB板图如下 :原理图PCB图 本实验板可以完成的实验有如下: 1:led流水灯实验 2:数码管显示实验 3:矩阵键盘实验 4:外部中断实验 5:RTC实时时钟实验(通过数码管体现) 6:串口通信实验 7:USB传输实验 8:CAN总线实验 9:蜂鸣器实验 10:SD卡存储实验 11:液晶屏拓展实验 12:本实验板将所有的I/O接口都引出,方便进行拓展实验 13:UC/OS2操作系统移植第四章第四章 STM32软件平台的应用软件平台的应用Keil的软件开发周期 使用Keil来开
9、发嵌入式软件,开发周期和其他的平台软件开发周期是类似。大致有以下几个步骤: 1. 创建一个工程,选择一块目标芯片,并且做一些必要的工程配置。 2. 编写C或者汇编源文件。 3. 编译应用程序。 4. 修改源程序中的错误。 5. 联机调试。 下面结构图完整描述了Keil开发软件的整个过程。uVision3 集成开发环境 uVision3 IDE是一款集编辑,编译和项目管理于一身的基于窗口的软件开发环境。uVision3集成了C语言编译器,宏编译,链接/定位,以及HEX文件产生器。 uVision3具有如下特性: 功能齐全的源代码编辑器 用于配置开发工具的设备库 用于创建工程和维护工程的项目管理器
10、 所有的工具配置都采用对话框进行 集成了源码级的仿真调试器,包括高速CPU和外设模拟器 用于往Flash ROM下载应用程序的Flash编程工具 完备的开发工具帮助文档,设备数据表和用户使用向导 uVision3具有良好的界面风格,下图是一个典型的调试时的窗口ULINK USB-JTAG接口适配器平台展示流水灯实验时钟实验展示结束语结束语 在这次毕业设计中我学到了许多东西。即无论要做什么事情,不到最后关头请不要轻言放弃。只有全心全意的将其当做自己的事业去完成。你一定会取得成绩的。对我来说,在这次设计中遇到的困难有很多很多。但是我在余秋菊老师的关怀和鼓励下以及实验室毕老师等的全力支持下还有同学们的帮助下终于顺利完成了设计。这是我大学生涯的最后一个设计,我会好好的记住它,珍惜它。让它成为我学生时代的完美结束,同时也成为我职业生涯的精彩开端。 致谢致谢 感谢评委组老师的提问与评价。本课题的研究探讨以及论文撰写以及修改经过了数次的修改。一直都是在余老师的细心指导下进行的。可以说其中的每个环节都倾注了老师的智慧和心血。尤其是老师在设计方向上的把关以及全力支持表示真挚的感谢。