CMPSS外设

  1. static inline void CMPSS_enableModule(uint32_t base)
  2. 函数功能:根据传入的参数来启用CMPSS模块。
  3. 参数说明:

    • 输入参数:
      • base:CMPSS模块基地址
    • 返回参数:
  4. static inline void CMPSS_disableModule(uint32_t base)

  5. 函数功能:根据传入的参数来关闭CMPSS模块。
  6. 参数说明:

    • 输入参数:
      • base:CMPSS模块基地址
    • 返回参数:
  7. static inline void CMPSS_configHighComparator(uint32_t base, uint16_t config)

  8. 函数功能:配置CMPSS模块中的高比较器。
  9. 参数说明:

    • 输入参数:
      • base:CMPSS模块基地址
      • config:由三个参数组合而成,包括以下: (1)参数一:比较器负端输入选择 CMPSS_INSRC_DAC:选择高比较器负端输入源是内部DAC CMPSS_INSRC_PIN:选择高比较器负端输入源是外部pin (2)参数二:比较器输出是否需要反相 CMPSS_INV_INVERTED:比较器输出反相; (3)参数三: CMPSS_OR_ASYNC_OUT_W_FILT:异步比较器与锁存的数字滤波器一起输出到或门。
    • 返回参数:
  10. static inline void CMPSS_configLowComparator(uint32_t base, uint16_t config)

  11. 函数功能:配置CMPSS模块中的低比较器。
  12. 参数说明:

    • 输入参数:
      • base:CMPSS模块基地址
      • config:由三个参数组合而成,包括以下: (1)参数一:比较器负端输入选择 CMPSS_INSRC_DAC:选择低比较器负端输入源是内部DAC CMPSS_INSRC_PIN:选择低比较器负端输入源是外部pin (2)参数二:比较器输出是否需要反相 CMPSS_INV_INVERTED:比较器输出反相; (3)参数三: CMPSS_OR_ASYNC_OUT_W_FILT:异步比较器与锁存的数字滤波器一起输出到或门。
    • 返回参数:
  13. static inline void CMPSS_configOutputsHigh(uint32_t base, uint16_t config)

  14. 函数功能:设置高比较器的输出信号配置,包括CTRIPCTRIPOUT
  15. 参数说明:

    • 输入参数:
      • base:CMPSS模块基地址
      • config:由两个参数组合而成,包括以下: (1)参数一:高比较器CTRIPOUT源选择 CMPSS_TRIPOUT_ASYNC_COMP:异步比较器输出驱动到CTRIPOUTH CMPSS_TRIPOUT_SYNC_COMP:同步比较器输出驱动到CTRIPOUTH CMPSS_TRIPOUT_FILTER:数字滤波器输出驱动到CTRIPOUTH CMPSS_TRIPOUT_LATCH:数字滤波器锁存输出驱动到CTRIPOUTH (2)参数二:高比较器CTRIP源选择 CMPSS_TRIP_ASYNC_COMP:异步比较器输出驱动到CTRIPH CMPSS_TRIP_SYNC_COMP:同步比较器输出驱动到CTRIPH CMPSS_TRIP_FILTER:数字滤波器输出驱动到CTRIPH CMPSS_TRIP_LATCH:数字滤波器锁存输出驱动到CTRIPH
    • 返回参数:
  16. static inline void CMPSS_configOutputsLow(uint32_t base, uint16_t config)

  17. 函数功能:设置低比较器的输出信号配置,包括CTRIPCTRIPOUT
  18. 参数说明:

    • 输入参数:
      • base:CMPSS模块基地址
      • config:由三个参数组合而成,包括以下: (1)参数一:低比较器CTRIPOUT源选择 CMPSS_TRIPOUT_ASYNC_COMP:异步比较器输出驱动到CTRIPOUTLCMPSS_TRIPOUT_SYNC_COMP:同步比较器输出驱动到CTRIPOUTL CMPSS_TRIPOUT_FILTER:数字滤波器输出驱动到CTRIPOUTLCMPSS_TRIPOUT_LATCH:数字滤波器锁存输出驱动到CTRIPOUTL (2)参数二:低比较器CTRIP源选择 CMPSS_TRIP_ASYNC_COMP:异步比较器输出驱动到CTRIPLCMPSS_TRIP_SYNC_COMP:同步比较器输出驱动到CTRIPL CMPSS_TRIP_FILTER:数字滤波器输出驱动到CTRIPLCMPSS_TRIP_LATCH:数字滤波器锁存输出驱动到CTRIPL
    • 返回参数:
  19. static inline uint16_t CMPSS_getStatus(uint32_t base)

  20. 函数功能:获得当前比较器的状态,包括数字滤波器输出和锁存的数字滤波器输出。
  21. 参数说明:

    • 输入参数:
      • base:CMPSS模块基地址
    • 返回参数:
      • uint16_t:由以下域位枚举组合: CMPSS_STS_HI_FILTOUT:高数字滤波器输出 CMPSS_STS_HI_LATCHFILTOUT:高数字滤波器锁存值 CMPSS_STS_LO_FILTOUT:低数字滤波器输出 CMPSS_STS_LO_LATCHFILTOUT:低数字滤波器锁存值
  22. static inline void CMPSS_configDAC(uint32_t base, uint16_t config)

  23. 函数功能:设置比较器的内部DAC。
  24. 参数说明:

    • 输入参数:
      • base:CMPSS模块基地址
      • config:由三个参数组合而成,包括以下: (1)参数一:DAC的值何时从它的影子寄存器中加载 CMPSS_DACVAL_SYSCLK:DAC的值在system clock上更新 CMPSS_DACVAL_PWMSYNC:DAC的值在PWM sync上更新 (2)参数二:DAC的电压参考源选择==(备注:这里与TI相反)== CMPSS_DACREF_VDDA:VDDA作为DAC的电压参考源 CMPSS_DACREF_VDAC:VDAC作为DAC的电压参考源 (3)参数三:DAC源选择 CMPSS_DACSRC_SHDW:DAC的值从它的影子寄存器更新 CMPSS_DACSRC_RAMP:DAC的值从ramp generator更新
    • 返回参数:
  25. static inline void CMPSS_setDACValueHigh(uint32_t base, uint16_t value)

  26. 函数功能:设置高比较器的DAC影子值。
  27. 参数说明:

    • 输入参数:
      • base:CMPSS模块基地址
      • value:12比特的数写入到高比较器DAC的影子寄存器中,后续按照CMPSS_configDAC()中的配置更新DAC的active值。
    • 返回参数:
  28. static inline void CMPSS_setDACValueLow(uint32_t base, uint16_t value)

  29. 函数功能:设置低比较器的DAC影子值。
  30. 参数说明:

    • 输入参数:
      • base:CMPSS模块基地址
      • value:12比特的数写入到低比较器DAC的影子寄存器中,后续按照CMPSS_configDAC()中的配置更新DAC的active值。
    • 返回参数:
  31. static inline void CMPSS_initFilterHigh(uint32_t base)

  32. 函数功能:初始化高比较器的数字滤波器。
  33. 参数说明:

    • 输入参数:
      • base:CMPSS模块基地址
    • 返回参数:
  34. static inline void CMPSS_initFilterLow(uint32_t base)

  35. 函数功能:初始化低比较器的数字滤波器。
  36. 参数说明:

    • 输入参数:
      • base:CMPSS模块基地址
    • 返回参数:
  37. static inline uint16_t CMPSS_getDACValueHigh(uint32_t base)

  38. 函数功能:获得高比较器的内部DAC值。
  39. 参数说明:

    • 输入参数:
      • base:CMPSS模块基地址
    • 返回参数:
      • uint16_t:得到高比较器DAC的active值(而不是影子寄存器的值)
  40. static inline uint16_t CMPSS_getDACValueLow(uint32_t base)

  41. 函数功能:获得低比较器的内部DAC值。
  42. 参数说明:

    • 输入参数:
      • base:CMPSS模块基地址
    • 返回参数:
      • uint16_t:得到低比较器DAC的active值(而不是影子寄存器的值)
  43. static inline void CMPSS_clearFilterLatchHigh(uint32_t base)

  44. 函数功能:调用该函数会导致高比较器数字滤波器输出锁存器的软件复位。
  45. 参数说明:

    • 输入参数:
      • base:CMPSS模块基地址
    • 返回参数:
  46. static inline void CMPSS_clearFilterLatchLow(uint32_t base)

  47. 函数功能:调用该函数会导致低比较器数字滤波器输出锁存器的软件复位。
  48. 参数说明:

    • 输入参数:
      • base:CMPSS模块基地址
    • 返回参数:
  49. static inline void CMPSS_setMaxRampValue(uint32_t base, uint16_t value)

  50. 函数功能:设置ramp generator的最大参考值。
  51. 参数说明:

    • 输入参数:
      • base:CMPSS模块基地址
      • value:设置将加载到ramp generator中的斜坡最大参考值,16比特
    • 返回参数:
  52. static inline uint16_t CMPSS_getMaxRampValue(uint32_t base)

  53. 函数功能:获得ramp generator的最大参考值。
  54. 参数说明:

    • 输入参数:
      • base:CMPSS模块基地址
    • 返回参数:
      • uint16_t:返回将加载到ramp generator中的锁存斜坡最大参考值。
  55. static inline void CMPSS_setRampDecValue(uint32_t base, uint16_t value)

  56. 函数功能:设置ramp generator的递减值。
  57. 参数说明:

    • 输入参数:
      • base:CMPSS模块基地址
      • value:每个系统时钟周期从斜坡值中减去的值,16比特。
    • 返回参数:
  58. static inline uint16_t CMPSS_getRampDecValue(uint32_t base)

  59. 函数功能:获得ramp generator的递减值。
  60. 参数说明:

    • 输入参数:
      • base:CMPSS模块基地址
    • 返回参数:
      • uint16_t:返回每个系统时钟周期从斜坡值中减去的锁存斜坡递减值。
  61. static inline void CMPSS_setRampDelayValue(uint32_t base, uint16_t value)

  62. 函数功能:设置ramp generator的延迟值。
  63. 参数说明:

    • 输入参数:
      • base:CMPSS模块基地址
      • value:设置的延迟值,13比特。
    • 返回参数:
  64. static inline uint16_t CMPSS_getRampDelayValue(uint32_t base)

  65. 函数功能:获得ramp generator的延迟值。
  66. 参数说明:

    • 输入参数:
      • base:CMPSS模块基地址
    • 返回参数:
      • uint16_t:返回启动斜坡生成器延迟递减器后的周期数的锁存值。
  67. static inline void CMPSS_setHysteresis(uint32_t base, uint16_t value)

  68. 函数功能:设置CMPSS的迟滞值。
  69. 参数说明:

    • 输入参数:
      • base:CMPSS模块基地址
      • value:设置的迟滞值,最大值为7==(备注:与TI不同)==
    • 返回参数:
  70. static inline void CMPSS_enableLatchResetOnPWMSYNCHigh(uint32_t base)

  71. 函数功能:启用 EPWMSYNCPER信号复位高比较器的数字滤波器的锁存输出。
  72. 参数说明:

    • 输入参数:
      • base:CMPSS模块基地址
    • 返回参数:
  73. static inline void CMPSS_disableLatchResetOnPWMSYNCHigh(uint32_t base)

  74. 函数功能:关闭 EPWMSYNCPER信号复位高比较器的数字滤波器的锁存输出。
  75. 参数说明:

    • 输入参数:
      • base:CMPSS模块基地址
    • 返回参数:
  76. static inline void CMPSS_enableLatchResetOnPWMSYNCLow(uint32_t base)

  77. 函数功能:启用 EPWMSYNCPER信号复位低比较器的数字滤波器的锁存输出。
  78. 参数说明:

    • 输入参数:
      • base:CMPSS模块基地址
    • 返回参数:
  79. static inline void CMPSS_disableLatchResetOnPWMSYNCLow(uint32_t base)

  80. 函数功能:关闭 EPWMSYNCPER信号复位低比较器的数字滤波器的锁存输出。
  81. 参数说明:

    • 输入参数:
      • base:CMPSS模块基地址
    • 返回参数:
  82. static inline void CMPSS_configBlanking(uint32_t base, uint16_t pwmBlankSrc)

  83. 函数功能:配置在启用epwmblank时,来自 ePWM 模块的哪个 PWMBLANK 信号将保持跳闸复位状态。
  84. 参数说明:

    • 输入参数:
      • base:CMPSS模块基地址
      • pwmBlankSrc:输入数字n就会选择PWMBLANKn信号,1<= n <=16
    • 返回参数:
  85. static inline void CMPSS_enableBlanking(uint32_t base)

  86. 函数功能:此函数启用选定的 ePWMBLANK 信号以保持跳闸复位状态。
  87. 参数说明:

    • 输入参数:
      • base:CMPSS模块基地址
    • 返回参数:
  88. static inline void CMPSS_disableBlanking(uint32_t base)

  89. 函数功能:此函数关闭选定的 ePWMBLANK 信号以保持跳闸复位状态。
  90. 参数说明:

    • 输入参数:
      • base:CMPSS模块基地址
    • 返回参数:
  91. void CMPSS_configFilterHigh(uint32_t base, uint16_t samplePrescale, uint16_t sampleWindow, uint16_t threshold);

  92. 函数功能:配置高比较器的数字滤波器。
  93. 参数说明:

    • 输入参数:
      • base:CMPSS模块基地址
      • samplePrescale:高滤波器样本之间的系统时钟周期数。实际的数字滤波器预分频是samplePrescale+1;0 <=samplePrescale <=1023。
      • sampleWindow:配置高滤波器用于监测的输入 FIFO 样本窗口大小;5比特
      • threshold:配置高数字滤波器多数通过的阈值。5比特
    • 返回参数:
  94. void CMPSS_configFilterLow(uint32_t base, uint16_t samplePrescale, uint16_t sampleWindow, uint16_t threshold)

  95. 函数功能:配置低比较器的数字滤波器。
  96. 参数说明:

    • 输入参数:
      • base:CMPSS模块基地址
      • samplePrescale:低滤波器样本之间的系统时钟周期数。实际的数字滤波器预分频是samplePrescale+1;0 <=samplePrescale <=1023。
      • sampleWindow:配置低数字滤波器用于监测的输入 FIFO 样本窗口大小;5比特
      • threshold:配置低数字滤波器多数通过的阈值。5比特
    • 返回参数:
  97. void CMPSS_configLatchOnPWMSYNC(uint32_t base, bool highEnable, bool lowEnable)

  98. 函数功能:配置 EPWMSYNCPER信号是否能够复位高低比较器的数字滤波器的锁存输出。
  99. 参数说明:

    • 输入参数:
      • base:CMPSS模块基地址
      • highEnable:为1时则表示EPWMSYNCPER信号能够复位高数字滤波器的锁存输出,为0时则表示不能
      • lowEnable:为1时则表示EPWMSYNCPER信号能够复位低数字滤波器的锁存输出,为0时则表示不能
    • 返回参数:
  100. void CMPSS_configRamp(uint32_t base, uint16_t maxRampVal, uint16_t decrementVal, uint16_t delayVal, uint16_t pwmSyncSrc, bool useRampValShdw)

  101. 函数功能:配置ramp generator
  102. 参数说明:

    • 输入参数:
      • base:CMPSS模块基地址
      • maxRampVal:设置将加载到ramp generator中的斜坡最大参考值,16比特
      • decrementVal:设置每个系统时钟周期从斜坡值中减去的值,16比特
      • delayVal:设置ramp generator的延迟值,13比特
      • pwmSyncSrc:斜坡发生器源选择。决定哪一个EPWMSYNCPER信号用作CMPSS module。输入数字n就会选择EPWMSYNCPERn信号,1<= n <=16
      • useRampValShdw:斜坡加载选择。为1时ramp generator从影子寄存器加载,为0时从锁存值加载。
    • 返回参数:
  103. void CMPSS_setDACHPrescale(uint32_t base, uint16_t value);

  104. 函数功能:设置高比较器DAC采样时钟预分频因子。
  105. 参数说明:

    • 输入参数:
      • base:CMPSS模块基地址
      • value:高比较器DAC采样时钟预分频因子,DAC采样时钟=系统时钟/预分频因子,10比特
    • 返回参数:
  106. void CMPSS_setDACLPrescale(uint32_t base, uint16_t value);

  107. 函数功能:设置低比较器DAC采样时钟预分频因子。
  108. 参数说明:
    • 输入参数:
      • base:CMPSS模块基地址
      • value:低比较器DAC采样时钟预分频因子,DAC采样时钟=系统时钟/预分频因子,10比特
    • 返回参数: