




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、中南大学DSF原理及应用课程代码分析报告报告题目:DSP的PWM电机控制程序代码分析 学 院:专业班级:姓 名:学 号:0909082203指导老师:刘建成目录1. 基本原理、头文件和变量2. 数据存储空间(汇编源程序) 声明( C 源程序)分析3. 算法分析与流程图4. 总结1. 基本原理1. 每个240X器件都包含两个事件管理模块 EVA和EVB,每个时间管理器模块 包括通用定时器、比较单元、捕获单元,以及正交编码脉冲电路。2. 直流电机控制:直流电动机是最早出现的电动机,也是最早能实现调速的电动机。近年来, 直流电动机的结构和控制方法都发生了很大的变化。随着计算机进入控制领域, 以及新型
2、的电力电子功率元器件的不断出现, 使采用全控型的开关功率元件进行 脉宽调制(PWM)控制方式已成为绝对主流。PWM调压调速原理:直流电动机转速n的表达式为:U IR nK其中,U为电枢端电压;I为电枢电流;R为电枢电路总电阻;为每级磁通量;K为电动机结构参数。所以直流电机的转速控制方法可分为两类: 对励磁通进行控制的励磁控制法 和对电枢电压进行控制的电枢控制法。其中励磁控制法在低速时受磁极饱和的限 制,在高速时受换向火花和换向器结构强度的限制,并且励磁线圈电感较大,动态响应较差,所以这种控制方法用得很少。现在,大多数应用场合都使用电枢控 制法。绝大多数电流电机采用开关驱动方法。 开关驱动方式是
3、使半导体功率器件 工作在开关状态,通过脉宽调制 PWM来控制电动机电枢电压,实现调速。具体 电路如下图。up超 16C1ALr:D DU1DMOTE2. 数据存储空间(汇编源程序)、头文件和变量声明(C源程序)分析在此程序中定义了如下变量(C源程序)/global.c*7extern uksiifled int $丹1佩训2問冊卩吋冋卿;extern unsigned int WDCBIDKEV:extern URsijntd int MRrIFI,PIIRirVS0t;extern unsized int MCRA.HCRI.MCHC.PflDAIBlPBDATDIH.rCMnil.KMni
4、tPFDnOIH;extern unsigned int 眦TRLMDCTRL?川WONU邮EL刑邮FL叫邮WQ3附血Qh;extern unsized int AlirOSEIJSR RESULT RESULTI.RfSLLTS, RESULTS RESULT?;extern unsigreti int 耶HOHTGRRN删期帼乩冊顺R2MMGR1 疋RHE恥隔端extern unsized int帥NCFM肪旧朋胆札倔肚酣脚血吐州肚;PKtern unsigned int CAHIDmjCnHtDSLDNCTRLOfCANEMOfl.CAffiXBBANBXOCjCANBXOO;PKter
5、fl unsigned int GAKIEIH.CRHIDlL.CAIETHLI.CANeXIRRWBftNBKICANBMD;extern unsigned int CAHID2HICAHID2L,CAHCTRL2ICAH6X2AJCAHei!2STCAHDX2CICANBX2D;PKtern unsigned int聽帕03儿蚀川蚀問1即直理用欄1:噸监盼血11瞄眄蚀丽鹉片extern unsigned int 即NID4H#RHM札.CRHCTRL*朋BKUbCR蔺胡盼皿冊汕C,C側册呱;extern unsigned int渤ID5H#ANI瓯,MNCTRL几朋哪井問删唧,他删丸,朋册
6、曲;extern unsigred int 離ICCR靑tICTU,SUHE細釘SC】UIW0dl:I(;TL2mRXST.SCIRXENI.SCJRXBUF.SCHXIUF,SC1FRI;蹴PM unsigned ilt SHCDHAJICNTJIPHJICON.TCNT.IZPRJCDH.EUAlMRflJUAlMRBJUAIFHftJUAIFRB;tern unHqn凶 int 即TMNEJMNTJ斜PRJ3PRJ剜HQIONA/济陆MT饲陆柑IPIH,口时删上朋IFRA;在此程序中定义如下数据空间(汇编程序):ine.asna include IncludelfZWati011 F24
7、A7tECS.il11.gintiai .qlotal _ g altialB qilulbdl iglobal .ylubal .glnlial .1)1 nHba.qlalltial.glofedlZC A Hl D OLh_CfiiHIDOH._C AHC TRL Q_CAhBXM,.CAHBXaB,_CftHBX0C B._CfiNBX.glokal_C nHHI1L._CaHiID1H t_C KHC TRL 1CnNBXICt.=CflNBX1lBglaljdl_CAHD2La_CfiHID3H._CfiHCTRL2.CRIVXSA._CAHEK2B._CinNBX2P gloti
8、alc R Hl D3L 2c AHI 阳H 二C; AM; 1 RL 33cnMXMpJCIWBK30:.CfllHBK3CVsDfiNBK3D.qianalJi: A Ml OWL , C AM ! D 81a _C RHC1 HL llcnriJXiC!.g砒a】_CflHllGL /cAHilDGH s1 KLS-CM1BK5B,LAMI2CSC /CANUXStlglobalSCICCR. SCClLI, SCIHHAUD,SCILSftUP,SCCIL2pSC1RX1T.SC1RXEHU SCIRX8UF, VCnXBUFt SCIPRI;.glaliiil gluNbdl .gl
9、utodl Hqjnt)aT2PRbT2C0HGPTCOm i AIIV n SFqSR P_R ES1II Ilp.RF SUL 11 fr_RFSlJLT?F SIULTRRFSUI T9CHIVDER, CAMER CAIWcEllp :HHICR , CAWER2?_CDNH:CR1 ,_CAHESR f _CANESR CfiNCLC, UfiHlFH. UAHIHH . JJmMLRMNHa JUAHL AMliL由于程序设置使用 CAN总线传输电机转速数据,故在程序中开辟了CANIDxL和CANIDxH存储CAN总线数据标识符ID的单元),CANCTRLx存储CAN总线控制寄存器
10、位单元), CANBXnA/B/C/D(存储总线传输数据单元)。在汇编程序中还将在程序中涉及的变量开辟空间由于在程序中要用到中断,故在汇编程序中定义了中断向量地址表:;建寺中断向量表.vectors.sectRSVECTBc intoINTIBPHANTOMIHT2Bc int2IHT3BPHANTOMI NTHBPHANTOMI NTSBPHANT0HINT6BPHANTON;中断子向量入口定义-textPHrtHTOH:KICK_DCG RET.end具体变量和块在存储器中的地址为:*TMS320C24xx COFF Lin kerVersio n 7.02*OUTPUT FILE NAM
11、E:ENTRY POINT SYMBOL: _c_i ntOaddress: 00008904SECTION ALLOCATION MAPoutputsect ionpageoriginlengthattributes/in put sect ions.vectors 0000080000000000e000080000000000eDefi ne.obj (.vectors).text00008860000001490000886000000006Define.obj (.text)0000886600000000global.obj (.text)000088660000009eMain.
12、obj (.text)0000890400000027rts2xx.lib : boot.obj (.text)0000892b00000050: exit.obj (.text)0000897b0000002e: saverest.obj (.text).cinit0 000089a900000010000089a900000009Main.obj (.cinit)000089b200000006rts2xx.lib : exit.obj (.cinit)000089b800000001-HOLE- fill = 0000.data1 0000086000000000UNINITIALIZE
13、D0000086000000000Define.obj (.data)0000086000000000rts2xx.lib : saverest.obj (.data)0000086000000000: exit.obj (.data)0000086000000000: boot.obj (.data)0000086000000000Main.obj (.data)0000086000000000global.obj (.data).bss10000088000000025UNINITIALIZED0000088000000022rts2xx.lib : exit.obj (.bss)0000
14、08a200000000: boot.obj (.bss)000008a200000000global.obj (.bss)000008a200000000rts2xx.lib : saverest.obj (.bss)000008a200000000Define.obj (.bss)000008a200000003Main.obj (.bss).const10000086000000000UNINITIALIZED.switch00000886000000000UNINITIALIZED.stack1000008a5000000a0UNINITIALIZED000008a500000000r
15、ts2xx.lib : boot.obj (.stack).system10000086000000000UNINITIALIZED3. 算法分析与流程图六、程序流程图算法分析:/*Mai n.c*/*PWM电机控制程序,正反转,默认设置的工作频率1kHz*/#i nclude global.cvoid Systeml nit();void PWM _ln it();void KickDog();int numled0=200;unsigned int t0=0;unsigned int XPWM=0;main()/IOPB0-6 设为 IO 口模式/ 所有 LED=0/ 所有 LED=1Sy
16、stemInit(); / 系统初始化MCRA=MCRA & 0xC0FF;PBDATDIR=0xFFC2;PBDATDIR=PBDATDIR |0x003D;XPWM=2400; / 最大值 2500/* when xpwm=0900, 逆时针方向旋转 ,值越小 ,转速越 快when xpwm=16002500, 顺时针方向旋转 , 值越大 , 转速越快when xpwm=9001600, 电机两端电压太低 ,基本上 不足以起转 */asm( CLRC INTM );while(1);void SystemInit()asm( SETC INTM ); /* 关闭总中断 */asm( CLR
17、C SXM ); /* 禁止符号位扩展 */asm( CLRC CNF );/* B0 块映射为 on-chip DARAM*/asm( CLRC OVM );/* 累加器结果正常溢出 */SCSR1=0x83FE;/* 系统时钟 CLKOUT=20*2=40M */* 打 开 ADC,EVA,EVB,CAN 和 SCI 的时钟, 系统时 钟CLKOUT=40M */WDCR=0x006F;/* 禁止看门狗 ,看门狗时钟 64 分频 */KickDog();IFR=0xFFFF;IMR=0x0002;/* 初始化看门狗 */* 清除中断标志 */* 打开中断 2*/void PWM_Init(
18、)MCRA=MCRA | 0x00C0;/PA6-PA7 为 PWM 口EVAIFRA=0xFFFF;/ 清除中断标志ACTRA=0x0006;/PWM1,2 低有效DBTCONA=0x0530;/ 使能死区定时器 1, 分频 40M/16=2.5M, 死区时间5*0.4us=2usT1PR=2500;/ 定时器 1 周期值 ,定时 0.4us*2500=1msCMPR1=XPWM;/ 比较值COMCONA=0xA600;/ 比较控制寄存器/* 定时器 1 中断服务程序 */T1CNT=0;EVAIMRA=0x0080;/ 定时器 1 周期中断使能T1CON=0x144E;/ 增模式 , TPS 系数 40M/16=2.5M,T1 使能 ,void c_int2()if(PIVR!=0x27) asm( CLRC INTM );return;T1CNT=0;t0+;numled0-;if(numled0=0)numled0=2000;if(PBDATDIR & 0x0001)=0x0001)PBDATDIR=PBDATDIR & 0xFFFE;/IOPB0=0;LEDelsePBDATDIR=PB
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- T-ZSM 0060-2024“领跑者”评价技术要求 微型往复活塞空气压缩机
- 二零二五年度竞业禁止期限及竞业限制解除后的竞业禁止责任及赔偿执行及监督合同
- 二零二五年度金融衍生品合同印花税税率变动与市场创新
- 二零二五年度手房过户二手房交易中介服务合同协议
- 二零二五年度智慧能源合伙经营股权协议书
- 二零二五年度文艺演出宣传推广合作协议
- 2025年度智能债权转让服务合同不可适用借款合同解析
- 2025年度生态鱼塘资源租赁管理合同
- 二零二五年度商铺租赁纠纷解决机制合同
- 二零二五年度跨区域集体合同-XX行业职工劳动条件提升协议
- 近三年投标没有发生过重大质量安全事故的书面声明范文
- 《工程热力学》(第四版)全册配套完整课件
- 2024时事政治考试题库(100题)
- 2024年司法考试真题及答案
- 胆总管切开取石T管引流术护理查房参考课件
- YYT 1814-2022 外科植入物 合成不可吸收补片 疝修补补片
- 工程机械设备综合保险
- 中图版高中地理选择性必修1第3章第1节常见天气现象及成因课件
- 2024年时政必考试题库(名师系列)
- 兽医检验题库与答案
- 第三章 环境污染物在体内的生物转运和生物转化课件
评论
0/150
提交评论