本科毕业设计论文全文CortexM3时钟系统设计.docx
《本科毕业设计论文全文CortexM3时钟系统设计.docx》由会员分享,可在线阅读,更多相关《本科毕业设计论文全文CortexM3时钟系统设计.docx(53页珍藏版)》请在冰点文库上搜索。
本科毕业设计论文全文CortexM3时钟系统设计
西安邮电大学
毕业设计(论文)
题目:
Cortex-M3时钟系统设计
学院:
电子工程学院
系部:
电子信息工程系
专业:
电子信息工程
班级:
电子1004
学生姓名:
田秧
导师姓名:
王文强职称:
讲师
起止时间:
2014年3月10日——2014年6月15日
毕业设计(论文)诚信声明书
本人声明:
本人所提交的毕业论文《Cortex-M3时钟系统设计》是本人在指导教师指导下独立研究、写作的成果,论文中所引用他人的文献、数据、图件、资料均已明确标注;对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式注明并表示感谢。
本人完全清楚本声明的法律后果,申请学位论文和资料若有不实之处,本人愿承担相应的法律责任。
论文作者签名:
时间:
年月日
指导教师签名:
时间:
年月日
西安邮电大学
毕业设计(论文)任务书
学生姓名
田秧
指导教师
王文强
职称
讲师
学院
电子工程学院
系部
电子信息工程系
专业
电子信息工程
题目
Cortex-M3时钟系统设计
任务与要求
1.学习和掌握LPC1752的基本应用方法;
2.掌握时钟系统的功能和使用方法;
3.设计绘制电路原理图以及初步的PCB板;
4.搭建基本的硬件电路;
5.掌握查阅科技文献和资料的方法;
6.学会撰写科技论文。
开始日期
2014年3月10日
完成日期
2014年6月15日
主管院长
(签字)
2014
年
月
日
西安邮电大学
毕业设计(论文)工作计划
学生姓名
田秧
指导教师
王文强
职称
讲师
学院
电子工程学院
系部
电子信息工程系
专业
电子信息工程
题目
Cortex-M3时钟系统设计
工作进程
起止时间工作内容
2014.03.10————2014.03.16查阅相关资料,翻译英文文献,撰写开题报告。
2014.03.17————2014.04.06整理资料,初步设计电路原理图;编写程序,
进行分模块测试。
2014.04.07————2014.04.13修改完善电路原理图,绘制PCB。
2014.04.14————2014.04.27制作PCB板或者购买万能板,购买元器件并焊接。
2014.04.28————2014.05.18编写程序,电路整体调试,完善电路。
2014.05.19————2014.06.01整理相关资料,撰写论文,准备答辩相关工作。
2014.06.02————2014.06.15论文修改打印,毕业设计答辩。
主要参考书目(资料):
[1]周立功等编著.深入浅出Cortex-M3--LPC1752.广州:
广州致远电子股份有限公
司,2011.
[2]周立功等编著.项目驱动——单片机应用设计基础.北京:
北京航天航空大学出
版社,2011.
[3]刘波文等编著.ARMCortex-M3应用开发实例详解.北京:
电子工业出版社,2011.
[4]欧阳禹等编著.ARM7嵌入式系统实训教程.北京:
清华大学出版社,2008.
主要仪器设备及材料:
·示波器;
·PC个人计算机;
·编程器;
·万能电路板。
论文(设计)过程中教师的指导安排:
每周几乎都会有三到四天在实验室进行毕业设计,在这期间,只要老师在实
验室,任何时间都可以与老师交流以及请教老师问题。
对计划的说明:
指导教师签字:
2014年3月5日
西安邮电大学
毕业设计(论文)开题报告
课题名称:
Cortex-M3时钟系统设计
电子工程学院电子信息工程系(部)
电子1004班
学生姓名:
田秧学号:
05101133
指导教师:
王文强
报告日期:
2014年3月10日
1.本课题所涉及的问题及应用现状综述
Cortex是一种ARM核,它的设计是基于ARM系统的v7版本。
ARM公司力求把Cortex-M3打造成一个可以向专业嵌入式市场供应低成本、低功耗的芯片。
ARMCortex-M3处理器的优点是:
低成本、引脚数少、低功耗以及极高的计算和中断响应能力。
相比于同等价格的ARM7内核,Cortex-M3使用的是先进的ARMv7架构,其特点如下:
拥有3级流水线与分支预测能力、中断延迟周期短、中断处理能力先进、具有睡眠模式、处理速度快、性能高、功耗低以及价格低廉。
这些特点都促使它成功地冲击了低成本市场。
LPC1752通常应用于集成度高以及功耗低的嵌入式场合,它是一种基于Cortex-M3内核的微控制器。
其CPU工作频率高达100MHz,并且具备三级流水线、Harvard架构、单独的本地命令与DB、用于外部设备的第三条总线和能够随机跳转的内部取指单位。
2.本课题需要重点研究的关键问题、解决的思路及实现预期目标的可行性分析
关键问题:
掌握LPC1752的基本应用方法;掌握系统时钟的功能和使用方法;熟悉Keil仿真软件的使用;熟悉C语言,并可以进行编程。
解决思路:
(1)画出LPC1752内部时钟框图,分析每一部分的功能和作用,重点把握PLL的设置以及控制寄存器、配置寄存器和状态寄存器的配置;
(2)利用Keil编译调试程序,等程序编译成功后,生成hex文件,将程序烧写进实验板,并使其结果显示在示波器上。
预期目标的可行性分析:
Cortex-M3处理器通常使用的的运行方法为纯Thumb-2指令,这促使它可以适应一些只对几K存储有需求的市场,因为这个高性能的32位ARM内核可以完成代码保存密度是8位以及16位的处理器级别。
伴随着代码密度的增加,其内核便成为ARM中最小的内核,该内核的重点门数仅为33K,即便是在包括了必要的外围设备后也只有60K。
这使得包装更加紧凑,成本也更加经济实惠。
同时,它通过独特地管理寄存器以及利用硬件处理中断和异常的方式,提供性能卓越的中断能力,极大地提高了中断切换和中断响应的速率。
综上所述:
可行性较高。
3.完成本课题的工作方案
(1)从OSC振荡器、RTC振荡器和IRC振荡器中选择其一作为系统时钟源;
(2)若PLL1使能且连接,则由PLL1为USB提供一个固定的48MHZ时钟;若PLL1保持禁止,则对PLL0进行设置,通过升频或分频以提供USB、CPU以及外设所使用的实际时钟;
(3)通过CPU时钟配置寄存器、USB时钟配置寄存器以及外设时钟选择寄存器实现分频并提供给个子系统使用;
(4)将时钟输出引脚连接到示波器,观察各个子系统的输出频率。
4.指导教师审阅意见
指导教师(签字):
2014年3月12日
西安邮电大学毕业设计(论文)成绩评定表
学生姓名
田秧
性别
女
学号
05101133
专业班级
电子1004
课题名称
Cortex-M3时钟系统设计
课题
类型
实际应用
难度
较难
毕业设计(论文)时间
2014.3.10——2014.6.15
指导教师
王文强(职称讲师)
课题任务
完成情况
论文(千字);设计、计算说明书(千字);图纸(张);
其它(含附件):
指导教师意见
分项得分:
开题调研论证分;课题质量(论文内容)分;创新分;
论文撰写(规范)分;学习态度分;外文翻译分
指导教师审阅成绩:
指导教师(签字):
年 月 日
评阅教师意见
分项得分:
选题分;开题调研论证分;课题质量(论文内容)分;创新分;
论文撰写(规范)分;外文翻译分
评阅成绩:
评阅教师(签字):
年 月 日
验收小组意见
分项得分:
准备情况分;毕业设计(论文)质量分;(操作)回答问题分
验收成绩:
验收教师(组长)(签字):
年 月 日
答辩小组意见
分项得分:
准备情况分;陈述情况分;回答问题分;仪表分
答辩成绩:
答辩小组组长(签字):
年月日
成绩计算方法
指导教师成绩20(%)评阅成绩30(%)验收成绩20(%)答辩成绩30(%)
学生实得成绩
(百分制)
指导教师成绩评阅成绩验收成绩
答辩成绩总评
答辩委员会意见
毕业论文(设计)总评成绩(等级):
学院答辩委员会主任(签字):
学院(签章)
年月日
备
注
摘要
2004年年末,基于ARM的Cortex-M3处理器正式问世,它是一款ARMv7-M处理器,具备以下特点:
含有32位内核、功耗低、中断延时较小、门的数量较少以及方便调试等特点。
Cortex-M3主要是为了对功耗和和成本敏感的嵌入式应用体系(例如汽车车身系统、微控制器、无线网络以及工业控制系统等)实现高性能而设计的。
LPC1752是基于Cortex-M3内核,且应用场合是需要集成度较高以及功耗较低的嵌入式体系的一种微控制器。
LPC1752CPU最高工作频率可达100MHz,同时,它还具备三级流水线与Harvard架构、单独的本地指令与DB和被用来作外围设备的第三条总线。
本次设计是把Cortex-M3-LPC1752作为核心,LPC1752内部时钟系统包括的主要内容有:
OSC振荡器、IRC振荡器以及RTC振荡器三种振荡器的选择;控制寄存器、配置寄存器、状态寄存器以及馈送寄存器等多个寄存器的描述和配置;多路选择输入时钟源;PLL工作原理与使用。
本次设计主要是使用Keil编写调试以及程序,然后再使用FlashMagic在实验板里把程序烧进去,最后使之显示在示波器上以验证时钟系统的部分功能。
关键词:
Cortex-M3-LPC1752;时钟系统;PLL工作原理与使用;分频器
Abstract
Theendof2004,basedontheARMCortex-M3processorofficiallycomeout,itisaARMv7-Mprocessors,havethefollowingcharacteristics:
contains32core,lowpowerconsumption,smallinterruptlatency,andfewerdoorsconvenientdebuggingfeatures.Cortex-M3mainlyforpowerconsumptionandcost-sensitiveembeddedapplicationsandsystems(suchasautomotivebodysystems,microcontrollers,wirelessnetworksandindustrialcontrolsystems,etc.)toachievehighperformanceanddesign.
LPC1752isbasedontheCortex-M3core,andapplicationsneedahighdegreeofintegrationofamicro-controllerandlow-powerembeddedsystems.LPC1752CPUmaximumoperatingfrequencyupto100MHz,whileitalsohasthreelineswithaHarvardarchitecturewithseparatelocalinstructionDBandperipheralsbeingusedforthethirdbus.
ThisdesignistheCortex-M3-LPC1752asthecore,themaincontentLPC1752hasaninternalclocksystemincludes:
OSCoscillator,IRCoscillatorandRTCoscillatorthreekindsoscillator;controlregisters,configurationregisters,statusregistersandFeedregisterandotherregistersdescriptionandconfiguration;multiplexerinputclocksource;PLLworksanduse.ThisdesignistheuseofKeilandwriteanddebugprograms,andthenuseFlashMagicintheexperimentalboardinburnedintotheprocedure,thefinalresultofthedisplayontheoscilloscopetoverifysomefunctionsoftheclocksystem.
Keywords:
Cortex-M3-LPC1752;clocksystem;PLLworksanduse;divider
引言
ARMCortex-M3是一种选用先进的ARM7v结构的刚问世的ARM嵌入式内核。
相比于同等价格的ARM7内核,它有如下的特点:
拥有3级流水线与分支预测能力、中断延迟周期短、中断处理能力先进、具有睡眠模式、处理速度快、性能高、功耗低以及价格低廉。
这些特点都促使它成功地冲击了低成本市场。
LPC1752是基于Cortex-M3内核的一个微控制器,通常应用的场合是:
集成度高以及功耗较低的嵌入式场合。
LPC1752CPU的最高工作频率可达100MHz,它不仅具备三级流水线与哈佛架构,而且它还含有单独的本地指令与数据总线以及用于外设的第三总线,与此同时,它也包括一个能支持随机跳转到里面的取指单元。
本次设计是基于LPC1752的Cortex-M3时钟设计。
LPC1752内部时钟系统主要包含以下几个方面:
OSC振荡器、IRC振荡器以及RTC振荡器三种振荡器的选择;控制寄存器、配置寄存器、状态寄存器以及馈送寄存器等多个寄存器的描述和配置;多路选择输入时钟源;PLL工作原理与使用。
时钟系统为系统提供一个基准时钟,然后系统通过PLL的设置以及对寄存器的配置来实现对USB、CPU以及外设时钟的分频。
本次设计具备以下特点:
(1)硬件比较简单,用少量芯片就可完成功能;
(2)系统的控制方式由软件决定,容易修改。
1研究概述
1.1背景
通过嵌入到目标系统的微型计算机嵌入式体系,是一个可以完成自动嵌入目标的计算机。
因为微型计算机满足不了大多数嵌入式目标系统对于规模、价格以及可靠性的要求,这时,嵌入式就应运而生了。
发展初期是把芯片集成到单片机上,接下来,为了达到目标系统的掌控请求,单片机逐渐从单片微型计算机演进到SOC和MCU。
所以,我们这样来定义嵌入式:
“它是一个嵌入目标系统的专用计算机应用体系”。
伴随着互联网与通信时代的出现,嵌入式体系逐渐形成了部分独立的应用程序。
许多产品如洗衣机、电视机、冰箱等,都是很明显地嵌入对象,而MP3、MP4手机等数码产品却不是这样,这正是定义中的“嵌入到目标系统”的含义。
依据嵌入式体系的概念,嵌入式体系具备三个基本的特性:
“嵌入性”、“专用性”以及“计算机”。
“嵌入性”:
指计算机通过嵌入到目标系统中的来达到智能化控制目标体系;
“专用性”:
指的是在符合目标掌控和外界环境的要求下,软件和硬件的可适用性;
“计算机”:
它是用来保障目标系统实现智能化智能控制。
90年代以前,嵌入式体系还是简单且产品生命周期较长的自主研发设备,可在近几
年,它早已发生了翻天覆地的变化:
(1)预计市场翻番的热潮会持续到6~9月;
(2)利用全球更新市场定义的机遇来扩大产品的应用空间;(3)如今,互联网已不单单是一个辅助性的产物,它早已称为社会的需求;(4)以电子技术为基础的产品越来越复杂;(4)把嵌入式系统互相连接会产生新的依附于网络基础设备的应用;(5)依据Moore'sLaw所估计的速率,位处理器的分析技能在不断增长。
1.2发展现状
ARM公司目前陆续开发出众多系列的ARM处理器内核,其中应用较广的包括ARM7、ARM9、ARM10以及ARM11等系列。
ARM处理器架构的历史是:
ARM7(内核是ARM7TDM1)->ARM9(内核是ARM926、946、966)->ARM11(内核是1136、1176、1156T)->Cortex(内核是Cortex-A8/Cortex-R4/Cortex-M3)。
ARMCortex-M3处理器的优点是:
低成本、引脚数少、低功耗以及极高的计算和中断响应能力。
自从2006年诞生以来,美国一家半导体公司的名为LM3S的ARM系列是第一个面向市场的。
目前,恩智浦、意法半导体以及TOSIBA等多家半导体公司也纷纷推出各种的ARMCortex-M3处理器内核。
Cortex-M3处理器通常使用的的运行方法为纯Thumb-2指令,这促使它可以适应一些只对几K存储有需求的市场,因为这个高性能的32位ARM内核可以完成代码保存密度是8位以及16位的处理器级别。
伴随着代码密度的增加,其内核便成为ARM中最小的内核,该内核的重点门数仅为33K,即便是在包括了必要的外围设备后也只有60K。
这使得包装更加紧凑,成本也更加经济实惠。
同时,它通过独特地管理寄存器以及利用硬件处理中断和异常的方式,提供性能卓越的中断能力,极大地提高了中断切换和中断响应的速率。
相比于同等价格的ARM7内核,Cortex-M3使用的是先进的ARMv7架构,其特点如下:
拥有3级流水线与分支预测能力、中断延迟周期短、中断处理能力先进、具有睡眠模式、处理速度快、性能高、功耗低以及价格低廉。
这些特点都促使它成功地冲击了低成本市场。
1.3完成工作
本次设计是以Cortex-M3-LPC1752为核心,LPC1752内部时钟系统包含以下几个方面的内容:
OSC振荡器、IRC振荡器以及RTC振荡器三种振荡器的选择;控制寄存器、配置寄存器、状态寄存器以及馈送寄存器等多个寄存器的描述和配置;多路选择输入时钟源;PLL工作原理与使用。
本次设计主要是使用Keil编写以及调试程序,然后使用FlashMagic往实验板里烧写程序,最后使之显示在示波器上以验证时钟系统的部分功能。
2处理器与芯片信息
2.1Cortex-M3
2.1.1简介
Cortex是一种ARM核,它的设计是基于ARM系统的v7版本。
ARM公司力求把Cortex-M3打造成一个可以向专业嵌入式市场供应低成本、低功耗的芯片。
所以在同等价格与功耗范围内,Cortex-M3处理器具备卓越性能;相比于早先的ARM7,它具备更小的基础内核、更快的运行速度以及更低的价格。
Cortex-M3处理器使用了哈佛架构,它具备独自的I-Code以及D-Code,同时它也具备含分支预测功能的三级流水线,并提供了一个可供选择的存储器保护单元,在需要的情况下可使用外部的cache。
其主要特征如下:
(1)使用Thumb-2指令集,16位指令第一次实现与32位指令并存;
(2)采用哈佛处理器结构,在装载或保存数据的时候可以实行指令取指;(3)带分支预测功能的三级流水线;(4)结构内部含有嵌套向量中断控制器,所以中断进入和退出都是低延迟;(5)使用32位的单周期乘法;(6)可采用硬件的除法;(7)可采用ARMv6非对齐访问;(8)在内核的水准上支持功耗低于0.19mW/MHz的低功耗模式;(9)含有以下优异的系统特性:
支持分组堆栈指针机制、位寻址机制以及fault处理机制。
2.1.2三级流水线
Cortex-M3处理器是利用流水线的方式来加快处理器的指令流速度,这样可以同时进行多个操作,并且让存储器与处理器系统之间的操作更加平滑、连续。
三级流水线框图如图2.1所示,由于流水线是使用三个阶段来完成,所以指令也是分三个阶段来执行的:
(1)取指:
从存储器内部加载一条指令;
(2)译码:
翻译辨识即将被实行的指令;(3)执行:
把指令处理并将其结果返回寄存器。
图2.1ARM7的三级流水线
根据早先的80C51单片机,处理器要实现读取并执行完上一条指令后,才可以开始去处理下一条指令,因此指针老是指向“正在执行”的命令。
这样当Cortex-M3第一个命令“正在执行”时,第二个指令也会同步实现译码以及从存储器中取出第三条命令,总而言之,流水线处理过程中会有三条指令同时存在,只是它们处理阶段不同而已。
接下来,我们利用图2.2来更加形象具体地阐述三级流水线的处理机制。
该图表示处理器在周期3的PC指向。
图2.23级流水线结构的指令执行程序
根据图2.2我们知道:
不管是什么状态下的处理器,指针都不会指向“正在译码”亦或“正在执行”的命令。
而是一直指向“正在取指”的命令。
虽然ARM7同样具备三级流水线,但是因为它不包含分支预测功能,所以需要不断地加载清空流水线,这样大大影响了处理器的运行效率。
这时,Cortex-M3内核添加了一些ARMv7M新指令来促使其内核实现分支预测功能,这样就保证了系统不会清空流水线,同时,极大地提高了指令的执行效率。
2.2芯片信息
2.2.1LPC1752简介
LPC1752通常应用于集成度高以及功耗低的嵌入式场合,它是一种基于Cortex-M3内核的微控制器。
其CPU工作频率高达100MHz,并且具备三级流水线、Harvard架构、单独的本地命令与DB、用于外部设备的第三条总线和能够随机跳转的内部取指单位。
2.2.2特性
(1)Cortex-M3处理器能够支撑包括八个区域的存储保护单位,且能够在高达100MHz的频率下操作,;
(2)ARMCortex-M3内部配置有嵌套向量中断控制器;
(3)多达64KB的片内闪存程序寄存器,具备在应用和系统编程的功能。
加强版的闪存存储加速器与处于中央处理器本地数值/I-Code上的闪存存储器相结合,为系统提供了一个性能较高的CPU访问;
(4)片上16KB的SRAM处于CPU本地数据/指令总线上,能够实行高性能的CPU访问;
(5)位居AHB总线矩阵的8通道的DMA控制器,可以在UART、SSP、AD、定时器以及GPIO等外围设备上使用,同时也可以使用它完成内存到内存的数据传输;
(6)每个AHB主机都是由多层AHB矩阵