79SEED-DTK643_v1.0实验手册_09年版_DEC 板卡应用实验

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

663.3DEC板卡应用实验3.3.1数字I/O实验1——交通灯实验3.3.1.1实验目的1.熟悉使用SEED-DEC643板控制SEED-DTK_MBoard上交通灯的方法;2.掌握DSP扩展数字I/O口的方法;3.了解SEED-DEC643的硬件系统。3.3.1.2实验内容1.DSP的初始化;2.TMS320C643的扩展数字I/O口使用;3.交通灯控制程序。3.3.1.3实验背景知识3.3.1.3.1DSP系统中数字I/O的实现DSP系统中一般只有少量的数字I/O资源,而一些控制中经常需要大量的数字量的输入与输出。因而,在外部扩展I/O资源是非常有必要的。在扩展I/O资源时一般占用DSP的I/O空间。其实现方法一般有两种:其一为采用锁存器像74LS273、74lS373之类的集成电路;另一种是采用CPLD在其内部做锁存逻辑,我们采用的是后者。SEED-DEC643的存储器扩展总线,包含4个存储空间,每个存储空间有20-位地址线、32-位数据线。SEED-DEC643的这4个存储空间被映射到’DM643的和空间中,具体的映射关系如下表所示:扩展总线EMIFEA[22:19]字节地址†长度1xxB0xB0200000~0xB03FFFFF512K×32-位10xB0xA0200000~0xA02FFFFF256K×32-位110B0xA0300000~0xA037FFFF128K×32-位111B0xA0380000~0xA03FFFFF128K×32-位†、空间被配置为32-位存储器时的逻辑地址在SEED-DEC643上,存储器扩展总线只支持8/16/32-位数据宽度,不支持64-位数据宽度。存储器扩展总线的20-位地址线XA[21:2]由’DM643的EMIF总线的地址总线EA[22:3]经驱动后提供,32-位数据总线XD[31:0]则由’DM643的EMIF总线的低32-位数据总线ED[31:0]经驱动后提供,4-位存储空间选通线由’DM643的、与地址译码后提供,4-位字节使能线由’DM643的EMIF总线的字节使能的低4-位经驱动后提供,读/写控制线有’DM643的EMIF总线的读/写控制线经驱动后提供。67实验箱I/O板映射到SEED-DEC643模板的EDSP_CE3空间,接口方式为16-位。所以将DSPC643EMIFCE3#空间配置为16-位异步接口模式,地址映射关系如下:实验箱I/O板对应的起始地址为:0xA01C0000(字地址);TRAFFICLED的偏移地址为:0x00000002;即TRAFFICLED的地址为:0xA01C0002;3.3.1.3.2SEED-DTK643系统中数字IO所占的资源交通灯控制口地址为:0xA01C0002(I/O空间);其说明如下:D11D10D09D08D07D06D05D04D03D02D01D00SRSYSGWREGEYWYERWGNRNYNGNG:方向北的绿灯控制位;NY:方向北的黄灯控制位;NR:方向北的红灯控制位;WG:方向西的绿灯控制位;ER:方向东的红灯控制位;WY:方向西的黄灯控制位;EY:方向东的黄灯控制位;EG:方向东的绿灯控制位;WR:方向西的红灯控制位;SG:方向南的绿灯控制位;SY:方向南的黄灯控制位;SR:方向南的红灯控制位;当以上各位置“1”时,点亮各控制位所代表的交通灯状态的LED灯。3.3.1.4实验要求通过本实验,了解DSP对I/O口的操作,完成交通灯的控制。熟练使用CCS对程序进行调试。3.3.1.5实验程序功能与结构说明3.3.1.5.1数字IO实验,包含文件1.IO.c:实验的主程序,包含了系统初始化,并完成控制交通灯按照所选择的不同模式输出显示,以及LED灯按照可输入的8位二进制数显示结果。2.DEC643.C:对SEED-DEC643各项资源操作的函数集,主要包含系统初始化函数。3.DEC643_DTK.c:主要包含对IO口操作的各函数。4.vecs.asm:包含定时器中断的中断向量表。5.SEED_DEC643.cmd:声明了系统的存储器配置与程序各段的连接关系。6.DEC643.gel:系统初始化程序。683.3.1.5.2程序流程图3.3.1.5.3实验准备首先将光盘下03.ExamplesofProgram\04.SEED-DEC643实验程序目录下的3.3.1IO的文件夹拷贝到D盘根目录下。1.将DSP仿真器与计算机连接好;2.将DSP仿真器的JTAG插头与SEED-DEC643单元的J1相连接;3.打开SEED-DTK643的电源。观察SEED-DTK_MBoard单元的+5V,+3.3V,+15V,-15V的电源指示灯以及SEED-DEC643的电源指示灯D1是否均亮;若有不亮的,请断开电源,检查电源。3.3.1.5.4实验步骤1.打开CCS,进入CCS的操作环境;2.装入IO.pjt,添加DEC643.gel文件开始进行调试;3.打开IO.c文件,到第19行,修改TESTCOMMAND的宏定义;TESTCOMMAND是交通灯操作控制选项。可以为1、2、3、4、5这5个数。1为自动运行;2为夜间模式;3为交通灯东西通;4为交通灯南北通;5为禁行。SEED-DTK_MBoard单元的TrafficLED处将显示结果;4.装载程序IO.out;DefaultCSL初始化条件编译实现交通灯运行模式的选择BreakTestCommand自动运行模式夜间模式交通灯东西通交通灯南北通禁行695.运行,观察。在程序运行过程中,可直接在WatchWindow里修改TestCommand的值,即将每一种运行方式所对应宏定义的值直接赋值给TestCommand,即可改变运行方式。例如在程序运行过程中,若想将运行方式改为夜间模式,就请将TestCommand赋值为0xAA16(关于各种方式的宏定义已在第22行到第31行给出)即可。如下图所示:6.重新到第3)步开始尝试其他情况或者退出实验。703.3.2数字I/O实验2——直流电机控制实验3.3.2.1实验目的1.了解直流电机驱动的原理;2.了解PWM对直流电机的驱动原理;3.了解PWM调速的实现过程。3.3.2.2实验内容1.DSP的初始化;2.PWM产生的定时中断服务程序。3.3.2.3实验背景知识3.3.2.3.1DSP系统中扩展IO口在电机驱动实验中直流电机与步进电机的控制接口映射到SEED-DEC643模板的EDSP_CE3空间,接口方式为16-位。SEED-DEC643的存储器扩展总线,包含4个存储空间,每个存储空间有20-位地址线、32-位数据线。SEED-DEC643的这4个存储空间被映射到’DM643的和空间中,具体的映射关系如下表所示:扩展总线EMIFEA[22:19]字节地址†长度1xxB0xB0200000~0xB03FFFFF512K×32-位10xB0xA0200000~0xA02FFFFF256K×32-位110B0xA0300000~0xA037FFFF128K×32-位111B0xA0380000~0xA03FFFFF128K×32-位†、空间被配置为32-位存储器时的逻辑地址实验中将DSPC643EMIFCE3#空间配置为16-位异步接口模式,地址映射关系如下:实验箱SEED-DTK_MBoard板对应的起始地址为:0xA01C0000(字地址);直流电机控制接口的偏移地址为:0x000008;即直流电机控制接口的地址为:0xA01C0008(字地址)。3.3.2.3.2直流电机控制1.直流电机的驱动:71图1是直流电机翻译/驱动的典型电路的一个变种,采用这种电路不但能够完成直流电机驱动的动作,而且可以避免典型H桥电路潜在的短路危险。针对SEED-DEC中直流电机系统动作要求和电机的特点,电机驱动电路设计思路如下:1)电机采用15V直流电源供电,串接50Ω@3W电阻限流并分压;2路控制信号X、Y由SEED-DTK_MBoard提供,信号为CMOS标准电平;2)使用达灵顿管TIP31C代替BD679作为电机驱动开关,基级串接100Ω电阻;3)使用快速二极管1N4007完成保护功能,以免电机换向时烧毁电机;4)电机电源/地之间跨接电容,电机地与数字地之间采用磁珠连接共地;2.直流电机的驱动接口:直流电机控制的I/O端口为0xA01C0008,其说明如下:D7D6D5D4D3D2D1D0XXXXXXLN2LN1当LN[2:1]=11时:直流电机刹车;当LN[2:1]=01时:直流电机正转;当LN[2:1]=10时:直流电机反转;3.PWM驱动直流电机的PWM驱动为CNTL0,通过控制CNTL0的输出,实现PWM驱动。注意:当要使直流电机停止转动时不仅要使LN[2:1]=11,还要使CNTL0的输出为低电平。3.3.2.4实验要求通过电机实验,了解对直流电机的驱动的基本原理;区分定时器延时与软件延时的区别。3.3.2.5实验程序功能与结构说明3.3.2.5.1直流电机实验,包含文件1.MOTOR.c:实验的主程序,包含了系统初始化,直流电机各种控制,直流电机调速等。2.DEC643_DTK.c:包含向SEED-DEC643扩展I/O空间写入数据或读出数据的函数。3.DEC643.C:对SEED-DEC643各项资源操作的函数集,主要包含系统初始化函数,对CPLD的各个控制函数。4.vecs.asm:包含定时器中断的中断向量表。5.SEED_DEC643.cmd:声明了系统的存储器配置与程序各段的连接关系。6.DEC643.gel:系统初始化程序。723.3.2.5.2程序流程图3.3.2.5.3实验准备首先将光盘下03.ExamplesofProgram\04.SEED-DTK643实验程序目录下的3.3.2DCMotor的文件夹拷贝到D盘根目录下。1.将DSP仿真器与计算机连接好;2.将DSP仿真器的JTAG插头与SEED-DEC643单元的J1相连接;3.打开SEED-DTK643的电源。观察SEED-DTK_MBoard单元的+5V,+3.3V,+15V,-15V的电源指示灯以及SEED_DEC643的电源指示灯D1是否均亮;若有不亮的,请断开电源,检查电源。3.3.2.5.4实验步骤1.打开CCS,进入CCS的操作环境;2.装入motor.pjt工程文件,添加DEC643.gel文件;3.打开MOTOR.c文件,到第23行,修改TESTCOMMAND的宏定义;TESTCOMMAND是操作控制选项,可以为1~2这2个数:TestCommand直流电机运行直流电机反向直流电机刹车DefaultCSL初始化条件编译实现直流电机运行方式的选择直流电机输出Break731为直流电机运行;2为直流电机停止;4.编译,链接,生成MOTOR.out文件。装载MOTOR.out;5.运行程序,观察实验箱上电机的运行是否与设置相符。同时用户可查看step变量的值观察电机运行速度。注:因外部信号效果不好,以及算法比较简单,step计数值有一定误差,用户可自行进行算法设计,取得电机速度反馈值。6.此时若想改变电机的运行状态,无需停止程序后通过修改TESTCOMMAND的宏定义来实现。而只需在程序运行过程中打开WatchWindow窗口,在其中修改TestCommand变量,输入1-2宏定义所对应的具体数值。例如:若想使直流电机停止,请输入0xAA39(DCMTRRVS所对应的宏定义,可在MOTOR.c程序找到),此时若直流电机正在运行,其将立刻停止运行。7.MOTOR.c文件104行的interruptvoidc_int14(void)函数下列代码的功能为电机调速。用户可通过调整time_num变量的值实现电机速度变化。743.3.3数字I/O实验3——步进电机控制实验3.3.3.1实验目的1.了解步进电机驱动的原理;2.了解步进电机的控制原理;3.通过IO总线锁存产生的脉冲的频率与相位的顺序控制速度与方向。3.3.3.2实验内容1.DSP的初始化

1 / 35
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功