版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
DSP课程设计PAGE 直流电机脉冲调试控制专业:测控技术与仪器班级:学生姓名:学号:指导教师:电气工程学院目录24845第一章绪论 1114141.1系统背景 1252981.1.1DSP技术的特点以及在电子技术中的应用 131942第二章系统电路 390582.1直流电机 34820第三章系统软件设计 562983.1系统程序设计 520772第四章CAN总线通信程序 814177第五章结束语 14PAGEPAGE13第一章绪论1.1系统背景1.1.1DSP技术的特点以及在电子技术中的应用DSP一方面是DigitalSignalProcessing的缩写,意思是数字信号处理,就是指数字信号理论研究。DSP另一方面是DigitalSignalProcessor,意思是数字信号处理器,就是用来完成数字信号处理的器件。最初的DSP器件只是被设计成用以完成复杂数字信号处理的算法。DSP器件紧随着数字信号理论的发展而不断发展。在20世纪60年代,数字信号处理技术才刚刚起步。60年代中期以后,快速傅里叶算法的出现及大规模集成电路的发展大大促进了DSP技术与器件的飞速发展。(一)DSP器件的特点1.高速、高精度运算能力(1)硬件乘法累加操作,在一个指令周期内可完成一次乘法和一次加法。(2)哈弗结构和流水线结构。哈佛结构的主要特点是将程序和数据存储在不同的存储空间中,即程序存储器和数据存储器是两个相互独立的存储器,每个存储器独立编址,独立访问。与两个存储器相对应的是系统中设置了程序总线和数据总线,从而使数据的吞吐率提高了一倍。由于程序和存储器在两个分开的空间中,因此取指和执行能完全重叠。流水线与哈佛结构相关,DSP芯片广泛采用流水线以减少指令执行的时间,从而增强了处理器的处理能力。使取指、译码和执行等操作可以重叠执行,处理器可以并行处理二到四条指令,每条指令处于流水线的不同阶段。(3)硬件循环控制。大多数的DSP都有专门的硬件,用于零开销循环。所谓零开销循环是指处理器在执行循环时,不用花时间去检查循环计数器的值、条件转移到循环的顶部、将循环计数器减1。(4)特殊的寻址模式。DSP处理器往往都支持专门的寻址模式,它们对通常的信号处理操作和算法是很有用的。例如,模块(循环)寻址(对实现数字滤波器延时线很有用)、位倒序寻址(对FFT很有用)。(5)具有丰富的外设。DSP具有DMA(有一组或多组独立的DMA总线,与CPU的程序、数据总线并行工作,在不影响CPU工作的条件下,DMA速度已达800Mbyte/s以上)、串口、定时器等外设。2.强大的数据通信能力。3.灵活的可编程性。DSP骗内设置RAM和ROM,可以方便地拓展程序、数据及I/O空间,同时允许ROM和RAM直接数据传送。可编程DSP芯片可使设计人员在开发过程中灵活方便地对软件进行修改和升级4.低功耗设计。DSP可以工作在省电状态,节省了能源。(二)DSP器件的应用自从DSP芯片诞生以来,DSP芯片得到了飞速的发展。DSP芯片高速发展,一方面得益于集成电路的发展,另一方面也得益于巨大的市场。在短短的十多年时间,DSP芯片已经在信号处理、通信、雷达等许多领域得到广泛的应用。目前,DSP芯片的价格也越来越低,性能价格比日益提高,具有巨大的应用潜力。DSP芯片的应用主要有:(1)信号处理--如,数字滤波、自适应滤波、快速傅里叶变换、相关运算、频谱分析、卷积等。(2)通信--如,调制解调器、自适应均衡、数据加密、数据压缩、回坡抵消、多路复用、传真、扩频通信、纠错编码、波形产生等。(3)语音--如语音编码、语音合成、语音识别、语音增强、说话人辨认、说话人确认、语音邮件、语音储存等。(4)图像/图形--如二维和三维图形处理、图像压缩与传输、图像增强、动画、机器人视觉等。(5)军事--如保密通信、雷达处理、声纳处理、导航等。(6)仪器仪表--如频谱分析、函数发生、锁相环、地震处理等。(7)自动控制--如引擎控制、深空、自动驾驶、机器人控制、磁盘控制。(8)医疗--如助听、超声设备、诊断工具、病人监护等。(9)家用电器--如高保真音响、音乐合成、音调控制、玩具与游戏、数字电话/电视等第二章系统电路2.1直流电机2.1.1直流电机与DSP的接线用到了16位的地址线(0b007)和16位的数据线,通过向该地址写数据来控制直流电机,如图2.1.1图2.1.1DSP控制直流电机的接线图2.1.2直流电机是通过送PWM脉冲来调速的,如图2.1.2所示PWM脉冲的周期不变,高电平的时间长则直流电机加速,低电平的时间长则直流电机减速(动摩擦力)。图2.1.2直流电机的调速原理2.1.3直流电机的正反转控制是通过如下电路实现的:其中T1,T3三极管由B控制,T2,T4三极管由A控制。控制方式如下:控制原理如下:图2.1.3直流电机正反转控制原理第三章系统软件设计3.1系统程序设计(1)程序软件流程图:(2)程序代码(加注释):#include "f2407_c.h"//屏蔽中断程序voidinlinedisable(){ asm("setcINTM");}//系统初始化子程序intinitial(){ asm("setc SXM"); //符号位扩展有效 asm("clrc OVM"); //累加器中结果正常溢出 asm("clrc CNF"); //B0被配置为数据存储空间 SCSR1=0x81FE; //CLKIN=6M,CLKOUT=4CLKIN=24M WDCR=0x0E8; //不使能看门狗,因为SCSR2中的WDOVERRIDE //即WD复位后的缺省值为1,故可以用软件禁止看门狗 IMR=0x0000; //禁止所有中断 IFR=0x0FFFF; //清除全部中断标志,"写1清0" WSGR=0x00; //禁止所有的等待状态}//EVB模块的PWM初始化程序intpwminitial(){ MCRC=MCRC|0x007E; //IOPE1-6被配置为基本功能方式,PWM7-12 ACTRB=0x0666; //PWM12,10,8低有效,PWM11,9,7高有效 DBTCONB=0x00; //不使能死区控制 CMPR4=0x1000; CMPR5=0x3000; CMPR6=0x5000;T3PR=0x6000;//设置定时器3的周期寄存器,并设置CMPR4-6,//以确定不同的输出占空比 COMCONB=0x8200; //使能比较操作 T3CON=0x1000; //定时器3为连续增计数模式}//该中断服务程序主要是为了防止干扰,不做任何其它操作void interruptnothing(){ return; //中断直接返回}//主程序main(){ disable(); //总中断禁止 initial(); //系统初始化 pwminitial(); //PWM输出初始化 T3CON=T3CON|0x9040; //启动定时器3 while(1) { ; }}(3)调试方法、过程及结果:将示波器的红色表笔分别与DSP的J8-1、J8-3、J8-5相连,观察示波器上的输出波形,然后改变方波的占空比,看示波器上输出方波是否改变。上述的程序运行的结果可以从示波器上看出来,当红色表笔与J8-1相连时,示波器上的显示图形为:T3=T1+T2,T2=5T1,由此可见,该方波的占空比为1:5。当红色表笔与J8-3相连时,示波器上的显示图形为:T3=T1+T2,T2=T1,由此可见,该方波的占空比为1:1。当红色表笔与J8-5相连时,示波器上的显示图形为:T3=T1+T2,5T2=T1,由此可见,该方波的占空比为5:1。结果分析:由CMPR4=0x1000;CMPR5=0x3000;CMPR6=0x5000;T3PR=0x6000;四条语句可以看出DSP上J8-1、J8-3、J8-5输出的方波占空比理论值应该分别为1:5、1:1、5:1,与真实输出一致,说明输出方波的占空比与CMPR4、CMPR5、CMPR6、T3PR的赋值有关,改变这些值,就可以改变输出方波的占空比。第四章CAN总线通信程序(1)程序软件流程图:发送流程图接收流程图(2)程序代码(加注释):发送程序代码(加注释):#include"f2407_c.h"//引用头部文件intCAN_FLAG;//定义标志寄存器voidsystem_init();//声明在程序中需要用到是函数voidCANMBX_ISR();voidCAN_INIT();voidinlinedisable(){asm("setcINTM");}voidinlineenable(){asm("clrcINTM");}//系统初始化子程序//(1)主程序main(){system_init();//系统初始化子程序CAN_FLAG=0x00;//清CAN用户标志,CAN_FLAG=0表示收到数据CAN_INIT();//CAN初始化子程序enable();for(;;){TCR=0x20;//MBX3请求发送while(TCR&0x2000==0)//等待发送应答continue;TCR=0x2000;//清TA3和MIF3标志位CAN_FLAG=0x0000;//清接收到标志MDER=0x0000;//邮箱不使能MCR=0x0140;//CDR=1,数据改变请求MBX3A=MBX2A;//用邮箱2中数据更新3中的数据MBX3B=MBX2B;MBX3C=MBX2C;MBX3D=MBX2D;MCR=0x0480;//DB0=1,AB0=1,STM=0设置为正常工作模式MDER=0x04C;}}//(2)系统初始化子程序voidsystem_init(){asm("setc SXM"); //抑制符号位扩展 asm("clrc OVM"); //累加器中结果正常溢出 asm("clrc CNF"); //B0被配置为数据存储空间 asm("setc INTM"); //禁止所有中断 SCSR1=0x81FE; //CLKIN=6M,CLKOUT=4CLKIN=24M WDCR=0x0E8; //不使能看门狗,因为SCSR2中的WDOVERRIDE //即WD复位后的缺省值,故可以用软件禁止看门狗 IMR=0x0010; //开中断优先级5 IFR=0x0FFFF; //清除全部中断标志,"写1清0"}//(3)CAN初始化子程序voidCAN_INIT(){MCRB=MCRB|0x0C0;//设置IOPC6、IOPC7为CANRX,CANTXCAN_IFR=0x0FFFF;//清所有中断标志LAM1_H=0x7FFF;//设置邮箱3、2的屏蔽ID寄存器LAM1_L=0x0FFFF;//0则ID必须匹配MCR=0x1000;//CCR=1改变配置请求while(GSR&0x0010==0)continue;//CCE=1时即可配置BCR2、BCR1寄存器BCR2=0x01;//波特率预分频寄存器BCR1=0x033;//波特率设置为500KbpsMCR=MCR&0x0EFFF;//CCR=0改变配置请求while(GSR&0x0010!=0)continue;//只有当CCE=0时,配置BCR2、BCR1寄存器成功MDER=0x040;//不使能邮箱2,邮箱2改为接收方式MCR=0x0103;//CDR=1,数据区改变请求MSGID2H=0x2447;//设置邮箱2的控制字及ID,IDE=0,AME=0,AAM=0//标准方式为MSGID2H[12~2]MSGID2L=0x0FFFF;MSGCTRL2=0x08;//设置控制,数据长度DCL=8,RTR=0数据帧MBX2A=0x1000;//邮箱2信息初始化MBX2B=0x3000;MBX2C=0x0000;MBX2D=0x0000;MSGID3H=0x2447;/设置邮箱3的标识符MSGID3L=0x0FFFF;MSGCTRL3=0x08;//RTR=0,DCL=8MBX3A=0x1500;//邮箱3信息初始化MBX3B=0x2000;MBX3C=0x5500;MBX3D=0x6000;CAN_IMR=0x0F7FF;CAN_IFR=0x0FFFF;MCR=0x0480;//DB0=1,AB0=1,STM=1设置为自测试模式MDER=0x04C;//使能邮箱2和3,邮箱2为接收方式//Counter=0;}//(4)中断程序voidinterruptGRIS5(){switch(PIVR){case64:CANMBX_ISR();break;}enable();return;}voidCANMBX_ISR(){RCR=0x040;//复位RMP2和MIF2CAN_FLAG=1;//置用户接收标志}//直接返回中断服务程序voidinterruptnothing(){ return;}接收程序代码(加注释):#include"f2407_c.h"//引用头部文件intCAN_FLAG;//定义标志寄存器voidsystem_init();//声明在程序中需要用到是函数voidCANMBX_ISR();voidCAN_INIT();voidinlinedisable(){asm("setcINTM");}voidinlineenable(){asm("clrcINTM");}//EVB模块的PWM初始化程序intpwminitial(){MCRC=MCRC|0x007E; //IOPE1-6被配置为基本功能方式,PWM7-12ACTRB=0x0666; //PWM12,10,8低有效,PWM11,9,7高有效DBTCONB=0x00; //不使能死区控制CMPR4=MBX2A;CMPR6=MBX2B;T3PR=0x6000;//设置定时器3的周期寄存器,并设置CMPR4-6,以确定不同的输出占空比COMCONB=0x8200; //使能比较操作T3CON=0x1000; //定时器3为连续增计数模式}//(1)主程序main(){disable(); //总中断禁止system_init();//系统初始化子程序CAN_FLAG=0x00;//清CAN用户标志,CAN_FLAG=0表示收到数据CAN_INIT();//CAN初始化子程序enable();for(;;){while(CAN_FLAG==0)continue;//等待接收数据CAN_FLAG=0x0000;//清接收到标志MDER=0x0000;//邮箱不使能MCR=0x0140;//CDR=1,数据改变请求pwminitial(); //PWM输出初始化T3CON=T3CON|0x9040; //启动定时器3MCR=0x0480;//DB0=1,AB0=1,STM=0设置为正常工作模式MDER=0x044;}}//(2)系统初始化子程序voidsystem_init(){asm("setc SXM"); //抑制符号位扩展 asm("clrc OVM"); //累加器中结果正常溢出 asm("clrc CNF"); //B0被配置为数据存储空间 asm("setc INTM"); //禁止所有中断 SCSR1=0x81FE; //CLKIN=6M,CLKOUT=4CLKIN=24M WDCR=0x0E8; //不使能看门狗,因为SCSR2中的WDOVERRIDE //即WD复位后的缺省值,故可以用软件禁止看门狗 IMR=0x0010; //开中断优先级5 IFR=0x0FFFF; //清除全部中断标志,"写1清0" WSGR=0x00; //禁止所有的等待状态}//(3)CAN初始化子程序voidCAN_INIT(){MCRB=MCRB|0x0C0;//设置IOPC6、IOPC7为CANRX,CANTXCAN_IFR=0x0FFFF;//清所有中断标志LAM1_H=0x7FFF;//设置邮箱3、2的屏蔽ID寄存器LAM1_L=0x0FFFF;//0则ID必须匹配MCR=0x1000;//CCR=1改变配置请求while(GSR&0x0010==0)continue;//CCE=1时即可配置BCR2、BCR1寄存器BCR2=0x01;//波特率预分频寄存器BCR1=0x033;//波特率设置为500KbpsMCR=MCR&0x0EFFF;//CCR=0改变配置请求while(GSR&0x0010!=0)continue;//只有当CCE=0时,配置BCR2、BCR1寄存器成功MDER=0x040;//不使能邮箱2,邮箱2改为接收方式MCR=0x0103;//CDR=1,数据区改变请求MSGID2H=0x2447;//设置邮箱2的控制字及ID//IDE=0,AME=0,AAM=0,标准方式为MSGID2H[12~2]MSGID2L=0x0FFFF;MSGCTRL2=0x08;//设置控制,数据长度DCL=8,RTR=0数据帧MBX2A=0x3000;//邮箱2信息初始化MBX2B=0x3000;MBX2C=0x0000;MBX2D=0x0000;MSGID3H=0x2447;//设置邮箱3的标识符MSGID3L=0x0FFFF;MSGCTRL3=0x08;//RTR=0,DCL=8MBX3A=0x1234;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 课题申报参考:精神生活共同富裕视域下红色文化旅游深度融合的响应机制与路径研究
- 课题申报参考:教育治理现代化背景下现代产业学院内部治理结构的优化研究
- 2025年c语言实习心得体会模版(4篇)
- 2025版房地产尾款支付及产权过户协议3篇
- 二零二五年车辆抵押维修保养合同3篇
- 二零二五版贸促会棉花期货交易专区棉花现货买卖合同3篇
- 二零二五年度企业法律风险防控培训合同3篇
- 主体架构工程分包合同(2024年度)一
- 专属分店管理承包协议模板版A版
- 二零二五年度多人合伙经营酒吧合作协议范本3篇
- 《健康体检知识》课件
- 生产计划主管述职报告
- 名表买卖合同协议书
- JTG-T-F20-2015公路路面基层施工技术细则
- 2024年辽宁石化职业技术学院单招职业适应性测试题库附答案
- 中西方校服文化差异研究
- 《子宫肉瘤》课件
- 《准妈妈衣食住行》课件
- 给男友的道歉信10000字(十二篇)
- 客人在酒店受伤免责承诺书范本
- 练字本方格模板
评论
0/150
提交评论