第2章 Kinetis微控制器概述与K60硬件最小系统Word格式文档下载.docx

上传人:b****1 文档编号:3671952 上传时间:2023-05-02 格式:DOCX 页数:30 大小:3.40MB
下载 相关 举报
第2章 Kinetis微控制器概述与K60硬件最小系统Word格式文档下载.docx_第1页
第1页 / 共30页
第2章 Kinetis微控制器概述与K60硬件最小系统Word格式文档下载.docx_第2页
第2页 / 共30页
第2章 Kinetis微控制器概述与K60硬件最小系统Word格式文档下载.docx_第3页
第3页 / 共30页
第2章 Kinetis微控制器概述与K60硬件最小系统Word格式文档下载.docx_第4页
第4页 / 共30页
第2章 Kinetis微控制器概述与K60硬件最小系统Word格式文档下载.docx_第5页
第5页 / 共30页
第2章 Kinetis微控制器概述与K60硬件最小系统Word格式文档下载.docx_第6页
第6页 / 共30页
第2章 Kinetis微控制器概述与K60硬件最小系统Word格式文档下载.docx_第7页
第7页 / 共30页
第2章 Kinetis微控制器概述与K60硬件最小系统Word格式文档下载.docx_第8页
第8页 / 共30页
第2章 Kinetis微控制器概述与K60硬件最小系统Word格式文档下载.docx_第9页
第9页 / 共30页
第2章 Kinetis微控制器概述与K60硬件最小系统Word格式文档下载.docx_第10页
第10页 / 共30页
第2章 Kinetis微控制器概述与K60硬件最小系统Word格式文档下载.docx_第11页
第11页 / 共30页
第2章 Kinetis微控制器概述与K60硬件最小系统Word格式文档下载.docx_第12页
第12页 / 共30页
第2章 Kinetis微控制器概述与K60硬件最小系统Word格式文档下载.docx_第13页
第13页 / 共30页
第2章 Kinetis微控制器概述与K60硬件最小系统Word格式文档下载.docx_第14页
第14页 / 共30页
第2章 Kinetis微控制器概述与K60硬件最小系统Word格式文档下载.docx_第15页
第15页 / 共30页
第2章 Kinetis微控制器概述与K60硬件最小系统Word格式文档下载.docx_第16页
第16页 / 共30页
第2章 Kinetis微控制器概述与K60硬件最小系统Word格式文档下载.docx_第17页
第17页 / 共30页
第2章 Kinetis微控制器概述与K60硬件最小系统Word格式文档下载.docx_第18页
第18页 / 共30页
第2章 Kinetis微控制器概述与K60硬件最小系统Word格式文档下载.docx_第19页
第19页 / 共30页
第2章 Kinetis微控制器概述与K60硬件最小系统Word格式文档下载.docx_第20页
第20页 / 共30页
亲,该文档总共30页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

第2章 Kinetis微控制器概述与K60硬件最小系统Word格式文档下载.docx

《第2章 Kinetis微控制器概述与K60硬件最小系统Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《第2章 Kinetis微控制器概述与K60硬件最小系统Word格式文档下载.docx(30页珍藏版)》请在冰点文库上搜索。

第2章 Kinetis微控制器概述与K60硬件最小系统Word格式文档下载.docx

(9)理解第一个带有中断过程的C语言工程结构,理解主循环与中断两条程序执行路线各自的作用。

(10)根据自己的相关知识基础与项目的实际需求,决定是否采用嵌入式(实时)操作系统。

至此,以上学习过程已经覆盖了学习一个新型MCU硬件设计与软件编程的基本要素。

完成

了以上学习步骤,就完成了“基本入门”过程。

随后,在此框架下,结合嵌入式构件方法,逐模块地学习就方便了。

本章给出上述过程的

(1)〜(4)步,第3章给出上述过程的(5)〜(8)步。

这两章完成“基本入门”的前8步。

“基木入门”的第9步(第一个中断例程)将在第4章阐述。

这样做只是为了规范编程,符合嵌入式软件工程的基本耍求,提高硬件及底层驱动软件的可复用与可移植性。

至于上述过程的第(10)步,将在《嵌入式实时操作系统MQX应用开发技术》一书中阐述。

2.2ARM背景知识简介

2.2.1ARM简介

本书使的Kinetis微控制器的内核为ARMCortex-M4。

ARMCortex-M4完美地融合了高效的信号处理能力以及ARMCortex-M系列处理器的诸多无可比拟的优势,包括低功耗、低成本和易于使用,旨在满足那些新兴的、灵活多变的解决方案的需求。

为了了解ARMCortex-M4的来龙去脉,木节将简要介绍ARM的背景知识。

1.ARM发展史

ARM公司于1990年11月成立于英国,原名为AdvancedRISCMachine有限公司,是苹果电脑、Acorn电脑集团和VLSITechnology的合资企业。

Acorn曾推出过世界首个商用单芯片精简指令集计算机(ReducedInstructionSetComputer,RISC)处理器,而苹果电脑当时希望将RISC技术应用于自身系统,ARM的微处理器新标准由此应运而生。

ARM成功地研制了首个低成本RISC架构,迅速在市场上崭露头角。

与此同时,RISC结构的竞争对手也都致力于提高各自的产品性能并研发高端工作站处理器的RISC结构。

ARM公司是世界领先的半导体知识产权供应商,其提供的产品堪称数字电子产品的核心,并为当今世界上四分之一的电子产品提供技术基础,被半导体及电子业界评为过去30年全球最有影响力的10家公司之一。

1991年ARM公司推出了首个嵌入式RISC核心——ARM6™系列处理器,不久VLSITechnology公司率先获得授权,一年后夏普和GECPlessey也成为授权用户,1993年德州仪器和CirrusLogic等公司亦得到了授权协议。

从此ARM的知识产权产品和授权用户急剧扩大。

1993年NipponInvestmentandFinance(NIF)成为ARM股东后,ARM开始向全球拓展,分别在亚洲、美国和欧洲设立了办事处。

1998年4月ARM公司在伦敦证券交易所和纳斯达克交易所上市。

现在,ARM芯片的出货量每年的增量均在20亿片以上。

与其他大多数的半导体公司不同,ARM公司从不制造和销售具体的处理器芯片,而是把处理器的设计授权给相关的商务合作伙伴,让他们根据自己的强项设计具体的芯片。

更重要的是ARM公司开创了电子新纪元:

采用ARM技术的微处理器遍及各类电子产品,在汽车、消费、娱乐、成像、工业控制、网络、存储、安保和无线等市场中,其技术几乎无处不在。

2.ARM架构的演进

ARM的设计历史起源是Acorn电脑公司(AcornComputersLtd.)于1983年开始的开发计划。

该团队在RogerWilson和SteveFurber等人的带领下,着手开发一种新架构,类似高端的MOSTechnology6502处理器。

设计团队在1985年时开发出ARM1Sample版,而首颗“真正”的产能型ARM2于次年量产。

ARM2具有32位的数据总线、26位的寻址空间,并提供64MB的寻址范围和16个32位的寄存器。

ARM2可能是全世界最简单实用的32位微处理器,仅使用了30000只晶体管。

之所以精简的原因在于它不含微码,而与现今大多数的CPU不同,它不含任何高速缓存。

这个精简的特色使其只需消耗很少的电能,却能发挥比Intel80286更好的效能。

后继的处理器ARM3加入了4KB的高速缓存,能发挥更佳的效能。

1991年,ARM技术首次发布,然后苹果电脑使用ARM6架构的ARM610当做其AppleNewtonPDA的核心。

1994年,Acorn使用ARM610作为其RISCPC内的CPU。

随着ARM2到ARM6的技术逐步发展,内核部分却大多维持一样的大小。

ARM2有30000只晶体管,ARM6比ARM2仅增加5000只晶体管。

主要概念是以原始设计制造商(OriginalDesignManufacture,ODM)的方式,使ARM核心能搭配一些选配的模块而制成一颗完整的CPU,而且可在现有的晶圆制造厂里制作,并以较低成本获得较高效能。

随着技术的不断发展,ARM公司不断推陈出新,研发出较高性能的ARMv7架构。

要说明的是,架构版本号和处理器名字屮的数字并不是一码事。

比如,ARM7TDMI是基于ARMv4T架构的(T示支持Thumb指令)。

ARMv7架构采用Thumb-2技术,是在ARM的Thumb代码压缩技术的基础上发展起来的,并且完整地保持了对现存ARM解决方案的代码兼容性。

Thumb-2技术比纯32位代码少使用31%的内存,减小了系统开销,同时能够提供比已有的基于Thumb技术的解决方案高出38%的性能。

ARMv7架构还采用了NEON技术,将DSP和媒体处理能力提高了近4倍,并支持改良的浮点运算,满足了下一代3D图形、游戏物理应用以及传统嵌入式控制应用的需求。

此外,在该版本中,内核架构首次从单一序列变成三种序列。

ARM架构发展版本有关资料见网上光盘“...\WYH-K60-BookA-CD(V1.0)\分章阅读资料\Ch02-DQC\ARM架构的版本.pdf”。

系列A(ARMv7-A):

设计用于高性能的“开发应用平台”——越来越接近电脑。

该序列处理器为需要运行复杂应用程序的“应用处理器”,支持大型嵌入式操作系统,如Andriod、Symbian(用于诺基亚等手机)、Linux以及微软的WindowsCE等。

系列R(ARMV7-R):

用于高端的嵌入式系统,尤其是那些带有实时要求的——既要快又要实时。

该序列处理器为硬实时且高性能的处理器。

目标是高端实时市场。

像高档轿车的组件、大型发电机控制器、机器手臂控制器等,它们使用的处理器不但要很好很强大,还要极其可靠,对事件的反应也要极其敏捷。

系列M(ARMv7-M):

用于深度嵌入的、单片机风格的系统中——本书的主角。

该序列处理器是为电子系统智能化领域而量身定制的(微控制器领域)。

在这些应用中,尤其是对于实时控制系统,低成本、低功耗、极速中断反应以及高处理效率都是至关重要的。

Cortex系列是v7架构的第一次亮相。

其中Cortex-M4就是按序列M设计的。

3.ARM处理器命名方法的演变

以前,ARM使用一种基于数字的命名法。

在20世纪90年代,还曾在数字后面添加字母后缀,用来进一步明细该处理器的特性。

就拿ARM7TDMI来说,T代表Thumb指令集,D代表支持JTAG调试,M意指快速乘法器,I则对应一个嵌入式ICE模块。

后來,这4项基本功能成了所有后续产品的标配,于是就不再使用这4个后缀(相当于缺省了)。

但是新的后缀不断加入,包括定义存储器接口的,定义高速缓存的,以及定义“紧耦合存储器(TCM)”的,等等,于是形成了一套新的命名法,这套命名法沿用较久。

到了ARMv7架构时代,ARM改革了这一冗长的、需要“解码”的数字命名法,转而启用了另一种看起来比较整齐的命名法。

比如,ARMv7架构的A、R、M三个系列都以Cortex作为主名,分别命名为ARMCortex-A、ARMCortex-R、ARMCortex-M。

这样精简的命名规则,不仅便于记忆,也避免了新手对架构号和系列号的混淆。

例如,ARM7TDMI并不是一款ARMv7架构的产品,而是属于v4T架构的产品。

4.ARM的专有技术

1)Thumb、Thumb-2及ThumbEE

Thumb是ARM处理器的一种16位指令模式。

Thumb指令集可以看做ARM指令压缩形式的子集,它是为减小代码量而提出的。

Thumb指令体系并不完整,只支持通用功能,有时(如进入异常)仍需要使用ARM的32位指令。

Thumb指令格式和使用方式与ARM指令集类似,使用并不频繁。

  Thumb-2是16位Thumb指令集的扩充,以额外的32位指令让Thumb指令集的使用更加广泛。

Thumb-2技术首现于ARM1156,并于2003年发布。

Thumb-2的预期目标是要达到近乎Thumb的编码长度,也能表现出接近32位ARM指令集效能。

Thumb-2从ARM和Thumb指令集中派生出了多种指令,包含位段操作、分支跳转和条件执行等功能。

  ThumbEE也就是所谓的Thumb-2EE。

Thumb-2EE是专为Limbo、Java、C#、Perl和Python等语言设计的,并能让即时编译器能够输出更小的编译代码却不会影响到效能。

