专栏名称: 半导体行业观察
半导体行业第一垂直媒体,30万半导体精英的共同关注!实时、专业、原创,专注观察全球半导体行业最新资讯、技术前沿、发展趋势。欢迎订阅摩尔精英旗下更多公众号:摩尔精英MooreRen、摩尔芯闻MooreNEWS
目录
相关文章推荐
OFweek维科网  ·  不跟雷军竞争?董明珠公开回应! ·  3 天前  
OFweek维科网  ·  总投资超93亿,又一电池超级工厂落户英国! ·  3 天前  
湖北工信  ·  签约!又一泛半导体项目落户武汉 ·  昨天  
湖北工信  ·  签约!又一泛半导体项目落户武汉 ·  昨天  
OFweek维科网  ·  比亚迪又获电池大订单! ·  4 天前  
半导体行业联盟  ·  签约!又一泛半导体项目落户武汉光谷 ·  3 天前  
51好读  ›  专栏  ›  半导体行业观察

MCU的技术原理、区别及发展历史

半导体行业观察  · 公众号  · 半导体  · 2017-07-09 12:34

正文

来源:内容来自互联网 谢谢。


微控制单元( Microcontroller Unit MCU ,又称单片微型计算机( Single Chip Microcomputer )或者单片机,是把中央处理器( Central Process Unit CPU )的频率与规格做适当缩减,并将内存( memory )、计数器( Timer )、 USB A/D 转换、 UART PLC DMA 等周边接口,甚至 LCD 驱动电路都整合在单一芯片上,形成芯片级的计算机,为不同的应用场合做不同组合控制。诸如手机、 PC 外围、遥控器,至汽车电子、工业上的步进马达、机器手臂的控制等,都可见到 MCU 的身影。


技术原理

MCU 同温度传感器之间通过 I2C 总线连接。 I2C 总线占用 2 MCU 输入输出口线,二者之间的通信完全依靠软件完成。温度传感器的地址可以通过 2 根地址引脚设定,这使得一根 I2C 总线上可以同时连接 8 个这样的传感器。本方案中,传感器的 7 位地址已经设定为 1001000 MCU 需要访问传感器时,先要发出一个 8 位的寄存器指针,然后再发出传感器的地址( 7 位地址,低位是 WR 信号)。传感器中有 3 个寄存器可供 MCU 使用, 8 位寄存器指针就是用来确定 MCU 究竟要使用哪个寄存器的。本方案中,主程序会不断更新传感器的配置寄存器,这会使传感器工作于单步模式,每更新一次就会测量一次温度。

要读取传感器测量值寄存器的内容, MCU 必须首先发送传感器地址和寄存器指针。 MCU 发出一个启动信号,接着发出传感器地址,然后将 RD/WR 管脚设为高电平,就可以读取测量值寄存器。

为了读出传感器测量值寄存器中的 16 位数据, MCU 必须与传感器进行两次 8 位数据通信。当传感器上电工作时,默认的测量精度为 9 位,分辨力为 0.5 C/LSB (量程为 -128.5 C 128.5 C )。本方案采用默认测量精度,根据需要,可以重新设置传感器,将测量精度提高到 12 位。如果只要求作一般的温度指示,比如自动调温器,那么分辨力达到 1 C 就可以满足要求了。这种情况下,传感器的低 8 位数据可以忽略,只用高 8 位数据就可以达到分辨力 1 C 的设计要求。由于读取寄存器时是按先高 8 位后低 8 位的顺序,所以低 8 位数据既可以读,也可以不读。只读取高 8 位数据的好处有二,第一是可以缩短 MCU 和传感器的工作时间,降低功耗;第二是不影响分辨力指标。

MCU 读取传感器的测量值后,接下来就要进行换算并将结果显示在 LCD 上。整个处理过程包括:判断显示结果的正负号,进行二进制码到 BCD 码的转换,将数据传到 LCD 的相关寄存器中。

数据处理完毕并显示结果之后, MCU 会向传感器发出一个单步指令。单步指令会让传感器启动一次温度测试,然后自动进入等待模式,直到模数转换完毕。 MCU 发出单步指令后,就进入 LPM3 模式,这时 MCU 系统时钟继续工作,产生定时中断唤醒 CPU 。定时的长短可以通过编程调整,以便适应具体应用的需要。


主要区别

20 世纪最值得人们称道的成就中,就有集成电路和电子计算机的发展。 20 世纪 70 年代出现的微型计算机,在科学技术界引起了影响深远的变革。在 70 年代中期,微型计算机家族中又分裂出一个小小的派系 -- 单片机。随着 4 位单片机出现之后,又推出了 8 位的单片机。 MCS48 系列,特别是 MCS51 系列单片机的出现,确立了单片机作为微控制器( MCU )的地位,引起了微型计算机领域新的变革。在当今世界上,微处理器( MPU )和微控制器( MCU )形成了各具特色的两个分支。它们互相区别,但又互相融合、互相促进。与微处理器( MPU )以运算性能和速度为特征的飞速发展不同,微控制器( MCU )则是以其控制功能的不断完善为发展标志的。

CPU Central Processing Unit ,中央处理器)发展出来三个分枝,一个是 DSP Digital Signal Processing/Processor ,数字信号处理),另外两个是 MCU Micro Control Unit ,微控制器单元)和 MPU Micro Processor Unit ,微处理器单元)。

