DSP学习总结

时间:2024.5.2

DSP学习总结

根据一学期以来对DSP这门课程的学习,学到了很多DSP相关的知识。了解了如何根据实际需求选择DSP芯片,也知道了C54x的汇编和链接过程,还掌握了C54x的寻址方式。对于老师的授课方法也有一定的见解。

开始学DSP的时候比较着急,因为也感觉什么都不会,不知道从哪里下手。手上的资料只有书,后来去图书馆看了两本,一本是《DSP原理与开发》,除了有详细的理论说明之外,还会在每个章节之后配上一个例程,缺点就是错误也不少,估计时间太仓促,校对没做好。另一本书是清华大学出版社的《TMS320C28X系列DSP的CPU与外设》,是从TI的英文的技术手册翻译过来的,分上、下两册,可以作为工具书,很实用,缺点是没有例子。书看了一两遍,觉得还是一头雾水。后来有相应的实验开课,慢慢对DSP有点了解了,刚开始都不知道怎么建PROJECT,后来问了同学,然后再看TI的例程,仿照它的程序框架,边看例程,边对着实验指导书,看得主要是如何初始化,需要对每个外设进行哪些寄存器的初始化,寄存器为什么这样设置,程序如何进中断,如何出中断等等。边看书边做实验,效率会高很多,也就能慢慢理解了。

对于刚学DSP的新手我觉得掌握一些初级知识就差不多了。

第一步:硬件入门。1.先学习DSP的硬件基础:了解CPU结构、中断、EMIF、HPI、GPIO、SPI、Timer、供电方式、时钟;2.了解DSP互连的存储器:SDRAM、FLASH、FIFO、双口RAM、SDSRAM等不需深入研究;3.了解CPLD/FPGA的硬件结构、连接原理、VerilogHDL编程语言需深入研究;4.了解DSP Bootloader不需深入研究;5.了解DSP和外部通信的接口:PCI、USB、LAN、UART等,有时间可以看看DM642的VideoPort

第二步:工具入门。1.学习数字电路、模拟电路、电路分析的知识;2.学好一种PCB绘制软件如Protel DXP2006;3.学习信号完整性、学习传输线理论,特性阻抗知识;

关于老师上课的方式我认为:1.太多的理论知识枯燥乏味,因为有实验课,我觉得老师可以根据实验要做的内容在课堂上深入讲解,这样在讲述的同时能让同学们认真听,认真记以便于实验课程的顺利完成,比纯理论效果会好点。2.课上应该多讲解一些例子,由浅而深,我觉得上课关键是调动同学的积极性,能吸引学生的很多是夹杂着现实生活中的事,中国的DSP才刚刚起步,发展正方兴未艾,严格意义上符合DSP两大核心特征的公司,更是非常之少,整个国内网络展示广告领域对于DSP的理解都远远没有达到普及的程度,有很大的发展潜力,让同学们意识到学习DSP是有用的。


第二篇:DSP总结(附程序)


DSP总结(附程序)

1. 数字信号处理器也称DSP芯片,是一种特别适合于进行数字信号处理运算的微处理器,主要应用是实时快速地实现各种数字信号处理算法。

2. DSP芯片的主要特点:

1.哈佛结构;2.多总线结构;3.流水线结构;4. 多处理单元;

5.特殊的DSP指令;6.指令周期短;7.运算精度高; 8.硬件配置强

3. 选择DSP芯片时应考虑的因素:

1) DSP芯片的运算速度:这是一项很重要的性能指标,决定系统实时性问题。运算速度可以用以下几种性能指标来衡量:

①指令周期:执行一条指令所需要的时间,通常以毫秒为单位。

② MAC时间:完成一次乘法和一次加法的时间。

③ FFT执行时间:运行一个N点FFT程序所需的时间。

④ MIPS:每秒执行百万条指令。

⑤ MOPS:每秒执行百万次操作。

⑥ MFLOPS:每秒执行百万次浮点操作。

⑦ BOPS:每秒执行十亿次操作。

