什么微控制器可以直接连接到 USB 端口?

电器工程 微控制器 USB
2022-01-19 06:44:26

本质上,我只需要通过 USB 向微控制器发送一些数据,然后微处理器对数据进行解码并驱动一个 LED 灯条,该灯条在 5V 下运行。我很难找到适合这项工作的微控制器。

微控制器只需要有2个用于USB通信的串行输入端口,2个用于与LED灯条通信的串行输出端口,并且能够在5V下工作。当我只需要设置串行 COM 端口时,似乎没有必要为 USB 通信配备专用 IC。

例如,这是向 LPD8806 条写入一个字节的 Arduino 代码片段:

void write8(uint8_t d) {
  for (uint8_t i=0; i<8; i++) {
    if (d & _BV(7-i))
      digitalWrite(dataPin, HIGH);
    else
      digitalWrite(dataPin, LOW);
   digitalWrite(clockPin, HIGH);
   digitalWrite(clockPin, LOW); 
  }
}

要锁定数据,您将零发送到条带。

4个回答

我猜“两个串行输出端口”是指一个 UART(因为您也将 USB 描述为 2 个端口)。Rocketmagmet表明许多/大多数 LED 灯串使用 SPI,但至少需要 3 根线。你能指定你需要的协议吗?

一般来说,Microchip 拥有成本最低的微控制器,这一次也是如此。Microchip 也有许多采用 DIL 封装的微控制器,而其他许多微控制器已经放弃了这一点。可能对 DIY 很重要。PIC18F13K50 _

  • 存在于 DIL-20 和 SMT 封装中
  • 工作电压为 5 V(用于连接 LED 灯条)
  • 2.5 美元的低成本(好吧,这是相对的,但支持 USB 的控制器更基本的类型贵一点)
  • 具有用于 UART 接口的增强型 USART
  • 有一个 SPI 接口,以防万一
  • 具有 25 mA 源和接收器 I/O,因此您可以根据需要直接驱动几个 LED 指示灯

进一步阅读
嵌入式设备上的 USB 通用功能,Microchip 应用笔记 AN1166

您的 LED 灯条有一个简单的串行接口。如果你只是想用电脑控制它,你可以使用 FTDI 芯片来摆动引脚: http: //www.ftdichip.com/Products/ICs/FT232R.htm

那么复杂性在于使用libftdiD2XX库的 PC 端。但这并不算太糟糕,与您的 Arduino 示例类似的复杂性。

如果您不想制作硬件,您可以从 Mouser 或 Sparkfun 等 FTDI 分销商处购买带有 FTDI 芯片的预制电缆。电缆有不同的电压配置,因此请谨慎订购。

当然,如果您希望项目以某种方式独立或自主,您将需要一个完整的微控制器解决方案。

考虑使用PSoC3

PSoc3

它们可与 USB 以及您想要的几乎任何外围设备一起使用。(它们是在软件中配置的)您当然可以拥有两个用于 LED 灯条的串行端口。如果你愿意,你可能会拥有 20 个。

开发环境使用起来也很愉快。

PSoC 创作者

它不能比这更简单:ATmega8U2

最重要的是,您甚至可以将其与 Arduino 引导加载程序一起使用...

数据表:http: //www.atmel.com/Images/doc7799.pdf

(抱歉有点简洁,我是用手机打字)