ZHCAB74D September   2018  – March 2022 AFE030 , AFE031 , TMS320F28075 , TMS320F28075-Q1 , TMS320F28076 , TMS320F28374D , TMS320F28374S , TMS320F28375D , TMS320F28375S , TMS320F28375S-Q1 , TMS320F28376D , TMS320F28376S , TMS320F28377D , TMS320F28377D-EP , TMS320F28377D-Q1 , TMS320F28377S , TMS320F28377S-Q1 , TMS320F28379D , TMS320F28379D-Q1 , TMS320F28379S

 

  1.   商标
  2. FSK 概述
  3. 硬件预览
    1. 2.1 方框图
    2. 2.2 硬件设置
  4. 连接 AFE03x
    1. 3.1 配置 AFE031
  5. 发送路径
    1. 4.1 FSK 示例规格
    2. 4.2 PWM 模式
      1. 4.2.1 软件实现
      2. 4.2.2 测试结果
      3. 4.2.3 HRPWM 与 EPWM
    3. 4.3 DAC 模式
      1. 4.3.1 软件实现
      2. 4.3.2 测试结果
      3. 4.3.3 OFDM 功能
    4. 4.4 将 TX 移植到 LAUNCHXL-F280049C
      1. 4.4.1 特定于 PWM 模式的移植
      2. 4.4.2 特定于 DAC 模式的移植
  6. 接收路径
    1. 5.1 接收路径概述
    2. 5.2 接收器软件实现
      1. 5.2.1 初始设置和参数
      2. 5.2.2 中断服务例程
      3. 5.2.3 运行时工作
      4. 5.2.4 测试结果
      5. 5.2.5 系统利用率
      6. 5.2.6 器件相关性和移植
    3. 5.3 调优和校准
      1. 5.3.1 设置 AFE03X 的 PGA
      2. 5.3.2 自动增益控制 (AGC)
      3. 5.3.3 设置位检测阈值
      4. 5.3.4 FSK 相关性检测器库
    4. 5.4 将 RX 移植到 LAUNCHXL-F280049C
  7. 连接电源线
    1. 6.1 线路耦合
    2. 6.2 耦合到交流线路
      1. 6.2.1 低压电容器
      2. 6.2.2 变压器的匝数比
      3. 6.2.3 高压电容器
      4. 6.2.4 高压侧电感器
    3. 6.3 耦合到直流线路
    4. 6.4 保护电路
      1. 6.4.1 金属氧化物压敏电阻
      2. 6.4.2 瞬态电压抑制器
      3. 6.4.3 导流二极管
    5. 6.5 确定 PA 电源要求
  8. 总结
  9. 参考文献
  10. 原理图
    1. 9.1 原理图(PWM 模式)
    2. 9.2 原理图(DAC 模式)
  11. 10修订历史记录

配置 AFE031

配置 AFE 器件需要执行两个主要步骤。首先,确保正确配置 GPIO。在 AFE 器件上,设置了两个主要 GPIO:DAC Mode Select(DAC 模式选择)和 System Shutdown(系统关闭)。这两个引脚都被拉至低电平。也可将连接的所有其他 GPIO 拉至低电平。

下一步是通过 SPI 配置器件。在软件示例中,HAL_afe031Init() 函数配置 AFE031,该函数在 AFE03x_Config.c 中进行定义。

以下步骤显示了为正确配置器件,须遵循的函数顺序:

  1. 配置 GPIO。
    1. 设置 AFE 器件上的 SD 和 DAC 引脚。需要将这两个引脚拉至低电平。
    2. 软件示例函数:HAL_afe031_cfgGpio();
  2. 配置 SPI。
    1. 针对 16 位字符配置 SPI 模块。更多有关 SPI 要求的信息,请参阅 AFE031 电力线通信模拟前端数据表
    2. 软件示例函数:HAL_spi_cfg();
  3. 在 AFE 器件上执行软复位。
    1. 将 0x14 写入复位寄存器。
    2. 软件示例函数:HAL_afe031_softReset();
  4. 启用偏置。
    1. 将 0x03 写入 enable2 寄存器。
    2. 软件示例函数:HAL_afe031_biasEnable();
  5. 选择频带。
    1. 将 1 或 0 写入 Control1 寄存器中的 CA_CBCD 位。如果写入 1,则 TX 和 RX 滤波器的频率响应将配置为 CENELEC B、C、D。如果写入 0,则将配置 CENELEC A。
    2. 软件示例函数:HAL_afe031_bandSelect(1);
  6. 清除所有中断。
    1. 将 0x00 写入 control2 寄存器。
    2. 软件示例函数:HAL_afe031_clrAllInt();
  7. 配置所有中断。
    1. 可以通过对 control2 寄存器进行写入来配置中断。软件示例函数目前仅启用指示热过载的 T_flag。
    2. 软件示例函数:HAL_afe031_cfgInt();
  8. 启用 zc。
    1. 将 1 写入 enable2 寄存器中的 ZC 位。
    2. 软件示例函数:HAL_afe031_zcEnable();
  9. 写入 TX 增益 - 如果要发送
    1. 将 0、1、2 或 3 写入增益选择寄存器中的 TXG 位。增益如下所示:
      1. 0 =0.25V/V
      2. 1 = 0.5V/V
      3. 2 = 0.707V/V
      4. 3 = 1V/V
    2. 软件示例函数:HAL_afe031_writeTxGain(UINT16 gain);
      1. 请注意,软件示例函数使用数组来写入 0-3。因此,在使用该函数时,输入参数对应于所需的 HAL_afe031_txGainLut 数组元素的索引。例如,将 0 传递给函数对应于 0.25V/V 的增益。
  10. 写入 RX 增益 - 如果要接收。
    1. 将 0-15 写入增益选择寄存器中的 RXG 位。增益范围为 0.25V/V(将 RXG 设置为 0x0 时)至 128V/V(将 RXG 设置为 0xF 时)。
      1. 如需了解具体的增益,请参阅表 5-1
    2. 软件示例函数:HAL_afe031_writeRxGain(UINT16 gain);
      1. 请注意,软件示例函数使用数组来写入 0-15。因此,在使用该函数时,输入参数对应于所需的 HAL_afe031_rxGainLut 数组元素的索引。包含的数组仅具有用于部分 RX 增益配置的值。

完成以上步骤之后,根据该器件是用作发送器还是接收器,开始执行所需的最后几项配置。