不断增长的 8 位 AVR,不知道该往哪里走

电器工程 微控制器 手臂
2022-02-06 21:27:41

几年来我一直在使用 8 位 AVRS。最近,我一直受到外围数据传输速度和更高级别库的限制。

我在寻找/挑选新的微控制器系列来探索时遇到了麻烦。我看过

  • NXP - 找不到程序员
  • 飞思卡尔 - 必须注册 IDE
  • AVR32 - Digikey 上的有限芯片选择

NXP 芯片看起来非常好,但与任何不是 PIC/AVR/Ardiuno 的产品一样,学习曲线非常陡峭。

我想知道是否有人可以推荐一系列满足(按重要性排序)以下要求的微控制器

  1. 可手工焊接的芯片。(我可以做 LQFP 100)
  2. 32 位
  3. Linux主机
  4. 免费工具链
  5. 好/免费的IDE
  6. <500 美元的无限编程/调试/编译启动成本
  7. CAN支持
  8. 以太网/USB 支持

如果有人可以告诉我我错过了有关他们的工具链和程序员的一些信息,我愿意再次查看飞思卡尔和 NXP。我想你可能会说 AVR32 正是我想要的,但我对他们的芯片选择并不满意。他们都有更高的针数和 digikey 上的低库存。

谢谢。

4个回答

手臂,手臂,手臂。

ARM 将其处理器内核授权给许多公司。这意味着您可以从多个来源找到好的工具、支持和文档。

PIC、AVR和MSP430都存在被一家公司全资拥有的问题。

对于 ARM 微控制器,NXP 的 Cortex-M3 将比 NXP 的 ARM9 或 ARM7TDMI 更接近 ST 或 Luminary 的 Cortex-M3。通常情况下,编译器、调试器和程序员在内核而不是制造商之间是通用的。

获得 Codesourcery GCC ARM 工具链和便宜的 ARM JTAG 加密狗会让您走得更远。

我会选择恩智浦。短时间内,Cortex-M3 已成为 ARM 控制器的标准(我假设飞思卡尔是指 Coldfire)。由于 ARM7TDMI 恩智浦也有广泛的设备系列可供选择的传统。
至于 NXP 的程序员,IMO 任何 JTAG 程序员都应该做这项工作(CMIIW)。

编辑
我目前正在阅读有关mbed的信息,这看起来是开始使用 NXP Cortex M3 的最简单方法(使用的控制器是 LPC1768)。您在线编程/编译(因此 Linux 不是问题),并且您通过 USB 编程(该设备显示为大容量存储设备,您可以将编译的程序复制到其中)。无需程序员。为 mbed 编写的程序应该可以直接移植到其他板上的 LPC1768。

我肯定会推荐 NXP - 不错的芯片范围、良好的外围设备(具有灵活波特根和 FIFOS 的 UART、带 FIFO 的 SPI 等)出色的文档*和灵活的编程选项。获取 JTAG/SWD 调试器(Cortex 部件使用 SWD - 比 JTAG 更少的引脚,并且可以在运行时执行设置断点之类的操作)。我使用免费的 Kickstart 版本的 IAR 嵌入式工作台 - 它有 32K 的代码限制,这对我来说很好,但请注意代码大小升级很昂贵。很多人似乎都对 GCC/winarm 感到满意。某些 Cortex 部件(例如 LPC1343)可以使用板载引导加载程序从 USB 记忆棒加载固件。零件的可用性通常很好——我从来没有为寻找库存而苦苦挣扎。NXP 零件也有大量的开发板/分线板可供使用。

  • 用户手册中的文档很好,但是大多数事情都只提到了一次,因此值得花时间阅读与您将使用的每个外围设备相关的每个部分的全部内容。后续部分的手册有所改进,在每个部分的开头,它们会向您指出一些关键的非显而易见的事情,例如时钟/引脚使能记录在其他地方,这些都是使外围设备运行所需的

试试 16 位 PIC24 和 dsPIC。它们中的许多都在 DIL 中可用,它们提供高达 40 MIPS。提供免费的开发软件,PICkit 3 调试器/编程器非常便宜,只需 50 美元。MPLAB 的下一个版本将支持 Linux,有一个 beta 版本可用。