MCU 集成了片上外围器件; MPU 不带外围器件(例如存储器阵列),是高度集成的通用结构的处理器,是去除了集成外设的 MCU DSP 运算能力强,擅长很多的重复数据运算,而 MCU 则适合不同信息源的多种数据的处理诊断和运算,侧重于控制,速度并不如 DSP MCU 区别于 DSP 的最大特点在于它的通用性,反应在指令集和寻址模式中。 DSP MCU 的结合是 DSC ,它终将取代这两种芯片。

1. 对密集的乘法运算的支持

GPP 不是设计来做密集乘法任务的,即使是一些现代的 GPP ,也要求多个指令周期来做一次乘法。而 DSP 处理器使用专门的硬件来实现单周期乘 法。 DSP 处理器还增加了累加器寄存器来处理多个乘积的和。累加器寄存器通常比其他寄存器宽,增加称为结果 bits 的额外 bits 来避免溢出。同时,为了 充分体现专门的乘法 - 累加硬件的好处,几乎所有的 DSP 的指令集都包含有显式的 MAC 指令。

2. 存储器结构

传统上, GPP 使用冯。诺依曼存储器结构。这种结构中,只有一个存储器空间通过一组总线(一个地址总线和一个数据总线)连接到处理器核。通常,做一次乘法会发生 4 次存储器访问,用掉至少四个指令周期。

大多数 DSP 采用了哈佛结构,将存储器空间划分成两个,分别存储程序和数据。它们有两组总线连接到处理器核,允许同时对它们进行访问。这种安排将处理器存储器的带宽加倍,更重要的是同时为处理器核提供数据与指令。在这种布局下, DSP 得以实现单周期的 MAC 指令。

典型的高性能 GPP 实际上已包含两个片内高速缓存,一个是数据,一个是指令,它们直接连接到处理器核,以加快运行时的访问速度。从物理上说,这种片内的双存储器和总线的结构几乎与哈佛结构的一样了。然而从逻辑上说,两者还是有重要的区别。

GPP 使用控制逻辑来决定哪些数据和指令字存储在片内的高速缓存里,其程序员并不加以指定(也可能根本不知道)。与此相反, DSP 使用多个片内存储器和多组总线来保证每个指令周期内存储器的多次访问。在使用 DSP 时,程序员要明确地控制哪些数据和指令要存储在片内存储器中。程序员在写程序时,必须保证处理器能够有效地使用其双总线。

此外, DSP 处理器几乎都不具备数据高速缓存。这是因为 DSP 的典型数据是数据流。也就是说, DSP 处理器对每个数据样本做计算后,就丢弃了,几乎不再重复使用。

3. 零开销循环

如果了解到 DSP 算法的一个共同的特点,即大多数的处理时间是花在执行较小的循环上,也就容易理解,为什么大多数的 DSP 都有专门的硬件,用于 零开销循环。所谓零开销循环是指处理器在执行循环时,不用花时间去检查循环计数器的值、条件转移到循环的顶部、将循环计数器减 1

与此相反, GPP 的循环使用软件来实现。某些高性能的 GPP 使用转移预报硬件,几乎达到与硬件支持的零开销循环同样的效果。

4. 定点计算

大多数 DSP 使用定点计算,而不是使用浮点。虽然 DSP 的应用必须十分注意数字的精确,用浮点来做应该容易的多,但是对 DSP 来说,廉价也是非常重要的。定点机器比起相应的浮点机器来要便宜(而且更快)。为了不使用浮点机器而又保证数字的准确, DSP 处理器在指令集和硬件方面都支持饱和计算、舍入和移位。

5. 专门的寻址方式

DSP 处理器往往都支持专门的寻址模式,它们对通常的信号处理操作和算法是很有用的。例如,模块(循环)寻址(对实现数字滤波器延时线很有用)、位倒序寻址(对 FFT 很有用)。这些非常专门的寻址模式在 GPP 中是不常使用的,只有用软件来实现。

6. 执行时间的预测

大多数的 DSP 应用(如蜂窝电话和调制解调器)都是严格的实时应用,所有的处理必须在指定的时间内完成。这就要求程序员准确地确定每个样本需要多少处理时间,或者,至少要知道,在最坏的情况下,需要多少时间。如果打算用低成本的 GPP 去完成实时信号处理的任务,执行时间的预测大概不会成为什么问题,应为低成本 GPP 具有相对直接的结构,比较容易预测执行时间。然而,大多数实时 DSP 应用所要求的处理能力是低成本 GPP 所不能提供的。 这时候, DSP 对高性能 GPP 的优势在于,即便是使用了高速缓存的 DSP ,哪些指令会放进去也是由程序员(而不是处理器)来决定的,因此很容易判断指令是从高速缓存还是从存储器中读取。 DSP 一般不使用动态特性,如转移预测和推理执行等。因此,由一段给定的代码来预测所要求的执行时间是完全直截了当的。从而使程序员得以确定芯片的性能限制。

