微控制器

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

微控制器
一个微控制器,(也称作微处理器或MCU)就是一个小型的计算机,它由一系列简单的电路和一些支持CPU作用的简单模块组成,如晶体振荡器,定时器,看门狗,串行和模拟I / O口等等。

芯片里包括非闪烁存储器和OTP ROM用来存储程序,以及一个很小的读写程序。

微控制器一般应用于一些小型设备的控制。

因此在这里特别强调与微处理器应用于个人电脑和其他高性能的场合不一样。

一些微控制器运行时的时钟频率可能低至32KZ,在许多典型的应用中已经足够了,并可以降低系统功耗。

当等待按钮按下或其他中断请求时,系统可以保持低功耗的状态,所以非常适合用持续电池应用。

微控制器可以用于自动控制产品和设备,如汽车引擎控制系统,远程控制,办公设备,家用电器,电动工具,和玩具。

与减少尺寸和降低成本的设计相比,使用一个单独的微处理器,内存和输入/输出设备显然不适用,微控制器使设备和过程的控制更加经济和数字化。

嵌入式设计
大多数的计算机系统都内嵌都其他机器,如汽车,电话,家用电器,和周边的计算机系统。

这些都是所谓的嵌入式系统。

虽然一些嵌入式系统是非常复杂的,但只要求很小的内存和简短的程序,而且没有操作系统,软件的复杂性也很低。

典型的输入和输出设备包括开关,继电器,螺线管,发光二极管,小型或自定义的LCD显示器,射频器件,传感器和温度传感器的数据,如温度,湿度,光水平等等。

嵌入式系统通常没有键盘,屏幕,硬盘,打印机,或其他可辨认的个人电脑的I / O接口,缺乏人机通信方面的设备。

中断
在所控制的嵌入式系统系统中,微控制器提供的实时响应事件是强制性的。

当某些事件发生时,中断系统信号处理器暂停处理当前的指令序列,并开始执行一个中断服务程序(ISR),执行完终端服务程序后返回原来的指令序列。

中断源可能是依赖设备的,往往是系统内一些状态的改变,如内部定时器的溢出,或
完成模拟向数字的转换,一个逻辑电平输入的变化,一个按钮被按下等等。

在电池供电设备中,能耗是很重要的,当处理器要求处理一些外围事件时,中断可能影响微控制器的低功耗状态。

程序
单片机程序必须符合现有的片上程序存储器,因为提供一个可扩展内存的外部系统将是昂贵的。

使用编译器和汇编语言编写高级语言程序并将程序转换为最简单的机器代码存在微控制器的存储器中。

根据设备的不同,有些程序烧写进去是永久性的,不能更改的。

只读存储器在出厂前程序就已经烧写好了。

但是有些存储器可能是Flash或可擦除的只读存储器。

其他微控制器的功能
由于嵌入式处理器通常是用来控制装置,他们有时需要接受控制设备的输入。

这是模数转换器的目的。

处理器内部能够识别的是数字信号即1和0 ,但是设备只能识别模拟信号,对于数字信号它们无法做任何事情。

因此数模转换器是用来把处理器发送出来的数字量转换为设备可识别的模拟量以达到控制设备的目的。

除了转换器之外,许多嵌入式微处理器还包括各种定时器。

其中最常见的计时器是可编程间隔定时器,或PIT定时器,倒数计时到零则发送一个中断给处理器,表明它已经完成计数。

这是非常有用的设备,如恒温系统中,需要定期测量周边的温度,以便了解是否需要打开空调和取暖炉等等。

时间处理单元或TPU是一个复杂的定时器。

除了能倒计外,TPU能随时检测输入事件,输出事件的状态并且能执行其他有用的进程。

PWM脉宽调制模块在不必使用大量的CPU资源下,严格控制定时器循环,可让CPU在控制功率转换器,电阻负载,电动机等取得很好的效果。

通用异步接收/发送器( UART接口)模块,通过串行口可以很方便的接收和传输数据,并且占用很少的CPU负载。

对于那些想通过以太网通信,可以扩展外围芯片,如:外部晶体半导体芯片CS8900A,RTL8019 ,或ENC 28J60。

