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修订历史记录

软件实现

引用的示例程序:boostxl_afe031_f28379d_pwmmode

若要在软件中启用 PWM 模式,需要完成以下流程:

  • 启用 PWM 发送模式
    • 若要启用 PWM 发送模式,请将使能寄存器中的 TX 和 PA 位设置为 1,并将 DAC 位设置为 0。
    • 软件示例函数:HAL_afe031_txPWMEnable();
  • 禁用 DAC 发送模式

使用两个 PWM 源来创建两个 PWM 信号:一个 PWM 源用于设置两个输出信号的频率,另一个用于控制发送数据的比特率。在软件示例中,PWM2 用于控制比特率并产生中断以确定需要输出的频率。

在软件示例中,PWM2 中断处理所有 FSK 协议要求。实现的协议是可重复的模式,它允许软件基于周期数。一个周期数是一位的时长。在该实现中,发送了 33 位(每个字 11 位,三个字)。在每个周期中,它会检查下一位的值,并且 PWM 频率会更改为标记频率或空间频率。33 个周期之后,系统停止发送 PWM 信号并进入静默模式。209 个周期之后,会重置周期数,软件开始再次发送数据包。在由 PWM2 中断来处理 FSK 传输的情况下,CPU 的主要功能被释放,可用于其他应用。默认情况下,软件示例将发送表 4-1 中引用的 packet_1,但可以通过将 packet_to_send 变量设置为零来将其更改为 packet_0。