打印

贴一个光盘程序 编译OK

[复制链接]
1785|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
itelectron|  楼主 | 2009-12-25 10:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
itelectron|  楼主 | 2009-12-25 23:23 | 只看该作者
贴 一个光盘程序 编译


;《6-1三相交流异步电动机无速度传感器磁场定向控制程序》
        .include        "x24x_app.h"
;-----------------------------------------------------------------------------
; 变量定义
;-----------------------------------------------------------------------------
                               
        .bss        speed_ref,1       ;速度参考
        .bss        speed_ref_rpm,1
stack_size        .set        20h  ;堆栈空间
stack_start        .usect        "stack",stack_size       
        .bss GPR0,1         ;临时变量
    .bss        sp_loop_cnt,1      ; 速度环计数器
    .bss        sp_loop_max,1   
        ;速度PI调节变量定义
        .bss spd_fdb        ,1                   ; 反馈速度
        .bss spd_ref,1                       ; 速度参考
        .bss t_out                ,1                   ; 控制输出
        .bss t_max        ,1                   ; 最大输出  (Q15)
        .bss t_min  ,1                       ;最小输出 (Q15)
        .bss up_spd   ,1                   ; 比例项(Q14)
        .bss up1_spd  ,1                   ; k-1比例项 (Q14)
        .bss ui_hi_spd        ,1                   ;积分项高字 (Q30)
        .bss ui_lo_spd ,1         ; 积分项低字
        .bss ud_hi_spd ,1                   ;微分项高字 (Q30)
        .bss ud_lo_spd         ,1         ;微分项低字
        .bss Kp_spd  ,1                   ;比例系数
        .bss Ki_spd        ,1                   ; 积分系数
        .bss Kd_spd  ,1                   ; 微分系数
        .bss Kc_spd  ,1                   ; 积分修正系数
        .bss e_spd        ,1                   ; 速度偏差
        .bss uprsat_spd,1                   ; 没检验饱和的输出
        .bss saterr_spd         ,1                   ; 饱和偏差

Kp_spd_                .set        28312        ;比例系数 Q15
Ki_spd_                .set        4149        ;积分系数Q31
Kd_spd_     .set        0                ; 微分系数Q14
Kc_spd_                .set        31858        ; 积分修正系数Q15
Umax_spd_        .set        07FFFh        ; 最大输出
Umin_spd_        .set        08000h        ; 最小输出
        ;弱磁控制变量定义
        .bss spd_ref_fp,1            ;速度参考
        .bss id_ref_fp,1               ;Id参考
        .bss spd_abs,1        ;速度参考绝对值
        .bss spd_1,1                 ; 最高转速
        .bss id_1        ,1         ; 最大d轴定子电流
        .bss field_tmp1,1     ;临时变量

id_1_ .set        1500h                 ;最大d轴定子电流(Q15)
spd_1_.set  4000h                 ;最高转速 (Q15)
        ; d轴电流PI调节变量定义
        .bss id_fdb  ,1                ; 电流反馈
        .bss id_ref        ,1                ; 电流参考
        .bss ud_out        ,1                ; 控制电压输出t
        .bss ud_max        ,1                ;最大输出电压 (Q15)
        .bss ud_min        ,1                ; 最小输出电压 (Q15)
        .bss up_d    ,1                ;比例项 (Q14)
        .bss up1_d   ,1                ; k-1积分项 (Q14)
        .bss ui_hi_d        ,1                ; 积分项高字 (Q30)
        .bss ui_lo_d        ,1       ; 积分项低字
        .bss ud_hi_d        ,1                ;微分项高字(Q30)
        .bss ud_lo_d        ,1       ;微分项低字
        .bss Kp_d        ,1                ; 比例系数
        .bss Ki_d                ,1                ; 积分系数
        .bss Kd_d    ,1                ; 微分系数
        .bss Kc_d                ,1                ; 积分修正系数
        .bss e_d                ,1                ; 电流偏差
        .bss uprsat_d        ,1                ; 没检验饱和的输出
        .bss saterr_d        ,1                ; 饱和偏差

Kp_d_                .set        21178                ;比例系数 Q15
Ki_d_                .set        4194                ;积分系数Q31
Kd_d_       .set        0                        ;微分系数 Q14
Kc_d_                .set        20281                ;积分修正系数Q15
Umax_d_                .set        04000h                ; 最大输出电压
Umin_d_                .set        0C000h                ; 最小输出电压
; q轴电流PI调节变量定义
    .bss iq_fdb                ,1                  ; 电流反馈
        .bss iq_ref                ,1                ; 电流参考
        .bss uq_out                ,1                ; 控制电压输出
        .bss uq_max            ,1                ; 最大输出电压 (Q15)
        .bss uq_min            ,1                ;最小输出电压 (Q15)
        .bss up_q         ,1                ; 比例项 (Q14)
        .bss up1_q        ,1                ; 第k-1比例项 (Q14)
        .bss ui_hi_q            ,1                ; 积分项高字 (Q30)
        .bss ui_lo_q                ,1       ; 积分项低字 (Q30)
        .bss ud_hi_q                ,1                ; 微分项高字 (Q30)
        .bss ud_lo_q                 ,1      ; 微分项低字 (Q30)
        .bss Kp_q                 ,1                ; 比例系数
        .bss Ki_q                     ,1                ;积分系数
        .bss Kd_q         ,1                ; 微分系数
        .bss Kc_q                     ,1                ; 积分修正系数
        .bss e_q                         ,1                ; 电流偏差
        .bss uprsat_q             ,1                ; 没检验饱和的输出
        .bss saterr_q             ,1                ;饱和偏差
Kp_q_        .set        21178                ; 比例系数Q15
Ki_q_        .set        4194                ; 积分系数Q31
Kd_q_   .set        0                         ; 微分系数Q14
Kc_q_        .set        20281                ; 积分修正系数Q15
Umax_q_        .set        06700h                ; 最大输出电压
Umin_q_        .set        09900h                ; 最小输出电压
;Park逆变换变量定义
        .bss ipark_d          ,1        ;Iα
        .bss ipark_q          ,1        ;Iβ
        .bss theta_ip          ,1     ;定子电流矢量与M轴夹角,取值范围0-7FFFH,对应0-360度
        .bss ipark_D          ,1        ;IM
        .bss ipark_Q          ,1        ;IT
        .bss t_ptr                  ,1        ;表指针
        .bss ip_val                    ,1        ;插值
        .bss cos_theta          ,1
        .bss sin_theta          ,1
        .bss nxt_entry          ,1        ;下一个入口地址
        .bss delta_angle  ,1       ; 角度差
        .bss GPR0_ipark   ,1        ; 中间变量
;SVPWM变量定义
        .bss Ualfa                  ,1        ;两相直角坐标电压分量
        .bss Ubeta          ,1
        .bss Va                  ,1        ;三相电压
        .bss Vb                  ,1
        .bss Vc                  ,1
        .bss Ta                  ,1      
        .bss Tb                  ,1
        .bss Tc                  ,1
        .bss sector          ,1                ;SVPWM扇区号   
        .bss t1                  ,1                ;SVPWM T1
        .bss t2                  ,1                ;SVPWM T2
        .bss half_sqrt3          ,1                ; /2

X                .set        Va
Y                .set        Vb
Z                .set        Vc
SR_ADDR        .set        sector ;扇区号
;PWM输出变量定义
        .bss Mfunc_c1          ,1       ; 相1比较器调整参数 Q15
        .bss Mfunc_c2         ,1      ; 相2比较器调整参数 Q15
        .bss Mfunc_c3          ,1      ; 相3比较器调整参数 Q15
        .bss Mfunc_p          ,1              ; 周期调整参数Q15
        .bss n_period          ,1            ; 周期
        .bss m_period          ,1      ; 新周期

PWM_PERIOD        .set        50                ; PWM周期 50微秒 (20KHz)
T1PER_        .set        PWM_PERIOD*20; T1周期1000(时钟40MHz)
T1CON_        .set        1000100001000000b        ; 对称PWM
DBTCON_        .set        09E8h                        ; 死区1.18微秒
ACTR_                .set        011001100110b        ; 1/3/5 高有效, 2/4/6 低有效
COMCON_        .set        1000001000000000b        ;比较控制寄存器       
        ;ADC采样变量定义
        .bss Ch_sel            ,1      ;通道选择
        .bss Imeas_a_gain        ,1    ;a增益
        .bss Imeas_b_gain        ,1    ;b增益
        .bss Vdc_meas_gain ,1    ;Vdc增益
        .bss Imeas_a_offset        ,1    ;a补偿
        .bss Imeas_b_offset        ,1    ;b补偿
        .bss Vdc_meas_offset,1   ;Vdc补偿
        .bss Imeas_a        ,1        ;Ia
        .bss Imeas_b                ,1    ;Ib
        .bss Imeas_c                ,1    ;Ic
        .bss Vdc_meas                ,1    ;Vdc
        .bss GPR0adc                ,1    ;临时变量
        .bss GPR1adc                ,1

CH_SEL_ .set         0710h                ;对eZdsp2407开发板
;Clarke变换变量定义
        .bss clark_a           ,1     ;A相
        .bss clark_b           ,1     ;B相
        .bss clark_d           ,1     ;α相
        .bss clark_q           ,1     ;β相
        .bss sqrt3inv           ,1           ; 1/
        .bss clk_temp           ,1     ;临时变量