2) DSP芯片的硬件资源:如片内ROM和RAM的大小,外部可扩展的程序、数据和空间,总线接口和I/O接口等。

3) DSP芯片的运算精度:参加运算的数据字长越长精度越高。一般DSP字长16位,如TI公司的TMS320系列;有的定点芯片字长为24位,如MOTOLORA公司的MC56001。浮点芯片为32位。

4) DSP芯片的功耗。

4. TMS320C54x是16位定点数字信号处理器。佛结构,程序与数据分开存放,内部具有8条高度并行的总线。片内集成有片内的存储器和片内的外设以及专门用途的硬件逻辑,并配备有功能强大的指令系统,使得该芯片具有很高的处理速度和广泛的应用适应性。再加上采用模块化设计以及先进的集成电路技术,芯片的功耗小,成本低,自推出以来已广泛地应用于诸如移动通信、数字无线电、计算机网络以及各种专门用途的实时嵌入系统和仪器仪表中。

5. TMS320C54x的硬件结构基本有三大块:

1) 包括算术逻辑运算单元、乘法器、累加器、移位寄存器、各种专门用途的寄存器、地址生成器以及内部总线;

2) 16~24位外接存储器接口、片内的程序ROM、片内单访问的数据RAM和双访问的数据RAM;

3) 片内的锁相环(PLL)时钟发生器以及各种控制电路。

6. TMS320C54x的主要特性——CPU部分

1) 先进的多总线结构。

2) 40位算术逻辑单元(ALU)。

3) 40位专用加法器相连。

4) 。

5) 指数编码器可以在单个周期内计算40位累加器中数值的指数。

6) 双地址生成器包括8个辅助寄存器和两个辅助寄存器算术运算单元(ARAU)。

1

7. TMS320C54x的主要特性——存储器系统(内核中的汇编)

具有16位192K字的可寻址空间:

1) 64 K字程序存储器

2) 64 K字数据存储器

3) 64K字I/O空间

4) 在C548、C549、C5402、C5410和C5420中程序存储器可以扩展。

5) 不同型号芯片的片内存储器的结构及容量也不同。

8. TMS320C54x的主要特性——在片外设和专用电路

⑧ 可与主机直接连接的8位并行主机接口(HPI),有些产品还包括扩展的8位并行主机接口(HPI8)和16位并行主机接口(HPI16)

⑨片内的串口根据型号不同可分为全双工的标准串口、支持8位和16位数据传送、时分多路(TDM)串口、缓冲串口(BSP)以及多通道缓冲串口(McBSP)

9. TMS320C54x的主要特性——电源和功耗

①可采用5v(C),3.3v(LC),3v(UC)1.8v或2.5v(VC)的超低电压供电

②可采用功能下降指令IDLE1、IDLE2和IDLE3控制芯片的功耗。

③可控制禁止CLKOUT信号

10. ’C54x片内存储器简介:

(1)片内ROM:

1) 多用作程序存储空间的一部分;

2) 2K容量的ROM含一个TI公司定义的引导装入程序,用于将程序;

3) 快速引导入片内或片外的快速RAM中;

4) 大容量ROM可划分为数据及程序空间;

5) 较大的ROM属于通用的ROM,可以利用TI公司提供的合适工具和方法;

6) 将目标文件格式的代码和数据固化到ROM中。

(2)片内双访问RAM(DARAM):

1) DARAM由几个块组成;

2) 各DARAM块在每个机器周期内可被访问两次;

3) 常被划分为数据空间存储数据值;

4) 也可划分为程序空间存储程序代码;

5) ’C5416片内含64K字程序/数据DARAM,分8块,每块8K字。

11. ’C54x的外部程序存储器可寻址64K字的存储空间。他们的片内ROM、双寻址RAM

(DARAM)以及单寻址RAN(SARAM),都可以通过软件映像到程序空间。档存储单元映像到程序空间时,处理器就能自动地对它们所处的地址范围寻址。

12. TMS320C54x存储器由3个独立的可选择空间组成:程序空间、数据空间和I/O空

