DSP控制器原理及技术实验报告_第1页
DSP控制器原理及技术实验报告_第2页
DSP控制器原理及技术实验报告_第3页
DSP控制器原理及技术实验报告_第4页
DSP控制器原理及技术实验报告_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

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

文档简介

实验二实验二 定时器定时器 一 实验目的一 实验目的 1 熟悉如何编写 28335 的中断服务程序 2 掌握长时间间隔的定时器的处理 3 掌握片内外设的设置方法 二 实验内容二 实验内容 1 系统初始化 2 DSP 的初始设置 3 定时中断的编写 三 实验要求三 实验要求 1 通过本实验 熟悉中断的结构及用中断程序控制程序流程 掌握定时器的应用 2 分析给定程序代码功能 并在实验报告中给出程序流程图和必要的注释 3 改变定时时间 下载运行 观察结果 在报告中计算出运行时间 四 实验背景知识四 实验背景知识 TMS320F28335 片上有 3 个 32 位 CPU 定时器 分别被称为 CPU 定时器 0 1 和 2 每个定时器中均有一个 32 位减计数器 当计数器减到 0 时 产生一个中 断 其中 CPU 定时器 0 的中断 TINT0 为 PIE 中断 CPU 定时器 1 的中断 TINT1 直接连到 CPU 中断的 INT13 CPU 定时器 2 的中断 TINT2 直接连到 CPU 中断的 INT14 如下图所示 CPU 定时器 2 保留为实时操作系统 如 DSP BIOS 使用 而 CPU 定时器 0 1 则可被用户使用 SEED DEC28335 未使用 CPU 定时器 0 用户可以根据应 用的需要灵活使用 CPU 定时器的原理框图和定时中断如下图所示 定时器在工作过程中 首先用 32 位计数寄存器 TIMH TIM 装载周期寄存器 PRDH PRD 内部的值 计数寄存器根据 SYSCLKOUT 时钟递减计数 当计数寄 存器等于 0 时 定时器中断输出产生一个中断脉冲 定时器计数器 TIMH TIM TIM 寄存器保存当前 32 位定时器计数值的低 16 位 TIMH 寄存器保存高 16 位 每隔 TDDRH TDDR 1 个时钟周期 TIMH TIM 减 1 当 TIMH TIM 递减到 0 时 TIMH TIM 寄存器重新装载 PRDH PRD 寄存器保存的周期值 并产生定时器中断 TINT 信号 定时器周期寄存器 PRDH PRD PRD 寄存器保存 32 位周期值的低 16 位 PRDH 保存高 16 位 当 TIMH TIM 递减到零时 在下次定时周期开始之前 TIMH TIM 寄存器重新装载 PRDH PRD 寄存器保存的周期值 当用户将定时器控 制寄存器 TCR 的定时器重新装载位 TRB 置位时 TIMH TIM 也会重新装载 PRDH PRD 寄存器保存的周期值 五 实验准备五 实验准备 1 1 实验硬件准备实验硬件准备 1 将 DSP 仿真器与计算机连接好 2 将 DSP 仿真器的 JTAG 插头与 SEED DEC28335 单元的 J18 相连接 3 启动计算机 当计算机启动后 打开 SEED DTK28335 的电源 观察 SEED DTK MBoard 单元的 5V 3 3V 15V 15V 的电源指示灯灯 及 SEED DEC28335 的电源指示灯 D2 是否均亮 若有不亮 断开电源 检查 电源 2 2 实验软件准备实验软件准备 1 在 F 盘新建 timer 文件夹 2 将实验箱所带光盘中的 cputimer 文件夹下的 include lib src 28335 cmd dsp2833x header nonbios cmd 拷贝进 F 盘新建 timer 文件夹下 3 3 新建 加载工程和文件新建 加载工程和文件 1 双击 SETUP CCStudio3 3 2 在 famlily 中选择 C28XX 在 platform 中选择 SEEDXDS510PLUS 3 点击左下角 save在 preproess 中的一项中指定头文件路径 F timer include 2 在 linker basic 中选择 suppress banner q 3 点击编译 如无问题 在 file 中的 load program 下载编译生产的 out 文件即 可在线调试 注意 注意 在自己新建的 timer 工程中编译会出现 5 个警告 解决方法如下 1 打开头文件 incluede 下的 DSP2833x GlobalPrototypes h 在第 24 行加入 extern void InitXintf void 语句 2 打开 source 下的 cputimer c 在第六行加入 include DSP2833x GlobalPrototypes h 3 保存以上修改重新编译即可消除警告 4 其他实验不存在以上问题 六 实验结果六 实验结果 1 1 include include DSP2833x Device h DSP2833x Device h unsignedunsigned intint Led Flag Led Flag interruptinterrupt voidvoid ISRTimer2 void ISRTimer2 void unsignedunsigned intint LED3LED3 unsigned unsigned intint 0 x4080 0 x4080 voidvoid main void main void StepStep 1 1 InitializeInitialize SystemSystem Control Control 初始化系统控制初始化系统控制 PLL PLL WatchDog WatchDog enableenable PeripheralPeripheral ClocksClocks锁相环锁相环 监督机构监督机构 使能外围时钟使能外围时钟 ThisThis exampleexample functionfunction isis foundfound inin thethe DSP2833x SysCtrl cDSP2833x SysCtrl c file file 这个这个 例子函数是在例子函数是在 DSP2833x SysCtrl c 文件中找到 文件中找到 InitSysCtrl InitSysCtrl StepStep 2 2 InitializeInitialize GPIO GPIO 2 初始化初始化 GPIO 步步 ThisThis exampleexample functionfunction isis foundfound inin thethe DSP2833x Gpio cDSP2833x Gpio c filefile andand illustratesillustrates howhow toto setset thethe GPIOGPIO toto it sit s defaultdefault state state 这个例子在这个例子在 DSP2833x Gpio c 文件和函数发现说明如何设置的文件和函数发现说明如何设置的 GPIO 的默认状态 的默认状态 InitGpio InitGpio SkippedSkipped forfor thisthis exampleexample StepStep 3 3 ClearClear allall interruptsinterrupts andand initializeinitialize PIEPIE vectorvector table table 步骤步骤 3 清清 除所有中断和初始化除所有中断和初始化 PIE 中断向量表中断向量表 DisableDisable CPUCPU interruptsinterrupts 使能使能 CPUCPU 中断中断 DINT DINT InitializeInitialize thethe PIEPIE controlcontrol registersregisters toto theirtheir defaultdefault state state 初始化初始化 PIE 控制寄存器的默认状态 控制寄存器的默认状态 TheThe defaultdefault statestate isis allall PIEPIE interruptsinterrupts disableddisabled andand flagsflags areare cleared cleared 默认状态是所有默认状态是所有 PIE 禁用中断和标志被清除禁用中断和标志被清除 ThisThis functionfunction isis foundfound inin thethe DSP2833x PieCtrl cDSP2833x PieCtrl c file file 这个函数是在这个函数是在 DSP2833x PieCtrl c 文件中找到 文件中找到 InitPieCtrl InitPieCtrl DisableDisable CPUCPU interruptsinterrupts andand clearclear allall CPUCPU interruptinterrupt flags flags 禁用禁用 CPU 中中 断和清除所有断和清除所有 CPU 中断标志中断标志 IERIER 0 x0000 0 x0000 IFRIFR 0 x0000 0 x0000 InitializeInitialize thethe PIEPIE vectorvector tabletable withwith pointerspointers toto thethe shellshell InterruptInterrupt ServiceService RoutinesRoutines ISR ISR ThisThis willwill populatepopulate thethe entireentire table table eveneven ifif thethe interruptinterrupt isis notnot usedused inin thisthis example example ThisThis isis usefuluseful forfor debugdebug purposes purposes TheThe shellshell ISRISR routinesroutines areare foundfound inin DSP2833x DefaultIsr c DSP2833x DefaultIsr c This function is found in DSP2833x PieVect c 初始化 PIE 中断矢量表指针服务 例程 ISR InitPieVectTable Interrupts that are used in this example are re mapped toISR functions found within this file 中断在本例中使用重新映射到 ISR 函数中找到这个文件 EALLOW This is needed to write to EALLOW protected register这 是需要写 EALLOW 注册保护 PieVectTable TINT2 EDIS This is needed to disable write to EALLOW protected registers这是需要禁用写 EALLOW 保护寄存器 Step 4 Initialize all the Device Peripherals 步骤 4 初始化所有的设备外围 设备 This function is found in DSP2833x InitPeripherals c这个函数是在 DSP2833x InitPeripherals c 找到 InitPeripherals Not required for this example Step 5 User specific code enable interrupts 第 5 步 用户特定的代码 使中 断 Initial Initial XZONE XZONE InitXintf InitXintf 设置设置 CPU CPU InitCpuTimers InitCpuTimers ConfigCpuTimer 1000000 StartCpuTimer2 StartCpuTimer2 CpuTimer2Regs TCR allCpuTimer2Regs TCR all 0 x4001 0 x4001 UseUse write onlywrite only instructioninstruction toto setset TSSTSS bitbit 0 0使用只写指令设置使用只写指令设置 TSS 0 开中断开中断 IERIER M INT14 M INT14 EnableEnable TINT0TINT0 inin thethe PIE PIE GroupGroup 1 1 interruptinterrupt 7 7 在在 PIEPIE 第第 1 1 组中断组中断 7 7 使使 能能 TINT0TINT0 PieCtrlRegs PIEIER1 bit INTx7PieCtrlRegs PIEIER1 bit INTx7 1 1 EINT EINT EnableEnable GlobalGlobal interruptinterrupt INTMINTM启用全局中断启用全局中断 INTM ERTM ERTM EnableEnable GlobalGlo

温馨提示

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

评论

0/150

提交评论