- 1、本文档共7页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验四定时器
说明:绿色实验原理,蓝色为对应的实验代码,红色为特别注意
实验四 用定时器实现数字振荡器
实验目的:
学习数字振荡器的DSP实现原理
掌握定时器的工作的原理和定时器的操作
学习C54x定时器使用以及中断服务程序编写
实验要求:
本实验利用定时器产生一个2kHz 的正弦信号。定时器被设置成每25uS 产生一次中
断(等效于采样速率为40K)。利用该中断,在中断服务程序中用叠代算法计算出一个
SIN 值,并利用CCS 的图形显示功能查看波形。
实验器材: PC机,DSP54XX教学实验系统,CCS软件
实验原理:
(1)数字振荡器原理
设一个传递函数为正弦序列sinkωT,其z 变换为
其中,A=2cosωT, B=-1, C=sinωT。设初始条件为0,求出上式的反Z 变换得:
y[k]=Ay[k-1]+By[k-2]+Cx[k-1]
这是一个二阶差分方程,其单位冲击响应即为sinkωT。利用单位冲击函数x[k-1]的性
质,即仅当k=1 时,x[k-1]=1,代入上式得:
k=0 y[0] = Ay[-1] + By[-2] + 0 = 0
k=1 y[1] = Ay[0] + By[-2] + c = c
k=2 y[2] = Ay[1] + By[0] + 0 = Ay[1]
k=3 y[3] = Ay[2] + By[1] .
k=n y[n]= Ay[n-1] + By[n-2]
在k2 以后,y[k]能用y[k-1]和y[k-2]算出,这是一个递归的差分方程。
根据上面的说明,我们可以开始数字振荡器的设计。设该振荡器的频率为2kHz,
采样率为40kHz(通过定时器设置,每隔25us 中断一次,即产生一个y[n]),则递归
的差分方程系数为:
A=2cosωT=2cos (2 x PI x 2000 / 40000)=2 0.95105 x 652
B=-1
C=sinωT=sin (2 x PI x 2000 / 40000)=0为了便于定点DSP 处理,我们将所有的系数除以2,然后用16 位定点格式表示为:
这便是本实验中产生2KHz 正弦信号的三个系数。
在本实验中,主程序在初始化时先计算出y[1]和y[2],然后开放定时器中断。以后每次进入定时器中断服务程序时,利用前面的y[1]和y[2],计算出新的有y[0],通过CCS 提供的图形显示工具,我们将在图形窗口中看到一个正弦信号波形。下面是初始化和中断服务程序代码片段:初始化y[1]和y[2]:
ssbx FRCT ;置FRCT=1,准备进行小数乘法运算
st #INIT_A,AA ;将常数A 装入变量AA
st #INIT_B,BB ;将常数B 装入变量BB
st #INIT_C,CC ;将常数C 装入变量CC
pshd CC ;将变量CC 压入堆栈
popd y2 ;初始化y2=CC
ld AA, T ;装AA 到T 寄存器
mpy y2,a ;y2 乘系数A,结果放入A 寄存器
sth a,y1 ;将A 寄存器的高16 位存入变量Y1中断服务程序片段:
ld BB,T ;将系数B 装入T 寄存器
mpy y2,a ;y2 乘系数B,结果放入A 寄存器
ltd y1 ;将y1 装入T 寄存器,同时复制到y2
mac AA,a ;完成新正弦数据的计算,a 寄存器中为y1*AA+y2*BB
sth a,1,y1 ;将新数据存入y1,因所有系数都除过2,所以在保存结果时转移一位,恢复数据
;正常大小。
sth a,1,y0 ;将新正弦数据存入y0
(2)C54X 的定时器操作
C54X 的片内定时器利用CLKOUT 时钟计数,用户使用三个寄存器(TIM,PRD,TCR)来控制定时器,参见表4-1。 ‘VC5402 的另一个定时器(定时器1)的控制寄存器分别为:0x30(TIM1),0x31(PRD1),0x32(TCR1)。
定时器控制寄存器TCR的各个比特位的具体定义如下:
15 ~ 12 11 10 9 ~ 6 5 4 3 ~ 0 TDR
0026h 保留 Soft Free PSC TRB TSS TDDR TDDR:定时器分频系数,用来对CLKOUT进行分频,以改变定时周期。
最大预定标值为16,最小预定标值为1。
当PSC减到0后,以TDDR中的数加载PSC
TSS:定时器停止状态位,用于停止或启动定时器
复位时,TSS位清0,定时器立即定时。
TSS=0,定时器启动工作;
TSS=1,定时器停止工作。
TRB:定时器重新加载位,用来复位片内定时器。
当TRB置1时,以PRD中的数加载TIM,以及以TDDR中的值加载PS
您可能关注的文档
最近下载
- 耗散粒子动力学.ppt
- 2014电气设备安装工程计价表.pdf VIP
- 耐磨钢球行业市场发展现状及前景趋势与投资分析研究报告(2024-2030).docx
- 【强化】2025年 重庆三峡学院095132资源利用与植物保护《339农业知识.docx VIP
- 素描过程课件教案小学生.pptx
- 《混凝土结工程施工质量验收规范》宣讲内容.doc VIP
- GB 19147-2016_车用柴油 国家标准 原版可打印.pdf
- 2023年监理工程师考试《建设工程目标控制(交通运输工程)》真题及答案.docx
- 付款內容結構混凝土建築規範(ACI318-14)及解說(ACI318R-14)繁體.doc VIP
- 住院时间超过30天患者管理持续改进.doc VIP
文档评论(0)