需要的外部组件越便宜、越小、越少越好。
AVR 将是首选,但任何带有免费 SDK 的东西都很好。
需要的外部组件越便宜、越小、越少越好。
AVR 将是首选,但任何带有免费 SDK 的东西都很好。
找到这些微控制器的最佳方式是在 digikey 之类的网站上。这是他们所有微控制器的列表。
使用筛选器选择 Atmel 作为制造商。
然后过滤以将他们的 AVR 系列留在列表中。
最后,按连接过滤。选择列表中具有“USB”或“USB OTG”的所有项目。按住CTRL
以选择列表中的多个项目。
在我的脑海中,最简单的一个是 ATmega88U2。U2告诉您它是内置 USB 控制器的普通 ATmega88 。
V-USB项目为 bitbanged 低速 USB 设备提供所需的软件,可在 GPLv2 或商业许可下使用。至于外部硬件,建议使用 12 MHz 晶振,但它也应与 RC 振荡器一起使用。它还需要一个分压器来设置慢速,并且根据微控制器的工作电压,它可能需要几个齐纳二极管来将电压限制为 D+ 和 D-。
有了它,USB 软件就可以在像 ATtiny45 这样小的微控制器上工作。与该库一起使用的另外两个流行的微控制器是 ATtiny2313 和 ATmega8。
另一个基于 V-USB 的库是USBtiny。它是 GLP2+,应该更容易使用。两者都可以与 GNU/Linux 和 Windows 上的 libusb 驱动程序一起使用。
如果你愿意走PIC路线:PIC16F1455只有14个引脚,不需要晶体就可以做USB。它有一个内部校准的 48MHz 振荡器,并从 USB 线路进行时钟恢复,以确保它保持同步。
PIC18F14K50是一款不错的简单芯片,内置 USB,免费的 IDE 和编译器,良好的示例和低成本。我成功地教了一门高中课程来构建和编程它使用这个漂亮的工具包https://www.tindie.com/shops/TAUTIC/pic18f14k50-usb-development-kit/它是一个开源设计,所以你可以得到组件并以更少的成本建造。但是您需要在 PIC 上安装一个用于 USB 编程的引导加载程序,因此如果您不购买预编程的芯片(如 Tautic.com 的产品),您将需要一个编程器。