Lab01-CPU 和逆变器设置
摘要
介绍了如何使用 HAL 对象来设置 2806xF/M、2805xF/M 或 2802xF 和逆变器硬件。 MotorWare API函数调用将用于简化微处理器设置。
软件流程图
main()函数
ADC中断程序
include
math.h : 常见的数学转换、定义和移位
est.h : FAST ROM 库的函数定义
hal.h : 设备设置和外围驱动程序。包含 HAL 对象。
user.h : 用于配置电机、驱动器和系统参数的用户文件
全局对象
HAL_Handle : 硬件抽象层对象 (HAL) 的句柄。驱动程序对象包含所有微处理器外设的句柄,并在设置和控制外设时使用。
USER_Params : 保存 user.h 中的比例因子信息。允许比例因子实时更新。
函数
main中:
HAL_init() : 初始化微控制器外设的所有句柄。返回 HAL 对象的句柄。
USER_setParams() :将文件user.h中的所有比例因子复制到 USER_Params 定义的结构中。
HAL_setParams() :设置微控制器外设。创建 ADC 电压和电流转换的所有比例因子。设置电压和电流测量的初始偏移值。
HAL_initIntVectorTable() :将 ISR 指向函数 mainISR。
HAL_enableAdcInts() :启用 PIE 和 CPU 中的 ADC 中断。允许从 ADC 外设发送中断。
HAL_enableGlobalInts() :启用全局中断。
HAL_disablePwm() :将逆变器电源开关设置为高阻抗。
mainISR中:
HAL_toggleLed() :切换电机逆变器上的 LED。
HAL_acqAdcInt() :确认 ADC 中断,以便再次发生另一个 ADC 中断。
HAL_readAdcData() :读取 Adc 结果寄存器,调整偏移量,并根据 user.h 中的设置缩放值。结构 gAdcData 保存三相电压、三个线电流和一个直流总线电压。
HAL_writePwmData() :将 gPwmData 中的 Q pwm 值转换为 Q0 并将这些值写入 EPWM 比较寄存器。