Thumb-2EE在Thumb-2的基础上进行一些扩充,使得指令集能特别适用于执行阶段(Runtime)的代码生成(如即时编译)。

业界称ThumbEE为JazelleRCT技术。

ThumbEE于2005年发布,首现于ARMCortex-A8处理器。

2)Jazelle

  Jazelle是与ARM体系结构的一种相关技术,用于在处理器指令层次对Java加速。

ARM还开发出一项技术,称为JazelleDBX(DirectBytecodeexecution,直接字节码执行),允许它们在某些架构的硬件上加速执行Javabytecode。

它能在现存的ARM与Thumb模式之间交互执行。

首颗具备Jazelle技术的处理器是ARM926EJ-S:

Jazelle以一个英文字母“J”标示于处理器的名称中。

该处理器让手机制造商能够加速执行JavaME的游戏和应用程序,由此促进了Jazelle技术不断地发展。

3)高级SIMD(NEON)

高级单指令多重数据(SingleInstructionMultipleData,SIMD)延伸集,业界称为NEON技术,它是一个结合64位和128位的SIMD指令集,其针对多媒体和信号处理程序具备标准化加速的能力。

NEON可以在10MHz的CPU上执行MP3音效解码,且可以执行13MHz频率以下的全球移动通信系统(GlobalSystemofMobilecommunication,GSM)自适应多速率(AdaptiveMulti-Rate,AMR)语音编码。

NEON具有一组广泛的指令集、各自的寄存器阵列以及独立执行的硬件。

NEON支持8位、16位、32位和64位的整数及单精度浮点数据,并以SIMD的方式运算,执行图形和游戏处理中关于语音/视频的部分。

SIMD在向量超级处理机中是个决定性的要素,它同时具备多项处理功能。

在NEON技术中,SIMD最高可同时支持到16个运算。

4)向量浮点

向量浮点(VectorFloating-point,VFP)是在协处理器中针对ARM架构的衍生技术,它提供低成本的单精度和双精度浮点运算能力,并完全相容于ANSI/IEEEStd754-1985二进制浮点运算标准。

VFP提供大多数适用于浮点运算的应用,如PDA、智能手机、语音压缩与解压、3D图像以及数码音效、打印机、机顶盒和汽车应用等。

VFP架构也支持SIMD并行化的短向量指令执行,这在图像和信号处理等应用上,非常有助于降低编码大小及增加输出效率。

在基于ARM架构的处理器中,或SIMD的协处理器,还包括FPA、FPE和iwMMXt等。

它们提供类似VFP的功能,但在操作码层面上来说并不具有相容性。

5)安全性扩充(TrustZone)

  TrustZone™技术出现在ARMv6KZ以及后续的应用核心架构中,它提供了一种低成本的方案,针对片上系统(SystemonChip,SoC)内加入专属的安全核心,由硬件建构的存取控制方式支持两个虚拟的处理器。

这个方式可使应用程序核心能够在两个状态之间切换。

在此架构下可以避免信息从较可信的核心领域泄漏至较不安全的领域。

这种内核领域之间的切换通常与处理器其他功能完全无关,因此各个领域在共用一个内核的基础上各自独立运作。

内存和外部设备也可因此得知目前在内核中运作的是什么领域,并能针对这个方式来提供对装置的机密和编码进行存取控制。

典型的TrustZone技术应用是要能在一个缺乏安全性的环境下完整地执行操作系统,并在可信的环境下能有更少的安全性的编码。

2.2.2Cortex-M4处理器特性简介

  ARMCortex™-M4处理器是由ARM专门开发的最新嵌入式处理器,在M3的基础上强化了运算能力,新加了浮点、DSP、并行计算等,用以满足需要有效且易于使用的控制和信号处理功能混合的数字信号控制市场。

其高效的信号处理功能与Cortex-M处理器系列的低功耗、低成木和易于使用的优点的组合,旨在满足专门面向电动机控制、汽车、电源管理、嵌入式音频和工业自动化市场的新兴类別的灵活解决方案。

1.高能效数字信号控制

Cortex-M4提供了无可比拟的功能,以将32位控制与领先的数字信号处理技术集成来满足需要很高能效级别的市场。

Cortex-M4处理器采用一个扩展的单时钟周期乘法累加(MAC)单元、优化的单指令多数据(SIMD)指令、饱和运算指令和一个可选的单精度浮点单元(FPU)。

这些功能以表现ARMCortex-M系列处理器特征的创新技术为基础。

包括

•RISC处理器内核,高性能32位CPU、具有确定性的运算、低延迟3阶段管道,可达

1.25DMIPS/MHz;

•Thumb-2指令集,16/32位指令的最佳混合、小于8位设备3倍的代码大小、对性能没有负面影响,提供最佳的代码密度;

  •低功耗模式,集成的睡眠状态支持、多电源域、基于架构的软件控制;

•嵌套矢量中断控制器(NVIC),低延迟、低抖动中断响应、不需要汇编编程、以纯C语言编写的中断服务例程,能完成出色的中断处理;

•工具和RTOS支持,广泛的第三方工具支持、Cortex微控制器软件接口标准(CMSIS)、最大限度地增加软件成果重用;

  •CoreSight调试和跟踪,JTAG或2针串行线调试(SWD)连接、支持多处理器、支持实时跟踪。

  此外,该处理器还提供了一个可选的内存保护单元(MPU),提供低成本的调试/追踪功能和集成的休眠状态,以增加灵活性。

嵌入式开发者将得以快速设计并推出令人瞩目的终端产品,具备最多的功能以及最低的功耗和尺寸。

2.易于使用的技术

  Cortex-M4通过一系列出色的软件工具和Cortex微控制器软件接口标准(CMSIS)使信号处理算法开发变得十分容易。

CMSIS是Cortex-M处理器系列的与供应商无关的硬件抽象层。

使用CMSIS,可以为接口外设、实时操作系统和中间件实现一致且简单的处理器软件接口,从而简化软件的重用。

使用CMS1S可缩短新微控制器开发人员的学习过程,从而缩短新产品的上市时间。

  ARM目前正在对CMSIS进行扩展,将加入支持Cortex-M4扩展指令集的C编译器;

同时,ARM也在开发一个优化库,方便MCU用户开发信号处理程序。

该优化库将包含数字滤波算法和其他基本功能,如数学计算、三角计算和控制功能。

数字滤波算法也将可以与滤波器设计工具和设计工具包(如MATLAB和LabVIEW)配套使用。

此外,ARM还开发了一系列Cortex-M4硬件和软件培训课程,以保证授权者能有效地将Cortex-M4处理器融入其设计,并以最低的市场风险和最短的上市时间实现最优的系统性能。

2.3Kinetis系列微控制器概述及型号标识

2.3.1Kinetis系列微控制器概述

  Kinetis系列微控制器是飞思卡尔公司于2010年下半年推出的,是业内首款基于ARMCortex-M4内核的微控制器。

Kinetis是一个新造词,具有“快速”寓意。

Kinetis系列微控制器采用了飞思卡尔90nm薄膜存储器(ThinFilmStorage,TFS)闪存技术和Flex存储器功能(可配置的内嵌EEPROM),支持超过1000万次的檫写,融合了最新的低功耗革新技术,具有高性能、高精度的混合信号处理能力、宽广的互连性、人机接口和安全外设。

  Kinetis系列微控制器的第一阶段产品由五个微控制器系列组成,分别为K10、K20、K30、K40、K60系列(如图2-1所示)。

具体芯片型号超过两百个品种,在引脚、外设和软件上可兼容。

每个系列提供了不同的性能、存储器配置和外设特性。

通过通用外设、存储器映射和封装的一致性来实现系列内和各系列间的便捷移植。

图2-1Kinetis系列微控制器的第一阶段产品

  由图2-1可见,所有的Kinetis系列均具有丰富的混合信号控制外设,提供多种闪存容量和输入/输出引脚数量。

从应用的角度而言,K20比K10、K40比K30除了增加4个USB引脚并减少了4个数字I/O引脚的区别之外,儿乎没有任何的区别;

K30比K10、K40比K20除了增加了段式码LCD的区别,也只具有最小的布板改动;

K60比K20系列除了增加以太网引脚之外,而无任何改动。

  鉴于本教材以K60子系列为蓝本展开讲述,特在表2-1之中以文字形式总结了K60子系列MCU的共性,图2-2给出了Kinetis系列的特殊功能,供读者了解。