7. 定点 DSP 指令集

定点 DSP 指令集是按两个目标来设计的:使处理器能够在每个指令周期内完成多个操作,从而提高每个指令周期的计算效率。将存贮 DSP 程序的存储器空间减到最小(由于存储器对整个系统的成本影响甚大,该问题在对成本敏感的 DSP 应用中尤为重要)。为了实现这些目标, DSP 处理器的指令集通常都允许程序员在一个指令内说明若干个并行的操作。例如,在一条指令包含了 MAC 操作,即同时的一个或两个数据移动。在典型的例子里,一条指令就包含了计算 FIR 滤波器的一节所需要的所有操作。这种高效率付出的代价是,其指令集既不直观,也不容易使用(与 GPP 的指令集相比)。 GPP 的程序通常并不在意处理器的指令集是否容易使用,因为他们一般使用象 C C++ 等高级语言。而对于 DSP 的程序员来说,不幸的是主要的 DSP 应用程序都是用汇编语言写的(至少部分是汇编语言优化的)。这里有两个理由:首先,大多数广泛使用的高级语言,例如 C ,并不适合于描述典型的 DSP 算法。其次, DSP 结构的复杂性,如多存储器空间、多总线、不规则的指令集、高度专门化的硬件等,使得难于为其编写高效率的编译器。 即便用编译器将 C 源代码编译成为 DSP 的汇编代码,优化的任务仍然很重。典型的 DSP 应用都具有大量计算的要求,并有严格的开销限制,使得程序的优化必不可少(至少是对程序的最关键部分)。因此,考虑选用 DSP 的一个关键因素是,是否存在足够的能够较好地适应 DSP 处理器指令集的程序员。

8. 开发工具的要求

因为 DSP 应用要求高度优化的代码,大多数 DSP 厂商都提供一些开发工具,以帮助程序员完成其优化工作。例如,大多数厂商都提供处理器的仿真工具,以准确地仿真每个指令周期内处理器的活动。无论对于确保实时操作还是代码的优化,这些都是很有用的工具。 GPP 厂商通常并不提供这样的工具,主要是因为 GPP 程序员通常并不需要详细到这一层的信息。 GPP 缺乏精确到指令周期的仿真工具,是 DSP 应用开发者所面临的的大问题:由于几乎不可能预测高性能 GPP 对于给定任务所需要的周期数,从而无法说明如何去改善代码的性能。


发展历史

单片机出现的历史并不长,但发展十分迅猛。 它的产生与发展和微处理器的产生与发展大体同步,自 1971 年美国 Intel 公司首先推出 4 位微处理器以来,它的发展到目前为止大致可分为 5 个阶段。下面以 Intel 公司的单片机发展为代表加以介绍。

1971-1976

单片机发展的初级阶段。 1971 11 Intel 公司首先设计出集成度为 2000 只晶体管 / 片的 4 位微处理器 Intel 4004 ,并配有 RAM ROM 和移位寄存器, 构成了第一台 MCS—4 微处理器, 而后又推出了 8 位微处理器 Intel 8008 以及其它各公司相继推出的 8 位微处理器。

1976-1980

低性能单片机阶段。 1976 Intel 公司推出的 MCS—48 系列为代表, 采用将 8 CPU 8 位并行 I/O 接口、 8 位定时 / 计数器、 RAM ROM 等集成于一块半导体芯片上的单片结构, 虽然其寻址范围有限(不大于 4 KB ), 也没有串行 I/O RAM ROM 容量小, 中断系统也较简单, 但功能可满足一般工业控制和智能化仪器、仪表等的需要。

1980-1983

高性能单片机阶段。 这一阶段推出的高性能 8 位单片机普遍带有串行口,有多级中断处理系统, 多个 16 位定时器 / 计数器。片内 RAM ROM 的容量加大,且寻址范围可达 64 KB ,个别片内还带有 A/D 转换接口。

1983-80 年代末

16 位单片机阶段。 1983 Intel 公司又推出了高性能的 16 位单片机 MCS 96 系列,由于其采用了最新的制造工艺, 使芯片集成度高达 12 万只晶体管 / 片。

1990 年代

单片机在集成度、功能、速度、可靠性、应用领域等全方位向更高水平发展。

按照单片机的特点,单片机的应用分为单机应用与多机应用。在一个应用系统中,只使用一片单片机称为单机应用。单片机的单机应用的范围包括:

1 测控系统。 用单片机可以构成各种不太复杂的工业控制系统、自适应控制系统、数据采集系统等,达到测量与控制的目的。


2 智能仪表。 用单片机改造原有的测量、控制仪表,促进仪表向数字化、智能化、多功能化、综合化、柔性化方向发展。


3 机电一体化产品。单片机与传统的机械产品相结合,使传统机械产品结构简化, 控制智能化。


4 智能接口。 在计算机控制系统, 特别是在较大型的工业测、控系统中,用单片机进行接口的控制与管理, 加之单片机与主机的并行工作, 大大提高了系统的运行速度。


5 智能民用产品。







请到「今天看啥」查看全文