爱特梅尔(Atmel)这个名字做嵌入式的应该都不陌生,虽然现在已经被 Microchip 收购,但它家的 AVR 单片机在学生和创客圈子里影响深远。Arduino 最早就是基于 Atmega328P 这颗 AVR 芯片做的,很多初学者第一次接触单片机就是从爱特梅尔的芯片开始的。
AVR 系列最大的特点是哈佛架构和 RISC 指令集,单周期指令执行效率高,同主频下比很多 8051 内核的芯片要快。它的 GPIO 配置也很灵活,每个引脚都可以单独配置输入输出、上拉电阻、中断触发方式,做小车、机器人这类项目特别方便。
爱特梅尔的产品线主要分为几大类:tinyAVR、megaAVR、XMEGA 和 SAM 系列。tinyAVR 体积小巧、引脚少,适合简单的控制任务;megaAVR 是经典款,ATmega16、ATmega32、ATmega328P 都是这个系列的;XMEGA 性能更强,带 DMA 和更多外设;SAM 系列则是 ARM Cortex-M 内核,面向更复杂的应用。
选型时要考虑几个因素。首先是闪存和 RAM 容量,程序大就选大容量的型号。其次是外设需求,需要几个串口、几个定时器、有没有 ADC/DAC、要不要 USB 接口。最后是封装和功耗,便携设备可能选 TQFP 或 QFN 封装,电池供电项目要关注低功耗模式。
开发环境方面,AVR 可以用 Atmel Studio(现在是 Microchip Studio),也可以用 Arduino IDE。如果只是做原型验证,Arduino 生态最方便,库和例程一抓一大把。如果要写寄存器级代码、做量产产品,建议用 Atmel Studio 配合 AVR-GCC 工具链。
被 Microchip 收购之后,爱特梅尔的产品并没有消失,而是整合进了 Microchip 的产品线。原来的 AVR 芯片还在生产和销售,新的 tinyAVR 0/1/2 系列、megaAVR 0 系列更是把价格拉得很低,性价比不错。对于熟悉 AVR 的老工程师来说,迁移到新系列并不困难。
下一篇:没有了