大家好、
我们购买了 AFE881H1EVM 板。我们没有找到使用 SPI 示例代码来测试该板的 HART 通信。
对于在系统控制器和 AFE881H1EVM 板之间使用 SPI 建立 HART 通信、我们需要支持这些示例代码。
此致
阿莎 G
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
大家好、
我们购买了 AFE881H1EVM 板。我们没有找到使用 SPI 示例代码来测试该板的 HART 通信。
对于在系统控制器和 AFE881H1EVM 板之间使用 SPI 建立 HART 通信、我们需要支持这些示例代码。
此致
阿莎 G
问题是、如何配置 TI HART 调制解调器以在 SPI 上以1200波特进行通信?
1.设置 CONFIG.UART_DIS = 1 (禁用 UART 通信)。
禁用 UART 后、如何通过 AFE881H1在 SPI 上设置1200波特?
主侧 SPI 时钟设置为1MHz
使用 fosc 是 HSI16。
在主器件(STM32U575)中、SPI MBR 设置为1MHz (16MHz/16)。
阿莎 G
Asha:
我不确定我是否理解您沟通的背景。 您打算如何使用该器件? 您是否仅使用 SPI 进行通信? 或者、您是否正在尝试将 AFE881H1用作 UART 直通、通过 UART 输入和输出接收和发送 HART 信号?
如果您仅使用 SPI、则无需为 UART 通信设置1200波特。 根据数据表、 您是否要使用7.3.5.9或7.3.5.10与器件通信?
约瑟夫·吴
Asha:
第7.3.5.9节介绍了使用 SPI (无 UART)与接收 FIFO 和发送 FIFO 进行 HART 通信的基本方法。 请注意、还有另一种模式、在该模式下、您使用 SPI 与器件通信、而使用 UART 发送和接收 HART。
在使用 SPI 模式的 HART 通信中、您通过直接写入 FIFO_U2H_WR (0x15)来发送数据、并从 FIFO_HGU_RD (0x2A)读取数据。 这些 FIFO 为32行长、9位宽。 通过使用 SPI 模式、您将不会使用 UART 通信、并会将 UARTOUT 设置为 IRQ。
要管理 FIFO、应使用 IRQ 来向不同的通信事件(包括载波检测、请求发送、FIFO 状态等)发出警报。 使用 SPI 需要管理 FIFO 上的数据、这样就不会错过数据并且不会出现 GAP 错误。 第52页的列出了可用于触发 IRQ 以便发送和接收 HART 信号的不同通信事件。 IRQ 由 MODEM_STATUS (0x22h)的事件触发、但可以从 MODEM_STATUS_MASK (0x1F)屏蔽这些事件。 用于设置 IRQ 的 FIFO 水平可通过 FIFO_CFG (0x0F)进行设置。
约瑟夫·吴