间。在任何一个存储空间内,RAM、ROM、EPROM、EEPROM或存储器映像外围设备都可以驻留在片内或者片外。3个空间的总地址范围为192K字。

程序存储器空间存放要执行的指令和执行中所用的系数表,数据存储器存放执行指令所要用的数据。I/O存储空间与存储映像外围设备接口,可以作为附加的数据存储空间使用。

在’C54x中片内存储器的形式有DARAM、SARAM和ROM3种,取决于芯片的型号。RAM总是安排到数据存储空间,但也可以构成存储空间。ROM一般构成程序存储空间,也可以部分安排数据存储空间。

’C54x的3个状态位:MP/ MC位、OVLY位和DROM位。

13. 2KTI公司定义的):

2

1) 自举加载程序从串行口、外部存储器、I/O口,或者主机接口自举加载;

2) 256字μ律压扩表;

3) 256字A律压扩表;

4) 256字正弦函数值查找表;

5) 中断向量表。

14. CPU(中央处理单元)的基本组成:

1) 40位算术逻辑单元(ALU)

2) 2个40位累加器

3) 一个16~30位的桶形移位寄存器

4) 乘法器/加法器单元

5) 比较、选择和存储单元(CSSU)

6) 指数编码器

7) CPU状态和控制寄存器

8) 两个地址发生器

15. 401) DB取得16位输入数据;

2) DB和CB取得32位输入数据;

3) 40位累加器A和B。

桶形移位器的功能框图

16. 程序地址发生器(PAGEN)共有5个寄存器:

1) 程序计数器(PC)

DSP总结附程序

3

2) 重复计数器(RC)

3) 块重复计数器(BRC)

4) 块重复起始地址寄存器(RSA)

5) 块重复结束地址寄存器(REA)

17. 完整的片内外设配置包括通用I/O引脚、定时器、时钟发生器、主机接口(HPI)、

软件可编程等待状态发生器、串行通信接口和可编程存储器切换逻辑等。

18. 锁相环电路(PLL)通过设定芯片的3个时钟模式引脚的电平,可以选择片内振荡时钟与外部参考时钟的倍频。

19. 软件的时钟频率调节方式灵活方便,可以设置以下两种时钟模式之一: ①倍频模式,输入时钟乘以从0.25~15共31档比例系数之一; ②分频模式(DIV),输入时钟CLKIN2分频或4分频。

20. HPI接口:TMS320C54x片内都有一个主机接口(HPI),而HPI是一个8位的并行口,

用来与主设备或主处理器接口。外部主机是HPI的主控者,它可以通过HPI直接访问CPU的存储空间,包括映像存储器。

21. 主机接口(HPI)各功能解释:

1) HPI存储器(DARAM) HPI RAM主要用于TMS320C54x与主机之间传送数据,

也可以用作通用的双寻址数据RAM或程序RAM。

2) HPI地址寄存器(HPIA)它只能由主机对其直接访问,寄存器中存放当前寻址

的存储单元的地址。

3) HPI数据锁存器(HPID)它同HPIA一样只能由主机对其直接访问。

4) HPI控制寄存器(HPIC)TMS320C54x和主机都能对它直接访问,它映像在

TMS320C54x数据存储器的地址为002CH。

5) HPI控制逻辑用于处理HPI与主机之间的接口信号。

22. HPI的2种工作方式:

1) 共用访问模式(SAM):常用

主机和DSP都能访问HPI存储器;异步工作的主机访问可以在HPI内部重新得到同步;主机和DSP的周期发生冲突时(同时读或写),主机具有访问优先权,DSP等待一个周期。

2) 仅主机访问模式(HOM):

只有主机能访问HPI存储器;主机可以以更快速度访问,与’C54x的时钟速率无关,DSP处于复位状态或所有内部外部时钟都停止的IDLE2空闲状态(最小功耗状态)。

23. 中断系统:’C54xDSP及支持软件中断,也支持硬件中断。

1) 由程序指令(INTR、TRAP或RESET)请求的软件中断;

2) 由外部物理设备信号请求的硬件中断。该中断有两种形式:

