在CCS工程中添加定时器的方法
- 格式:doc
- 大小:138.50 KB
- 文档页数:4
实验四定时器实验一、实验目的1、熟悉C54的定时器;2、掌握C54定时器的控制方法;3、学会使用定时器中断方式控制程序流程。
二、实验设备计算机,CCS 2.0版软件,DSP硬件仿真器,实验箱。
三、实验步骤和内容1、运行CCS软件,调入样例程序,装载并运行;2、定时器试验通过数字量输入输出单元的LED1~LED8来显示;3、例程序实验操作说明启动CCS 2.0,并加载“NORMAL\EXP04_TIMER\EXP04\Debug\exp04.out”;单击“Run”运行,可观察到LED灯(LED1~LED8)以一定的间隔时间不停摆动;单击“Halt”,暂停程序运行,LED灯停止闪烁;单击“Run”,运行程序,LED灯又开始闪烁;关闭所有窗口,本实验完毕。
源程序查看:用下拉菜单中Project/Open,打开“NORMAL\EXP04_TIMER\EXP04\Exp04.pjt”,双击“Source”,可查看各源程序。
四、实验说明C54的定时器是一个20位的减法计数器,可以被特定的状态位实现停止、重新启动、重设置或禁止,可以使用该定时器产生周期性的CPU中断,控制定时器中断频率的两个寄存器是定时周期寄存器PRD和定时减法寄存器TDDR。
在本系统中,如果设置时钟频率为20MHZ,令PRD = 0x4e1f,这样得到每1/1000秒中断一次,通过累计1000次,就能定时1秒钟。
实验五 INT2中断实验一、实验目的1.掌握中断技术,学会对外部中断的处理方法;2.掌握中断对程序流程的控制,理解DSP对中断的响应时序。
二、实验设备计算机,CCS 2.0版软件,DSP仿真器,实验箱三、实验步骤和内容1、用连接线连接“CPLD单元”的2号孔“单脉冲输出”和“电机控制单元”2号孔“INT2”。
将“CPLD单元”拨码开关第3位打到“ON”位置。
2、低电平单脉冲触发DSP中断INT2;该中断由“单脉冲单元”按键“S5”产生。
Contents[hide]1 简介2 启动CCSv4o 2.1 选择工作区3 在CCSv4 中运行第一个C2000 项目o 3.1 打开“C2833x/2823x C/C++ Header Files and Peripheral Examples”(v1.30 或更高版本)附带的CCSv4 cpu_timer 项目o 3.2 为设备仿真设置目标配置选项o 3.3 生成和加载项目o 3.4 重置CPUo 3.5 将监视变量添加到监视窗口o 3.6 启用实时模式以在监视变量发生变化时进行监视o 3.7 运行程序4 将C2000 项目从CCSv3.3 迁移到CCSv4o 4.1 将一个项目从CCSv3.3 迁移到CCSv4o 4.2 将多个项目同时从CCSv3.3 迁移到CCSv45 已知迁移问题o 5.1 “No rule to make target(不存在创建目标的规则)”错误o 5.2 应用DSP BIOS 导致源文件缺失o 5.3 使用F281x 设备的“hello world”项目出错6 CCSv4 中针对C2000 的可移植项目(宏/链接的变量等)7 目标配置:设备目标和仿真设置8 C28x 闪存编程9 C2000 GEL 文件迁移10 使用CCSv4 为C28x 设备启用函数分析简介因为Code Composer Studio v4.0 (CCSv4) 现在是基于Eclipse 3.2 IDE 开源软件框架的新版本,所以与所有旧版C2000 Collateral 所基于的Code Composer Studio v3.x (CCSv3.x) 相比,两者之间存在多处差异。
本Wiki 页面详细介绍了如何将C2000 Collateral 从CCSv3.x 迁移到CCSv4,并帮助用户开始使用他们的第一个CCSv4.0 程序。
有关所有通用的、非C2000 特有的CCSv4 主题,或有关CCSv4 的进一步详细信息,请访问Code Composer Studio Wiki 网站:Code Composer Studio v4启动CCSv4选择工作区首次启动CCSv4 时,将显示一个对话框,提示您选择工作区。
合肥零零电子科技有限公司 软件实验讲解程序所在目录Ex01_POP28335_Timer0_LED 在 CCS 环境中操作如下: 1、Project->Open,打开该目录中的工程文件。
1、内部定时器0 内部定时器0灯闪实验2、Project->Build 或Rebuild ALL,编译链接。
就是如下的按钮: (以下同) 说明:第一次使用时也可以跳过这步,直接到第 3 步加载 .out 文件。
3、File->Load Program5、Debug->GO Main 6、Debug->RUN(快捷键F5) 全速运行 则可看到板上 4个发光二极管(D14-D17)闪烁。
用户可根据自己想要的结果,来改变代码 得到自己想要的闪烁方式和闪烁时间。
注:1、用户可以参考这个文件作为其开发应用程序的模板,在这个程序基础上修改自己的 代码,这样可以减少很多设置的工作,避免因设置不对导致编译问题。
合肥零零电子科技有限公司 2、用户改变过的代码需要重新编译一下,进而在Debug 下生成新的.OUT 文件。
程序所在目录Ex02_POP28335_SPI_8SEG_Static。
在 CCS3.3 中的操作如下: 1、Project->Open,打开该目录中的工程文件。
2. SPI数码管 数码管静态 静态显示实验 SPI数码管 静态显示实验2、Project->Rebuild ALL,编译链接。
说明:第一次使用时也可以跳过这步,直接到第 3 步加载 .out 文件。
3、File->Load Program合肥零零电子科技有限公司 4、Debug->GO Main 5、Debug->RUN(快捷键F5) 全速运行 可以看到板上数码管显示数字“28”。
程序中Uint16 showdata=28; 可修改这个值显示不同 数字。
程序所在目录Ex03_POP28335_SPI_8SEG。
实验4 cpuTimer与PIE操作实验1.实验目的学会如何通过程序语言配置cpuTimer,以及通过PIE实现中断管理。
2.实验主要内容在CCS软件中,用C语言编写程序进行cpuTimer及PIE的配置工作,通过多个cpuTimer实现不同周期的定时器中断,并能通过程序关闭某一特定定时器而不影响其他定时器中断。
3.实验基本原理F2833x系列DSP包含3个CPU定时器,分别是CPU 定时器0、1、2。
定时器0、1可以被用户使用,定时器2保留给实时操作系统(DSP-BIOS)。
若未用到实时操作系统,用户也可以使用定时器2。
定时器工作原理:32位的计数器(TIMH:TIM)从周期寄存器(PRDH:PRD)中装载数据,每经过(TDDRH:TDDR+1)个SYSCLKOUT周期,(TIMH:TIM)减1,当计数器等于0时将产生一次中断请求信号。
4.实验过程和关键程序解读(1)打开cpuTimer实验的工程(2)直接运行,观察到LED3以比较奇特的规律在闪烁,变量检测框内可看到各cpuTimer的InterruptCount分别以1s,2s,3s的周期自加。
(3)阅读代码,可以看到主程序中初始化了3个cpuTimer中断周期分别为1s,2s,3s,计算如下:Cputimer2:f = 150M/(150*3M)=1/3Hz T=1/f=3sCputimer1:f = 150M/(150*2M)=1/2Hz T=1/f=2sCputimer0:f = 150M/(150*1M)=1Hz T=1/f=1s(4)分析初始化过程i.初始化PIEii.置IER和IFR为0,关闭清除所有CpuTimer中断其中IER为CPU中断使能寄存器,特定位可以控制特定中断的使能或关闭。
IFR为CPU中断标志寄存器,用来识别和清除挂起的中断标志位。
iii.初始化PIE中断向量表其中中断向量表为结构体,存有各个外部中断与内部中断的中断服务函数地址。
实验一 CCS使用和数据存储实验一、实验目的1. 掌握CCS的使用2. 掌握TMS320C54X 程序空间的分配;3. 掌握TMS320C54X 数据空间的分配;4. 能够熟练运用TMS320C54X 数据空间的指令。
二、实验设备计算机,CCS 3.1版软件,DSP仿真器,E300实验箱,DSP-54XP CPU板。
三、实验步骤与内容1. 在进行DSP实验之前,需先连接好仿真器、实验箱及计算机,连接方法如下所示:2. E300 底板的开关SW4 的第1位置ON,其余位置OFF。
其余开关设置为OFF。
3. 上电复位在硬件安装完成后,确认安装正确、各实验部件及电源连接无误后,启动计算机,接通仿真器电源,此时,仿真器上的“红色指示灯”应点亮,否则DSP开发系统与计算机连接存在问题。
4. 运行CCS程序1) 待计算机启动成功后,实验箱220V电源置“ON”,实验箱上电2) 启动CCS3.1,进入CCS界面后,点击“Debug—Connect”3) 此时仿真器上的“绿色指示灯”应点亮,CCS正常启动,表明系统连接正常;否则仿真器的连接、JTAG 接口或CCS 相关设置存在问题,这时需掉电检查仿真器的连接、JTAG 接口连接是否正确,或检查CCS相关设置是否存在问题。
5. 成功运行CCS 程序后,首先应熟悉CCS的用户界面;6. 学会在CCS环境下创建工程文件、添加程序文件、编写程序、编译、装载、调试,学习如何使用观察窗口等。
7. 用“Project\open”打开“\normal\ 01_mem\ mem.pjt”.编译并装载“\ 01_mem\Debug\mem.out”8.用“Edit”下拉菜单中的“Memory/Fill”编辑内存单元,参数设置如下图:单击“OK”此时以0x1000 为起始地址的16个内存单元被修改成:0x00099.用“View”下拉菜单“Memory”观察内存单元变化,输入要查看的内存单元地址,本实验要查看0x1000H~0x100FH 单元的数值变化,输入地址0x1000H;单击“OK”如下图所示:10. 点击“Debug\Go main”进入主程序,在程序中“加软件断点1”和“加软件断点2”处施加软件断点。
实验三定时器及外部中断实验一、实验目的1)熟悉VC5416的定时器工作原理。
2)掌握VC5416定时器的编程控制方法。
3)学会使用定时器的中断方式来控制程序执行方法。
4)掌握外部中断的编程控制方法,理解DSP对于中断的响应的过程。
5)了解并学习混合编程的实现方法。
二、实验设备1)计算机一套,DSP硬件仿真器一台,实验箱一台。
2)CCS4.1-CCS5.5软件版本。
3)源程序及链接命令文件见:D:\ EXPER\EXP3目录下的.asm 、.cmd、.C 和.lib文件。
三、实验步骤(一)、连接仿真器,将仿真器插接到C5416的JTAG接口上,另一头插接到电脑的USB接口上,因为仿真器是金属外壳,容易和箱子内部的电路触碰造成短路,从而对实验箱造成损坏,这个要特别注意,也不允许在机箱打开电源情况下插拔仿真器。
(二)、实验箱配置及连线:C5416DSP核心板上的SW1的1-6的开始设置为off off off off on on(上电后工做于1/2分频器方式,其它实验也按照此设置不变,我试验过改为PLL*2方式仿真器就连接不上了),SW2设置为on on on on。
将DSP核心板所在试验箱引脚连线区的BCANRX(C54的XF)引脚,与指示灯连线区LAMP的L1连接起来,这样就可以通过XF控制这个L1这个方光管的亮灭了。
将DSP核心板所在试验箱引脚连线区的INT0(C54的外部中断0输入)引脚与单脉冲按键PAULSE的P-(按下输出负脉冲)连接起来,这样按下按键时,就会给DSP的INT0中断引脚发送一个负脉冲。
连线照片见程序目录中的图片文件。
(二)、打开实验箱电源开关。
(三)、使用给定的文件,按照实验一的步骤建立实验项目,例如工作区目录为D:\ exp3 中建立一个exp3的实验项目,添加所有的给定的文件。
(四)、仿真调试方法1、通过菜单Project- Build All 对项目进行编译和链接,如下:如果有错误会出现在problem 窗口中。
DSP原理及应用实验讲义中国石油大学信息与控制工程学院电子信息工程系2008.3目录实验一CCS软件入门实验 (3)实验二DSP入门实验 (8)实验三I/O实验 (15)实验四定时器实验 (17)实验五外部中断实验 (19)实验六A/D转换实验 (21)实验七LCD实验 (26)实验八DSP综合实验 (29)附录一开发一个简单的应用程序 (30)附录二语言编程格式 (40)实验一CCS软件入门实验1. 实验目的(1)通过学习CCS软件的说明和介绍了解如何使用CCS软件;(2)熟悉如何建立工程,修改文件,编译运行程序;(3)了解控制DSP的基本工作流程;(4)学会阅读英文文档资料,按照文档介绍解决实际遇到的问题。
2. 实验内容本实验要求通过在课上学习的CCS使用方法,结合书上内容和CCS的帮助文档,按照CCS英文文档的步骤在CCS上建立一个简单的DSP工程文件。
学习如何建立工程、如何添加文件、设置程序选项、编译工程、定位错误、修改错误、运行程序、查看结果、分析程序等。
要求对每一个工程都要认真完成,彻底学会使用CCS软件。
CCS(Code Composer Studio)代码调试器是TI公司专为DSP开发提供的一种集成开发环境(IDE, Integrated Development Environment),在Windows操作系统下,采用图形接口界面,提供环境配置、源文件编辑、程序调试、跟踪和分析等工具,帮助用户完成DSP系统开发。
CCS有两种工作模式,即软件仿真器(Simulator)和硬件仿真器(Emulator)。
软件仿真器工作可以脱离DSP芯片,在PC上模拟DSP的指令和工作机制,主要用于前期DSP开发中算法的实现和调试。
硬件仿真需要运行在DSP芯片上,与硬件开发板联合在线编程和调试。
本节实验将学习和使用软件仿真模式,同学们在自己的电脑上进行编程时采用这种模式。
硬件仿真器(Emulator)将在实验二中介绍。
DSP器件及应用实验指导手册西安文理学院机械电子工程系目录实验一 CCS 操作实验 (2)实验二存储器实验 (5)实验三发光二极管循环点亮实验 (10)实验四数码显示实验 (12)实验五硬件中断实验 (14)实验六液晶显示实验 (16)实验七定时器实验 (18)实验八步进电机控制实验 (20)实验九用DSP芯片生成正弦信号发生器 (23)附录:数据流程图及端口地址 (24)实验一 CCS 操作实验一、实验目的1、熟悉CCS2.0软件的使用。
2、了解SZ-DSPF开发教学平台的使用。
二、实验设备计算机、DSP硬件仿真器、SZ-DSPF开发教学平台。
三、实验原理了解怎样连接DSP仿真器、对CCS的仿真配置及怎样在CCS内新建工程并生成*.out文件。
四、实验步骤安装CCS2.0的Simulator方式:双击桌面上的Setup CCS2(…C5000)图标,关闭Import Configuration窗口,在System Configuration中的My System的下面可看到一个类似板卡的图标,如果该图标的名称是“tisim54x”的话,就可直接关闭该窗口,不存盘退出。
如果该图标的名称不是“tisim54x”的话,在该图标上单击右键,选择remove 删除该结构,然后在Available Board Types中双击“tisim54x”的图标(如果有的话),弹出Board Properties的对话框点击“next”、“finish”然后关闭Code Composer Setup窗口,存盘退出即可。
如果在Available Board Types中没有“tisim54x”的图标,则在右边框内单击“Install a Device Driver”,在路径“c:\ti\driver\”(此目录为CCS的安装目录)中打开tisim54x.dvr 文件,在Available Board Types中可看到“tisim54x”的图标,然后按上述操作。
如何在CCS工程中添加定时器,方法如下:
注意:这种方法是针对CCS2.2版本的,如果使用CCS3.3版本则需要在主函数文件中添加相应的定时器API函数,因为CCS3.3版本BIOS中不包含CSL—Chip Support Library这一项。
一、打开工程中的BIOS文件,如图1所示,看到TIMER-Timer Device那项,在Timer Configuration Manager中添加timerCfg0,此项是对定时器的工作方式进行配置,具体如图2—图6所示,这些配置工作完成以后,我们要将timerCfg0赋给Timer_Device,这里我们选择Timer_Device1,操作如图7所示。
这样,定时器Timer1的配置和初始化就完成了。
图1
图2 定时器定义为Timer1
图3 Timer1的引脚配置
图4 Timer1中计数器的配置
图5 Timer1的时钟周期的配置
图6 Timer1中的控制寄存器、周期寄存器和计数寄存器的配置
图7 将timerCfg0赋给Timer_Device1
二、我们这里使用定时器是为了测算图像融合算法的运行时间,以达到实时性的要求。
因此我们在taskloopback.c文件中添加了一些相应的函数,具体如下:1、添加定时器句柄和一些变量:extern TIMER_Handle hTimer1;
Uint32 TimerNum0,TimerNum1;
Uint32 TimerNum2,TimerNum3;
Uint32 TimerNum4,TimerNum5;
Uint32 TimerNum6,TimerNum7;
Uint32 Timercha0,Timercha1;
Uint32 Timercha2,Timercha3;
Uint32 Timercha4,Timercha5;
一般情况下这些变量你要用多少就定义多少,这里定义的变量都是全局变量,是为了程序运行时能够将结果通过CCS自带的Watch Window窗口显示出来,以便观察。
2、添加函数使定时器开始工作:TIMER_start(hTimer1);
3、获取定时器计数的结果,将这个结果赋值给前面定义的全局变量:TimerNum0=TIMER_getCount(hTimer1);
4、通过CCS自带的Watch Window窗口观察程序运行的时间,如图8所示,将这些结果除以DSP工作频率的八分之一,就可以得到相应程序运行的时间。
图8 结果显示。