所有这些与微控制器接口很方便连接,而且引脚数也很少。

高集成度
与通用处理器的CPU不一样,微控制器可能无法执行一个外部地址或数据总线的信号,因为它的CPU和RAM,内存都整合到同一块芯片上了。

这样使引脚数大大减少,从而使芯片能够放在一个更小的区域了。

把内存和其他外围设备集成在在一个芯片上,作为一个整体的单位测试,它的成本可能增加了,但嵌入式系统的整体净成本却减少了。

即使集成CPU与外设的成本高于CPU和外设的成本,但这样一块较小的集成芯片可以放置在一块更小的电路板上,降低了组装和测试电路板的劳动力需求。

微控制器是一个单一的综合电路,一般具有以下特点:
•中央处理器,从小型的4位处理器发展到复杂的32位或64位的处理器。

•离散输入和输出信号,能够控制和检测个人封装引脚的逻辑状态。

•串行输入/输出,如串行端口(个UART )
•其它串行通信接口如I2C接口,串行外设接口和控制器区域网络用于系统之间通信。

•外部设备包括定时器,计数器, PWM产生器和看门狗。

•RAM用于数据存储。

•ROM, EPROM, EEPROM 和 Flash 存储器用于操作参数的存储和程序的存储。

•时钟发生器通常是一个时间石英振荡器晶体,谐振器和RC电路组成。

•许多包括模数转换器。

•支持电路编程和调试。

系统的高度集成使芯片的使用数量和电线电路板的空间大大减少。

集成的系统相当于使用不同功能的芯片。

此外引脚数减少,每个引脚连接相应的外设,通过软件确定引脚的功能。

每个引脚都有确定的功能,使得集成芯片应用广泛。

由上世纪六七十年代引进的微控制器已被证明是非常流行的嵌入式系统。

一些微控制器采用哈佛结构:不同的存储单元用来存储不同的指令和数据。

存储和读取时同时进行的。

凡采用哈佛结构,处理器的指令可能是一个与内部存储器和寄存器不同字长的指令。

例如: 12位指示只使用8位数据寄存器。

一般整合微控制器供应周边的决定往往是困难的。

微控制器供应商的销售往往考虑系统设计的灵活性和操作频率,上市的时间一般从客户和系统的成本等方面的因素决定。

制造商必须平衡芯片的大小和额外扩展功能之间的需求。

微控制器架构有很大的差异。

有些设计包括用于一般用途的微处理器内核,有一个或多个只读存储器, RAM或I / O口集成封装在一起。

其他设计目的用于控制应用程序。

微控制器的指令集通常包括许多特定功能的指令,使控制程序更加紧凑。

例如,通用处理器可能需要设置一小段测试程序以便检测寄存
器或分支结构中的应用程序。

微控制器可以有一些单指令,来完成规定一般功能要求。

单片机通常不会包含有数字逻辑处理器,因此它的定点或浮点运算是通过相移的程序代码来完成的。

市场规模
世界上销售的55%的份额都是八位的微控制器和微处理器。

根据Semico
报道, 2006共销售了约40亿个8位微控制器。

在发达国家一个典型的家庭在电气控制系统中很可能只用到4个微处理器。

但微控制器却有36个。

在一个典型的汽车控制中,可能需要用到一些列30或更多的微控制器。

同样在一些家用电器设备中也可以看到微控制器的应用,例如:洗衣机,微波炉,电话等等。

为了解决目标系统软件的发展,制造商们往往会生产一些具有特殊功能版本的微控制器来达到控制要求。

在最初的版本,EPROM在程序存储器的顶部有一个“窗口”,可以通过紫外线光擦除,用来烧写程序和测试周期后重编译。

1998年开始,可擦写可编程EPROM版本是罕见的,并且由于它使用简单,制造便宜,逐渐取代了传统的EEPROM和Flash存储器。

其他版本的也有把光盘作为外部设备的访问对象,而不是内部存储器。

不过由于微控制器编程的简单和其廉价的特性,这些正变得越来越稀少了。

利用现场可编程器件的微控制器可允许更新固件和产品的售前许可证等方面。

可编程存储器也减少了新产品开发和部署所需的准备时间。

