【问题标题】:BeagleBone Black P9 Pinout - I2C2 conflicts with SPI1 and UART1BeagleBone Black P9 Pinout - I2C2 与 SPI1 和 UART1 冲突
【发布时间】:2017-01-14 17:07:46
【问题描述】:

有一个关于 beaglebone black 的 P9 上的 GPIO 的一般性问题。例如,我想使用 UART1(RX 和 TX)进行 R232 通信,使用 I2C2(SDA 和 SCL)作为传感器,使用在 Linux 上运行的 C 语言应用程序。问题是 UART1(RTS 和 CTS)信号在这些引脚上,可以禁用这些功能(软件)吗?因此同时使用 UART1 和 I2C2?

引脚 19:UART1_rtsn - I2C2_SCL

引脚 20:UART1_Ctsn - I2C2_SDA

下一个问题,同样适用于 SPI1(CS0 和 CS1),这些引脚也在 I2C2(SDA 和 SCL)上。

PIN 19:I2C2_SCL - spi1_cs1

PIN 20:I2C2_SDA - spi1_cs0

所以一般问题:所有 3 个单元,UART1-SPI1-I2C2 可以同时运行,使用 bbb 的 P9 接头的引脚上没有冲突吗?

非常感谢您的回答 JH

【问题讨论】:

    标签: beagleboneblack


    【解决方案1】:

    这在技术上是可行的,尽管当您开始寻找自定义引脚分配时,您必须处理很多复杂性以使一切正常运行。互联网上有很多表格,其中包含关于哪些引脚可以做什么的参考。到目前为止我最喜欢的是这两个:http://exploringbeaglebone.com/wp-content/uploads/resources/BBBP8Header.pdfhttp://exploringbeaglebone.com/wp-content/uploads/resources/BBBP9Header.pdf

    如果您阅读这些内容,您会发现每个引脚可以根据配置执行多种不同的功能。这些在引导时由 linux 内核设置为默认值,但您可以使用设备树覆盖来修改默认值。整个过程在这里有点复杂,但简而言之,要执行您想要的操作,您需要修改并重新编译内核为您要更改引脚分配的设备加载的设备树覆盖。

    虽然有一些限制,例如,beaglebone 图像都配置为使用 I2C2 来识别斗篷。所以理论上你可以改变它的引脚分配,但是你不应该期望在你这样做时能正确识别和配置披风。在上面的示例中,UART1 和 I2C2 使用它们的默认配置工作而不会发生冲突(UART1 默认只有 Rx 和 TX)。 SPI1 的工作量更大。它的默认配置与声卡 (HDMI) 共享引脚,必须禁用才能使其工作,尽管默认情况下它与以太网 UART1 或 I2C2 不冲突。

    请注意,这些引脚中的每一个都可以具有多种功能,但在任何时候只能具有一种功能。因此,如果一个引脚设置为使用给定模块(例如 UART1),它将不会受到另一个模块的影响,该模块理论上可以在该引脚上以不同的功能模式输出。如果您尝试同时将一个引脚用于 2 个功能,内核会抱怨,因此您可以尝试加载覆盖并查看默认情况下是否冲突。基本上,如果内核接受加载树覆盖,您通常可以假设它与已加载的任何其他内容不冲突。

    【讨论】:

    • 谢谢,所以这很棘手,但可能。我将通过此链接link 更多地检查 beaglebone 黑树覆盖
    【解决方案2】:

    我认为另一个答案误解了问题,并解决了引脚配置以执行该引脚可用的可能映射功能。是的,这很容易实现,并且在很大程度上是设计的重点。

    关于实际问题,答案是有可能,但会非常困难,而且很可能不可行。并且一次只能使用一种通信协议。此外,spi 管脚是片选管脚,需要置位或取消置位状态,因此任何类型的 i2c 时钟或数据信号都会导致片选失效。

    对于 i2c/uart,它需要即时重新配置引脚和软件映射,并且一次只能执行一种可能的功能。它还需要总线所有端的软件能够理解引脚处于什么模式,即 i2c 或 uart,具有相互分离和智能的协议,以便总线上的任何设备都不会对将要出现的垃圾做出不良反应当总线被用于另一种操作模式时,在总线上。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-19
      • 2014-09-19
      • 2016-11-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多