① 受外部中断口信号触发的外部硬件中断;

② 受片内外设电路信号触发的内部硬件中断。

24. 中断分类:’C54x DSP可支持16个用户可屏蔽中断(SINT15—SINT0)

1) 可屏蔽中断

对’C5402只使用14个可屏蔽中断,这些硬件名为:

① INT3——INT0;

② RINT0、XINT0、RINT1和XINT1(串行口中断)

③ TINT、TINT1(定时器中断)

④ HPINT(主机接口)DMAC0——DMAC5.

4

2) 非屏蔽中断

25. 处理中断步骤:

1) 接收中断请求

2) 应答中断

3) 执行中断服务程序(ISR)

26. 重新映象中断向量地址:

C54x的中断向量表是可重新定位的,即在DSP复位时,IPTR=1FFH,中断向量新被映象到程序存储器的第511页,中断向量表的起始地址固定为0FF80H,复位后,此表的起始地址可由用户指定。

中断向量可重新被映象到程序存储器的任何一个128字页开始的地方(除保留区域外)。中断向量地址由PMST中的中断向量指针IPTR(9位)和中断向量号(0~

31)左移两位后组成。

27. 第4章与第6、7章结合看,编程题??

28. (实现求和的)例6-2 计算y= 5i=1xi。程序如下:()

.title “example2.asm”

.mmregs

STACK .usect“STK”,10H ;堆栈的设置

.bss x , 5 ;为变量分配6个字的存储空间 .bss y , 1

.def start

.data

table: .word 10,20,30,40,50 ;x1,x2,x3,x4,x5

.text

start: STK #0 , SWWSR ;插入0个等待状态

LD #1 , DP

STM # STACK+10H,SP ;设置堆栈指针

STM # x,AR1 ;AR1指向x

RPT #4

MVPD table,*AR1+

LD # 0,A

CALL SUM

end: B end

SUM: STM # x,AR3

STM # x,AR4

Loop: ADD *AR3+,A ;程序存储器

BANZ loop,*AR4-

STL A,@ y

RET

.end

5

例6.2计算?= ??=???(实现求和)

.title “example2.asm” 例6.4 计算z=x+y-w.

.title“example4.asm” 例 6.6 计算y=x1×a1+x2×a2.

.title“example6.asm” .mmregs

STACK .usect “STK”,10H

.bss x , 5 .bss y , 1 .def start .data

table:.word 10,20,30,40,50

.text

start:STK #0 , SWWSR

LD #1 , DP

STM # STACK+10H,SP STM # x,AR1 RPT #4

MVPD table,*AR1+ LD # 0,A CALL SUM

end: B end

SUM: STM # x,AR3

STM # x,AR4

Loop: ADD *AR3+,A

BANZ loop,*AR4- STL A,@ y RET .end

例 6.3 堆栈的使用

.title “example3.asm” .mmregs

size .set 100

stack .usect“STK”,size

.def start .text

start: STM # 0 SWWSR

STM stack + size,sp LD # 1234H,A STM #100,AR1 MVMM SP,AR7

Loop: STL A,*AR7—

BANZ loop,*AR1— .end

.mmregs

STACK .usect“STK”,10H

.bss x,1 .bss y,1 .bss w,1 .bss z,1 .def start .data

table: .word 30,20,25

.text

Start: STM # 0, SWWSR

STM STACK + 10H,SP STM # x,AR1 RPT # 2

MVPD table,*AR1+ CALL SUMB

end : B end SUMB: LD @ x,A

ADD @ y,A SUB @ w,A STL A,@ z RET .end

例6.5 计算y=mx+b.

.title“example5.asm” .mmregs

STACK .usect“STACK”,10H

.bss x ,1 .bss m ,1 .bss b ,1 .bss y ,1 .def start .data

table:.word 3,15,20

.text

Start: STM # 0, SWWSR

STM STACK + 10H,SP STM # x,AR1 RPT # 2

MVPD table,*AR1+ CALL SU

end : B end SU : LD @ x,T

