8 位微控制器仍是实现低功耗和易用性的理想之选

20 世纪 90 年代,我称之为“微控制器的黄金时代”,那时 C 编译器刚刚开始流行,但如果你想从事嵌入式编程方面的工作,掌握汇编语言仍是不可或缺的技能。像我这样的现场应用工程师 (FAE) 还需要去拜访客户。满屋子嚼着甜甜圈(我买的)的工程师,全都瞪大眼睛、竖起耳朵,听我滔滔不绝地宣讲最新微控制器产品的优点。

那时的半导体公司还不像现在这样,每个月都推出新的微控制器。通常,每个季度会有一两款新产品面市。但是有些事情自始至终从未改变。那天,我运用熟练的 PowerPoint 技巧向二十多名工程师展示产品。这个团队的工作是设计汽车车身控制器。车身控制器是一个遵循 goesinta/goesouta(输入/输出)原理的简单逻辑控制盒,开关信号“输入”控制盒,然后从控制盒“输出”致动器控制信号。这小玩意儿是个带有大量 GPIO 的 8 位微控制器。

我在众人面前夸夸其谈,直到房间后面慢慢举起一只手。

一个声音从容坚定地说:“管理层已经决定,从现在开始,我们的车身控制器要用 32 位微控制器。”籍由屋里众人的嘟囔,我猜到管理层并没有作出类似的决定。或许这人另怀鬼胎,比如他偏爱某个供应商,然而悲催地是,那绝不是我们公司。

“你们用不着 32 位微控制器,你个骗子!”我愤愤地在心里嘀咕。但是实际上,我只能为了保住饭碗忍气吞声说道:“那请您告诉我,下一代车身控制器需要 32 位架构的哪些功能?”

停顿了片刻,他略带挑衅地回答:“我们就是要用 32 位。”他的声音听起来有些发虚。其他工程师也感觉到他底气不足,于是急忙转头望向房间前面的我,想听听我如何回应。

我详细解释了 32 位架构较 8 位架构的优势。他们需要更快的时钟速度?下一代产品需要更复杂的数学计算?固件要求多线程?还是需要实时操作系统 (RTOS)?固件大小已经增长到了需要增加存储器寻址空间的程度吗?在当时,上述都是从 8 位内核升级到 32 位的有效理由,如今依然如此(虽然这两者之间还存在 16 位,但这属于其他主题)。

之后,大家一边品尝美味的甜甜圈,一边讨论 8 位架构与 32 位架构之间的差异。8 位微控制器架构较简单,编程模型易于理解,通常只需单电源。尽管市场营销人员给出的数据往往与此相反,可事实上,与 32 位架构相比,近年推出的 8 位架构功耗更低,因为内部切换的总线信号较少。

8 位微控制器实例

多年来,Microchip Technology 一直为其推出的 8 位微控制器倍感自豪。Microchip 的 megaAVR(也称作 ATMega)一直深受青睐。这款 8 位内核采用经典的哈佛架构,可寻址高达 256 KB 的程序存储器。这种基于寄存器的简单架构适用于 C 语言编程,具有 32 个 8 位通用 (GP) 寄存器(图 1)。

图 1:megaAVR 微控制器基于 32 个 8 位寄存器,分别记作 R0 至 R31。寄存器也可作为寄存器对进行寻址,即组成 16 个 16 位寄存器。(图片来源:Microchip Technology)

作为寄存器对时,GP 寄存器大小翻倍,即组成 16 个 16 位寄存器。如有需要,最后三对寄存器可用作 16 位地址寄存器 X、Y 和 Z,用于间接寻址。

除了 GP 寄存器外,megaAVR 还具有一个 16 位堆栈寄存器和一个 8 位状态寄存器。就这些,很简单,只需使用汇编语言编程即可(“真正的程序员都会使用汇编语言”)。

对了,无法访问 megaAVR 的程序计数器,因此不要管它。

megaAVR 系列的典型实例是 20 MHz 的 ATMEGA1609。这款易于使用的微控制器具有 16 KB 的闪存、2 KB 的 RAM 和 256 字节的 EEPROM。大多使用单周期指令。

图 2:Microchip Technology 的 ATMEGA1609 是一款简单、灵活的低功耗 8 位微控制器,可在各种环境中工作。(图片来源:Microchip technology)

该器件具有一个 10 位模数转换器 (ADC)、5 个 16 位定时器、一个实时时钟 (RTC)、多种低功耗选择,以及一个双周期有/无符号硬件乘法器。

此外,megaAVR 还具有单周期位设置和位清除指令,以及需要一至三个时钟周期的位测试指令。

偏爱 C 语言的开发人员往往容易忽视位指令的重要性。事实上,本机位指令(“我们不需要原子 (ATOMIC) 指令”)可以显著提高性能、减少代码大小、提高代码可读性,还能消除你的偏见。

ATMEGA1609 的供电要求相当灵活,1.8 至 5.5 V 范围内皆可,工作温度范围为 -40°C 至 +125°C。此宽的供电电压和工作温度范围绝不是偶然。按照设计,这款 8 位微控制器旨在适应并用于各种设计环境。“易于使用”,又一项优点!

有时,开发人员必须快速完成简单的项目,而 8 位微控制器易于使用、应用灵活、可靠耐用,均是不容小觑的优良特性。

关于此作者

Image of Bill Giovino

Bill Giovino 是一名电子工程师,拥有美国雪城大学的电气工程学士学位,是先后从设计工程师、现场应用工程师跨界到技术营销部门的少数成功人士之一。

25 年来,Bill 一直喜欢在技术和非技术用户面前为包括 STMicroelectronics、Intel 和 Maxim Integrated 在内的许多公司推广新技术。在 STMicroelectronics 工作期间,Bill 作为领头人帮助该公司在微控制器领域取得了早期成功。在 Infineon,经过 Bill 精心策划,该公司的首个微控制器设计便在美国汽车领域大获全胜。作为 CPU Technologies 公司的营销顾问,Bill 帮助了许多公司,让其表现不佳的产品大获成功。

Bill 是物联网的早期尝试者,包括将第一个完整的 TCP/IP 协议栈植入微控制器。Bill 秉持“教育式销售”信条,在通过在线促销产品时强调清晰明了的书面沟通的重要性。他是广受欢迎的 LinkedIn 半导体市场营销群的群主,精通 B2E。

More posts by Bill Giovino
 TechForum

Have questions or comments? Continue the conversation on TechForum, Digi-Key's online community and technical resource.

Visit TechForum