基于RISC架构的微控制器
MAXQ2000微控制器是Maxino/Dallas公司推出的一款基于RISC架构的16位微控制器。理解这款微控制器的一些结构特点,可以使我们更好地理解RISC结构微控制器的最新发展趋势和技术特点,从而为我们构建新型系统提供更加理想的选择。MAXQ2000的指令读取和执行操作在一个周期内完成,而没有流水线操作,这是因为指令既包含了操作码也包括了数据。字母Q表示这款微控制器的一个重要特点便是"安静",MAXQ架构通过智能化的时钟管理来降低噪声.这意味着MAXQ只向那些需要使用时钟的电路提供时钟,这样既降低了功耗,又为模拟电路的整合提供了一个最安静的环境。它包含液晶显示(LCD)接口,最多可以驱动100或132段(两种版本)。这款微控制器的功耗指标和MIPS/MHz代码效率方面都在同类微控制器当中遥遥领先.下面介绍MAXQ2000的主要特性。
指令集由23条对寄存器和存储器进行操作的固定长度的16位指令组成。指令集高度正交,允许算术和逻辑操作使用累加器和任何寄存器。特殊功能寄存器控制外围设备,并细分成寄存器模块。产品系列的结构是模块化的,因此新的器件和模块能够继续使用为现有产品开发的代码.该结构是基于传送触发的,这意味着对某一寄存器位置的读或写会产生额外作用。这些额外作用构成了由汇编器定义的高层操作码的基础,如ADDC、OR和JUMP等。
MAXQ2000具有32KB闪存、lKBRAM、4KB的内部ROM存储器块和16级堆栈存储器。存储器缺省配置成Harvard结构,程序和数据存储器具有独立的地址空间,还可以使能为Vorl Ncumann存储器配置模式,即将固定用途ROM、代码和数据存储器放置到一个连续的存储器映射中.这适合于需要进行动态程序修改或特殊存储器配置的应用。闪存程序存储器可以通过16字密钥进行密码保护,从而防止未授权者访问程序存储器。同时,还具有3个数据指针,支持高效快速地处理数据.
固定用途ROM由可以在应用软件中进行调用的子程序组成(缺省起始地址为8000H).包括:通过JTAG或UART接口进行在系统编程(引导加载程序);在电路调试程序;测试程序(内部存储器测试,存储器加载等);用于在应用闪存编程和快速查找表的用户可调用程序。无论以任何方式复位,都从固定用途ROM开始运行程序。R。M软件决定程序立刻跳转到8000H位置、用户应用代码的起始位置、还是上面提到的某特定用途子程序.用户可访问固定用途ROM中的程序,并且可以由应用软件调用这些程序。
器件的大多数功能是由寄存器组来控制的。这些寄存器为存储器操作提供工作空间,并配置和寻址器件上的外设寄存器。寄存器分成两大类:系统寄存器和外设寄存器.公共寄存器组也称作系统寄存器,包括ALU、累加器寄存器、数据指针、堆栈指针等。外设寄存器定义了可能包含在基于MAXQ架构的不同产品中的附加功能.
MAXQ2000同样提供了先进的电源管理功能,根据系统不同时刻的不同性能需求,可以动态设置处理速度,从而大大降低功耗。通过软件选择分频功能,来选择系统时钟周期是l、2、4或者8个振蔼周期。为进一步降低功耗,还有另外三种低功耗模式,256分频、32 kH。和停机模式。
提供多个中断源,可对内部和外部事件快速响应。MAXQ结构采用了单一中断向量(IV)和单一中断服务程序(ISR)设计。必须在用户中断程序内清除中断标志,以避免由同一中断源引发重复中断。当检测到使能的中断时,软件跳转到一个用户可编程的中断向量位置。
一旦软件控制权转移到ISR,可以使用中断识别寄存器(IIR)来判定中断源是系统寄存器还是外设寄存器。然后,就可以查询特定模块以确定具体中断源,并采取相应的操作。由于中断源是由用户软件识别的,因此用户可以为每种应用确立一个独特的中断优先级方案。
集成的硬件乘法器模块执行高速乘法、乘方和累加操作,并能在一个周期内完成一个16位×16位乘法和累加操作。硬件乘法器由2个]6位并行加载操作数寄存器(MA,MB)和1个累加器组成。加载寄存器能够自动启动操作,从而节省了重复计算的时间。硬件乘法器的累加功能是数字滤波、信号处理以及PII)控制系统中的一个基奉单元,这使得MAXQ2000可以胜任需要大量数学运算的应用。