ZHCU753A January 2022 – October 2022
图 3-6 中显示了工程的总体结构。器件外设配置基于 C2000Ware driverlib。如果用户需要将参考设计软件迁移到自己的电路板上,则只需更改 hal.c 和 hal.h 中的代码和定义以及 user_mtr1/mtr2/pfc.h 中的参数。
导入工程后,CCS 中将显示工程浏览器,如图 3-7 所示。
文件夹 src_foc 包含典型的 FOC 模块,其中包括变换、PID 和由电机驱动算法组成的估算器,独立于特定器件和电路板。
文件夹 src_lib 包含 PFC 的数字电源控制模块、InstaSPIN-FOC 库和独立于器件和电路板的数学库。
文件夹 src_sys 包含为系统控制保留的一些文件,这些文件独立于特定的器件和电路板。
文件夹 src_control 包含电机驱动和 PFC 控制文件,这些文件在中断服务例程和后台任务中调用电机和 PFC 控制核心算法函数。
F28002x、F28003x 和 F280013x 工程共享所有控制算法文件。特定于电路板、特定于电机和特定于器件的文件位于 src_board 文件夹中,这些文件包含用于运行解决方案、特定于器件的驱动程序。F28002x、F28003x 和 F280013x 分别具有专用的 hal.c、hal.h、user_mtr1.h、user_mtr2.h 和 user_pfc.h因此,如果用户希望将工程迁移到不同的电路板或器件,则只需根据板的器件外设使用情况对这些头文件 hal.c、hal.h、user_mtr1.h、user_mtr2.h 和 user_pfc.h 进行一些更改。
图 3-8 显示了固件的工程软件流程图,其中包括三个用于 PFC 和电机控制的 ISR、一个用于 PFC 的主循环和后台循环中的电机控制参数更新。
工程包含三个中断服务例程,每个 PWM 周期或每两个 PWM 周期调用一次。一些后台任务以轮询方式进行调用,可用于运行不要求绝对计时精度的缓慢任务(如 PFC 控制参数更新、电机控制参数更新等)。CPU 计时器用于触发慢速后台任务。
motor1CtrlISR 被保留,用于调用电机驱动控制算法以旋转电机 1(压缩机),该电机以 USER_M1_ISR_FREQ_Hz 的频率定期触发。
motor2CtrlISR 被保留,用于调用电机驱动控制算法以旋转电机 2(风扇),该电机以 USER_M2_ISR_FREQ_Hz 的频率定期触发。
pfcCtrlISR 被保留,用于调用数字电源控制算法以实现以 USER_PFC_ISR_FREQ_Hz 的频率定期触发的 PFC。
为了简化系统开发和设计,该参考设计的软件在四个实验室中通过增量构建(PFC_BUILDLEVEL 和 DMC_BUILDLEVEL)进行了组织,这使得学习和熟悉电路板和软件变得更加容易。这个方法对也适用于调试和测试电路板。表 3-1 显示了详细的增量构建选项。要选择特定的构建选项,请在 sys_settings.h 中选择相应的 BUILDLEVEL 选项。选择构建选项后,通过选择 rebuild all 编译器选项来编译工程。Topic Link Label3.3 提供了有关运行每个构建级别选项的更多详细信息。
操作 | 构建选项 | 说明 |
---|---|---|
PFC | PFC_LEVEL_1 | 50% PWM 占空比输出,验证 ADC 失调电压校准、PWM 输出和相移 |
PFC_LEVEL_2 | 开环控制,用于检查 PFC 的电流和电压检测信号 | |
PFC_LEVEL_3 | 闭合电流环路 | |
PFC_LEVEL_4 | 闭合电流和电压环路 | |
电机驱动 | DMC_LEVEL_1 | 50% PWM 占空比,验证 ADC 失调电压校准、PWM 输出和相移 |
DMC_LEVEL_2 | 开环控制,用于检查电机 1 和 2 的电流和电压检测信号 | |
DMC_LEVEL_3 | 闭合电流环路,用于检查硬件设置 | |
DMC_LEVEL_4 | 电机参数识别,使用 InstaSPIN-FOC/eSMO 运行 |