• 王文卓
    了解作者
  • Asm
    开发工具
  • 1KB
    文件大小
  • rar
    文件格式
  • 0
    收藏次数
  • 1 积分
    下载积分
  • 116
    下载次数
  • 2005-08-14 11:18
    上传日期
该程序目的为测量电机的转速,采用了DSP来实现.程序中还采用的Q格式.值得参考/
Speed_pr.asm.rar
  • Speed_pr.asm.txt
    4.2KB
  • www.pudn.com.txt
    218B
内容介绍
;===================================================================== ; File Name : Speed_pr.asm ; Module Name : SPEED_PRD ; Initialization Routine: SPEED_PRD_INIT ; Description : This module calculates the motor speed based on a signal's ; period measurement. Such a signal, for which the period ˙ is measured, can be the periodic output pulses from a ˙ motor speed sensor. ; ; |~~~~~~~~~~~~~~~| ; | |----->o speed_prd ; time_stamp o--------> | SPEED_PRD | ; | |----->o speed_rpm ; |_______________| ; ;===================================================================== ;(To use this Module, copy this section to main system file) ; .ref SPEED_PRD, SPEED_PRD_INIT ;function call ; .ref time_stamp ;Input ; .ref rpm_max, speed_scaler,shift ;parameter ; .ref speed_prd, speed_rpm ;Outputs ;===================================================================== ;Module definitions for external reference. .def SPEED_PRD, SPEED_PRD_INIT ;function call .def time_stamp ;Input .def rpm_max, speed_scaler,shift ;parameter .def speed_prd, speed_rpm ;Outputs ;===================================================================== .include x24x_app.h ;SPEED_SCALER_ .set 2400 ;Scaling constant(see related ˙document for details) ;RPM_MAX_ .set 5000 ;Max RPM value. Base RPM for ˙normalization. ;SPEED_SCALER_ .set 195 ;Scaling constant(see related ˙document for details) ; 8 +ve edges on CAP3 per revolution SPEED_SCALER_ .set 63 ;Scaling constant(see related ˙document for details) ; 8 +ve edges on CAP3 per revolution ;SPEED_SCALER_ .set 156 ;Scaling constant(see related ˙document for details) ; 10 +ve edges on CAP3 per revolution RPM_MAX_ .set 6000 ;Max RPM value. Base RPM for ˙normalization. ;SHIFT_ .set 10 ;Shift parameter for max accuracy ˙of 32bit/16bit division ;SHIFT_ .set 6 ;Shift parameter for max accuracy ˙of 32bit/16bit division SHIFT_ .set 4 ;Shift parameter for max accuracy ˙of 32bit/16bit division SHIFT_TOTAL .set 14 ;Total shift time_stamp .usect "speedprd" ,1 time_stamp_new .usect "speedprd" ,1 time_stamp_old .usect "speedprd" ,1 event_period .usect "speedprd" ,1 speed_hi .usect "speedprd" ,1 speed_lo .usect "speedprd" ,1 speed_prd_max .usect "speedprd" ,1 speed_prd .usect "speedprd" ,1 speed_rpm .usect "speedprd" ,1 speed_scaler .usect "speedprd" ,1 rpm_max .usect "speedprd" ,1 shift .usect "speedprd" ,1 shift2 .usect "speedprd" ,1 SPEED_PRD_INIT: LDP #rpm_max SPLK #RPM_MAX_, rpm_max ;Q0 SPLK #SPEED_SCALER_, speed_scaler ;Q0 SPLK #SHIFT_, shift ;Q0 RET SPEED_PRD: LDP #rpm_max CLRC SXM LACC time_stamp_new ;new-->old current-->new SACL time_stamp_old LACC time_stamp ;current-->new SACL time_stamp_new SUB time_stamp_old ;Period = time_stamp_new 每 ˙time_stamp_old SACL event_period ;Q0,Delta = 1 + f(t2) - f(t1) ;Calculate Speed, i.e. speed = 1/period ;Numerator (i.e. 1) is treated as a Q31 value, speed in Q31(=Q31/Q0) ;Phase 1 CALC_SPEED: LACC #07FFFh ;Load Numerator Hi RPT #15 SUBC event_period SACL speed_hi XOR speed_hi OR #0FFFFh ;Load Numerator Lo ;Phase 2 RPT #15 SUBC event_period SACL speed_lo LACC speed_lo ADDH speed_hi ;Result in ACC is in Q31(32 bit) format rpt shift ;The following Q numbers are for ˙shift=10. ;For other values of shift these will ;change accordingly. SFL SACH speed_prd_max LACC #SHIFT_TOTAL SUB shift SACL shift2 ;shift2=14-shift SPM 0 LT speed_prd_max MPY speed_scaler ;Q0*Qx PAC ;Qx, 32 bit format RPT shift2 ;shift2=14-shift SFL ;Q31,32 bit format SACH speed_prd ;Q15, speed_prd = speed_scaler ˙*speed_prd_max ;Scale to Q0 for direct RPM display LT speed_prd ;Q15 MPY rpm_max ;Q0*Q15 PAC ;Q15, 32 bit format SACH speed_rpm,1 ;Q0 MSP_EXIT RET
评论
    相关推荐
    • 步进电机DSP.rar
      本程序经过调试修改可以实现实现电机正反转以及调速
    • 交流异步电机DSP控制文献资料
      交流异步电机 dsp 控制,大量文献参考,超值超值,有兴趣的可以下载看看
    • DSP 实习报告电机控制
      DSP实习的报告,题目是电机控制,有步进,有直流
    • DSP2812步进电机控制
      这是一个dsp2812的关于步进电机控制的源程序
    • DSP电机控制程序举例
      DSP电机控制程序举例DSP电机控制程序举例DSP电机控制程序举例DSP电机控制程序举例
    • DSP电机控制程序2
      解压后把所有文件夹下的文件放到一个目录下,有LIB,SOUCE,INCLUDE,WORK,CMD五个文件夹,其中,rts2800_ml库文件在X:\CCStudio_v3.1\C2000\cgtools\lib目录下,请自己添加到LIB文件夹下。 我的目录是:D:\CCStudio_v...
    • DSP电机控制程序
      DSP电机控制程序解压后把所有文件夹下的文件放到一个目录下,有LIB,SOUCE,INCLUDE,WORK,CMD五个文件夹,其中,rts2800_ml库文件在X:\CCStudio_v3.1\C2000\cgtools\lib目录下,请自己添加到LIB文件夹下。 我的目录是...
    • DSP电机控制原理图
      很全的DSP电机控制原理图(protel99版)
    • DSP控制步进电机
      程序经过本人的验证,可以正常运行,能够通过PWM波控制步进电机的正反转,还可以实现调速。
    • 电机DSP控制程序
      CCS软件下的,同步电机及异步电机DSP控制、驱动程序,内容详尽,具有比较大的参考价值。