DSP学习笔记 |
您所在的位置:网站首页 › 计数器程序框图 › DSP学习笔记 |
更多请参考官方文档: 5509 DSP Timers Reference Guide (Rev. C).pdf 一.时钟发生器概述: 通过锁相环 分频/倍频 输入频率 供CPU和外设使用. 时钟模式寄存器(CLKMD) : 时钟模式寄存器CLKMD 位字段说明15Rsvd保留14IAI退出Idle状态后, 决定PLL是否重新锁定. 0: PLL将使用与进入Idle状态之前相同的设置进行锁定 1: PLL将重新锁定过程 13IOB处理失锁. 0: 时钟发生器不中断PLL, PLL继续输出时钟 1: 时钟发生器切换到旁路模式, 重新开始PLL锁相过程 12TEST必须保持为011-7PLL MULT锁定模式下的PLL倍频值: 0-316-5PLL DIV锁定模式下的PLL分频值: 0-34PLL ENABLEPLL使能 0: 关闭PLL, 进入旁路模式 1: 打开PLL, 进入锁定模式 3-2BYPASS DIV旁路下的分频值. 00: 1分频 01: 2分频 10,11: 4分频1BTRAKLNPLL失锁标志. 0: 已经失锁 1: 锁定状态, 或处于读写操作 0LOCK锁定模式标志. 0: 时钟发生器处于旁路模式 1: 时钟发生器处于锁定模式 时钟发生器有三种工作模式: 旁路模式 锁定模式 Idle模式: 1.旁路模式: 见寄存器位 4和位3-2 2. 锁定模式: 寄存器位4, 此时输出频率公式: 输出频率=( PLL MULT/(PLL DIV+1) ) * 输入频率 3. Idle模式; 用于降低功耗, 需要配置Idle配置寄存器(ICR) 示例程序: #include void CLK_init() //时钟初始化 { ioport unsigned int *clkmd; clkmd=(unsigned int *)0x1c00; *clkmd=0x2613; //设置CPU时钟为144MHz } PLL_Config myConfig ={ //PLL配置 0, /*IAI*/ 1, /*IOB*/ 24, /*PLL MULT*/ 1 /*BYPASS DIV*/ }; main() { CLK_init(); PLL_config(&myConfig); //设置系统运行速度为144MHz } 二.通用定时器概述: DSP5509A具有两个相同的20位软件可编程定时器 定时器有两个计数寄存器: 预值计数器(Prescaler Counter)和主计数器(TIM) 定时器有两个计数寄存器(PSC、TIM)和两个周期寄存器(TDDR、PRD) 定时器结构框图: 工作原理: 在定时器初始化或定时器重新装入过程,将周期寄存器的内容复制到计数寄存器中。 预定标寄存器(PSC)由输入时钟驱动,PSC在每个输入时钟周期减1;当期减到0时,TIM减1;当TIM减到0,定时器向CPU发送一个中断请求(TINT)或向DMA控制器发送同步事件。 寄存器说明: 定时器使用步骤: 初始化定时器,停止计时(TSS=1),使能定时器自动装载(TLB=1)将预定标计数器寄存器周期数写入TDDR将主计数器寄存器周期数装入(PRD)关闭定时器自动装载(TLB=0),启动计时(Tss=0)
//发现一个博客大佬: https://blog.csdn.net/app_12062011/article/details/7867716 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |