ARM Cortex-M3微控制器原理与应用
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.1 ARM Cortex系列微处理器简介

ARM是32位嵌入式微处理器的行业领先提供商,它已推出各种各样基于通用架构的处理器,这些处理器具有行业领先的高性能,而且系统成本也有所降低。与业界最广泛的体系(拥有超过750个可提供芯片、工具和软件的合作伙伴)相结合,已推出的一系列20多种处理器可以解决所有应用难题。迄今为止,ARM已生产超过200亿个处理器,每天的销量超过1000万,是真正意义上的数字世界的架构(the Architecture for the Digital World)。

ARM公司的经典处理器ARM11、ARM9和ARM7处理器系列在全球范围内被广泛授权,为众多应用领域提供性价比高的解决方案。在ARM11之后人们期待ARM公司会延续此前的命名方法推出更高性能的ARM12、ARM13等系列处理器,可是ARM公司一改常态,推出了全新的ARMv7架构的ARM Cortex系列微处理器,在这个版本中,内核架构首次从单一款式变成3种款式:Cortex-A系列、Cortex-R系列和Cortex-M系列。ARM公司微处理器的架构如图1-1所示。

图1-1 ARM公司微处理器的架构图

1.1.1 Cortex-A系列

Cortex-A系列面向复杂的尖端应用程序,用于运行开放式的复杂操作系统,在MMU(内存管理单元)、用于多媒体应用程序的可选NEON处理单元以及支持半精度、单精度和双精度运算的高级硬件浮点单元的基础上实现了虚拟内存系统架构,支持传统的ARM、Thumb指令集和新增的高性能紧凑型Thumb-2指令集,强调高性能与合理的功耗,存储器管理支持虚拟地址。它适用于高端消费电子设备、网络设备、移动Internet设备和企业市场。高性能的Cortex-A15、可伸缩的Cortex-A9、经过市场验证的Cortex-A8处理器和高效的Cortex-A5处理器均共享同一体系结构,具有完整的应用兼容性。

1.1.2 Cortex-R系列

Cortex-R系列是针对实时系统的嵌入式处理器。在MPU(内存保护单元)的基础上实现了受保护内存系统架构,主要着重于在各种功耗敏感型应用中提供具有高确定性的实时行为。Cortex-R处理器通常执行实时操作系统(RTOS)和用户开发的应用程序代码,因此只需内存保护单元MPU,而不需要应用程序处理器中提供的MMU,适用于高性能实时控制系统。Cortex-R处理器是为要求严格的实时解决方案设计的,通常用于ASIC、ASSP和MCU片上系统应用,支持ARM、Thumb和Thumb-2指令集,强调实时性,存储器管理只支持物理地址。目前此系列包含3个成员:Cortex-R4、Cortex-R5和Cortex-R7,以下是Cortex-R所特别针对的市场:智能手机、硬盘驱动器、网络和打印机、机顶盒、数字电视、媒体播放器、相机以及医疗行业、工业、汽车行业的可靠系统的嵌入式微处理器等。

1.1.3 Cortex-M系列

Cortex-M系列是针对价格敏感应用领域的嵌入式处理器,为成本控制和微控制器应用提供优化,其特性见表1-1。Cortex-M系列只支持Thumb-2指令集,具有存储器保护单元MPU和嵌套中断向量控制器NVIC,可快速进行中断处理,强调操作的确定性以及性能、功耗和价格的平衡性。Cortex-M系列应用于深度嵌入的单片机风格的系统中,其为面向传统单片机的应用而量身定制。在这些应用中,尤其是对于实时控制系统,低成本、低功耗、极速中断反应及高处理效率都是至关重要的。

表1-1 Cortex-M系列处理器的特性

Cortex-M系列可针对成本和功耗敏感的MCU以及终端应用的混合信号设备进行优化,适用于高确定性的场合以及最少门数的成本敏感型设备。每个Cortex-M系列处理器都有特定的优点,但都受一些基本技术的支持,这些技术使Cortex-M处理器能胜任多种嵌入式应用,如智能测量、人机接口设备、汽车和工业控制系统、大型家用电器、消费性产品和医疗器械等。

Cortex-M系列微处理器目前包含4个成员:Cortex-M0(M0+)、Cortex-M1、Cortex-M3和Cortex-M4,如图1-2所示。Cortex-M0和Cortex-M1处理器属于ARMv6-M架构,其中Cortex-M1处理器是第一个专为FPGA中的编程实现设计的ARM处理器。Cortex-M3和Cortex-M4属于真正的ARMv7-M架构,采用哈佛总线结构,具有高效的数字信号处理能力,同时具备低功耗、低成本,同时具备易于使用的优点。

图1-2 Cortex-M系列微处理器

ARM Cortex-M处理器是全球微控制器标准,已许可给40个以上的ARM合作伙伴,包括NXP Semiconductors、STMicroelectronics、Texas Instruments和Toshiba等领先供应商,如图1-3所示。使用标准处理器使ARM合作伙伴可以创建具有一致体系结构的设备,同时使它们可以专注于创建优秀的设备实现。

图1-3 部分Cortex-M系列微处理器授权厂商

1.1.4 经典ARM处理器的Cortex替代方案

经典ARM处理器由3个处理器系列组成,包括ARM11、ARM9和ARM7处理器系列。这些处理器在全球范围内仍被广泛授权于众多应用领域,为当今众多应用领域提供性价比高的解决方案。

经典ARM处理器3个处理器系列,共包含9个处理器,这些处理器是:

· ARM7系列:ARM7TDMI-S和ARM7EJ-S处理器;

· ARM9系列:ARM926EJ-S、ARM946E-S和ARM968E-S处理器;

· ARM11系列:ARM1136J(F)-S、ARM1156T2(F)-S、ARM1176JZ(F)-S和ARM11MPCore处理器。

Cortex系列属于ARMv7架构,这是ARM公司最新的指令集架构,针对3个经典ARM系列处理器都有相应的替代方案,详见表1-2。

表1-2 经典ARM处理器的Cortex替代方案