PIC系列单片机 由美国Microchip公司推出的PIC单片机系列产品,首先采用了RISC结构的嵌入式微控制器,其高速度、低电压、低功耗、大电流LCD驱动能力和低价位OTP技术等都体现出单片机产业的新趋势。 现在PIC系列单片机在世界单片机市场的份额排名中已逐年升位,尤其在8位单片机市场,据称已从1990年的第20位上升到目前的第二位。PIC单片机从覆盖市场出发,已有三种(又称三层次)系列多种型号的产品问世,所以在全球都可以看到PIC单片机从电脑的外设、家电控制、电讯 通信、智能仪器、汽车 电子到金融电子各个领域的广泛应用。现今的PIC单片机已经是世界上最有影响力的嵌入式微控制器之一。 ① PIC 8位单片机的分类 PIC 8位单片机产品共有三个系列,即基本级、中级和高级。 a 基本级系列 该级产品的特点是低价位,如PIC16C5X,适用于各种对成本要求严格的家电产品选用。又如PIC12C5XX是世界第一个8脚的低价位单片机,因其体积很小,完全可以应用在以前不能使用单片机的家电产品的空间。 b 中级系列 该级产品是PIC最丰富的品种系列。它是在基本级产品上进行了改进,并保持了很高的兼容性。外部结构也是多种的,从8引脚到68引脚的各种封装,如PIC12C6XX。该级产品其性能很高,如内部带有A/D变换器、E2PROM数据存储器、比较器输出、PWM输出、I2C和SPI等接口。PIC中级系列产品适用于各种高、中和低档的电子产品的设计中。 c 高级系列 该系列产品如PIC17CXX,其特点是速度快,所以适用于高速数字运算的应用场合中,加之它具备一个指令周期内(160ns)可以完成8×8(位)二进制乘法运算能力,所以可取代某些DSP产品。再有PIC17CXX具有丰富的I/O控制功能,并可外接扩展EPROM和RAM,使它成为目前8位单片机中性能最高的机种之一。所以很适用于高、中档的电子设备中使用。 上述的三层次(级)的PIC 8位单片机还具有很高的代码兼容性,用户很容易将代码从某型号转换到另一个型号中。PIC 8位单片机具有指令少、执行速度快等优点,其主要原因是PIC系列单片机在结构上与其它单片机不同。该系列单片机引入了原用于小型计算机的双总线和两级指令流水结构。这种结构与一般采用CISC(复杂指令集计算机)的单片机在结构上是有不同的。 双总线结构 具有CISC结构的单片机均在同一存储空间取指令和数据,片内只有一种总线。这种总线既要传送指令又要传送数据(如图1-a所示)。因此,它不可能同时对程序存储器和数据存储器进行访问。因与CPU直接相连的总线只有一种,要求数据和指令同时通过,显然“乱套”,这正如一个“瓶颈”,瓶内的数据和指令要一起倒出来,往往就被瓶颈卡住了。所以具有这种结构的单片机,只能先取出指令,再执行指令(在此过程中往往要取数),然后,待这条指令执行完毕,再取出另一条指令,继续执行下一条。这种结构通常称为冯?诺依曼结构,又称普林斯顿结构。 在这里PIC系列单片机采用了一种双总线结构,即所谓哈佛结构。这种结构有两种总线,即程序总线和数据总线。这两种总线可以采用不同的字长,如PIC系列单片机是八位机,所以其数据总线当然是八位。但低档、中档和高档的PIC系列机分别有12位、14位和16位的指令总线。这样,取指令时则经指令总线,取数据时则经数据总线,互不冲突。 两级指令流水线结构 由于PIC系列单片机采用了指令空间和数据空间分开的哈佛结构,用了两种位数不同的总线。因此,取指令和取数据有可能同时交叠进行,所以在PIC系列微控制器中取指令和执行指令就采用指令流水线结构。当第一条指令被取出后,随即进入执行阶段,这时可能会从某寄存器取数而送至另一寄存器,或从一端口向寄存器传送数等,但数据不会流经程序总线,而只是在数据总线中流动,因此,在这段时间内,程序总线有空,可以同时取出第二条指令。当第一条指令执行完毕,就可执行第二条指令,同时取出第3条指令,……如此等等。这样,除了第一条指令的取出,其余各条指令的执行和下一条指令的取出是同时进行的,使得在每个时钟周期可以获得最高效率。 在大多数微控制器中,取指令和指令执行都是顺序进行的,但在PIC单片机指令流水线结构中,取指令和执行指令在时间上是相互重叠的,所以PIC系列单片机才可能实现单周期指令。 只有涉及到改变程序计数器PC值的程序分支指令(例如GOTO、CALL)等才需要两个周期。 此外,PIC的结构特点还体现在寄存器组上,如寄存器I/O口、定时器和程序寄存器等都是采用了RAM结构形式,而且都只需要一个周期就可以完成访问和操作。而其它单片机常需要两个或两个以上的周期才能改变寄存器的内容。上述各项,就是PIC系列单片机能做到指令总数少,且大都为单周期指令的重要原因。 ======================================================= AVR系列单片机 AVR单片机是1997年由ATMEL公司研发出的增强型内置Flash的RISC(Reduced Instruc tion Set CPU) 精简指令集高速8位单片机。AVR的单片机可以广泛应用于计算机外部设备、工业实时控制、仪器仪表、通讯设备、家用电器等各个领域。 ① AVR单片机的优势及特点 a AVR单片机易于入手、便于升级、费用低廉。 单片机初学者只需一条ISP下载线,把编辑、调试通过的软件程序直接在线写入AVR单片机,即可以开发AVR单片机系列中的各种封装的器件。AVR单片机因此在业界号称“一线打天下”。 AVR程序写入是直接在电路板上进行程序修改、烧录等操作,这样便于产品升级。AVR单片机可使用ISP在线下载编程方式(即把PC机上编译好的程序写到单片机的程序存储器中),不需购买 仿真器、编程器、擦抹器和芯片适配器等,即可进行所有AVR单片机的开发应用,这可节省很多开发费用。程序存储器擦写可达10000次以上,不会产生报废品。 b高速、低耗、保密。首先,AVR单片机是高速嵌入式单片机: AVR单片机具有预取指令功能,即在执行一条指令时,预先把下一条指令取进来,使得指令可以在一个时钟周期内执行。多累加器型,数据处理速度快。AVR单片机具有32个通用工作寄存器,相当于有32条立交桥,可以快速通行。中断响应速度快。AVR单片机有多个固定中断向量入口地址,可快速响应中断。AVR单片机耗能低。对于典型功耗情况,WDT关闭时为100nA,更适用于电池供电的应用设备。有的器件最低1.8 V即可工作。AVR单片机保密性能好。它具有不可破解的位加密锁Lock Bit技术,保密位单元深藏于芯片内部,无法用电子显微镜看到。 c I/O口功能强,具有A/D转换等电路。AVR单片机的I/O口是真正的I/O口,能正确反映I/O口输入/输出的真实情况。工业级产品,具有大电流(灌电流)10mA~40mA,可直接驱动可控硅SSR或继电器,节省了外围驱动器件。AVR单片机内带模拟比较器,I/O口可用作A/D转换,可组成廉价的A/D转换器。ATmega48/8/16等器件具有8路10位A/D。部分AVR单片机可组成零外设 元件单片机系统,使该类单片机无外加元器件即可工作,简单方便,成本又低。AVR单片机可重设启动复位,以提高单片机工作的可靠性。有看门狗定时器实行安全保护,可防止程序走乱(飞),提高了产品的抗干扰能力。 d 有功能强大的定时器/计数器及通讯接口。定时/计数器T/C有8位和16位,可用作比较器。计数器外部中断和PWM(也可用作D/A)用于控制输出,某些型号的AVR单片机有3~4个PWM,是作电机无级调速的理想器件。AVR单片机有串行异步通讯UART接口,不占用定时器和SPI同步传输功能,因其具有高速特性,故可以工作在一般标准整数频率下,而波特率可达576K。 ② AVR 8-Bit MCU的最大特点 与其它8-Bit MCU相比,AVR 8-Bit MCU最大的特点是: ? 哈佛结构,具备1MIPS / MHz的高速运行处理能力; ? 超功能精简指令集(RISC),具有32个通用工作寄存器,克服了如8051 MCU采用单一ACC进行处理造成的瓶颈现象; ? 快速的存取寄存器组、单周期指令系统,大大优化了目标代码的大小、执行效率,部分型号FLASH非常大,特别适用于使用高级语言进行开发; ? 作输出时与PIC的HI/LOW相同,可输出40mA(单一输出),作输入时可设置为三态高阻抗输入或带上拉电阻输入,具备10mA-20mA灌电流的能力; ? 片内集成多种频率的RC振荡器、上电自动复位、看门狗、启动延时等功能,外围电路更加简单,系统更加稳定可靠; ? 大部分AVR片上资源丰富:带E2PROM,PWM,RTC,SPI,UART,TWI,ISP,AD,Analog Comparator,WDT等; ? 大部分AVR除了有ISP功能外,还有IAP功能,方便升级或销毁应用程序。 (3)16-BIT 单片机 16 位单片机是在1983 年以后发展起来的。这类单片机的特点是:CPU是16 位的,运算速度普遍高于8 位机,有的单片机的寻址能力高达1MB,片内含有A/D 和D/A转换电路,支持高级语言。这类单片机主要用于过程控制、智能仪表、家用电器以及作为计算机外部设备的控制器等。典型产品有Intel 公司的MCS-96/98 系列、Motorola 公司的M68HC16系列、NS 公司的783××系列、TI公司的MSP430系列等等。 其中,以MSP430系列最为突出。它采用了精简指令集( RISC )结构,具有丰富的寻址方式( 7 种源操作数寻址、4 种目的操作数寻址)、简洁的 27 条内核指令以及大量的模拟指令;大量的寄存器以及片内数据存储器都可参加多种运算;还有高效的查表处理指令;有较高的处理速度,在 8MHz 晶体驱动下指令周期为 125 ns 。这些特点保证了可编制出高效率的源程序。 在运算速度方面, MSP430 系列单片机能在 8MHz 晶体的驱动下,实现 125ns 的指令周期。 16 位的数据宽度、125ns 的指令周期以及多功能的硬件乘法器(能实现乘加)相配合,能实现数字信号处理的某些算法(如 FFT 等)。 MSP430 系列单片机的中断源较多,并且可以任意嵌套,使用时灵活方便。当系统处于省电的备用状态时,用中断请求将它唤醒只用 6us 。 超低功耗 MSP430 单片机之所以有超低的功耗,是因为其在降低芯片的电源电压及灵活而可控的运行时钟方面都有其独到之处。 首先, MSP430 系列单片机的电源电压采用的是 1.8~3.6V 电压。因而可使其在 1MHz 的时钟条件下运行时, 芯片的电流会在 200~400uA 左右,时钟关断模式的最低功耗只有 0.1uA 。 其次,独特的时钟系统设计。在 MSP430 系列中有两个不同的系统时钟系统:基本时钟系统和锁频环( FLL 和FLL+ )时钟系统或 DCO 数字振荡器时钟系统。有的使用一个晶体振荡器( 32768Hz ) , 有的使用两个晶体振荡器)。由系统时钟系统产生 CPU 和各功能所需的时钟。并且这些时钟可以在指令的控制下,打开和关闭,从而实现对总体功耗的控制。 由于系统运行时打开的功能模块不同,即采用不同的工作模式,芯片的功耗有着显著的不同。在系统中共有一种活动模式( AM )和五种低功耗模式( LPM0~LPM4 )。在等待方式下,耗电为 0.7uA ,在节电方式下,最低可达 0.1uA。 系统工作稳定 上电复位后,首先由 DCOCLK 启动 CPU ,以保证程序从正确的位置开始执行,保证晶体振荡器有足够的起振及稳定时间。然后软件可设置适当的寄存器的控制位来确定最后的系统时钟频率。如果晶体振荡器在用做 CPU时钟 MCLK 时发生故障, DCO 会自动启动,以保证系统正常工作;如果程序跑飞,可用看门狗将其复位。 丰富的片上外围模块 MSP430 系列单片机的各成员都集成了较丰富的片内外设。它们分别是看门狗( WDT )、模拟比较器 A 、定时器 A ( Timer_A )、定时器 B ( Timer_B )、串口 0 、 1 ( USART0 、 1 )、硬件乘法器、液晶驱动器、 10 位 /12 位 ADC 、 I 2 C 总线直接数据存取( DMA )、端口 O ( P0 )、端口 1~6 ( P1~P6 )、基本定时器( Basic Timer )等的一些外围模块的不同组合。其中,看门狗可以使程序失控时迅速复位;模拟比较器进行模拟电压的比较,配合定时器,可设计出 A/D 转换器; 16 位定时器( Timer_A 和 Timer_B )具有捕获 / 比较功能,大量的捕获 / 比较寄存器,可用于事件计数、时序发生、 PWM 等;有的器件更具有可实现异步、同步及多址访问串行通信接口可方便的实现多机通信等应用;具有较多的 I/O 端口,最多达 6*8 条 I/O 口线; P0 、 P1 、 P2 端口能够接收外部上升沿或下降沿的中断输入; 12/14 位硬件 A/D 转换器有较高的转换速率,最高可达 200kbps ,能够满足大多数数据采集应用;能直接驱动液晶多达 160 段;实现两路的 12 位 D/A 转换;硬件 I 2 C 串行总线接口实现存储器串行扩展;以及为了增加数据传输速度,而采用直接数据传输( DMA )模块。 MSP430 系列单片机的这些片内外设为系统的单片解决方案提供了极大的方便。 方便高效的开发环境 目前 MSP430 系列有 OPT 型、 FLASH 型和 ROM 型三种类型的器件,这些器件的开发手段不同。对于 OPT 型和 ROM 型的器件是使用仿真器开发成功之后在烧写或掩膜芯片;对于 FLASH 型则有十分方便的开发调试环境,因为器件片内有 JTAG 调试接口,还有可电擦写的 FLASH 存储器,因此采用先下载程序到 FLASH 内,再在器件内通过软件控制程序的运行,由 JTAG 接口读取片内信息供设计者调试使用的方法进行开发。这种方式只需要一台 PC机和一个 JTAG 调试器,而不需要仿真器和编程器。开发语言有汇编语言和 C 语言。 MSP430 单片机目前主要以 FLASH 型为主。 ========================================== 16-BIT 单片机 16 位单片机是在1983 年以后发展起来的。这类单片机的特点是:CPU是16 位的,运算速度普遍高于8 位机,有的单片机的寻址能力高达1MB,片内含有A/D 和D/A转换电路,支持高级语言。这类单片机主要用于过程控制、智能仪表、家用电器以及作为计算机外部设备的控制器等。典型产品有Intel 公司的MCS-96/98 系列、Motorola 公司的M68HC16系列、NS 公司的783××系列、TI公司的MSP430系列等等。 其中,以MSP430系列最为突出。它采用了精简指令集( RISC )结构,具有丰富的寻址方式( 7 种源操作数寻址、4 种目的操作数寻址)、简洁的 27 条内核指令以及大量的模拟指令;大量的寄存器以及片内数据存储器都可参加多种运算;还有高效的查表处理指令;有较高的处理速度,在 8MHz 晶体驱动下指令周期为 125 ns 。这些特点保证了可编制出高效率的源程序。 在运算速度方面, MSP430 系列单片机能在 8MHz 晶体的驱动下,实现 125ns 的指令周期。 16 位的数据宽度、125ns 的指令周期以及多功能的硬件乘法器(能实现乘加)相配合,能实现数字信号处理的某些算法(如 FFT 等)。 MSP430 系列单片机的中断源较多,并且可以任意嵌套,使用时灵活方便。当系统处于省电的备用状态时,用中断请求将它唤醒只用 6us 。 超低功耗 MSP430 单片机之所以有超低的功耗,是因为其在降低芯片的电源电压及灵活而可控的运行时钟方面都有其独到之处。 首先, MSP430 系列单片机的电源电压采用的是 1.8~3.6V 电压。因而可使其在 1MHz 的时钟条件下运行时, 芯片的电流会在 200~400uA 左右,时钟关断模式的最低功耗只有 0.1uA 。 其次,独特的时钟系统设计。在 MSP430 系列中有两个不同的系统时钟系统:基本时钟系统和锁频环( FLL 和FLL+ )时钟系统或 DCO 数字振荡器时钟系统。有的使用一个晶体振荡器( 32768Hz ) , 有的使用两个晶体振荡器)。由系统时钟系统产生 CPU 和各功能所需的时钟。并且这些时钟可以在指令的控制下,打开和关闭,从而实现对总体功耗的控制。 由于系统运行时打开的功能模块不同,即采用不同的工作模式,芯片的功耗有着显著的不同。在系统中共有一种活动模式( AM )和五种低功耗模式( LPM0~LPM4 )。在等待方式下,耗电为 0.7uA ,在节电方式下,最低可达 0.1uA。 系统工作稳定 上电复位后,首先由 DCOCLK 启动 CPU ,以保证程序从正确的位置开始执行,保证晶体振荡器有足够的起振及稳定时间。然后软件可设置适当的寄存器的控制位来确定最后的系统时钟频率。如果晶体振荡器在用做 CPU时钟 MCLK 时发生故障, DCO 会自动启动,以保证系统正常工作;如果程序跑飞,可用看门狗将其复位。 丰富的片上外围模块 MSP430 系列单片机的各成员都集成了较丰富的片内外设。它们分别是看门狗( WDT )、模拟比较器 A 、定时器 A ( Timer_A )、定时器 B ( Timer_B )、串口 0 、 1 ( USART0 、 1 )、硬件乘法器、液晶驱动器、 10 位 /12 位 ADC 、 I 2 C 总线直接数据存取( DMA )、端口 O ( P0 )、端口 1~6 ( P1~P6 )、基本定时器( Basic Timer )等的一些外围模块的不同组合。其中,看门狗可以使程序失控时迅速复位;模拟比较器进行模拟电压的比较,配合定时器,可设计出 A/D 转换器; 16 位定时器( Timer_A 和 Timer_B )具有捕获 / 比较功能,大量的捕获 / 比较寄存器,可用于事件计数、时序发生、 PWM 等;有的器件更具有可实现异步、同步及多址访问串行通信接口可方便的实现多机通信等应用;具有较多的 I/O 端口,最多达 6*8 条 I/O 口线; P0 、 P1 、 P2 端口能够接收外部上升沿或下降沿的中断输入; 12/14 位硬件 A/D 转换器有较高的转换速率,最高可达 200kbps ,能够满足大多数数据采集应用;能直接驱动液晶多达 160 段;实现两路的 12 位 D/A 转换;硬件 I 2 C 串行总线接口实现存储器串行扩展;以及为了增加数据传输速度,而采用直接数据传输( DMA )模块。 MSP430 系列单片机的这些片内外设为系统的单片解决方案提供了极大的方便。 方便高效的开发环境 目前 MSP430 系列有 OPT 型、 FLASH 型和 ROM 型三种类型的器件,这些器件的开发手段不同。对于 OPT 型和 ROM 型的器件是使用仿真器开发成功之后在烧写或掩膜芯片;对于 FLASH 型则有十分方便的开发调试环境,因为器件片内有 JTAG 调试接口,还有可电擦写的 FLASH 存储器,因此采用先下载程序到 FLASH 内,再在器件内通过软件控制程序的运行,由 JTAG 接口读取片内信息供设计者调试使用的方法进行开发。这种方式只需要一台 PC机和一个 JTAG 调试器,而不需要仿真器和编程器。开发语言有汇编语言和 C 语言。 MSP430 单片机目前主要以 FLASH 型为主。 =============================================== 32-BIT 单片机 32 位单片机的字长为32 位,是单片机的顶级产品,具有极高的运算速度。近年来,随着家用电子系统的新发展,32 位单片机的市场前景看好。 继16 位单片机出现后不久,几大公司先后推出了代表当前最高性能和技术水平的32 位单片微机系列。32 位单片机具有极高的集成度,内部采用新颖的RISC(精简指令系统计算机)结构,CPU 可与其他微控制器兼容,主频频率可达33MHz 以上,指令系统进一步优化,运算速度可动态改变,设有高级语言编译器,具有性能强大的中断控制系统、定时/事件控制系统、同步/异步通信控制系统。代表产品有Intel 公司的MCS-80960 系列、Motorola 公司的M68300 系列、Hitachi 公司的Super H(简称SH)系列等等。 这类单片机主要应用于汽车、航空航天、高级机器人、军事装备等方面。它代表着51、PIC、AVR、16、32-BIT系列单片机区别与特点 单片机发展中的高、新技术水平。 ARM在32位MCU中的主流地位是毫无疑问的。ARM公司于1991年成立于英国剑桥,主要出售芯片设计技术的授权。目前,采用ARM技术智能财产(IP)核心的处理器,即我们通常所说的ARM处理器,已遍及工业控制、消费类电子产品、通信系统、网络系统、无线系统等各类产品市场,基于ARM技术的处理器应用约占据了32位RISC微处理器75%以上的市场,ARM技术不止逐步渗入到我们生活的各个方面,我们甚至可以说,ARM于人类的生活环境中,已经是不可或缺的一环。 目前市面上常见的ARM处理器架构,可分为ARM7、ARM9以及ARM11,新推出的Cortex系列尚在进行开发验证,市面上还未有相关产品推出。ARM也是嵌入式处理器中首先推出多核心架构的厂商。 ARM首个多核心架构为ARM11 MPCore,架构于原先的ARM11处理器核心之上。ARM11核心是发布于2002年10月份,为了进一步提升效能,其管线长度扩展到8阶,处理单元则增加为预取、译码、发送、转换 /MAC1、执行/MAC2、内存存取/MAC3和写入等八个单元,体系上属于ARM V6指令集架构。ARM11采用当时最先进的0.13μm制造制程,运行频率最高可达500到700MHz。如果采用90nm制程,ARM11核心的工作频率能够轻松达到1GHz以上—对于嵌入式处理器来说,这显然是个相当惊人的程度,不过显然1GHz在ARM11体系中不算是个均衡的设定,因此几乎没有厂商推出达到1GHz的ARM11架构处理器。 ARM11的逻辑核心也经过大量的改进,其中最重要的当属“静/动态组合转换的预测功能”。ARM11的执行单元包含一个64位、4种状态的地址转换缓冲,它主要用来储存最近使用过的转换地址。当采用动态转换预测机制而无法在寻址缓冲内找到正确的地址时,静态转换预测功能就会立刻接替它的位置。在实际测试中,单纯采用动态预测的准确率为88%,单纯采用静态预测机制的准确率 只有77%,而ARM11的静/动态预测组合机制可实现92%的高准确率。针对高时脉速度带来功耗增加的问题,ARM11采用一项名为“IEM (Intelligent Energy Manager)”的智能电源管理技术,该技术可根据任务负荷情况动态调节处理器的电压,进而有效降低自身的功耗。这一系列改进让ARM11的功耗效能比得以继续提高,平均每MHz只需消耗0.6mW(有快取时为0.8mW)的电力,处理器的最高效能可达到660 Dhrystone MIPS,远超过上一代产品。 |