如果大量的设备的控制要求相同,在制造时,零件编程可以考虑一个非常经济的选择。

在同一时间,这些“隐藏程序”在设计计划中使用同样的逻辑芯片。

编程环境
微控制器编程原来只使用简单的初级语言,但如今大量的高级语言在编程中也开始使用。

这些编程语言目的明确,或为通用语言的版本,如C编程语言。

编译通用语言时会有一些限制,需要改进,以便更好地适用微控制器的编程环境。

有些微控制器的编程环境,可以帮助某些特定的应用类型的发展。

许多微控制器供应商,往往提供免费的工具让人们很容易的熟悉他们的硬件设置。

微控制器是如此奇特,它有效地要求自己独特的C语言标准,如8051的SDCC,就是为了防止使用标准工具(如代码库或静态分析工具)分析对硬件特性无关的代码,编译员常常隐藏这种低级的现象。

编译的语言对微控制器也很重要,例如,早期的在英特尔8052上使用的BASIC语言,以及一些现代化设备上如Zilog Z8上使用的BASIC 和FORTH语言。

通常编译使这些程序之间相互影响。

在微控制器中也广泛使用仿真器,如微芯片的MTLAB模拟仿真环境,这个可以使设计者,分析他们使用微控制器和其程序中要求控制的部分的具体行为。

仿真器能够显示内部处理器的状态,包括输入输出信号的状态等等。

但是另一方面,仿真器对很多硬件系统很难模拟,没有特定的条件,在实际操作中很难重现仿真的状态,也很难用最快的方式调试和分析问题。

目前微控制器都包含调试电路的芯片,,当经过仿真器内部JTAG通过时,才可以进行硬件的调试。

常见微控制器的类型(截至2008年)
•68HC11
•8051
•ARM
•Atmel AVR 8位机
•Atmel AVR32 32位机
•Freescale CF (32-位)
•Freescale S08
•Hitachi H8, Hitachi SuperH
•MIPS (32位PIC32)
•NEC V850
•PIC (8位PIC16, PIC18, 16-位dsPIC33 / PIC24)
•PowerPC ISE
•PSoC (可编程的系统芯片)
•Rabbit 2000
•TI MSP430 (16位)
•Toshiba TLCS-870
•Zilog eZ8, eZ80
还有许多其他类型,其中一些用于范围很窄的应用程序,这些更像是微处理器而不是微控制器了。

中断延时
和一般用途的电脑相反,用于嵌入式系统的微控制器在程序设计时尽量要求使用少的中断延时指令。

当电子设备产生中断,此时中间结果和寄存器的当前状态被保存,当中断服务程序执行完后由软件返回断点继续运行。

如果有很多的寄存器,保存和恢复这一进程需要更多的时间,增加了延迟时间。

低延迟的MCU一般在它的中央处理模块只有较少的寄存器,或者有些含有一些特殊功能的寄存器,这些寄存器只用于执行软件的中断请求。

发展历史
世界上第一块单片机是由英特尔公司于1971年发布的四位的4004芯片,在随后的几年里,其他更好的处理器逐渐出现。

但一个完整的工作系统,需要添加一些外部芯片,提高系统的整体成本,与电脑设备无法相比。

第一块用于计算机控制应用的芯片是1975Intel公司生产的8048芯片,它将RAM和ROM集成在一块芯片上。

该芯片上包含众多的应用程序。

大多数微控制器在这个时候有两个分支。

其中一个可擦写的EEPROM程序存储器,比之前只能编写一次的PROM要贵很多。

1993年,引进EEPROM存储器应用于微控制器(开始于芯片PIC16x84 )跟EPROM一样,是一种快速的可电擦除式的存储器。

这2个存储器类型快速发展,并用于系统编程。

同年,Atmel公司推出了第一款使用速闪存存储器Flash存储器。

其他公司也迅速跟进,开发出各种不同类型的存储器,从而使得微控制器的成本逐渐下降,最便宜的微控制器只要0.25美元,到2009年,复杂的32位微控制器售价也不超过5美元。

如今微控制器的低成本,快速,实用性强得到了很多网络服务器在线交流的业余爱好者的好评。

相关文档
最新文档