【发布时间】:2015-11-18 14:53:42
【问题描述】:
树莓派 2 板上有一个 UART(UART0:GPIO 14 和 15)用于串行通信。
我想知道,在只能使用 GPIO 而不是 USB 端口的情况下,是否可以自定义/编程其他 GPIO 以用作额外的 UART。
如果是,怎么做?
谢谢
【问题讨论】:
-
你很困惑:你不将 GPIO 用作 UART(除非你是 bit-banging)。 UART 是实际的外围设备,它占用芯片上的硅。它是一个与 SoC 上的 GPIO 不同的功能块。它通过一些总线连接到 CPU,也通过与 GPIO 复用的引脚连接到电路板。连接更多外围设备(如 UART 芯片)的典型方法是通过 SoC 的外部总线(如果有的话)。请注意,USB 也是一种总线。
-
板上有 USB 端口,但由于我们的应用需求,我们点使用它们。参考 Raspberry Pi2 引脚排列,我找不到任何表明任何引脚用作 SoC 外部总线的信息。是否可以使用外部 UART 适配器芯片并将其输出连接到一些 GPIO(除了连接到板上 UART 组件的那些)并从中获取串行数据?
-
SoC 外部总线被路由到外部存储器(例如 DRAM、闪存、外部外围芯片),通常在板头上不可用。我不明白“外部UART适配器芯片”(形容词太多)。你对术语比较草率。 UART 的 “输出” (?) 可能是其外部接口,将其 RxD 和 TxD 连接到 GPIO 没有任何意义。 UART 内部接口应连接到总线,而不是 GPIO。查看 UART 芯片数据表;您至少需要 11 个引脚/线。
-
也许从 SPI 或 I2C 到简单 UART 芯片的适当接口将是一个很好的解决方案。 Bit bang 协议并不快,但对于某些应用程序来说可能就足够了。驱动程序将是另一个问题。
标签: uart raspberry-pi2 gpio serial-communication