MPY @ m,A ADD @ b,A STL A,@ y RET .end

.mmregs

STACK .usect“STACK”,10H

.bss x1 ,1 .bss x2 ,1 .bss a1 ,1 .bss a2 ,1 .bss y,1 .def start .data

table:.word 3,4,5,6

.text

Start: STM # 0, SWWSR

STM STACK + 10H,S STM # x1,AR1 RPT # 3

MVPD table,*AR1+ CALL SUM

end : B end SUM: LD @ x1,T

MPY @ a1,B LD @ x2,T MAC @ a2,B STL B,@ y RET .end

例6.7 y=a1*x1+a2*x2+a3*x3+a4*x4.

.title“example6.asm”.mmregs

STACK .usect“STACK”,10H

.bss a ,4 .bss x ,4 .bss y ,1 .def start .data

table:.word 1,2,3,4

.word 8,6,4,2 .text

Start: STM # 0, SWWSR

STM STACK + 10H,SP STM # a,AR1 RPT # 7

MVPD table,*AR1+ CALL SUM

end : B end SUM: STM #a,AR3

STM #x,AR4 RPTZ A,# 3

MAC *AR3+,*AR4+,A STL A,@y RET .end

6

例6.2计算?= ??=???(实现求和)

.title “example2.asm” 例6.4 计算z=x+y-w.

.title“example4.asm” 例 6.6 计算y=x1×a1+x2×a2.

.title“example6.asm” .mmregs

STACK .usect “STK”,10H

.bss x , 5 .bss y , 1 .def start .data

table:.word 10,20,30,40,50

.text

start:STK #0 , SWWSR

LD #1 , DP

STM # STACK+10H,SP STM # x,AR1 RPT #4

MVPD table,*AR1+ LD # 0,A CALL SUM

end: B end

SUM: STM # x,AR3

STM # x,AR4

Loop: ADD *AR3+,A

BANZ loop,*AR4- STL A,@ y RET .end

例 6.3 堆栈的使用

.title “example3.asm” .mmregs

size .set 100

stack .usect“STK”,size

.def start .text

start: STM # 0 SWWSR

STM stack + size,sp LD # 1234H,A STM #100,AR1 MVMM SP,AR7

Loop: STL A,*AR7—

BANZ loop,*AR1— .end

.mmregs

STACK .usect“STK”,10H

.bss x,1 .bss y,1 .bss w,1 .bss z,1 .def start .data

table: .word 30,20,25

.text

Start: STM # 0, SWWSR

STM STACK + 10H,SP STM # x,AR1 RPT # 2

MVPD table,*AR1+ CALL SUMB

end : B end SUMB: LD @ x,A

ADD @ y,A SUB @ w,A STL A,@ z RET .end

例6.5 计算y=mx+b.

.title“example5.asm” .mmregs

STACK .usect“STACK”,10H

.bss x ,1 .bss m ,1 .bss b ,1 .bss y ,1 .def start .data

table:.word 3,15,20

.text

Start: STM # 0, SWWSR

STM STACK + 10H,SP STM # x,AR1 RPT # 2

MVPD table,*AR1+ CALL SU

end : B end SU : LD @ x,T

MPY @ m,A ADD @ b,A STL A,@ y RET .end

.mmregs

STACK .usect“STACK”,10H

.bss x1 ,1 .bss x2 ,1 .bss a1 ,1 .bss a2 ,1 .bss y,1 .def start .data

table:.word 3,4,5,6

.text

Start: STM # 0, SWWSR

STM STACK + 10H,S STM # x1,AR1 RPT # 3

MVPD table,*AR1+ CALL SUM

end : B end SUM: LD @ x1,T

MPY @ a1,B LD @ x2,T MAC @ a2,B STL B,@ y RET .end

例6.7 y=a1*x1+a2*x2+a3*x3+a4*x4.

.title“example6.asm”.mmregs

STACK .usect“STACK”,10H

.bss a ,4 .bss x ,4 .bss y ,1 .def start .data

table:.word 1,2,3,4