表2-1K60子系列MCU的共性

 

图2-2Kinetis系列微控制器特性

目前,Kinetis系列的微控制器有K10、K20、K30、K40、K50、K60和K70等几个子系列。

其中K50子系列是专用于医疗器械方而的专用系列,具有独特的应用特性。

2.3.2Kinetis系列微控制器型号标识

  飞思卡尔Kinetis系列MCU的型号众多,但同一子系列的CPU核是相同的,多种型号只是为了适用于不同的场合。

为了方便实际应用时选型或者订购,需要了解飞思卡尔MCU芯片名称的含义。

Kinetis系列芯片命名格式为:

QK##AMFFFRTPPCCN

其中,各字段说明如表2-2所示。

表2-2Kinetis系列芯片命令字段说明

例如,本书使用的芯片为MK60N512VMD100。

2.4K60系列微控制器的存储器映像与编程结构

2010年11月,飞思卡尔开始提供K60的样片,2011年上半年K60批量上市。

MK60N512VMD100属于K60系列的MCU,是Kinetis系列的代表芯片。

本书以该芯片为主要蓝本阐述嵌入式开发所必备的硬件设计、软件设计及相关技术。

2.4.1K60系列MCU性能概述与内部结构简图

K60系列微控制器具有IEEE1588以太网,全速和高速USB2.0On-The-Go带设备充电探测、硬件加密和防窜改探测能力,具有丰富的模拟、通信、定时和控制外设,从100LQFP封装256KB闪存开始可扩展到256MAPBGA1MB闪存。

大闪存的K60系列微控制器还提供可选的单精度浮点单元、NAND闪存控制器和DRAM控制器。

图2-3为K60系列的模块结构框图。

图2-3K60模块结构框图

K60系列微控制器可选的芯片类型有MK60N256VLQ100、MK60X256VLQ100、MK60N512VLQ100、MK60N256VMD100、MK60X256VMD100和MK60N512VMD100。

这些芯片的CPU频率与引脚数都一样,但是在封装、Flash容量、程序空间等方面还是有差别的。

表2-3给出了可选芯片的MCU简要描述,供选型参考之用。

表2-3K60可选择的芯片类型

2.4.2K60系列存储器映像

ARMCortex-M4为32位处理器内核。

内部的数据是32位的,寄存器是32位的,存储器接口也是32位的。

ARMCortex-M4采用哈佛结构,拥有独立的指令总线和数据总线,可以让取指与数据访问并行进行。

这样一来数据访问就不再占用指令总线,从而提升了性能。

为实现这一特性,ARMCortex-M4内部含有好几条总线接口,每条都为自己的应用场合优化过,并且它们可以并行工作。

但是另一方面,指令总线和数据总线共享同一个存储器空间(一个统一的存储器系统)。

表2-4列出了CPU不同频率、不同封装的K60系列微控制器的存储器大小。

表2-4K60系列存储器大小、封装、频率列表

Flex存储器是飞思卡尔的新一代存储器技术,为需要片上EEPROM、额外程序或数据的开发者提供了多样化的解决方案。

Flex存储器和SRAM—样简单快速,当用做高耐久性擦写EEPROM时,在完成程序运行和擦除功能时不需要用户或者系统干预。

同时,Flex存储器能提供平行于主程序闪存的额外闪存(FlexNVM)用于数据或者程序存储。

Flex存储器使用户能完全配置FlexNVM和FlexRAM模块,从而为应用提供最均衡的存储器资源。

用户可配置的参数包括:

EEPROM大小、檫写次数、写大小和额外程序/数据闪存的大小。

FlexNVM可被用做EEPROM配置的一部分、额外的程序或者数据闪存,也可以一部分用做闪存同时另一部分被用做增强型EEPROM备份。

FlexRAM能被用做EEPROM配置的一部分或者额外的系统RAM。

Kinetis系列的MCU内部有32根地址线,可寻址4GB空间,地址范围为0x0000_0000〜OxFFFF_FFFF。

K60系列微控制器的存储器空间地址映像如表2-5所示。

从学习及应用角度,读者主要了解程序及变量等资源存放情况。

表2-5K60系列的存储器空间地址映像

    中

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2