微控制器Mcore及其应用
发布时间:2007/8/24 0:00:00 访问次数:1283
1 引言
Mcore是Motorola公司推出的32位RISC微控制器。面向高性能,低成本,嵌入式控制的应用。其设计中强调了低功耗设计,采用全静态设计,进行动态的功率控制,低电压工作,因此非常适合于移动通信终端或其他便携式设备的设计使用。目前 Motorola推出的Mcore的产品主要有MMC2001,MMC2003,MMC2107,MMC2114,MMC2113 几个系列。
2 Mcore的主要特点
下面我们以MMC2001为例来说明Mcore的主要特点[1]。MMC2001的结构框图如图1所示。MMC2001的主要特点如下:
● 整形处理器:32-bit RISC结构;
● 片上256K字节ROM、32K字节SRAM;
● 中断控制:支持32个中断源;
● 外部接口模型:20条地址线、16条数据线、定时/复位模块、外部晶振、TOD(Time-of-day)定时器、看门狗定时器等模块;
● 异步接收发送模块:两个独立的UART通道、异步操作、红外接口支持;
● 16位通用 I/O 口,支持键盘扫描和编码;8位通用 I/O 口,支持边沿和电平敏感的外部中断;
● 脉宽调制信号模块:6个独立的 PWM 通道、可编程的周期、可编程的占空比;
● 串行接口;
● OnCE(On-Chip Emulation)调试接口。
3 工作原理
3.1 内部寄存器资源及程序运行模式
Mcore中有丰富的寄存器资源:16个通用寄存器用于源操作数和指令结果;程序指针寄存器存放当前执行的指令的地址;16个备用寄存器的功能同通用寄存器,当出现中断需要处理时,将使用此备用寄存器;13个辅助寄存器,如处理器状态寄存器(PSR)、中断向量基地址寄存器(VBR)等。
Mcore有两种程序运行模式:用户模式和管理模式。当处于不同的运行模式时可访问的资源是不一样的。用户模式只能访问16个通用寄存器、程序指针寄存器和处理器状态寄存器中的C比特(C比特是PSR中唯一的用户可以访问的比特)。管理模式可以访问16个备用寄存器,程序指针寄存器,以及13个辅助寄存器。Mcore大部分指令可以在两种模式下执行,但一些重要的指令如stop、doze、wait等,则只能在管理模式下使用。这两种模式是可以相互转换的,程序处于什么运行模式由PSR寄存器中的S比特决定。当出现某些情况时,比如中断,将引起S比特置位,使处理器从用户模式转移到管理模式。当中断返回后,S比特被清除,处理器将从管理模式转移到用户模式。
3.2 Mcore的指令
Mcore的指令可以分为三种类型:流程控制指令、存储器访问指令和寄存器到寄存器操作指令。指令集包含标准的算术和逻辑指令、比特操作指令、字节扩展指令、数据移动指令、控制流程指令等等。指令为定长的16比特指令,整个指令集包含90多条指令。Mcore的指令执行为四级流水:取指令、指令译码、执行/寄存器访问和回写。绝大部分指令在一个时钟周期内完成。
3.3 Mcore的中断处理
Mcore遵循如下的中断处理过程:(1)备份PSR 和PC寄存器,对于快速中断,它们备份于FPSR和FPC寄存器,对于其他中断,它们备份于EPSR 和EPC寄存器;(2)处理器置PSR(S位)为高,使处理器转换到管理模式。(3)确定中断的中断向量号,中断向量号用于计算中断向量相对于中断向量表起始地址的偏移量;(4)处理器根据中断向量表基地址寄存器(VBR)和由中断向量号计算得到的偏移量决定中断服务程序的第一条指令的地址并把控制权交给中断服务程序;(5)执行中断服务程序;(6)中断返回;Mcore可以带32 个中断,允许同时发生多个中断。中断处理优先级可被分为5组,按照其优先级顺序决定处理的先后顺序。
3.4 Mcore的数据传输机制
Mcore支持对存储器进行字(32位)、半字(16位)和字节(8位)三种访问方式。由TSIZ[1:0]信号来指示访问方式,如表1所示。当数据在内部寄存器和外部总线之间传输时,内部寄存器通过内部总线和数据复接器与外部总线相连。数据复接器对于不同的地址和传输方式的组合在内部总线和外部总线之间建立不同的复接类型。
3.5 Mcore硬件加速接口
硬件加速接口用来实现处理器和完成某种特殊功能的模块的紧密耦合。功能模块可以是一个DSP算术运算单元,也可以是实现了特定算法(例如高速乘法)的模块。数据在处理器和模块之间的传输有多种传输方式,有专门的指令用于硬件加速接口操作。
3.6 Mcore JTAG测试接入端口和OnCE端口
Mcore有两个JTAG测试接入端口控制器:顶层控制器和底层OnCE控制器。在上电时,仅有顶层的测试接入端口控制器可见,用户可以根据需要使能底层OnCE控制器。
1 引言
Mcore是Motorola公司推出的32位RISC微控制器。面向高性能,低成本,嵌入式控制的应用。其设计中强调了低功耗设计,采用全静态设计,进行动态的功率控制,低电压工作,因此非常适合于移动通信终端或其他便携式设备的设计使用。目前 Motorola推出的Mcore的产品主要有MMC2001,MMC2003,MMC2107,MMC2114,MMC2113 几个系列。
2 Mcore的主要特点
下面我们以MMC2001为例来说明Mcore的主要特点[1]。MMC2001的结构框图如图1所示。MMC2001的主要特点如下:
● 整形处理器:32-bit RISC结构;
● 片上256K字节ROM、32K字节SRAM;
● 中断控制:支持32个中断源;
● 外部接口模型:20条地址线、16条数据线、定时/复位模块、外部晶振、TOD(Time-of-day)定时器、看门狗定时器等模块;
● 异步接收发送模块:两个独立的UART通道、异步操作、红外接口支持;
● 16位通用 I/O 口,支持键盘扫描和编码;8位通用 I/O 口,支持边沿和电平敏感的外部中断;
● 脉宽调制信号模块:6个独立的 PWM 通道、可编程的周期、可编程的占空比;
● 串行接口;
● OnCE(On-Chip Emulation)调试接口。
3 工作原理
3.1 内部寄存器资源及程序运行模式
Mcore中有丰富的寄存器资源:16个通用寄存器用于源操作数和指令结果;程序指针寄存器存放当前执行的指令的地址;16个备用寄存器的功能同通用寄存器,当出现中断需要处理时,将使用此备用寄存器;13个辅助寄存器,如处理器状态寄存器(PSR)、中断向量基地址寄存器(VBR)等。
Mcore有两种程序运行模式:用户模式和管理模式。当处于不同的运行模式时可访问的资源是不一样的。用户模式只能访问16个通用寄存器、程序指针寄存器和处理器状态寄存器中的C比特(C比特是PSR中唯一的用户可以访问的比特)。管理模式可以访问16个备用寄存器,程序指针寄存器,以及13个辅助寄存器。Mcore大部分指令可以在两种模式下执行,但一些重要的指令如stop、doze、wait等,则只能在管理模式下使用。这两种模式是可以相互转换的,程序处于什么运行模式由PSR寄存器中的S比特决定。当出现某些情况时,比如中断,将引起S比特置位,使处理器从用户模式转移到管理模式。当中断返回后,S比特被清除,处理器将从管理模式转移到用户模式。
3.2 Mcore的指令
Mcore的指令可以分为三种类型:流程控制指令、存储器访问指令和寄存器到寄存器操作指令。指令集包含标准的算术和逻辑指令、比特操作指令、字节扩展指令、数据移动指令、控制流程指令等等。指令为定长的16比特指令,整个指令集包含90多条指令。Mcore的指令执行为四级流水:取指令、指令译码、执行/寄存器访问和回写。绝大部分指令在一个时钟周期内完成。
3.3 Mcore的中断处理
Mcore遵循如下的中断处理过程:(1)备份PSR 和PC寄存器,对于快速中断,它们备份于FPSR和FPC寄存器,对于其他中断,它们备份于EPSR 和EPC寄存器;(2)处理器置PSR(S位)为高,使处理器转换到管理模式。(3)确定中断的中断向量号,中断向量号用于计算中断向量相对于中断向量表起始地址的偏移量;(4)处理器根据中断向量表基地址寄存器(VBR)和由中断向量号计算得到的偏移量决定中断服务程序的第一条指令的地址并把控制权交给中断服务程序;(5)执行中断服务程序;(6)中断返回;Mcore可以带32 个中断,允许同时发生多个中断。中断处理优先级可被分为5组,按照其优先级顺序决定处理的先后顺序。
3.4 Mcore的数据传输机制
Mcore支持对存储器进行字(32位)、半字(16位)和字节(8位)三种访问方式。由TSIZ[1:0]信号来指示访问方式,如表1所示。当数据在内部寄存器和外部总线之间传输时,内部寄存器通过内部总线和数据复接器与外部总线相连。数据复接器对于不同的地址和传输方式的组合在内部总线和外部总线之间建立不同的复接类型。
3.5 Mcore硬件加速接口
硬件加速接口用来实现处理器和完成某种特殊功能的模块的紧密耦合。功能模块可以是一个DSP算术运算单元,也可以是实现了特定算法(例如高速乘法)的模块。数据在处理器和模块之间的传输有多种传输方式,有专门的指令用于硬件加速接口操作。
3.6 Mcore JTAG测试接入端口和OnCE端口
Mcore有两个JTAG测试接入端口控制器:顶层控制器和底层OnCE控制器。在上电时,仅有顶层的测试接入端口控制器可见,用户可以根据需要使能底层OnCE控制器。
上一篇:万用表应用技巧