| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- #ifndef _NV_Storage_H__
- #define _NV_Storage_H__
- #include "os/os_types.h"
- #pragma pack (push,1)
- typedef struct {
- float s_maxIdq;
- float s_minIdq;
- float s_maxiDC;
- float s_maxvDC;
- float s_maxRPM;
- float n_modulation;
- float n_PhaseFilterCeof;
- float n_currentBand; //电流环带宽
- float spd_kp;
- float spd_ki;
- float trq_kp;
- float trq_ki;
- float fw_baseSpd; //弱磁基速
- float fw_kp;
- float fw_ki;
- u16 crc16;
- bool valid;
- }foc_params_t;
- typedef struct {
- u8 poles;
- float r;
- float ld;
- float lq;
- float flux_lingage;
- float back_emf;
- s16 hall_offset;
- s32 hall_table[8];
- u16 encoder_cpr;
- float est_pll_band;
- u16 crc16;
- bool valid;
- }motor_params_t;
- #define MAX_TRQ_POINTS 60
- #define MAX_SPD_POINTS 100
- typedef struct {
- s16 d[MAX_TRQ_POINTS][MAX_SPD_POINTS];
- s16 q[MAX_TRQ_POINTS][MAX_SPD_POINTS];
- u16 crc16;
- }torque_lut_t;
- #pragma pack(pop)
- motor_params_t *nv_get_motor_params(void);
- foc_params_t *nv_get_foc_params(void);
- void nv_save_hall_offset(s16 offset);
- void nv_save_motor_params(void);
- void nv_read_motor_params(void);
- void nv_save_foc_params(void);
- void nv_read_foc_params(void);
- void nv_save_hall_table(s32 *hall_table);
- #endif /* _NV_Storage_H__ */
|