欢迎来到天天文库
浏览记录
ID:14579126
大小:400.00 KB
页数:21页
时间:2018-07-29
《汇编 定时器 dsp》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、汇编实验报告定时器一.工作原理1.时钟部分1.1C55x时钟发生器的原理和配置方法TMS320VC5509A的时钟发生器从CLKIN引脚输入,在内部修改这个信号(通过一个数字锁相环,PLL),来产生希望频率的输出时钟。时钟发生器将这个输出时钟(即CPU时钟)送给CPU、外设和其他C55的内部模块。也可以用可编程的时钟分频器对CPU时钟分频,在CLKOUT引脚上输出。时钟发生器有一个时钟模式寄存器CLKMD,用来控制和监视时钟发生器。通过修改该寄存器可以触发两种主要的操作模式:1)旁路模式。PLL被旁路掉,输出时钟的频率就等于输入时钟频率除以1、2、4。因为PLL模
2、块关闭,因此该模式可以用来降低功耗。2)锁定模式。输入时钟既可以乘以或除以一个系数来获得期望的输出频率,并且输入时钟相位与输入信号锁定。本实验采用该模式。2.定时器部分2.1通用定时器介绍及其控制方法2.1.1定时器的工作时钟lDSP内部的CPU时钟,本实验采用该方式。l引脚TIN/TOUT利用定时器控制寄存器(TCR)中的字段FUNC可以确定时钟源和TIN/TOUT引脚的功能。2.1.2控制方法介绍预定标计数寄存器(PSC)由输入时钟驱动,PSC在每个输入时钟周期减1;当其减到0时,TIM减1,当TIM减到0,定时器向CPU发送一个中断请求(TINT)或向DMA
3、控制器发送同步事件。定时器发送中断信号或同步事件信号的频率可用下式计算:通过设置定时器控制寄存器(TCR)中的自动重装控制位ARB,可使定时器工作于自动重装模式:当TIM减到0,重新将周期寄存器(TDDR,PRD)的内容复制到计数寄存器(PSC,TIM)中,继续定时。本实验的具体设置见后面寄存器设置部分。2.2定时器的使用l初始化定时器l停止/启动定时器lDSP复位后定时器寄存器的值3.中断部分3.1中断定义由硬件或软件驱动的信号,使DSP将当前的程序挂起,执行另一个称为中断服务子程序(ISR)的任务。3.2TMS320C55x的中断系统C55x支持32个ISR。
4、有些ISR可以由软件或硬件触发,有些只能由软件触发。3.3DSP处理中断的步骤(1)接收中断请求。软件和硬件都要求DSP将当前程序挂起(2)响应中断请求。CPU必须响应中断。如果是可屏蔽中断,响应必须满足某些条件。如果是不可屏蔽中断,则CPU立即响应。(3)准备进入中断服务子程序。CPU要执行的主要任务有:l完成当前指令的执行,并冲掉流水线上还未解码的指令l自动将某些必要的寄存器的值保存到数据堆栈和系统堆栈l从用户实现设置好的向量地址获取中断向量,该中断向量指向中断服务子程序(4)执行中断服务子程序。CPU执行用户编写的ISR。ISR以一条中断返回指令结束,自动恢
5、复步骤(3)中自动保存的寄存器值。3.4中断向量表4.汇编程序4.1链接命令文件TMS320C55x链接器有两个功能强大的指令,即MEMORY和SECTIONS。MEMORY指令允许用户定义一个目标系统的存储器映射,可以命名存储器的各个部分,并且指定开始地址和大小。SECTIONS指令告诉链接器合成输入段为输出段,并且告诉链接器把这些输出段放在存储器的某个位置。4.2中断向量表及中断程序a)程序中应包含中断向量表,VC5509A默认向量表从程序区0地址开始存放,根据IPVD和IPVH的值确定向量表的实际地址。b)向量表中每项为8个字,存放一个跳转指令,跳转指令中的
6、地址为相应服务程序入口地址。第一个向量表的首项为复位向量,即CPU复位操作完成后自动进入执行的程序入口。c)服务程序在服务操作完成后,清除相应中断标志,返回,完成一次中断服务。4.3汇编源程序(见后)二.寄存器配置1.时钟模式寄存器(CLKMD),I/O端口地址0x1c00MOV#0x5467,PORT(#CLKMD);0101010001100111工作在锁定模式下,输出时钟频率如下:PLLMULT/PLLDIV*输入频率=20*20M=400M;具体配置如下黑体部分:位字段说明15Rsvd保留14IAI退出Idle状态后,决定PLL是否重新锁定0PLL将使用与
7、进入Idle状态之前相同的设置进行锁定1PLL将重新锁定过程13IOB处理失锁0时钟发生器不中断PLL,PLL继续输出时钟1时钟发生器切换到旁路模式,重新开始PLL锁相过程12TEST必须保持为011~7PLLMULT锁定模式下的PLL倍频值,0~31(10100)6~5PLLDIV锁定模式下的PLL分频值,0~3(01)4PLLENABLE使能或关闭PLL0关闭PLL,进入旁路模式1使能PLL,进入锁定模式3~2BYPASSDIV旁路下的分频值00一分频01二分频10或11四分频1BREAKLNPLL失锁标志0PLL已经失锁1锁定状态或有对CLKMD寄存器的写操
8、作0LOC
此文档下载收益归作者所有