1 / 45

第 2 章 微控制器的结构、时序和工作方式

第 2 章 微控制器的结构、时序和工作方式. 本章主要内容. 2.1 微控制器结构 2.2 微控制器时序 2.3 微控制器工作方式 2.3 典型微控制器的特点. 2.1 微控制器的结构. 2.1.1 微控制器常用封装.

zorion
Download Presentation

第 2 章 微控制器的结构、时序和工作方式

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第2章 微控制器的结构、时序和工作方式

  2. 本章主要内容 2.1 微控制器结构 2.2 微控制器时序 2.3 微控制器工作方式 2.3 典型微控制器的特点

  3. 2.1 微控制器的结构 2.1.1 微控制器常用封装 (a) (b) (c)(a)双列直插封装(DIP: Dual In-line Package)(b)塑料双列直插封装(PDIP: Plastic Dual In-line Package)(c)超小型双列直插封装(SDIP: Shrink Dual In-line Package)

  4. (d) (e) (f)(d)塑料有引线芯片载体(PLCC: Plastic Leaded Chip Carrier)(e)四边引出扁平封装(QFP: Quad Flat Package)(f)薄形四边引出扁平封装 (LQFP: Low Quad Flat Package)

  5. (g) (h) (i) (g)薄小外形封装 (TSOP: Thin Small Outline Package)(h)小外形集成电路封装 (SOIC: Small Outline Integrated Circuit Package) (i) 底触点无引脚扁平封装( HVQFN : heatsink very thin quad flat pack no leads )

  6. 2.1.2 微控制器的体系结构 • 具备了通用微型计算机的全部特征 • 仍属于经典的冯·诺依曼计算机体系结构 • 程序存储和程序控制的基本思想是:将程序和数据都存放在计算机的存储器内,当用户启动存放在存贮器中的程序后,由位于存储器内的程序自动控制计算机的运行。即计算机按照程序中规定的次序和步骤逐条地执行该计算机程序中的指令,处理存放在存储器中的数据、由I/O设备提供的数据及用户在运行时刻随机提供的少量数据。

  7. 图2-2 MCU 的基本结构

  8. 1. 存储器与CPU的连接的两种方案 有程序存储器与数据存储器,一般情况下前者使用ROM,后者使用RAM。 (1)哈佛体系 存储单元的地址采用各自独立编址。 Intel公司的MCS-51/96微处理器采用这种结构。这种独自分离编址结构的优点是能生成双倍空间,例如使用16位地址线即能寻址64KB程序存储器与64KB数据存储器,总计获得了128KB存储器容量。此外,分离的总线通道还提高了访问的速率。

  9. (2)普林斯顿体系 程序存储器与数据存储器统一编址在一个空间内。Motorola公司的微处理器采用此种结构。如使用16位地址线获得64KB统一空间结构,由程序存储器与数据存储器共享,按需分配,分段使用。 注意:哈佛结构的存储器地址出现重叠,但通过不同的控制线并配合不同的指令就可以区分开来。例如,在Intel的MCS-51指令系统中,用MOVC指令访问程序存储器,用MOVX指令访问数据存储器。普林斯顿结构则可以使用同一指令访问两种存储器,仅由指令中的地址参数寻址不同的单元即可。

  10. 2. I/O端口的编址的两种方案 (1)分离编址方案 为I/O端口再独立开辟一个空间,用专门的I/O访问控制线与指令实现I/O操作。例如,Intel的80x86指令系统中就使用IN指令与OUT指令。Intel的MCU将I/O端口作为内部寄存器处理,独立于程序存储器和外部数据存储器空间,类似哈佛结构的分离编址。 (2)统一编址方案 Motorola的MCU则将I/O地址与存储器地址统一在一个空间,仅仅分配不同的单元地址而已。因而,与普林斯顿结构类似。

  11. 3. 寄存器的结构 在80x86与Pentium系列的微处理器中,大量的CPU寄存器都有各自专门的命名符号,它们都与存储器或I/O地址没有关系。Intel的MCU使用内部RAM作为寄存器,它们独立于程序存储器和外部数据存储器,用MOV指令访问,类似分离编址的哈佛型结构。 Motorola微控制器中的寄存器则占用存储器资源,为它们分配了一些专用的地址空间。 结论:各厂家在MCU的设计上还有许多不同之处,都形成了自己的风格,而且体系结构上的区别自然会造成指令集的明显不同。

  12. 2.1.3 微控制器的组成 微控制器在同一块芯片集成了CPU(中央处理单元)、存储器、并行和串行I/O端口、定时器/计数器和中断系统等功能部件,如图2-2所示。 1.CPU CPU是微控制器的核心部件,它通常由运算器、控制器和中断电路等组成。CPU进行算术运算和逻辑操作的字长同样有4位、8位、16位和32位之分,字长越长运算速度越快,数据处理能力也就越强。8位CPU 的内部基本结构如图2-3所示。

  13. 图2-3 8位CPU 的内部基本结构

  14. (1)运算器 运算器用于对二进制数进行算术运算和逻辑操作;由操作控制器控制其操作顺序。由算术逻辑单元ALU、累加器A、通用寄存器GR、暂存器TR和程序状态字寄存器PSW等五部分组成。 • 累加器A (Accumulator) • 暂存器TR (Temporary Register) • 算术逻辑单元ALU (Arithmetic and Logical Unit),主要由加法器、移位电路和判断电路等组成,用于对累加器A和暂存器TR中两个操作数进行四则运算和逻辑操作。 • 程序状态字寄存器PSW (Program Status Word) • 通用寄存器GR (General—purpose Register)

  15. (2)操作控制器 发布操作命令的指挥中心,由指令部件、时序部件和微操作控制部件等三部分组成。 ①指令部件:是一种能对指令进行分析、处理和产生控制信号的逻辑部件,也是控制器的核心。通常,指令部件由程序计数器PC (Program Counter)、指令寄存器IR (Instruction Register)和指令译码器ID (Instruction Decoder)等三部分组成。 ②时序部件:由时钟系统和脉冲分配器组成,用于产生微操作控制部件所需的定时 脉冲信号。其中,时钟系统(Clock System)产生机器的时钟脉冲序列,脉冲分配器(Pulse Distributor)又称“节拍发生器”,用于产生节拍电位和节拍脉冲。

  16. ③微操作控制部件:可以为ID输出信号配上节拍电位和节拍脉冲,也可与外部进来 的控制信号组合,共同形成相应的微操作控制序列,以完成规定的操作。

  17. 2.存储器 (1) RAM (Random Access Memory) 的内容可读、可写,掉电后内容消失。主要用来存放实时数据或作为通用寄存器、数据堆栈和数据缓冲器之用。 (2) ROM (Read Only Memory)一般用于存放应用程序,故又称为程序存储器。控制系统研制成功后,其硬件和应用程序均已定型。 存储容量=2n其中,n为地址线条数。 例如,对于一个有16条地址线和8条数据线的ROM存储器,其存储容量的地址范围为0000H~FFFFH,共64KB。 特点:在微控制器内部,只读存储器ROM和随机存取存储器RAM存储器是分开制造的。通常,ROM存储器容量较大,RAM存储器的容量较小。

  18. 3.内部总线 微控制器内部总线是CPU连接片内各主要部件的纽带,是各类信息传送的公共通道。 内部总线主要由三种不同性质的连线组成:地址线、数据线和控制/状态线。 • 地址线主要用来传送存储器所需要的地址码或外部设备的设备号,通常由CPU发出并被存储器或I/O接口电路所接收。 • 数据线用来传送CPU写入存储器或经I/O接口送到输出设备的数据,也可以传送从存储器或输入设备经I/O接口读入的数据。因此,数据线通常是双向信号线

  19. 控制/状态线有两类:一类是CPU发出的控制命令,如读命令、写命令、中断响应等;另一类是存储器或外设的状态信息,如外设的中断请求、存储器忙和系统复位信号等。控制/状态线有两类:一类是CPU发出的控制命令,如读命令、写命令、中断响应等;另一类是存储器或外设的状态信息,如外设的中断请求、存储器忙和系统复位信号等。

  20. 4.I/O端口 微控制器通过I/O端口对外部实现控制、信息交换、过程中的速度匹配、隔离和增强负载能力。 • 通常,微控制器都有几个并行I/O端口,通过其中的任何一个,CPU输出数据时可以被锁存,输入数据时可以得到缓冲。 • 还有一个以上全双工的可编程串行I/O端口,可以把CPU的并行数据变成串行数据一位一位地从发送数据线TxD发送出去,也可以把接收线RxD串行接收到的数据变成八位并行数据送给CPU。发送和接收可以同时也可以单独地进行。 趋势:随着微控制器时钟频率的提高,串行传输的速度越来越快,其占用引脚少、对外布线方便的优点越来越受到重视,各种不同功能、不同总线的串行接口已成为微控制器I/O端口的一大特色。

  21. 5.定时器/计数器 微控制器内部还至少有一个可编程序的定时器/计数器,在定时器模式下,计数脉冲由微控制器时钟脉冲经分频后提供,定时时间和微控制器时钟频率有关。在计数器模式下,计数脉冲由引脚输入。

  22. 6. 中断系统 • CPU 接受中断请求, 暂停原程序执行, 转而执行中断服务程序, 并在服务完后回到断点, 继续执行原程序的过程称为中断。 • 处理上述中断过程所需要的电路称为中断系统。 • 产生中断请求信号的来源称为中断源。

  23. 通常外部中断源是外部设备, 产生的中断请求信号可以从引脚输入, 有电平或边沿两种触发方式。内部中断源有定时器/计数器和串行口等多种, 定时器/计数器当计数溢出时自动提出中断请求; 串行口则在每发送完或接收到一个数据后自动提出中断请求。为了满足实时控制的要求, 微控制器可以对多个中断请求信号进行排队和控制, 并响应其中优先权最高的中断请求。 • 中断系统还包括中断允许控制器和中断优先级控制器。

  24. 2.2 微控制器时序 2.2.1 时钟周期、机器周期和指令周期 1. 时钟周期 时钟周期T 又称为振荡周期, 是振荡电路产生的时钟脉冲频率fOSC 的倒数,是计算机的基本工作脉冲, 常用作时序中的最小时间单位。 2. 机器周期 机器周期是实现特定功能所需的时间, 由多个时钟周期组成。 3. 指令周期 指令周期是执行一条指令所需的时间。不同指令所包含的机器周期数也不相同。

  25. 提高指令执行速度的两种方法: (1) 提高时钟频率 典型的MCS-51 时钟频率上限是12 MHz ,目前微控制器已可达到40 MHz 甚至更高。 (2) 提高总线速度 典型的MCS-51 的机器周期为时钟频率的12分频,即在12 MHz 时钟频率下, 单周期指令速度为1 MIPS ( 每秒百万条指令,million instructions per second)。80C51CPU 总线结构的改进可以将机器周期缩短到时钟频率的6分频或4 分频。RISC 结构、单字长指令、流水线操作的AT90SXXXX 等,则达到了单周期指令速度与时钟脉冲频率之比为1 的极限状态。

  26. 2. 2. 2 取指令和执行指令时序 执行任何一条指令, 都可以分为取指令阶段和执行指令阶段。在取指令阶段, 根据程序计数器PC 中指示的地址, 从程序存储器中取出需要执行指令的操作码和操作数; 在指令执行阶段, 对指令操作码进行译码, 产生一系列控制信号以完成指令的执行。不同指令的字节数和机器周期数不同, 取指令操作也随之不同。 可以按照指令字节数和机器周期数将指令分类, 例如, 8051 的指令可分为六类, 分别对应于六种基本时序: 单字节单周期指令、单字节双周期指令、单字节四周期指令、双字节单周期指令、双字节双周期指令和三字节双周期指令, 其中几种主要的指令时序如图2-4 所示。

  27. 图2-4 MCS-51 指令的取指/执行时序

  28. 2.3 微控制器工作方式 微控制器的工作方式通常包括复位方式、程序执行方式、节电方式以及程序的写入和校验方式四种。 2. 3. 1 复位方式 微控制器都具备复位功能, 以保证微控制器的CPU 及其他功能部件都从一个确定的初始状态开始或重新开始工作。复位可以人工进行, 也可以自动实现。 自动上电复位、人工按钮复位和系统同步复位电路分别如图2-5 (a)、(b) 、(c)所示。

  29. 图2-5  MCS-51 复位电路

  30. 2. 3. 2 程序执行方式 程序执行通常可以分为单步执行和连续执行两种工作方式。 单步执行方式是指给一次单步执行脉冲, 微控制器就执行一条指令的方式。通常用于用户程序的调试。 连续执行方式是微控制器的实际工作方式, 被执行程序可以放在片内或片外ROM 的任何区域, 但MCS-51 必须在0000H 处放一条转移指令, 指向被执行程序的起始地址。以便微控制器复位后跳转到被执行程序入口。而M68HC08则必须将用户自己定义的中断向量地址放在$FFFE ~$FFFF,以便复位后送到程序计数器PC 中。

  31. 2. 3. 3 节电工作方式 节电工作方式是CHMOS 型微控制器特有的低功耗应用方式, 有空闲等待和掉电停机两种。 1. 掉电停机方式 掉电时微控制器进入停机方式, 振荡器和片内所有功能部件停止工作, 但片内RAM 和SFR 中内容保持不变。在掉电停机期间, 电源VCC可以降到RAM 保持电压(由后备电源如电池供电) 。 2. 空闲等待方式 程序执行过程中, 不需要CPU 工作时可以让它进入等待状态。微控制器进入等待状态时, CPU 停止工作。但中断、串行口和定时器/计数器可以继续工作。此时, CPU 现场、片内RAM 和SFR 中内容均维持不变。

  32. 节电工作方式的退出: CHMOS 型器件退出节电工作方式的方法有两种: 一种是让被允许中断的中断源发出中断请求(例如定时器时间到) , 中断系统响应后, CPU 便可继续执行程序; 另一种是硬件复位, 例如, 在80C51 的RST 引脚上外加一个足够宽的复位正脉冲。 节电工作方式下的功耗: 例如, MCS-51 的CHMOS 型微控制器正常工作时消耗电流为11 ~ 20mA ,空闲状态时电流为 1.7 ~ 5mA , 掉电状态时电流仅为 5 ~50μA 。

  33. 2. 3. 4 程序的写入、校验和擦除 写入是指将代码写入微控制器程序存储器, 校验是对刚刚写入的代码进行读出验证。微控制器的程序存储器有: 掩模ROM 、一次性编程( one time programmable , OTP) ROM 、EPROM 、E2PROM 及闪速存储器(Flash Memory) 。 掩模ROM 的写入必须在制造厂进行, 其他几种可由用户在专用的编程器中进行写入、校验或保密写入, 应当注意的是, 在每种工作状态下, 各引脚的输入电平各不相同, 特别是编程电源电压不能超过规定, 以免造成器件的永久性损坏。

  34. 掩模ROM适于大批量定制, 可以降低成本、提高可靠性, 但上市周期长、市场风险大。 OTP芯片的低端价格已经接近掩模ROM , 适于小批量试制和生产, 可以对市场需求作出灵活反应。近年来, 基于EPROM 的OTP 技术取代了可靠性较差的“熔丝式” 一次性编程PROM , 可以整合产品生命周期中的开发、采购、生产、市场拓展、营销各个环节, 大大提高了市场竞争力。 EPROM中的程序代码可在专用的紫外线擦除器中擦除后改写, 适于开发研制和小批量试制, 但成本较高。一旦信息被擦除, 存储器中代码均变为“1” 。

  35. E2PROM原理与EPROM 相似, 特点是用电擦除器擦除后可以在线编写和修改程序, 但写入周期较长(几毫秒) , 重复改写的次数也有限制。 Flash Memory可按字节读和写, 块擦除功能能够擦掉任何一个Flash 字节块, 片内擦除操作可以擦掉整个程序存储器。读出数据传输率高于其他存储器。它是固有非易失性、廉价的高密度存储容量、可直接与CPU 连接存取的固态器件, 特别适合于便携式系统。 注意:E2PROM 和Flash Memory 均属电可改写器件, 应注意它们在强干扰环境下的可靠性。

  36. 2.4 典型微控制器的特点 2.4.1 P89LPC936 的特点 Intel 公司的MCS-51系列微控制器在我国被广泛应用, 该系列的核心电路是80C51 。其他公司也在此基础上开发了制造工艺和性能特点各不相同、具有各种功能的多种型号微控制器。例如, Philips 公司的LPC900系列微控制器采用增强型80C51为内核, 有多种封装形式(DIP / TSSOP / PLCC / HVQFN) (封装和引脚见图2-6) , 片内集成了许多系统级功能模块, 可靠性和集成度高, 大大降低了系统外围元器件数目、电路面积和系统花费。具有先进的Flash 工艺(低功耗的3V Flash 存储器,集成的E2PROM ,128/256/768 字节的SRAM) 等强大性能。

  37. 图2-6  LPC900系列封装和引脚

  38. 图2-7 P89LPC936 功能框图

  39. P89LPC936 的主要特点: 1. 存储器 16KB 可字节擦除的Flash 程序存储器, 组织架构为2KB/扇区和64 字节/页;256 字节RAM 数据存储器和一个512 字节的附加片内RAM ;512 字节片内用户数据E2 PROM 存储区, 可用来存放器件序列码及设置参数。 2. 定时/计数器 2 个16 位定时/计数器(每一个定时器均可设置为溢出时触发相应端口输出或作为PWM 输出) 和1 个23 位的系统定时器, 系统定时器可用作实时时钟。

  40. 3. 输入/输出 • 28 脚TSSOP 、PLCC 和HVQFN 封装。最少有23 个I/O 口, 当选择片内振荡器和片内复位时I/O 口可高达26 个。 • 4 个中断优先级。8 个键盘中断输入,另加2路外部中断输入。 • 2个4路输入的8 位A/D 转换器; 2个模拟比较器, 可选择输入和参考源。 • 捕获/比较单元(CCU) 提供PWM , 输入捕获和输出比较功能。 • I2C 总线通信端口和SPI 通信端口。

  41. 4. 电压与频率 选择片内高精度RC 振荡器时不需要外接振荡器件。可选择RC 振荡器选项并且其频率可进行很好的调节。通过用户可编程Flash 配置位可选择片内振荡器及其频率范围。振荡器选项支持的频率范围为20kHz ~ 18 MHz 。VDD 操作电压范围为2.4~ 3.6V 。I/O 口可承受5V (可上拉或驱动到5.5V) 。 5. 在线编程 利用商用EPROM 编程器可简单实现串行Flash 在电路编程(ICP) 。Flash保密位可防止程序被读出。器件固定在最终应用中时可采用串行Flash 以系统编程(ISP) 方法进行编程。 Flash 程序存储器可实现在应用中编程( IAP),允许在程序运行时改变代码。

  42. 2. 4. 2 MC68HC908GP32 的特点 Motorola (Freescale)公司是世界上最大的微控制器类集成电路供应商。1999 年在中国推出的M68HC08系列产品, 在以下3 个方面进行了升级与优化: (1) 应用数字锁相环(PLL)技术, 只需32kHz 的外部时钟源, 就可获得各种内部总线时钟频率, 且最高总线时钟可达8 MHz 。这一改进在大大提升系统执行速率的同时, 降低了应用系统的噪声, 提高了应用系统的抗电磁干扰能力。 (2) 应用Flash 技术使应用程序可在线编程, 使得应用类产品的开发不再需要昂贵的仿真器。 (3) 与M68 HC05 向上兼容, 增加了78 条指令, 并大大优化了M68HC08CPU 指令集, 特别是将M68 HC05 固定的8 位栈指针优化为16 位浮动栈指针,使得高级语言(如C 语言) 的应用成为可能。

  43. 其中, 典型产品MC68 HC908GP32 是M68 HC08 系列微控制器中的一款通用型芯片, 具有较强的代表性。MC68 HC908GP32 具有PDIP40 、SDIP42 和QFP44 三种封装, 如图2-8 所示。3 种封装的引脚数差别仅表现在C 与D 两个端口I/O 线的多少。 图2-9 是它的内部功能结构框图。图中, 引脚标号中加“ * ” 者表示该引脚内部已有上拉电阻; 加“ + ” 者表示该引脚作为输入时, 可由软件设置上拉电阻; 加“ # ” 者表示该引脚具有较大的电流驱动能力。

  44. 图2-8 MC68HC908 GP32 封装和引脚

  45. 图2-9  MC68HC908GP32 功能框图

More Related