文章目录
- 一、引言
- 二、概况
- 1.特点
- 2.应用领域
- 三、结构框图
- 1.处理器内核
- 2.嵌套向量中断控制器
- 3.调试子系统
- 4.唤醒中断控制器WIC
- 5.内部总线系统
- 总结
- 参考资料
一、引言
ARM一改其传统的命名法则,以Cortex来为其全新的微处理器系列命名。在这个系列中,核心采用全新的ARMv7架构,引进了许多革命性的突破与创新,并首次由单一款式延伸成3种款式,并各自定义其相对应的架构,分别为CortexA、CortexR、CortexM。
CortexA系列适于高性能的开放应用平台
CortexR系列适于实时信号处理控制系统
CortexM系列则瞄准了对成本和功耗敏感却又有高性能需求的嵌入式应用领域,成为在微控制器、工业控制系统、汽车控制系统及无线网络等各种手持应用系统中的最佳解决方案。
二、概况
Cortex M0是CortexM家族中的微处理器核心,其拥有最低门数、最低功耗以及强悍性能的优异表现。
Cortex-M0处理器是Cortex-M 系列处理器中结构和功能最简单的一个处理器,其性能和特点主要包括:
- 采用32位RISC架构的处理器。
- 采用冯·诺依曼架构,即:指令和数据共享一个总线接口。
- 当使用 ortex-M0处理器的最小配置时,构成该处理器大约只消耗 12,000 个逻辑门资源。
- 该处理器支持绝大部分的16位Thumb-1 指令和某些32位Thumb-2 指令。
- 采用了90nm低功耗制造工艺。当使用Cortex-M0的最小配置时,功耗仅为16uw/MHz。
- 该处理器指令集包含 56 条指令,提供对C语言的友好设计框架 CMSIS。
- 该处理器采用ARMv6-M 架构。
- 该处理器支持一个不可屏蔽中断(NMI)和1~32个物理中断。 提供休眠模式。
1.特点
1)能耗效率
CortexM0的运行效率很高(0.9DMIPS/MHz),能在较少的周期里完成一项任务。这意味着CortexM0可以在大部分的时间里处于休眠状态,消耗很少的能量,具有良好的能耗效率。同样较小的逻辑门数也降低了待机电流。而高效的中断控制器(NVIC)需要很小的中断开销。
2)代码密度
Cortex-M0基于Thumb-2的指令集,比用8位或者16位架构实现的代码还要少,因此用户可以选择具有较小Flash空间的芯片。可以降低系统功耗。
3) 易于使用
Cortex-M0适用于C语言编程,并且被许多编译器支持。可以用C语言直接编程中断例程,而无需使用汇编语言,同时Cortex-M0还被多种开发工具支持,很多开源的嵌入式操作系统同样支持Cortex-M0。
2.应用领域
ARM凭借其作为低能耗技术的领导者和创建超低能耗设备的主要推动者的丰富专业技术,使得Cortex-M0处理器在不到12K门的面积内能耗仅有85微瓦/MHz(0.085毫瓦)。该处理器把ARM的MCU路线图扩展到超低能耗MCU和SoC应用中,如医疗器械、电子测量、照明、智能控制、游戏装置、紧凑型电源、电源和马达控制、精密模拟系统和IEEE 802.15.4(ZigBee)及Z-Wave系统。Cortex-M0处理器还适合拥有诸如智能传感器和调节器的可编程混合信号市场,这些应用在传统上一直要求使用独立的模拟设备和数字设备。
三、结构框图
Cortex-M0 微处理器主要包括:处理器内核、嵌套向量中断控制器(NVIC)、调试子系统、唤醒中断控制器WIC(可选的)、基于CoreSight技术的JTAG或SWD调试接口(可选)、AHB LITE总线接口单元及连接这些单元的内部总线系统构成。Cortex-M0 微处理器通过AMBA高性能总线(AHB-LITE)与外部存储器和外设进行通信。
1.处理器内核
处理器核是 Cortex-M0 最核心的功能部件
- 处理器核包含:寄存器、算术逻辑单元(ALU)、数据通路和控制逻辑;
- 处理器核采用三级流水线结构,指令会经历取指,译码,执行三个步骤完成。
2.嵌套向量中断控制器
用于对管理使能中断并配置中断优先级,并向内核发出中断请求信号。
- NVIC最多可接受32个中断请求信号和一个不可屏蔽中断NMI;
- 中断优先级的判断。
3.调试子系统
- 用于实现对调试控制、程序断点和数据监控点的控制和管理。
- 调试时,让处理器核进入停止状态,在该点对处理器的状态、寄存器值和标志位等进行分析。
- 支持使用外部调试器通过JTAG/串行线调试接口进行调试
4.唤醒中断控制器WIC
是一个可选模块。连接电源管理接口,用于低功耗控制。
- 当微处理器进入待机状态时,可以通过关闭大部分元件,让处理器处于休眠模式。
- WIC可以在NVIC和处理器核不活动时执行中断屏蔽功能,检测到有中断事件发生时,WIC向电源管理器发送上电请求给系统进行上电,使处理器从休眠状态切换到正常的工作状态。
5.内部总线系统
用于将 Cortex-M0 内部各个组件连接起来,同时提供处理器核访问外部存储器和外设的通路。
- 实现内核与各个功能部件之间的连接及数据通路;
- 连接AHB LITE接口单元,提供内核访问外部存储器和外设的通路
总结
作为本专栏的开篇,本文仅简单介绍ARM Cortex-M0的概述以及系统框架介绍,后续文章会进行详细描述和介绍。
参考资料
《ARM Cortex-M0权威指南》