.word 8,6,4,2 .text

Start: STM # 0, SWWSR

STM STACK + 10H,SP STM # a,AR1 RPT # 7

MVPD table,*AR1+ CALL SUM

end : B end SUM: STM #a,AR3

STM #x,AR4 RPTZ A,# 3

MAC *AR3+,*AR4+,A STL A,@y RET .end

7

更多相关推荐:
学科带头人学习总结

**市第二批中小学学科带头人培训——心得体会11月x日至12月x日,在市教育局领导的亲切关心下,市教科所师训处的领导组织全市的中小学学科带头人一行60余人赴京培训学习。这次培训既有理论提升又有实践听课,既有专…

专业学习总结

转眼间大学生活已接近尾声,这些年中经历的每一天,都已在我心中留下了永久的印记,因为这些印记见证我这样一个新生的成长。我是机械工程系材料成型及控制工程专业的一名应届毕业生。扎实的专业知识是成功的根本,我深知这一点…

《学科教育心理学》课程学习总结

学科教育心理学是主要研究中小学各学科的学习与教学等心理现象及其规律,是教师专业知识结构的重要内容,是形成学科教学知识的重要基础。通过这一段时间的网络学习,让我进一步发现学科教育心理学对于教师专业发展具有重要的促…

学习学科教育心理学总结体会

学习学科教育心理学学习感受继教号05007753姓名李飞学科教育心理学是一门把学习心理和教学心理两个分支学科结合起来,阐明学生的知识、技能和品德的习得过程,以及教师如何为学生有效学习创设适当条件,促进学生的知识…

综合学科个人学习总结(刘云)

综合学科培训个人学习总结20xx20xx这段时间里我们在紧张而忙碌之际结合本校的实际情况在十二五期间我们组织学习了综合学科培训相关知识经过这些时间的学习从不同的方面都得到了一定的收获和提高现将这段时间里学习该本...

中学生学科学习总结

学习总结王孝璐通过中学生学科见习研习这门课程的学习,我获益匪浅。这门课程不仅让我明白了身为一名教师应该具备的素质,还让我了解了如何充实自己、掌握恰当的方法进行教学。身为一名师范类专业的学生,我们需要对自己未来从…

《学科教育心理学》课程学习总结

姓名:继教号:单位:《学科教育心理学》课程包括两部分内容,第一部分学习心理,第二部分是学科的教与学。一、学科教育心理学是研究学生在学习掌握各门学科过程中的心理特点和规律以及学科内容、教学方法与学生心理发展相互关…

学生学科学习情况自我总结

学生学科学习情况自我总结学科姓名班级同学们一个学期结束了为了你能继续进步不断提高学习成绩希望你对自己的学习情况进行总结以便学校和老师能继续帮助你使你不断进步继注如果页面不够可自己加附页

学科素养学习心得

学科素养学习心得昆仑镇中心小学韩玉霞通过学科素养的学习使我深刻认识到学习的重要性自己的教育观念和教学理论都达到了充实和提高对课堂教学有了全新的感悟通过学习我感觉到高素质的教师首先应具备良好的职业道德和职业修养在...

学科教育心理学答案之四

学科教育心理学答案之四1态度的核心成分是查看答案A认知成分B情感成分C行为成分D能力成分查看答案B2通过学习而形成的影响个人行为选择的内部准备状态或反应的倾向性称为查看答案A品德B意向C态度D技能查看答案C3个...

学科教育心理学 总结

学科教育心理学课程学习总结最近通过十二五继续教育公共必修课的学习我知道了学科教育心理学课程包括两部分内容第一部分学习心理第二部分是学科的教与学在学习本课程的过程中我结合自身的工作实践总结如下如果在英语教学中了解...

《学科教育心理学》学习体会

学科教育心理学学习体会我学习了学科教育心理学这本书后深有感触学科教育心理学课程包括两部分内容第一部分学习心理第二部分是学科的教与学这与我们的教育教学息息相关学习以后使我的业务水平有了进一步的提高对学生的心理以及...

学科学习总结(35篇)