异步串口通信控制直流电机实验_第1页
异步串口通信控制直流电机实验_第2页
异步串口通信控制直流电机实验_第3页
异步串口通信控制直流电机实验_第4页
异步串口通信控制直流电机实验_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

DSP课程大作业综合设计报告2011年春季学期)课程名称: DSP技术 题目:—异步串口通信控制直流电机实验专业班级: 学生姓名: 学号: 指导教师: 成绩:

年月日一、实验题目:异步串口通信控制直流电机实验二、实验目的:了解ICETEK-VC5509-A评估板上扩展标准RS-232串口通信接口的原理和方法。学会对串口通信芯片的配置编程学习设计异步通信程序。学习用C语言编制中断程序,控制VC5509DSP的通用I/O管脚产生不同占空比的PWM信号。学习VC5509DSP的McBSP的通用I/O管脚的控制方法。学习直流电机的控制原理和控制方法。三、实验设备:计算机,ICETEK-VC5509-A实验箱。四、实验原理:1.TL16C550异步串行通信收发器TL16C550是一个标准的串口芯片,它的控制寄存器基地址为0x400200,寄存器占用TMS320VC5509的8个地址单元。串口中断与TMS320VC5509的INT0连接。用户可以使用TMS320VC5509的中断0响应串口中断。TL16C550有11个寄存器,这11个寄存器是通过TMS320VC5509的3个地址线(A3〜A1)和线路控制寄存器中的DLAB位对它们进行寻址的。表1TL16C550的寄存器寄存器基地址DLABA3A2A1偏移地址操作接收缓冲寄存器RBR0x400200000000H只读发送缓冲寄存器THR0x400200000000H只写中断使能寄存器IER0x400200000101H读/写中断标志寄存器IIR0x400200X01001H只读FIFO控制寄存器FCR0x400200X01001H只读线路控制寄存器LCR0x400200X01103H读/写MODEM控制寄存器MCR0x400200X10004H读/写线路状态寄存器LSR0x400200X10105H读/写MODEM状态寄存器MSR0x400200X11006H读/写暂存寄存器SCR0x400200X11107H读/写低位除数寄存器DLL0x400200100000H读/写低位除数寄存器DLM0x400200100101H读/写2.设置波特率:TL16C550的波特率可通过除数寄存器DLM,DLL来设置,除数寄存器值和波特率之间的换算公式如下:除数值二输入频率/(波特率*16),TL16C550的输入频率为:3.6864MHz,波特率和除数之间的关系如表2所示:表2设置波特率波特率高位除数寄存器DLM低位除数寄存器DLL120000HC0H240000H60H480000H30H960000H18H1920000H0CH3840000H06H3.串口标准:RS232标准。4.串口通信接口设置内部生成的串行时钟由系统时钟SYSCLK频率和波特率选择寄存器决定。串行通信接口使用16位波特率选择寄存器,数据传输的速度可以被编程65000多种不同的方式。不同通信模式下的串口通信接口异步波特率由下列方法决定:BRR=1—65535时的串行通信接口异步波特率:串行通信接口异步波特率二SYSCLK/[(BRR+1)*8]其中,BRR二SYSCLK/(SCI异步波特率*8)-1;BRR=0时的串行通信接口异步波特率:串行通信接口异步波特率=SYSCLK/16这里BRR等于波特率选择寄存器的16位值。5.直流电机控制:直流电机是最早出现的电机,也是最早能实现调速的电机。近年来,直流电动机的结构和控制方式都发生了很大变化。随着计算机计入控制领域,以及新型的电力电子功率元器件的不断出现,使采用全控型的开关功率元件进行脉宽调制控制方式已成为绝对主流。PWM调速原理直流电机转速n的表达式为:U-IRn= KQ其中,U为电枢端电压;I为电枢电流;R为电枢电路总电阻;©为每极磁通量;K为电动机结构参数。所以直流电动机的转速控制方法可分为两类:对励磁磁通进行控制的励磁控制法和对电枢电压进行控制的电枢控制法。其中励磁控制法在低速时受磁极饱和的限制,在高速时受换向火花和换向器结构强度的限制,并且励磁线圈电感较大,动态响应较差,所以这种控制方法用得很少。现在,大多数应用场合都使用电枢控制法。绝大多数直流电机采用开关驱动方式。开关驱动方式是使半导体功率器件工作在开关状态,通过脉宽调制PWM来控制电机电枢电压,实现调速。电动机的电枢绕组两端的电压平均值U0为:U二化+0二IU=aU 式中a为占空比,a=t/T0t+1 Ts s i12占空比a表示了在一个周期T里,开关管导通的时间与周期的比值。a的变化范围为0WaWl.由此式可知,当电源电压U不变的情况下,电枢的端电压的S平均值U取决于占空比a的大小,改变a值就可以改变端电压的平均值,从而达到调速的目的,这就是PWM调速原理。PWM调速方法在PWM调速时,占空比a是一个重要参数。以下3种方法都可以改变占空比的值:定宽调频法:这种方法是保持〔不变,只改变t2,这样使周期T也发生改变。调宽调频法:这种方法是保持]不变,只改变ti,这样使周期T也发生改变。定频调宽法:这种方法是使周期T保持不变,而是改变ti和t2。前两种方法由于在调速时改变了控制脉冲的周期,当控制脉冲的频率与系统的固有频率接近时,将会引起震荡,一次这两种方法用得很少。目前,在直流电动机的控制中,主要使用定频调宽发。6.ICETEK-CTR直流电机模块:ICETEK-VC5509-A板上P4外扩插座第26引脚的S22信号,DSP将在此引脚上给出PWM信号用来控制直流电机的转速;ICETEK-VC5509-A板上P4外扩插座第29引脚的S14信号,DSP将在此引脚上给出PWM信号用来控制直流电机的方向。控制原理当电动机要求正转时,S14给出高电平信号,该信号分成3路:第1路接与门Y1的输入端,使与门Y1的输出由PWM决定。第2路字节与开关管V4的栅极连接,使V4导通;第3路经非门F1连接到与门Y2的输入端,使与门Y2输出为0•这样使开关管V3截断;从非门F1输出的另一路与开关管V2的栅极相连,其低电平信号也使V2截止。反转同理。编程控制程序中采用定时器中断产生固定频率的PWM波,100次中断为一个周期,在每个中断中根据当前占空比判断应输出波形的高低电平。主程序用轮询方式扫描串口输入,得到转速与方向控制命令。在改变电机方向时为减少电压和电流的波动采用先减速再反转的控制顺序。实验程序流程图异步串口通信流程图直流电机控制中断程序流程图直流电机控制流程图五、实验结果串口通信显示六、实验分析本次实验结合了DSP串口实验和DSP直流电机控制实验,将由键盘控制的电机改为由计算机通过串口发送命令控制。程序的实现过程是将DSP串口程序移植到DSP直流电机控制程序中来,通过重新定义相关变量与寄存器值,调整程序的逻辑关系,最终将程序修改完成。再通过调试后,完全可以成功在平台上实现计算机通过串口控制电机转动。本次实验,调试过程中也遇到了一些问题,例如,McBSP的工作方式确定和引脚如何初始化上,开始不是很明白,通过查阅课本,和其它资料最终找到了答案。在串口波特率设置上,开始也不是很明白,仔细阅读相关参考材料后,也找到了详细的设置说明和设置过程,已经在实验报告中予以总结。七、实验心得通过本次实验,认识了PWM的使用方法,通过亲身体验,初步掌握了VC5509A的McBSP寄存器对PWM的控制使用方法,加深了对PWM脉宽调制的认识。本次实验的主要目的是通过VC5509A的串口通信功能由串口发送命令来控制直流电机运动。同时也基本了解了VC5509A的串口通信过程,加深了对TL16C550的各个寄存器的认识,对其如何初始化,以及初始化参数也有一定的了解。

