ImageVerifierCode 换一换
格式:DOCX , 页数:16 ,大小:100.74KB ,
资源ID:27691747      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/27691747.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(定点DSP来准确定时.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

定点DSP来准确定时.docx

1、定点DSP来准确定时目 录 摘要2引言2DSP技术概况 2一TMS320F206的结构特点3二设计原理31通用定时器介绍及其控制方法32中断响应过程33中断类别44中断的优先级45 TMS320F206的中断 46设计程序流程图5三. 定点的定时器61 定时器定时原理62 定时器的寄存器73 定点准确计算时间74 程序实现8定点DSP的准确计时摘要:以定点为例,阐述芯片在实时控制领域中如何高精度地计算时间,为准确测量一些物理量打下坚实的基础,具有较高的参考价值。 关键词: 准确 计时引言:数字信号处理()是一门涉及许多学科而又广泛应用于许多领域的新兴学科。世纪年代以来,随着计算机技术和信息技术

2、的飞速发展,数字信号处理技术应运而生,并得到迅速的发展。在过去的二十多年里,已经在通信等领域得到极为广泛的应用,特别是在一些测量控制领域?熏应用更是越来越广泛。本文拟采用定点来测量一些物理量,如测交流信号的频率、相位,但这些物理量的测量都离不开信号时间的测量,所以采用定点准确地测量时间直接关系到这些物理量测量是否精确,而且用定点来准确定时并不是件容易的事。DSP技术概况:数字信号处理(DigitalSignalProcessing,简称DSP)是一门涉及许多学科而又广泛应用于许多领域的新兴学科。20世纪60年代以来,随着计算机和信息技术的飞速发展,数字信号处理技术应运而生并得到迅速的发展。在过

3、去的二十多年时间里,数字信号处理已经在通信等领域得到极为广泛 DSP技术图解的应用。数字信号处理是利用计算机或专用处理设备,以数字形式对信号进行采集、变换、滤波、估值、增强、压缩、识别等处理,以得到符合人们需要的信号形式。数字信号处理是围绕着数字信号处理的理论、实现和应用等几个方面发展起来的。数字信号处理在理论上的发展推动了数字信号处理应用的发展。反过来,数字信号处理的应用又促进了数字信号处理理论的提高。而数字信号处理的实现则是理论和应用之间的桥梁。数字信号处理是以众多学科为理论基础的,它所涉及的范围极其广泛。例如,在数学领域,微积分、概率统计、随机过程、数值分析等都是数字信号处理的基本工具,

4、与网络理论、信号与系统、控制论、通信理论、故障诊断等也密切相关。近来新兴的一些学科,如人工智能、模式识别、神经网络等,都与数字信号处理密不可分。可以说,数字信号处理是把许多经典的理论体系作为自己的理论基础,同时又使自己成为一系列新兴学科的理论基础。世界上第一个单片DSP芯片应当是1978年AMI公司发布的S2811,1979年美国Intel公司发布的商用可编程器件2920是DSP芯片的一个主要里程碑。这两种芯片内部都没有现代DSP芯片所必须有的单周期乘法器。1980年,日本NEC公司推出的PD7720是第一个具有乘法器的商用DSP芯片。在这之后,最成功的DSP芯片当数美国德州仪器公司(Texa

5、sInstruments,简称TI)的一系列产品。TI公司在1982年成功推出其第一代DSP芯片TMS32010及其系列产品TMS32011、TMS320C10/C14/C15/C16/C17等,之后相继推出了第二代DSP芯片TMS32020、TMS320C25/C26/C28,第三代DSP芯片TMS320C30/C31/C32,第四代DSP芯片TMS320C40/C44,第五代DSP芯片TMS320C5X/C54X,第二代DSP芯片的改进型TMS320C2XX,集多片DSP芯片于一体的高性能DSP芯片TMS320C8X以及目前速度最快的第六代DSP芯片TMS320C62X/C67X等。TI将

6、常用的DSP芯片归纳为三大系列,即:TMS320C2000系列(包括TMS320C2X/C2XX)、TMS320C5000系列(包括TMS320C5X/C54X/C55X)、TMS320C6000系列(TMS320C62X/C67X)。如今,TI公司的一系列DSP产品已经成为当今世界上最有影响的DSP芯片。TI公司也成为世界上最大的DSP芯片供应商,其DSP市场份额占全世界份额近50。一 的结构特点采用先进的哈佛结构,它不同于传统的冯诺依曼( )结构的并行体系结构,其主要特点是将程序和数据存储在不同的存储空间中,即程序存储器和数据存储器是两个相互独立的存储器,每个存储器独立编址,独立访问。此外

7、还具有如下特点:()字的 大大降低了开发成本。()采用线的封装技术。()字的程序存储空间、字的数据存储空间和字的空间通过三条并行总线(、)独立操作。所以可以同时访问程序空间和数据空间;在一个指定机器周期内,中央算术逻辑单元可执行多达三次的并行存储器操作。()片上的 使得芯片可以实现快速的计算,并使大部分运算能够在一个指令周期内完成。()具有丰富的指令集和灵活的寻址方式。()有四条流水线操作和九级中断,并且用户可以屏蔽大多数中断,且可通过软件方式灵活控制。二设计原理1通用定时器介绍及其控制方法TMS320F206内部有三个32 位通用定时器(TIMER0/1/2),定时器1和2 被保留给实时操作

8、系统(DSPBIOS)用,只有定时器0 可以提供给用户使用。 2中断响应过程 (1)接受中断请求。必须由软件中断(从程序代码)或硬件中断(从一个引脚或一个基于芯片的设备)提出请求去暂停当前主程序的执行。 (2)响应中断。必须能够响应中断请求。如果中断是可屏蔽的,则必须满足一定的条件,按照一定的顺序去执行。而对于非可屏蔽中断和软件中断,会立即作出响应。 (3)准备执行中断服务程序并保存寄存器的值。 (4)执行中断服务子程序。调用相应得中断服务程序ISR,进入预先规定的向量地址,并且执行已写好的ISR。 3中断类别可屏蔽中断:这些中断可以用软件加以屏蔽或解除屏蔽。不可屏蔽中断:这些中断不能够被屏蔽

9、,将立即响应该类中断并转入相应的子程序去执行。所有软件调用的中断都属于该类中断。 4中断的优先级 如果多个中断被同时激发,将按照他们的中断优先级来提供服务。中断优先级是芯片内部已定义好的,不可修改。 5 TMS320F206的中断在TMS320F206的程序空间中,中断向量占据了003fh的位置,并且中断的优先级也是固定的,所以在编程开发时先要编好一个中断向量表,对于没有用到的中断也应该编上,并让它返回到一个空位置,以免发生意外情况。TMS320F206的中断有许多特殊的地方,如HOLD和INT1共用一个中断向量,INT2与INT3也共用一个中断向量。如果在实际应用中用到的中断比较多时,那么控

10、制中断就是一件比较难的事,此时就要对它的三个中断寄存器灵活运用。下面就来介绍这三个寄存器。(1)16位的中断标志寄存器(IFR),地址为0006h,各位情况如图1所示。当有一个可屏蔽中断到达CPU时,IFR的相应标志位就置1,这表明相应中断正在被挂起或正在等待响应。将1写入到相应的标志位,可清除相应的位并清除其中断请求。在图1中,0表示一般情况下读的数为0,R表示读,W1C表示写1时把这位清为0。-0表示复位后这位为0。(2)16位的中断屏蔽寄存器(IMR),地址为0004h,各位情况如图2所示。它用来屏蔽外部和内部硬件中断(NMI和RS除外)。当要屏蔽某硬件中断时,就把相应位清0;当要开放某

11、硬件中断时,就把相应位置1,并且它的每一位不受硬件复位的影响。在图2中,0表示一般情况下读的数为0,R表示读,W表示写,-0表示复位后这位为0。2位是定时器中断,该位为1表示开放定时器中断。 (3)16位的中断控制寄存器(ICR),地址为0FFECh,各位情况如图3所示。主要用来控制HOLD/INT1和INT2/INT3。在图3中,0位为0时表示屏蔽中断2(INT2),0位为1时表示开放中断2;1位为0时表示屏蔽中断3(INT3),1位为1时表示开放中断3;2、3位分别为INT2、INT3的标志位,当其为1时表示对应的中断有中断请求;4位为1时表示单边沿触发模式,INT1引脚下降沿到来时,向C

12、PU发出中断请求,用于INT1中断。4位为0时表示双边沿触发模式,这种模式适用于HOLD操6设计程序流程图(如下图4所示): 图4 程序流程 三. 定点的定时器1. 定时器定时原理(1)计数器每次减到时,就在下一周期产生借位(),计数器就用各自相应的周期寄存器内容重新加载。当减到时,或者在定时器控制寄存器()中重新加载位()写入,则(定时器周期寄存器)加载进;同样,若(预分频计数器)减到,或者在写入,则(定时器除数寄存器)的值加载进。当减到时,它便产生一个借位脉冲,持续时间等于的周期(),该脉冲发送到外部定时器输出引脚();作为定时器中断信号()。定时器的功能框图如图5所示。 (2)发光二极管

13、显示阵列的显示是由扩展端口控制,扩展在IO 接口的两个寄存器CTRLA 提供具体控制。原理图如下:(3)显示原理:DSP 须将显示的图形按列的顺序存储起来(88 点阵,8 个字节,高位在下方,低位在上方),然后定时刷新控制显示。具体方法是,将以下控制字按先后顺序、每两个为一组发送到端口CTRLA,发送完毕后,隔不太长的时间(以人眼观察不闪烁的时间间隔)再发送一遍。由于位值为“0”时点亮,所以需要将显示的数据取反。0x01,第8 列数据取反,0x02,第7 列数据取反,0x04,第6 列数据取反,0x08,第5 列数据取反,0x10,第4 列数据取反,0x20,第3 列数据取反,0x40,第2

14、列数据取反,0x80,第1 列数据取反2 定时器的寄存器4位的TDDR和4位的PSC包括在TCR中。而TIM和PPD是16位寄存器。可以通过读TCR、TIM、PRD得到该定时器和它的计数器的当前状态。需要注意的是读TIM可获得定时器的当前值,读TCR可获得PSC的值。由于读TIM和TCR需要两条指令,因而PSC在两次读之间可能有减操作,使读数不精确。如果要求有精确的定时,可以在读此两值之前停止定时器(设置TCR的TSS位为1,就停止定时器;清TSS为0,就重新启动定时器)。定时器控制寄存器的格式如下: 3 定点DSP准确计算时间定时器时间的准确计算对高精度地测量一些物理量是非常重要的。当需要定

15、时器计算的时间比较长时,也就是即使向PDR中置FFFFhh时,定时器计数还不够,这时就需要利用定时器自身的中断,即TOUT每产生一个脉冲就进入定时器中断服务子程序,利用进入的次数来达到计时的目的。如果假设定时器的周期为0.001(即PRD1999,TDDR9),在定时器中断服务子程序中设一个计数器,每进入一次加一个,再把定时器周期乘以计数器计数就得出定时器的时间。但这种计算是粗糙的,不精确,达不到高精度要求。为此需要补充两点:(1)当停止定时器时,定时器计数寄存器还有剩余值,必须计算这部分的时间。方法是先停止定时器,再读TIM的值,然后读TCR的值,通过运算获取PSC的值。再按公式()计算定时

16、器在最后一次所开销的时间。定时器最后一次开销时间为:(TDDR+1)(PRD-TIM)+TDDR-PSC/20M ()式中,为本文采用的晶振频率。(2)进入定时器中断服务子程序,程序执行本身要花费一定的时间;而进入中断服务子程序时,定时器就自动停止,那么所计算的时间自然就少了。TMS320F206每个指令周期的执行时间是50,通过计算中断服务子程序的指令周期数和进入中断的次数可以计算出这部分的时间。把这三部分时间加起来就得到准确的定时器时间,有了准确的时间,物理量的测量自然就准,精度就高。结果表明,通过这样准确计时,使得频率和相位的测量精度在万分之二以内。如果测量的是一个标准的50频率,那么测

17、量结果的范围在5050001。 4 DSP程序实现 .title ex7 .global _c_int00 .mmregs PERSEC .set 60hSEC .set 61hMIN .set 62hSTATUS .set 63hTMP0 .set 64hTMP1 .set 65hTMP .set 66hD_LED .set 0b000h;D_LED0 .set 01h;D_LED1 .set 02h;D_LED2 .set 03h;D_LED3 .set 04h;D_LED4 .set 05h;D_LED5 .set 06hD_LED0 .set 06hD_LED1 .set 05hD_L

18、ED2 .set 04hD_LED3 .set 03hD_LED4 .set 02hD_LED5 .set 01hLED_DISP .macro hexdata,portaddr LD hexdata,B ST #0Ah,TMP0 RPT #15 SUBC TMP0,B STH B,TMP0 ;存放BCD码个位 STL B,TMP1 ;存放BCD码十位 ST #2000h,AR0 LD TMP0,B ADD AR0,B STL B,AR0 NOP NOP LD *AR0,A OR #portaddr+1,A ;计算位码 PORTW AL,D_LED rpt #30000 nop nop ST

19、#2000h,AR0 LD TMP1,B ADD AR0,B STL B,AR0 NOP NOP LD *AR0,A OR #portaddr,A ;计算位码 PORTW AL,D_LED rpt #30000 nop nop .endm ;段码 .data .word 3F00h,0600h,5B00h,4f00h,6600h,6d00h,7d00h,0700h,7f00h,6f00h .sect .vectorsrst: B _c_int00 NOP NOP .space 15*4*16int0: B keydown NOP NOP .space 2*4*16tint: B timeout

20、 NOP NOP .space 12*4*16 .text_c_int00 LD #0h,DP STM #3000h,SP SSBX INTM RSBX SXM STM #07FFFh,SWWSR stm #0001h,2Bh ST #0h,CLKMDtst: BITF CLKMD,#1h BC tst,TC ST #1087h,CLKMD BITF CLKMD,#1h RPT #0FFh NOP ORM #0010h,TCR ST #19999,PRD ORM #0009h,TCR ORM #0020h,TCR ST #0FFFFh,IFR ORM #0008h,IMR RSBX INTM

21、ST #0,PERSEC ST #0,SEC ST #0,MIN ST #1,STATUS LED_DISP PERSEC,D_LED1 LED_DISP MIN,D_LED5 LED_DISP SEC,D_LED3 ANDM #0FFEFh,TCR susp nop nop nop B susp timeout ADDM #1,PERSEC LD #100,A SUB PERSEC,A BC secout,ALEQ B exitsecout ST #0,PERSEC ADDM #1,SEC LD #60,A SUB SEC,A BC minout,ALEQ B exitminout ST #

22、0,SEC ADDM #1,MIN LD #100,A SUB MIN,A BC overflow,ALEQ B exitoverflow ST #0,MIN ORM #0030h,TCR ;Stop and Reload Timer ST #0,STATUS ;Set stopfalgexit LED_DISP MIN,D_LED5 LED_DISP SEC,D_LED3 LED_DISP PERSEC,D_LED1 RETE keydown ST 0ffffh,IFR ORM #0030h,TCR BITF STATUS,#1h BC restart,NTC RETErestart ST #0,PERSEC ST #0,SEC ST #0,MIN LED_DISP PERSEC,D_LED1 ;刷新1/100秒表 LED_DISP SEC,D_LED3 ;刷新秒表 LED_DISP MIN,D_LED5 ;刷新分钟 ANDM #0FFEFh,TCR RETE .end

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1