ZHCAD48 September 2023 ADS127L11 , ADS127L21 , AM2434
米6体育平台手机版_好二三四 (TI) 的 AM243x 微控制器器件包含两个 PRU-ICSS (ICSSG0) 外设实例以及 2 至 4 个 ARM R5F 内核(具体取决于器件名称版本)。
图 2-1 可让您深入了解系统方框图。一个 PRU-ICSS 实例与 4 通道 IEPE ADC 板连接,用作 IEPE 传感器的模拟前端。接下来的几个部分将深入探讨这种 4 通道 SPI 接口的细节,并展示了 ADC 板的实现。第二个 PRU-ICSS 实例用作以太网 MAC,与单线对以太网 PHY 建立连接。该连接有助于将 ADC 样本和 FFT 数据传输到 SPE 网关板。
为了有效地分配工作负载,两个 ARM R5F 内核开始发挥作用。R5F 内核 00 负责初始化 ADC 接口(包括配置)、接收四个 ADC 采样缓冲区,以及对这些缓冲区执行 FFT 计算等任务。FFT 计算的结果和未处理的 ADC 数据会传输到第二个 R5F 内核,即 R5F 内核 01。后一个内核负责 JSON 格式化和 MQTT 联网等任务,最终通过托管在第二个 PRU-ICSS 实例 (ICSSG1) 上的 MAC 网络接口传输以太网帧。
本应用手册主要介绍与 4 通道 ADC 板配合使用的 PRU-ICSSG0 ADC 接口。
图 2-2 提供了四个 ADC 与 PRU-ICSS 之间通过自定义 4 通道 SPI 接口进行硬件信号连接的简化示意图。
多通道 SPI 功能可以方便地通过 PRU-ICSS 固件利用专用通用输入 (GPI) 和通用输出 (GPO) 信号来实现。这些 GPI 和 GPO 信号映射到 PRU 寄存器并提供最小的延迟,从而通过固件实现对外部外设的实时控制。这种情况下利用 GPI 和 GPO 信号来模拟 SPI 接口。
该系统在 PRU-ICSS 与所有 ADC 之间采用统一的串行数据输出 (SDO) 线路。该设计方案允许使用相同设置对所有 ADC 进行同步配置,这对于同步采样至关重要。PRU 通过 R30 寄存器访问 SDO 线路。
每个 ADC 的 SPI 线路 1 至 4 会被引导到 PRU-ICSS 上的专用 GPI 线路,然后这些线路由 PRU 固件通过 R31 寄存器进行读取。后续几个部分将深入探讨将每条 SDI 线路的串行数据流转换为并行 24 位 ADC 数据的复杂过程。
串行时钟 (SCLK) 信号由 PRU-ICSS 生成。有两个选项可用于生成 SCLK:
此系统实现采用 IEP 计时器来生成 SCLK。
Return_SCLK 信号用作 PRU 固件中数据采样的时钟信号。Return_SCLK 源自 SCLK 并通过高速连接器传输。使用 10MHz 以上的高速时钟时,该方案十分有利。隔离器件会给跨隔离栅传输的所有信号引入信号延迟。使用 Return_SCLK 进行采样允许 PRU-ICSS 捕获 ADC 用于在 SDI 线路上输出采样数据的确切时钟沿,从而实现精确的数据捕获。
图 2-3 直观地展示了 SDO 线路上 SCLK、Return_SCLK 和 ADC 数据样本的传输情况。SDO1 至 SDO4 和 Return SCLK 均通过 GPI 输入 PRU-ICSS。SCLK 时钟信号通过 PRU-ICSS 中的 GPO 生成。PRU 固件利用 Return SCLK 来捕获 SDO 数据位。
每个 ADC 提供 24 位数据样本,由最低有效位 (LSB)、中间位 (MID) 和最高有效位 (MSB) 组成。该系统使用 SCLK 时钟信号将这些数据样本放置在 SDO 线路上。因此,需要一个包含 24 个连续时钟周期 SCLK 信号,以提示 ADC 在 SDO 线路上呈现所有数据样本。
PRU 固件负责以下任务:
直接访问 SDO 线路涉及利用寄存器 R31 的 b0 至 b3 位。PRU 固件通过将较低的 8 个数据位复制并左移到寄存器 R2(字节 0)来对数据进行采样,如图 2-4 所示。采样后,每个通道的初始 1 位数据位于 R2 中的位 4 至位 7。
PRU 固件执行图 2-5 中所示的以下任务:
在步骤 19 之后,PRU 固件执行四个 sbco 指令,以将每个 32 位样本存储到位于共享 RAM 中的数据缓冲区中。PRU 会重复此过程,多次将 32 位数据写入缓冲区,直到填满整个采样缓冲区。有关此过程的直观表示,请参阅图 2-7。
图 2-8 展示了整个系统的全面软件流程。在采样缓冲区填充完成后,PRU 将向 ARM 触发中断控制器 (INTC) 事件。ARM 内核 R5F-00 接收此事件作为中断,随后对 ADC 采样缓冲区执行快速傅里叶变换 (FFT) 计算。FFT 计算结束后,样本会传递到第二个 R5F-01 内核。该内核管理 JSON 格式的创建和使用 MQTT 协议通过单线对以太网 (SPE) 连接传输数据。ICSSG1 通过 SPE 端口管理以太网传输。
对于每个 ADC 缓冲区,持续重复此迭代过程。FFT 计算结果和原始 ADC 样本通过单线对以太网高效传输到网关板。
ARM 处理器上的应用会在两个 ARM Cortex R5F 内核之间拆分,以实现高效处理和通信。
R5F 内核 00:
R5F 内核 01:
总之,ARM 应用的结构旨在高效利用两个 Cortex R5F 内核的功能。内核 00 负责处理 ADC 子系统的初始化、配置和交互,而内核 01 专用于数据处理和通信。这使得处理后的数据能够通过网络高效传输。