北航信号处理的设计与实现2011年作业(20111129)

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

硕士选修课期末考核作业信号处理系统的设计与实现(DSP)部分

2011~2012学年第一学期

作者姓名:

作者学号:

学科专业:精密仪器与机械

联系方式:

培养院系:仪器科学与光电工程学院

2011年12月27日

1、数字信号处理器的特点:①内部采用程序和数据分的开哈佛结构;②具有

专门的硬件乘法器;③采用流水线操作;④提供特殊的DSP指令。

2、滑动滤波程序如下:

;累加和临时寄存器清零

LDP #29h

ZAC

SACL ACC_TEMP_L

SACL ACC_TEMP_H

;取滑动窗口中第一组数据给AR3,初始化循环次数给AR4

LDP #28h

LAR AR3, #DATA_RAM

LAR AR4, #63

ZAC

;累加和程序

ACC:

ZAC

LDP #28h

MAR *,AR3

LACL *+

ADDC *+,16

LDP #29h

ADD ACC_TEMP_L

ADDC ACC_TEMP_H,16

SACL ACC_TEMP_L

SACH ACC_TEMP_H

MAR *, AR4

BANZ ACC

LDP #29h

LACL ACC_TEMP_H

AND #08000h

BCND SINGNED_SHIFT, NEQ

;计算本次平均值程序:

UNSIGNED_SHIFIT

LDP #29h

LACL ACC_TEMP_L

ADDC ACC_TEMP_H,16

RPT #6

SFR

SACL MEAN_TEMP_L

SACH MEAN_TEMP_H

B SHIFT_STACK

;符号扩展程序:

SINGNED_SHIFT

LDP #29h

LACL ACC_TEMP_L

ADD ACC_TEMP_H,16

RPT #6

SFR

OR #0FE00h,16

SACL MEAN_TEMP_L

SACH MEAN_TEMP_H

B SHIFT_STACK

;滑动串口数据移动程序:

SHIFT_STACK

LDP #28h

LAR AR3,#DATA_RAM

LAR AR4,#62

SHIFT_LOOP

MAR *,AR3

ADRK #2

LACL *

SBRK #2

SACL *

ADRK #3

LACL *

SBRK #2

SACL *

SBRK #1

ADRK #2

MAR *,AR4

BANZ SHIFT_LOOP

;新数入队列程序:

LDP #29h

LACL NEW_TEMP_L

ADD NEW_TEMP_H,16

LDP #28h

MAR *,AR3

SACL *+

SACH *

B T3PINT_RET

三、电路设计如下:

图中,最左边的是DSP即TMS320F206,此电路中用到了它的A6、A7、A8作为地址线,接到了两个74138译码器的A、B、C三个口上,地址分配符合题目要求,另外使用了DSP的RW、RD、IS、WE及A15,接到了74138译码器的控制端口,作为控制线,进行读写的控制。

四、具体程序如下:

命令文件:multi.cmd

-o mult1.out

-m multi.map

mult1.obj

memory

{

page0:

rom: orign=0000h, length=0200h page1:

b2: orign=0060h, length=0020h

b0: orign=0200h, length=0100h

b1: orign=0300h, length=0100h }

sections

{

.vectors: > rom page0

.text: > rom page0

.bss: > b2 page1

}

中断矢量头文件:vector.h

.sect “.vectors”

inpt1 b ret

inpt23 b ret

timer b ret

uart b ret

codtx b ret

codrx b ret

.end

初始化头文件:init.h

RE0 .set 0x0000h ;IO端口的地址定义

WR8 .set 0x0200h

ldp #0h ;寄存器的初始化

splk #01h,60h

out 60h,icr

splk #10h,60h

out 60h,tcr

splk #0a09h,60h

out 60h,wsgr

splk #0h,60h

out 60h,sspcr

out 60h,aspcr

1ms延时程序:

delay:

splk #0fa0h,#60h ;将0fa送入地址为60h的存储器单元

lar ar0, #4 ;循环次数为5次

mar *,ar0

loop1: rpt 60h

nop

banz loop1

ret

主程序:multi.asm

.copy “init.h”

.copy “vector.h”

.bss u0,5,1

u1 .equ u0+1

u2 .equ u0+2

.bss A0,5,1

A1 .equ A0+1

A2 .equ A0+2

.bss y0,5,1

y1 .equ y0+1

y2 .equ y0+2

.bss B1,4,1

B2 .equ B1+1

相关文档
最新文档