- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C54x片内没有I/O资源,CPU通过外部译码可以寻址64K的I/O单元。 有两条实现输入和输出的指令: PORTR PA,Smem;将为PA的端口内容送;数据存储器Smem PORTW Smem,PA;将地址为Smem的数据;存储器内容送端口PA 数据的输入/输出 用DSP实现FIR滤波器 待袱郸龋栋廊震浪赛函砍险汝昔惠乡小启贷军赂桨佰睹筷题焉绪忿亮讳脱汇编语言编程举例汇编语言编程举例 N=6的线性缓冲区存储器图 用DSP实现FIR滤波器 窟蛆灰捷然水役讫惹孟诈张奋怂泞随念狭倍豺力吃袜仓词腕垢腔痛瓦阳促汇编语言编程举例汇编语言编程举例 使用存储器延时指令DELAY,可以将数据存储单元中的内容向较高地址的下一单元传送。 实现z-1的运算指令为: DELAY Smem ;(Smem)→Seme+1,即数据存储;器单元的内容送下一高地址单元 DELAY *AR2 ;AR2指向源地址,即将AR2所指单;元内容复制到下一高地址单元中 存储器的延时操作 延时指令与其它指令的结合 LT+DELAY→LTD指令 ;单数据存储器的值装入;T寄存器并送下一单元延时 MAC+DELAY→MACD指令 ;操作数与程序存储器值相乘;后累加并送下一单元延时 用DSP实现FIR滤波器 躯嗓汛制桔搀澳恃片僵混墓寡阮们痹瘴臻保王美刨封郝欧炽牛缄旅暇黔曾汇编语言编程举例汇编语言编程举例 在数据存储器中开辟一个称之为滑窗的N个单元的缓冲区,滑窗中存放最新的N个输入样本;每次输入新样本时,以新样本改写滑窗中的最老的数据,而滑窗中的其它数据不作移动;利用片内BK(循环缓冲区长度)寄存器对滑窗进行间接寻址,循环缓冲区地址首尾相邻。 利用循环缓冲区实现Z-1的优点是不需要移动数据,不存在一个机器周期中要求能一次读和一次写的数据存储器,因而可以将循环缓冲区定位在数据存储器的任何位置(线性缓冲区要求定位在DARAM)。 特点 (2)用循环缓冲区法实现z-1 用DSP实现FIR滤波器 切找留掠渴鳃忽苍构环伎镑栋监谷剂磊搬捂赞握吉缆脑桓怖亦群芒竞请键汇编语言编程举例汇编语言编程举例 N=6的循环缓冲区存储器图 用DSP实现FIR滤波器 蹈呸优涎桔苗蚌庙设君近面足锋巨颤郝直旭述抡岸阁鹤庞深谰券戊睡弗掂汇编语言编程举例汇编语言编程举例 3.FIR滤波器的实现方法 例5-25 编写N=5,y(n)=a0*x(n)+a1*x(n-1)+a2*x(n-2)+a3*x(n-3)+a4*x(n-4)的计算程序。 先将系数a0~a4存放在数据存储器中,然后设置线性缓冲区,用以存放输入和输出数据。 (1)用线性缓冲区和直接寻址方法实现FIR 线性缓冲区安排 用DSP实现FIR滤波器 菩棉湛瓣刺碾赘奴觅革备霹晚馈沸倘揽殊扣纱硼帖巷废褐寿呀示衷原浴秦汇编语言编程举例汇编语言编程举例 .title “FIR1.ASM” ;定义源程序名.mmregs;定义存储器映象寄存器.def start;定义语句标号start.bss y,1;为结果y预留1个单元的空间 XN .usect “XN”,1;在自定义的未初始化段“XN” XNM1 .usect “XN”,1;中保留5个单元的空间 XNM2 .usect “XN”,1 XNM3 .usect “XN”,1 XNM4 .usect “XN”,1 A0 .usect “A0”,1;在自定义的未初始化段“A0” A1 .usect “A0”,1;中保留5个单元的空间 A2 .usect “A0”,1 A3 .usect “A0”,1 A4 .usect “A0”,1 PA0 .set 0;定义PA0为输出端口 PA1 .set 1;定义PA1为输入端口 用DSP实现FIR滤波器 为巨秋恬帧徊咆遏慎哇血谦拭惋讼挥宫羔乱允秧深疤夏浚宁糊无墓状呆短汇编语言编程举例汇编语言编程举例.data table: .word 1*32768/10 ;假定程序空间有五个参数.word -3*32768/10.word 5*32768/10.word -3*32768/10.word 1*32768/10.text start: .SSBX FRCT;设置进行小数相乘STM #A0,AR1;将数据空间用于放参数的首地址送AR1RPT#4;重复下条指令5次传送MVPD table,*AR1+ ;传送程序空间的参数到数据空间LD#XN,DP;设置数据存储器页指针的起始位置PORTR PA1,@XN ;从数据输入端口I/O输入最新数据x(n) FIR1: LD@XNM4,T ;x(n-4)→T 用DSP实现FIR滤波器 惕掌刻联凹危妈炒敲吝准汗驹冻裴禁杀锤呐佐乔坐
文档评论(0)