总之,通过DSP技术这门课程,通过亲自动手去编程,去修改程序,做程序移植,对DSP的开发环境运用更熟悉了,对DSP这个硬件也有了很多的了解和认识,从其内部结构的设计知道了它为什么有如此强大的数据处理能力。所以这门课程的收获还是不少的。八、实验程序#include"myapp.h"#include"ICETEK-VC5509-EDU.h"#include"scancode.h"charcString[17]={"HelloPC!,Over|"},cReceive,cRev,cAnswer[16]={"oh,yousay"};#defineUART_BASE_ADDR#defineRBR#defineUART_BASE_ADDR#defineRBR#defineTHR#defineIER#defineIIR#defineFCR#defineLCR#defineMCR#defineLSR#defineMSR#defineSCR#defineDLL#defineDLMvoidTMCR_reset(void);voidEMIF_init(void);voidwait(intnWait);0x400400((int*)(UART_BASE_ADDR+0))((int*)(UART_BASE_ADDR+0))((int*)(UART_BASE_ADDR+1))((int*)(UART_BASE_ADDR+2))((int*)(UART_BASE_ADDR+2))((int*)(UART_BASE_ADDR+3))((int*)(UART_BASE_ADDR+4))((int*)(UART_BASE_ADDR+5))((int*)(UART_BASE_ADDR+6))((int*)(UART_BASE_ADDR+7))((int*)(UART_BASE_ADDR+0))((int*)(UART_BASE_ADDR+1))intbReceive;intnLen;//charcRev;chardbOld=0,dbScanCode=0;unsignedintuWork;//:--DefineTimer0'sRegisters---//ioportunsignedint*tim0;ioportunsignedint*prd0;ioportunsignedint*tcr0;ioportunsignedint*prsc0;//:--EndofDefine //voidInitMcBSP();unsignedintuN,nCount,nCount1;main(){inti,k;bReceive=0;nCount=nCount1=0;k=0;TMCR_reset();PLL_Init(12);EMIF_init();LCR=0x80;DLL=0x18;DLM=0x00;LCR=0x03;FCR=0x01;MCR=0x00;MSR=0x00;IER=0x00;PLL_Init(20);SDRAM_init();InitCTR();InitMcBSP();uN=20;CTRGR=1;InitInterrupt();TIME_init();for(;;){//串口初始化成功测试if(bReceive==0){for(i=0;i<16;i++){do{uWork=LSR;〃状态寄存器}while(uWork&0x040!=0x040);THR=cString[i];〃发送状态寄存器wait(128);}}else{//接收显示字符oh,yousayfor(i=0;i<10;i++){douWork=LSR;}while(uWork&0x040!=0x040);THR=cAnswer[i];wait(128);}do{uWork=LSR;}while(uWork&0x040!=0x040);THR='\"';do//接收数据显示{uWork=LSR;}while(uWork&0x040!=0x040);THR=cRev;wait(128);//接收显示字符,Over|do{uWork=LSR;}while(uWork&0x040!=0x040);THR='\"';wait(128);for(i=9;i<16;i++){do{uWork=LSR;}while(uWork&0x040!=0x040);THR=cString[i];wait(128);}}k=0;bReceive=0;while(1){do{uWork=LSR;}while((uWork&1)==0);cReceive=RBR;;〃接收状态寄存器cRev=cReceive&0x0ff;dbScanCode=cRev;if(dbScanCode!=dbOld){dbOld=dbScanCode;if(dbScanCode=='9')CloseCTR();〃关闭控制elseif(dbScanCode=='7')PCR1|=2;elseif(dbScanCode=='8')

PCR1&=0x0fffd;elseif(dbScanCode=='1')uN=65;elseif(dbScanCode=='2')uN=60;elseif(dbScanCode=='3')uN=40;elseif(dbScanCode=='4')uN=20;elseif(dbScanCode=='5')uN=0;bReceive=1;break;}k++;k%=15;}}}voidInitInterrupt(void){//设置中断控制寄存器IVPD=0x80;IVPH=0x80;IER0=0x10;DBIER0=0x10;IFR0=0xffff;asm("BCLRINTM");}voidinterruptTimer()//中断响应函数{nCount++;nCount%=100;if(nCount>uN) PCR2|=4;elsePCR2&=0x0fffb;nCount1++;nCount1%=5120;}voidInitMcBSP(){//IOPin:McBSP2.FSRS22//SPCR1.RRST_=0,PCR.RIOEN=1,PCR.FSRM=1,PCR.FSRP=0/1SPCR1_2&

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论