以定点DSP为例,阐述DSP芯片在实时控制领域中如何高精度地计算时间,为准确测量一些物理量打下坚实的基础,具有较高的参考价值。 关键词:DSP 准确 计时
数字信号处理(DSP)是一门涉及许多学科而又广泛应用于许多领域的新兴学科。20世纪60年代以来,随着计算机技术和信息技术的飞速发展,数字信号处理技术应运而生,并得到迅速的发展。在过去的二十多年里,DSP已经在通信等领域得到极为广泛的应用,特别是在一些测量控制领域?熏应用更是越来越广泛。本文拟采用定点DSP——TMS320F206来测量一些物理量,如测交流信号的频率、相位,但这些物理量的测量都离不开信号时间的测量,所以采用定点DSP准确地测量时间直接关系到这些物理量测量是否精确,而且用定点DSP来准确定时并不是件容易的事。
1 TMS320F206的结构特点
TMS320F206采用先进的哈佛结构,它不同于传统的冯·诺依曼(Von Neuman)结构的并行体系结构,其主要特点是将程序和数据存储在不同的存储空间中,即程序存储器和数据存储器是两个相互独立的存储器,每个存储器独立编址,独立访问。此外还具有如下特点:
(1)32K×16字的FLASH EEPROM 大大降低了开发成本。
(2)采用100线TQFP的封装技术。
(3)64K字的程序存储空间、64K字的数据存储空间和64K字的I/O空间通过三条并行总线(PBA、DRAB、DWAB)独立操作。所以可以同时访问程序空间和数据空间;在一个指定机器周期内,中央算术逻辑单元可执行多达三次的并行存储器操作。
(4)片上4.5K的RAM 使得芯片可以实现快速的DSP计算,并使大部分运算能够在一个指令周期内完成。
(5)具有丰富的指令集和灵活的寻址方式。
(6)有四条流水线操作和九级中断,并且用户可以屏蔽大多数中断,且可通过软件方式灵活控制。
图1 定时器的功能框图
2 定点DSP的定时器
2.1 DSP定时器定时原理
计数器每次减到0时,就在下一CLKOUT1周期产生借位(Borrow),计数器就用各自相应的周期寄存器内容重新加载。当TIM减到0时,或者在定时器控制寄存器(TCR)中重新加载位(TRB)写入1,则PRD(定时器周期寄存器)加载进TIM;同样,若PSC(预分频计数器)减到0,或者在TRB写入1,则TDDR(定时器除数寄存器)的值加载进PSC。当TIM减到0时,它便产生一个借位脉冲,持续时间等于CLKOUT1的周期(tc(c)),该脉冲发送到①外部定时器输出引脚(TOUT);②作为定时器中断信号(TINT)。
定时器的功能框图如图1所示。
2.2 DSP定时器的寄存器
4位的TDDR和4位的PSC包括在TCR中。而TIM和PRD是16位寄存器。可以通过读TCR、TIM、PRD得到该定时器和它的计数器的当前状态。
需要注意的是读TIM可获得定时器的当前值,读TCR可获得PSC的值。由于读TIM和TCR需要两条指令,因而PSC在两次读之间可能有减操作,使读数不精确。如果要求有精确的定时,可以在读此两值之前停止定时器(设置TCR的TSS位为1,就停止定时器;清TSS为0,就重新启动定时器)。 |