;Park变换变量定义
    .bss park_d           ,1     ;固定坐标轴
        .bss park_q           ,1     ;固定坐标轴
        .bss theta_p           ,1     ;夹角
        .bss park_D           ,1     ;旋转轴
        .bss park_Q           ,1     ;旋转轴
        ;.bss t_ptr           ,1                 ;表指针
        ;.bss ip_val           ,1     ;插值
        ;.bss cos_theta           ,1     ;Cos值
        ;.bss sin_theta           ,1     ;Sin值
        ;.bss nxt_entry           ,1     ;下一个表地址
        ;.bss delta_angle   ,1    ;角差
        .bss  GPR0_park        ,1    ;临时变量
        ;相电压计算变量定义
    .bss Mfunc_V1        ,1   
        .bss Mfunc_V2        ,1  
        .bss Mfunc_V3        ,1   
        .bss DC_bus                ,1   ;DC总线电压
        .bss Vphase_A                ,1   ;A相电压
        .bss Vphase_B                ,1   ;B相电压
        .bss Vphase_C                ,1   ;C相电压
        .bss Vdirect                ,1   ;直轴电压
        .bss Vquadra                ,1   ;交轴电压
        .bss one_third                ,1         ; 1/3
        .bss tmp_volt                ,1         ; 临时变量
        ; 磁通估算变量定义
    .bss u_ds_fe                ,1   ; α轴定子电压      (Q15)
        .bss u_qs_fe                ,1   ; β轴定子电压      (Q15)
        .bss i_ds_fe           ,1   ; α轴定子电流      (Q15)
        .bss i_qs_fe                ,1   ; β轴定子电流      (Q15)
        .bss psi_dr_fe          ,1   ; α轴估计的转子磁通 (Q15)
        .bss psi_qr_fe          ,1   ; β轴估计的转子磁通(Q15)
        .bss theta_r_fe         ,1   ;转子磁通角         (Q15)
        .bss K1_fe                ,1   ;电流模型下常数     (Q15)
        .bss K2_fe                ,1   ; 电流模型下常数     (Q15)
        .bss K3_fe                ,1   ; 定子磁通计算的常数 (Q15)
        .bss K4_fe                ,1   ; 定子磁通计算的常数 (Q15)
        .bss K5_fe                ,1   ; 反电动势计算的常数 (Q15)
        .bss K6_fe                ,1   ; 反电动势积分的常数 (Q15)
        .bss K7_fe                ,1   ; 转子磁通计算的常数 (Q14)
        .bss K8_fe              ,1   ; 转子磁通计算的常数 (Q15)
        .bss K9_fe              ,1   ; 转矩计算的常数      (Q12)
        .bss Kp_fe                ,1   ; PI比例系数          (Q15)
        .bss Ki_fe                ,1   ; PI 积分系数          (Q31)
        .bss ptr_fe                ,1   ; 查sin, cos, atan表的表指针
        .bss cos_fe                 ,1   ; Cos(theta_r_fe)        (Q15)
        .bss sin_fe        ,1   ; Sin(theta_r_fe)        (Q15)
        .bss i_ds_e                ,1   ; d轴定子电压         (Q15)
        .bss i_qs_e                ,1   ; q轴定子电压         (Q15)
        .bss flx_dr_e           ,1   ; d轴转子磁通 (电流模型) (Q15)
        .bss flx_qr_s           ,1   ;β轴转子磁通(电流模型)  (Q15)
        .bss flx_dr_s           ,1   ;α轴转子磁通(电流模型)  (Q15)
        .bss flx_qs_s           ,1   ;β轴定子磁通(电流模型) (Q15)
        .bss flx_ds_s           ,1   ;α轴定子磁通(电流模型) (Q15)
        .bss ucomp_qs           ,1   ;β轴补偿电压         (Q15)
        .bss ucomp_ds    ,1   ;α轴补偿电压         (Q15)
        .bss error_qs      ,1   ;β轴定子磁通偏差     (Q14)
        .bss error_ds      ,1   ;α轴定子磁通偏差     (Q14)
        .bss ui_lo_ds      ,1   ;α轴积分项(低字)   (Q30)
        .bss ui_hi_ds      ,1   ;α轴积分项(高字)   (Q30)
        .bss ui_lo_qs      ,1   ;β轴积分项(低字)   (Q30)
        .bss ui_hi_qs     ,1    ;β轴积分项(高字)   (Q30)
        .bss emf_qs       ,1   ;β轴反电动势         (Q15)
        .bss emf_ds       ,1   ;α轴反电动势         (Q15)
        .bss psi_qs_fe     ,1   ;β轴定子磁通         (Q31)
        .bss psi_ds_fe     ,1   ;α轴定子磁通         (Q31)
        .bss psi_qs_lo     ,1   ;β轴定子磁通(低字) (Q31)
        .bss psi_ds_lo     ,1   ;α轴定子磁通(低字) (Q31)
        .bss psi_qr_p      ,1   ;β轴转子磁通         (Q15)
        .bss psi_dr_p      ,1   ;α轴转子磁通         (Q15)
        .bss psi_qdr       ,1   ;转子磁通商           (Q15)
        .bss tmp1_fe                 ,1   ;临时变量

使用特权

评论回复
板凳
itelectron|  楼主 | 2009-12-25 23:25 | 只看该作者
贴不了 太长了  把.RAR 改成.ASM
foc.RAR (96.97 KB)

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:MARK: zhi kan ji shu

274

主题

2762

帖子

8

粉丝