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 位微控制器易于使用、应用灵活、可靠耐用,均是不容小觑的优良特性。
Have questions or comments? Continue the conversation on TechForum, Digi-Key's online community and technical resource.
Visit TechForum