2.4 其他嵌入式单片机简介
除了MCS-51系列的8位单片机外,还有其他公司生产的各类单片机也各有特点,这里做一下简单的介绍,在设计智能仪器时可以根据需要进行选择。
2.4.1 MC9S12系列单片机
MC9S12系列单片机是Motorola公司的高速16位单片机系列,简称S12系列。一般来说,16位单片机的CPU寄存器组中的寄存器都是16位的,数据总线(无论片内数据总线还是扩展片外存储器用的外部数据总线)都应该是16位的,CPU每次对存储器的读/写操作都是16位宽度的,即2B或1W。16位宽度的二进制数可以代表的无符号整数范围是0~65535,有符号的整数范围是-32768~32767。二进制16位数还可以表示分数,精度为1/65536,或±1/32768。这些范围内数值的加、减、乘、除等运算都可以用单条指令实现。
16位单片机片内一般没有浮点协处理器,进行浮点数运算要用软件实现,运算量大,比较耗时,故用16位单片机做控制用时要尽量避免使用浮点运算。目前单片机的片内RAM已可做到几十KB,片内闪存(Flash)也可以做到几百KB,使用16位单片机很容易实现应用系统单片化。
S12系列单片机的中央处理器CPU12由以下三个部分组成:算术逻辑单元ALU、控制单元和寄存器组。CPU的内部运算速度可达25MHz,寻址方式多达16种,内部寄存器组中的寄存器、堆栈指针和变址寄存器均为16位。它具有很强的高级语言支持功能。
其典型的总线速度为25MHz,主要的S12系列单片机有A、B、C、D、E、F、G、H、L等系列,其中A、B系列为基本型;D系列带CAN总线,特别适合用在汽车上,具有丰富的I/O模块和工业控制专用的通信模块;H、L系列带液晶驱动,其中MC9S12L系列的存储空间可扩展到10MB,适用于制作手掌机、商务通之类的产品;E系列为低供电电压的16位单片机;另外还有带有USB接口的MC9S12UF32;有带10Mbps、100Mbps以太网接口的MC9S12NE系列单片机,适用于网络接入设备、机顶盒及工控设备等。
MC9S12DP256单片机的结构框图如图2.17所示。
图2.17 MC9S12DP256单片机的结构框图
MC9S12DP256的中央处理器CPU12包含以下五个部分。
(1)8位的累加器A、B或组成16位的累加器D。
(2)16位变址寄存器X、Y是用来处理操作数的地址,可分别用于源地址、目的地址的指针型变量运算。
(3)堆栈指针SP是16位寄存器。
(4)程序计数器PC是16位寄存器,它表示下一条指令或下一个操作数的地址。
(5)条件码寄存器CCR。
MC9S12DP256的存储器有以下三种。
(1)256KB的Flash存储器。
(2)12KB的RAM。
(3)4KB的E2PROM。
MC9S12DP256有可复用的地址数据总线,它可以工作在单片方式,也可以通过总线扩展存储空间和增加I/O接口的电路芯片工作在扩展方式,地址总线20位,数据总线16位或8位,地址和数据总线占用3个8位并行I/O口,在单片方式下这24位可做普通I/O接口用。
MC9S12DP256有两个8路10位精度A/D转换器。
MC9S12DP256内部有5个控制局域网(CAN)模块,每个CAN具有2个接收缓冲区和3个发送缓冲区,有自检功能、低通滤波和唤醒功能。
MC9S12DP256拥有的增加型捕捉定时器如下所述。
(1)16位主计数器,7位分频系数。
(2)8个输入捕捉通道或输出比较通道,其中4个输入捕捉通道带有缓存。
(3)4个8位或2个16位脉宽计数器。
(4)每个信号滤波器有4个用户可选择的延迟计数器。
MC9S12DP256的脉宽调制模块(PWM)可设置成8路8位或4路16位。
MC9S12DP256的串行接口有以下三种。
(1)两个异步串行通信接口模块SCI。
(2)一个I2C总线接口。
(3)一个同步串行外设接口SPI。
MC9S12DP256有2个具有位输入信号能产生中断、唤醒CPU功能的8位并行口,即16位输入中断通道,这16位也可以设为输出。
MC9S12D系列单片机一般有两种封装形式:112脚的表面贴片封装和80脚的贴片封装。80脚封装的单片机没有引出用于扩展的地址/数据并行口,且只引出一个8路的A/D口。
2.4.2 数字信号处理器
数字信号处理器(Digital Signal Processor,DSP)是专门处理数字信号数据的微处理器,常简称为DSP处理器。为了加快数字信号处理器的运算速度,数字信号处理器被设计成许多的特殊架构,并且加强它的平行化处理。例如,一般的数字信号处理器都有一个乘法器与一个加法器,数字信号处理器允许在同一时间内处理一个乘法运算及一个加法运算,也有些数字信号处理器可以平行处理快速傅里叶变换。数字信号处理器拥有一种特殊的Bus结构,它包含不同的指令与运算数据,使得数字信号处理器可以同时从内存中读取指令和运算数据,从而加快运算速度。
美国德州仪器公司开发的TMS320系列DSP微处理器是比较典型的产品,在我国也有较多的应用。TMS320系列的DSP微处理器基本上可分为三大类:第一类是进行整数运算的数据处理,如C1X、C2X、C5X等,是在1983年开发出来的;第二类是进行浮点数运算的资料处理,如C3X、C4X等;第三类则是多DSP微处理器核心整合而成的DSP微处理器芯片,如C8X,它最多可以同时拥有5个DSP核心,其中包含了一个做浮点运算的DSP核心和四个做整数运算的DSP核心。这些DSP核心可以在平行架构下,在各个不同的DSP微处理器核心中进行数据的处理。
美国德州仪器公司的DSP微处理器的应用范围很广泛,目前在移动电话上它占有很大的市场,其最主要的特点是处理数字信息效率高,功耗低。例如,TMS320C5X DSP微处理器采用一个修正过的哈佛结构,它可以将数据在数据内存与程序内存之间移动及储存,而且可以通过程序去设置数据内存的初始化动作,具有很高的数据处理效率。
C5X DSP微处理器的核心部分由乘法器、逻辑算术单元、平行逻辑单元、移位器及28个寄存器组成。其中,乘法器被设计成只要一个机器周期就可以完成一个乘法运算,乘法器会将寄存器、数据总线或程序总线中的数据直接读取,产生32位的运算结果,再将结果输出到乘法寄存器中,因此,C5X DSP微处理器在乘法运算上有很高的效率。
C5X DSP微处理器的逻辑算术单元在一个中央逻辑算术单元中,逻辑算术单元一个周期内可以执行16位或32位的运算。此外,中央逻辑算术单元包含有四个独立的位移器,ACC和ACCB可以在数据运算上提供协助,并有一个65位的位移空间供数据位移使用。
在C5X DSP微处理器中可以允许数据平行处理,可以同时间在逻辑算术单元中处理数据,并从程序内存中取得指令,完成指令指定的工作。
再如,TMS320C6701 DSP芯片是美国德州仪器公司针对浮点数运算功能设计的,其最高工作频率可以达到167MHz,在平行运算的情况下,它可以同时执行8条指令,因此工作效率可以达到1336MIPS(每秒执行指令数)。C6X DSP微处理器核心拥有32个寄存器,并且拥有两个乘法器,而且都提供了32位的算术运算,另外还额外支持40位的算术运算。
C6X DSP微处理器内部还有64KB的RAM可提供数据储存,64KB的RAM用于程序储存,并含有多个DMA通道、两个串行输入/输出接口,用以高速通信传输之用,速度可以达到50 Mbps,此外,还有两个32位的定时器/计数器。
C6X DSP微处理器的运算单元有四种,分别是逻辑运算单元、位移单元、乘法单元、数据寻址单元。这四个单元上有16个32位的寄存器,作为数据传输的通道。
C6X DSP微处理器还具有一个EMIF扩充接口,可以不需要加外围电路就直接与SRAM、ROM或其他的记忆装置等相连接。
2.4.3 ARM嵌入式系统微处理器
ARM公司是一家提供RISC架构嵌入式系统微处理器的公司,成立于1990年,主要开发和设计16位、32位的嵌入式系统微处理器,并将它所开发的技术授权给其他的半导体制造公司进行ARM微处理器的制造。
ARM公司所提供的ARM RISC(Reduced Instruction Set Computer,简约指令)微处理器有着低功耗、高运算效率及高度整合性等特点,使得很多芯片设计公司与芯片制造公司竞相采用它作为自已公司开发的微处理器芯片中的运算核心。
例如,ARM7 Thumb嵌入式系统系列微处理器具有以下特点。
(1)32位的寄存器。
(2)32位的RISC架构的逻辑运算单元。
(3)32位的移位器。
(4)32位的寻址模式。
(5)16位的Thumb指令集。
ARM7 Thumb嵌入式系统系列微处理器是针对初、中级市场应用而设计的,价格与传统的8位或16位单片机不会相差很多,但却拥有32位的微处理器执行效率。它具有很高的工作效率以及很低的功率消耗,目前很受市场的欢迎。
ARM7 Thumb嵌入式系统系列微处理器可以按所需要处理的工作选择要外加内存或者使用内部内存,可以按内存的成本、执行效率以及芯片体积将它与其他的ASIC(Application Specific Integrated Circuit,专用集成电路)及外围内存装置结合成一个符合工作需求的嵌入式系统。
ARM9 Thumb嵌入式系统系列微处理器是ARM公司继ARM7 RISC架构微处理器之后,又开发出来的一种32位RISC架构嵌入式系统微处理器,它可以同时采用ARM 32位RISC指令集以及16位的Thumb指令集作为程序代码的控制指令。ARM9 Thumb嵌入式系统系列微处理器有两个主要成员。
(1)ARM940T微处理器具有两个4KB的快取内存,主要用于简单程序控制下的嵌入式系统,不需要处理很多额外的应用程序,适合简单的嵌入式操作系统作为系统控制之用,其工作频率可以达到180MHz。
(2)ARM920T微处理器内部含有两个16KB的快取内存,可以让许多嵌入式操作系统,如Linux、Windows CE等在上面执行,最高工作频率可达200MHz。目前,许多的嵌入式系统开发厂商采用ARM9 Thumb嵌入式系统微处理器作为嵌入式系统的控制器,如移动电话、数字板、智能型网络卡、调制解调器和数字机顶盒等,应用十分广泛。
在实际应用中,可以结合DSP微处理器和控制微处理器进行设计。如图2.18所示为某个数字移动电话的内部结构框图,其中的主要操作系统控制核心是由ARM RISC微处理器控制,由ARM RISC微处理器的输入/输出接口外接键盘及液晶显示器等的外围装置。而TSM320C5401 DSP微处理器则处理射频(RF)电路的连接,接收数字的音频信号,进行信号处理的工作。此外,通过TSM320C5401 DSP微处理器的数据处理程序,还可以消除回音和降低噪声,提高通话质量。
图2.18 某数字移动电话的内部结构框图
前面提到,DSP、ARM等嵌入式单片机也可以用Proteus软件建立原理图、PCB图和仿真,当需要采用浮点数运算处理时,一般选用DSP芯片,当要处理的工作比较多且比较复杂时,可以考虑选用ARM芯片。