DSP应用技术 (14).ppt
上传人:yy****24 上传时间:2024-09-10 格式:PPT 页数:46 大小:2.4MB 金币:16 举报 版权申诉
预览加载中,请您耐心等待几秒...

DSP应用技术 (14).ppt

DSP应用技术(14).ppt

预览

免费试读已结束,剩余 36 页请下载文档后查看

16 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

主机接口定时器串行口中断系统1.概述通用I/O引脚(BIO和XF)定时器时钟发生器主机接口HPI软件可编程的等待状态发生器可编程的分区转换逻辑直接存储器访问DMA控制器串行口---标准同步串口、带缓冲的串口BSP、多通道缓冲串口McBSP和时分复用串口TDM2.片内外设的存储器映射寄存器表1VC5402的部分片内外设映射寄存器7.1主机接口主机接口HPI是C54x芯片具有的一种8位或16位的并行接口部件图2HPI接口框图(1)共用访问模式(SAM)主机和C54x都能访问HPI存储器。如果C54x与主机的周期发生冲突,主机具有访问优先权,C54x需等待一个周期。图3HPI与主机设备之间的连接框图表3HPI用于主机和C54xDSP之间通信的寄存器6.HPI-8与HPI的区别7.2定时器C54xDSP的定时器是一个带有4位预分频器的16位定时电路(减法计数器),可获得较大范围的定时器频率。定时器计数器每来一个时钟周期自动减1,当计数器减至0时产生一个定时中断。通过编程设置特定的状态,可使定时器停止、恢复运行、复位或禁止。VC5402有两个片内定时器。C54x的定时器是一个可软件编程的计数器,主要包括3个存储器映射寄存器:1.定时器设定寄存器TIM---16位减法计数器,映射到数据存储空间的0024H单元。复位或定时器中断(TINT)时,TIM内装入PRD寄存器的值(定时时间),并进行自动减1操作。2.定时器周期寄存器PRD---16位的存储器映像寄存器,位于数据存储空间的0025H单元,用来存放定时时间常数。复位或TINT中断时,将定时时间装入TIM。3.定时器控制寄存器TCR---16位的存储器映像寄存器,位于数据存储空间的0026H单元,用来存储定时器的控制位和状态位,包括定时器分频系数TDDR、预标定计数器PSC、控制位TRB、TSS等。表2TCR各位的意义描述图7.2.1C54xDSP定时器结构图定时器由CPU提供时钟,受定时设定寄存器TIM、周期寄存器PRD和控制寄存器TCR控制。工作原理:当CLKOUT信号时钟沿到来时触发减1计数器PSC,直到PSC为0,然后用TDDR重新装入PSC;同时用分频时钟对TIM作减1计数,直到TIM为0。TIM减为0时,CPU发出定时器中断信号TINT,同时在TOUT管脚输出一个脉冲,脉宽与主时钟一致,可为外围电路提供时钟;同时PSC和TIM重新装入预设值,重复下去至系统或定时器复位。当系统复位或定时器单独复位时,TIM和PRD被置成最大值FFFFH,TDDR清0,TSS清0启动定时器。并将TDDR的内容重新加载到PSC,PRD的值重新加载到TIM。定时器的基准工作脉冲由CLKOUT提供,每来一个脉冲预定标计数器PSC减1,当PSC减至0时,下一个脉冲到来,PSC产生借位。借位信号分别控制定时计数器TIM减1和或门2的输出,重新将TDDR的内容加载预定标计数器PSC,从而完成定时工作的一个基本周期。使用定时器前,首先应设好定时器的工作方式和计数值,并设置好中断,即对其初始化。具体步骤如下:(1)TSS=1,停止定时器;(2)加载PRD值;(3)重新设置TCR的值,包括初始化TDDR、TRB位置1(TIM为0后,加载定时器时间常数)和TSS位清0(启动定时器)。如果要使用定时器中断TINT(ST1的中断模式INTM=1的情况下),要做如下设置:(1)设置中断标志寄存器(IFR)中的TINT=1,清除定时器中断;(2)设置中断屏蔽寄存器(IMR)中的TINT=1,激活定时器中断;(3)设置STI中的INTM=0,激活全部中断。复位时,TIM和PRD被设置为最大值(0FFFFH),TCR中的TDDR置0,定时器可以通过启动定时控制寄存器(TCR)完成以下操作:●设定定时器的工作方式;●设定预定标计数器中的当前数值;●启动或停止定时器;●重新装载定时器;●设置定时器的分频值。【例1】定时器自动装载定时。例如:用TMS320VC5402实现方波发生器。假设时钟频率为4MHz,在XF端输出占空比为50%的方波,方波的周期由片上定时器确定,采用中断方法实现。(2)中断初始化(3)方波发生器程序清单;初始化定时器0;根据定时长度计算公式:Tt=T*(TDDR+1)*(PRD+1);给定TDDR=9,PRD=1599,CLKOUT主频f=4MHz,T=250ns;Tt=250*(9+1)*(1599+1)=4,000,000(ns)=4(ms)STM#1599,TIM0STM#1599,PRD0STM#K_TCR0,TCR0;启动定时器0中断RET;定时器0的中断服务子程序:通过引脚XF给出周期为8ms的