下载

2下载券

加入VIP
  • 专属下载券
  • 上传内容扩展
  • 资料优先审核
  • 免费资料无限下载

上传资料

关闭

关闭

关闭

封号提示

内容

首页 电动机的DSP控制程序采样SPWM程序

电动机的DSP控制程序采样SPWM程序.doc

电动机的DSP控制程序采样SPWM程序

小小书生
2018-09-11 0人阅读 举报 0 0 0 暂无简介

简介:本文档为《电动机的DSP控制程序采样SPWM程序doc》,可适用于工程科技领域

《采用不对称规则采样法生成三相SPWM波的开环调速控制程序》本例载波频率为KHz或载波周期为μs。DSP晶振MHz内部倍频时钟频率为MHz计数周期为ns。假设调制波频率由外部输入(~Hz)并转换成合适的格式(本例为Q格式)。调制系数M为~。死区时间μs。最小删除脉宽μs。主程序的工作是根据输入的调制波频率计算N、N和M值。定时器采用连续增减计数方式。利用下溢中断每个载波周期都产生一次中断在每次中断都根据以下公式分别计算出下一个载波周期的三个比较值。并比较正负脉宽是否小于μs如果小于μs则删除该脉冲。本例中的常数:π倍载波周期:π((=秒Q格式载波频率:Hz(=HzQ格式定时器周期值:μsns=个计数周期调制系数对调制波频率的比例系数:=(=Q格式最小正脉宽:μsns=个计数周期最小负脉宽:μsns=个计数周期弧度换算成度系数:π(=Q格式π(=弧度Q格式π(=弧度Q格式π(=弧度Q格式include"xh"寄存器地址globalcint全局化标号以下定义变量STset状态寄存器STSTset状态寄存器STbssTEMP,中间变量bssTEMP,中间变量bssTEMP,中间变量bssTEMP,中间变量bssTEMP,中间变量bssTEMP,中间变量bssTEMP,中间变量bssK,第K个采样点bssPITC,π乘载波周期=,Q格式bssFM,调制系数对调制波频率的比例系数,Q格式bssTQUA,Tcarr的定时器计数脉冲个数,Q格式bssFCARR,载波频率,Q格式bssPMIN,最小正脉宽(脉冲个数),Q格式bssPMAX,最小负脉宽(脉冲个数),Q格式bssFMODU,调制波频率,Q格式bssN,每个调制波周期的载波脉冲数,Q格式bssM,M值bssKMAX,N,Q格式bssATOD,弧度换算成度系数,Q格式bssACCH,ACC高字保存单元bssACCL,ACC低字保存单元bssARSAVE,AR保存单元bssPHI,P寄存器高字保存单元bssPLO,P寄存器低字保存单元CONTEXT段,定义保护现场数据区STSAVEusect"context",状态寄存器ST保存单元STSAVEusect"context",状态寄存器ST保存单元定义主向量段sect"vectors"定义主向量段RESETBcint地址H复位优先级INTBPHANTOM地址HINT优先级INTBCINT地址HINT优先级INTBPHANTOM地址HINT优先级INTBPHANTOM地址HINT优先级INTBPHANTOM地址AHINT优先级INTBPHANTOM地址CHINT优先级RESERVEDBPHANTOM地址EH测试优先级SWINTBPHANTOM地址H自定义软中断SWINTBPHANTOM地址H自定义软中断SWINTBPHANTOM地址H自定义软中断SWINTBPHANTOM地址H自定义软中断SWINTBPHANTOM地址H自定义软中断SWINTBPHANTOM地址AH自定义软中断SWINTBPHANTOM地址CH自定义软中断SWINTBPHANTOM地址EH自定义软中断SWINTBPHANTOM地址H自定义软中断TRAPBPHANTOM地址HTRAP矢量NMIBPHANTOM地址HNMI优先级EMUTRAPBPHANTOM地址H仿真Trap优先级SWINTBPHANTOM地址H自定义软中断SWINTBPHANTOM地址AH自定义软中断SWINTBPHANTOM地址CH自定义软中断SWINTBPHANTOM地址EH自定义软中断SWINTBPHANTOM地址H自定义软中断SWINTBPHANTOM地址H自定义软中断SWINTBPHANTOM地址H自定义软中断SWINTBPHANTOM地址H自定义软中断SWINTBPHANTOM地址H自定义软中断SWINTBPHANTOM地址AH自定义软中断SWINTBPHANTOM地址CH自定义软中断SWINTBPHANTOM地址EH自定义软中断定义子向量段sect"pvecs"定义子向量段PVECTORSBPHANTOM偏移地址HBPHANTOM偏移地址HBPHANTOM偏移地址HBPHANTOM偏移地址HBPHANTOM偏移地址HBPHANTOM偏移地址HBPHANTOM偏移地址HBPHANTOM偏移地址HBPHANTOM偏移地址HBPHANTOM偏移地址HBPHANTOM偏移地址AHBPHANTOM偏移地址BHBPHANTOM偏移地址CHBPHANTOM偏移地址DHBPHANTOM偏移地址EHBPHANTOM偏移地址FHBPHANTOM偏移地址HBPHANTOM偏移地址HBPHANTOM偏移地址HBPHANTOM偏移地址HBPHANTOM偏移地址HBPHANTOM偏移地址HBPHANTOM偏移地址HBPHANTOM偏移地址HBPHANTOM偏移地址HBPHANTOM偏移地址HBPHANTOM偏移地址AHBPHANTOM偏移地址BHBPHANTOM偏移地址CHBPHANTOM偏移地址DHBPHANTOM偏移地址EHBPHANTOM偏移地址FHBPHANTOM偏移地址HBPHANTOM偏移地址HBPHANTOM偏移地址HBPHANTOM偏移地址HBPHANTOM偏移地址HBPHANTOM偏移地址HBPHANTOM偏移地址HBPHANTOM偏移地址HBPHANTOM偏移地址HBWXM偏移地址HBPHANTOM偏移地址AHBPHANTOM偏移地址BHBPHANTOM偏移地址CHBPHANTOM偏移地址DHBPHANTOM偏移地址EHBPHANTOM偏移地址FHBPHANTOM偏移地址HBPHANTOM偏移地址HBPHANTOM偏移地址HBPHANTOM偏移地址HBPHANTOM偏移地址HBPHANTOM偏移地址HBPHANTOM偏移地址HBPHANTOM偏移地址HBPHANTOM偏移地址HBPHANTOM偏移地址HBPHANTOM偏移地址AHBPHANTOM偏移地址BHBPHANTOM偏移地址CHBPHANTOM偏移地址DHBPHANTOM偏移地址EHBPHANTOM偏移地址FHBPHANTOM偏移地址HBPHANTOM偏移地址H以下是主程序text系统初始化程序cintSETCINTM禁止中断CLRCCNFB为数据存储区LDP#SPLK#B,SCSR倍频,CLKOUTMHzSPLK#H,WDCR不用看门狗LDP#LACCMCRAOR#FCH设置PWM引脚SACLMCRA中断初始化程序LDP#SPLK#FFH,IFR清所有系统中断标志SPLK#B,IMR开INT中断LDP#SPLK#FFFH,EVAIFRA清事件管理器A所有中断标志SPLK#FH,EVAIFRBSPLK#FH,EVAIFRCSPLK#H,EVAIMRA开T下溢中断SPLK#,EVAIMRB屏蔽所有中断SPLK#,EVAIMRC屏蔽所有中断初始化事件管理器A程序SPLK#,TPRT周期值=SPLK#,CMPR占空比初值SPLK#,CMPRSPLK#,CMPRSPLK#B,ACTRA引脚PWM,,高有效,,,低有效SPLK#FH,DBTCONA死区时间**ns=uμsSPLK#B,COMCONA允许比较,下溢重载SPLK#B,TCON连续增减计数方式,预分频=CLRCINTM开总中断变量初始化LDP#SPLK#,KK=SPLK#,PITCπ*Tcarr=,Q格式SPLK#,FMFM转换系数,Q格式SPLK#,TQUATcarr的定时器计数脉冲个数,Q格式SPLK#,FCARR载波频率,Q格式SPLK#,PMIN最小正脉宽(脉冲个数),Q格式SPLK#,PMAX最小负脉宽时的最大正脉宽,Q格式SPLK#,ATODQ格式SPLK#,FMODU调试数据,Q格式主循环CYCLELDP#CLRCSXMLACCFMODU,调制波频率,Q格式SACHTEMP右移位,Q格式LACCFCARR载波频率,Q格式RPT#SUBCTEMP计算N=FcarrFmoduSACLN保存N,Q格式LACCN,NSACLKMAX保存,Q格式LTFMFM转换系数,Q格式MPYUFMODUQ格式PACSACHM保存M,Q格式BCYCLE循环假中断子程序PHANTOMRET假中断T下溢中断处理子程序CINTSST#ST,STSAVE保存现场STSST#ST,STSAVE保存STLDP#SACHACCHSACLACCL保存ACCSPHPHISPLPLO保存PMPY#P<=TSPLTSAVE保存TLDP#LACCPIVR,读偏移地址ADD#PVECTORS子向量表首地址BACCWXMLDP#SPLK#FFFH,EVAIFRA清中断标志LDP#LTPITCπ*Tcarr=,Q格式MPYUKQ格式PAC计算K*π*TcarrSACHTEMP保存乘积,Q格式LTTEMPMPYUFMODU乘调制波频率,Q格式PAC计算K*π*Tcarr*TmoduRPT#ROR右移位,Q格式SACLTEMP保存第个角度值LACCTEMPADD#加π,Q格式SACLTEMP保存第个角度值SUB#检测是否小于π,Q格式BCNDWXM,LEQ小于π跳转SACLTEMP否则保存WXMLACCTEMPADD#加π,Q格式SACLTEMP保存第个角度值SUB#检测是否小于π,Q格式BCNDWXM,LEQ小于π跳转SACLTEMP否则保存WXMLTTEMP开始将第个角度转换成度MPYUATOD乘转换系数,Q格式PACSACHTEMP保存第个角度值,Q格式LACC#SINENTRYSIN表入口地址ADDTEMP偏移量TBLRTEMP保存第个SIN值,Q格式有符号数LTTEMPMPYM乘M,Q格式PACQ格式SACHTEMP,相当于右移位,Q格式有符号数LACCTEMPADD#,加SACLTEMP保存,Q格式LTTQUATcarr=,Q格式MPYUTEMPPACSACHTEMP,相当于右移位,保存为Q格式LTTEMP开始将第个角度转换成度MPYUATODPACSACHTEMP保存第个角度值,Q格式LACC#SINENTRYSIN表入口地址ADDTEMP偏移量TBLRTEMP保存第个SIN值,Q格式有符号数LTTEMPMPYM乘M,Q格式PACQ格式SACHTEMP,相当于右移位,Q格式有符号数LACCTEMPADD#,加SACLTEMP保存,Q格式LTTQUATcarr=,Q格式MPYUTEMPPACSACHTEMP,相当于右移位,保存为Q格式LTTEMP开始将第个角度转换成度MPYUATODPACSACHTEMP保存第个角度值,Q格式LACC#SINENTRYSIN表入口地址ADDTEMP偏移量TBLRTEMP保存第个SIN值,Q格式有符号数LTTEMPMPYM乘M,Q格式PACQ格式SACHTEMP,相当于右移位,Q格式有符号数LACCTEMPADD#,加SACLTEMP保存,Q格式LTTQUATcarr=,Q格式MPYUTEMPPACSACHTEMP,相当于右移位,保存为Q格式LACCKADD#KSACLKLTPITCπ*Tcarr=,Q格式MPYUKQ格式PAC计算K*π*TcarrSACHTEMP保存乘积,Q格式LTTEMPMPYUFMODU乘调制波频率,Q格式PAC计算K*π*Tcarr*TmoduRPT#ROR右移位,Q格式SACLTEMP保存第个角度值LACCTEMPADD#加π,Q格式SACLTEMP保存第个角度值SUB#检测是否小于π,Q格式BCNDWXM,LEQ小于π跳转SACLTEMP否则保存WXMLACCTEMPADD#加π,Q格式SACLTEMP保存第个角度值SUB#检测是否小于π,Q格式BCNDWXM,LEQ小于π跳转SACLTEMP否则保存WXMLTTEMP开始将第个角度转换成度MPYUATOD乘转换系数,Q格式PACSACHTEMP保存第个角度值,Q格式LACC#SINENTRYSIN表入口地址ADDTEMP偏移量TBLRTEMP保存第个SIN值,Q格式有符号数LTTEMPMPYM乘M,Q格式PACQ格式SACHTEMP,相当于右移位,Q格式有符号数LACCTEMPADD#,加SACLTEMP保存,Q格式LTTQUATcarr=,Q格式MPYUTEMPPACSACHTEMP,相当于右移位,保存为Q格式LTTEMP开始将第个角度转换成度MPYUATODPACSACHTEMP保存第个角度值,Q格式LACC#SINENTRYSIN表入口地址ADDTEMP偏移量TBLRTEMP保存第个SIN值,Q格式有符号数LTTEMPMPYM乘M,Q格式PACQ格式SACHTEMP,相当于右移位,Q格式有符号数LACCTEMPADD#,加SACLTEMP保存,Q格式LTTQUATcarr=,Q格式MPYUTEMPPACSACHTEMP,相当于右移位,保存为Q格式LTTEMP开始将第个角度转换成度MPYUATODPACSACHTEMP保存第个角度值,Q格式LACC#SINENTRYSIN表入口地址ADDTEMP偏移量TBLRTEMP保存第个SIN值,Q格式有符号数LTTEMPMPYM乘M,Q格式PACQ格式SACHTEMP,相当于右移位,Q格式有符号数LACCTEMPADD#,加SACLTEMP保存,Q格式LTTQUATcarr=,Q格式MPYUTEMPPACSACHTEMP,相当于右移位,保存为Q格式LACCKADD#KSACLKSUBKMAX比较K是否小于NBCNDWXM,LT是则跳转SPLK#,K否则K=WXMLACCTEMPADDTEMP计算脉宽SACLTEMP暂存SUBPMIN检测是否小于最小正脉宽微秒BCNDWXM,GT不是继续SPLK#,TEMP是则删除窄脉冲BWXMWXMLACCTEMP检测是否小于最小负脉宽微秒SUBPMAXBCNDWXM,LT不是继续SPLK#,TEMP是则删除窄脉冲WXMLACC#倍周期值SUBTEMP计算比较值ROR除LDP#指向事件管理器ASACLCMPR保存比较值LDP#LACCTEMPADDTEMP计算脉宽SACLTEMP暂存SUBPMIN检测是否小于最小正脉宽微秒BCNDWXM,GT不是继续SPLK#,TEMP是则删除窄脉冲BWXMWXMLACCTEMP检测是否小于最小负脉宽微秒SUBPMAXBCNDWXM,LT不是继续SPLK#,TEMP是则删除窄脉冲WXMLACC#倍周期值SUBTEMP计算比较值ROR除LDP#指向事件管理器ASACLCMPR保存比较值LDP#LACCTEMPADDTEMP计算脉宽SACLTEMP暂存SUBPMIN检测是否小于最小正脉宽微秒BCNDWXM,GT不是继续SPLK#,TEMP是则删除窄脉冲BWXMWXMLACCTEMP检测是否小于最小负脉宽微秒SUBPMAXBCNDWXM,LT不是继续SPLK#,TEMP是则删除窄脉冲WXMLACC#倍周期值SUBTEMP计算比较值ROR除LDP#指向事件管理器ASACLCMPR保存比较值LDP#恢复现场LTPLO恢复PMPY#LPHPHILTTSAVE恢复TLACCACCH,ADDSACCL恢复ACCLDP#LST#ST,STSAVE恢复STLST#ST,STSAVE恢复STCLRCINTM开中断RET返回data数据段SINENTRYwordSIN值表,D格式有符号数word,,,,word,,,,word,,,,word,,,,word,,,,word,,,,word,,,,word,,,,word,,,,word,,,,word,,,,word,,,,word,,,,word,,,,word,,,,word,,,,word,,,,word,,,,word,,,,word,,,,word,,,,word,,,,word,,,,word,,,,word,,,,word,,,,word,,,,word,,,,word,,,,word,,,,word,,,,word,,,,word,,,,word,,,,word,,,,word,,,,word,,,,word,,,,word,,,,word,,,,word,,,,word,,,,word,,,,word,,,,word,,,,word,,,,word,,,,word,,,,word,,,,word,,,,word,,,,word,,,,word,,,,word,,,,word,,,,word,,,,word,,,,word,,,,word,,,,word,,,,word,,,,word,,,,word,,,,word,,,,word,,,,word,,,,word,,,,word,,,,word,,,,word,,,,word,,,,word,,,,endunknownunknownunknownunknownunknownunknown

用户评价(0)

关闭

新课改视野下建构高中语文教学实验成果报告(32KB)

抱歉,积分不足下载失败,请稍后再试!

提示

试读已结束,如需要继续阅读或者下载,敬请购买!

评分:

/13

VIP

在线
客服

免费
邮箱

爱问共享资料服务号

扫描关注领取更多福利