微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 行业新闻动态 > 数字信号微处理器的原理与开发

数字信号微处理器的原理与开发

时间:07-03 来源:与非网 点击:
数字信号处理DSP(Digital Signal Processing)是一门新兴的高科技技术,它广泛地用于雷达、语音、通信、图像处理、生物医学仪器、机器人等方面。以往采用通用的微处理器来完成数字信号处理的大量运算,速度慢,往往难以满足实际需要,而位片式微处理器和快速并联乘法器一起使用,曾经是实现数字信号处理的有效途径,但需器件较多,逻辑设计和程序设计复杂,耗电较大,价格昂贵。数字信号处理器DSP(Digital Signal Processor)的出现很好地解决了上述问题。数字信号处理器的主要特点是把算术逻辑运算单元、并联乘法器、控制器和相当数量的数据储存器集成在一个单片上。它主要是为实现数字信号处理中的算法而进行设计的,但仍具有一般CPU的运算及控制功能。数字信号处理器的出现,为数字信号处理的实际应用开辟了一条简便而高效的途径。我们正在进入一个数字化的时代,DSP正前所未有的速度渗透到我们日常生活的每一个角落。如磁盘驱动器,调制解调器、数字成象系统、语音识别系统、网络计算机系统、电视会议系统、激光打印机、电信交换机、数字无绳电话、数字顶视合、VCD/CD/DVD系统、数码相机和摄像机、3D游戏机、虚拟现实系统、超声波诊断装置、CT、机器人控制器、雷达、全球定位系统……。无数的产品采用了DSP。实际上,知识经济的主要支柱之一是微电子与计算机技术,微电子与计算机技术的主导领域是信号处理器及其应用。可以断言,在21世纪,作为电子、电气和仪器、仪表领域的高级技术人才,不掌握DSP是难以想象的。
世界上有许多重要的半导体生产厂商生产DSP。如美国德州仪器公司(TI,Texas Instruments)、模拟器件公司(ADI,Analog Device Inc.)、Lucent Technologies Microelectronics和西门子公司(Siemens)等等,但TI是全球最大的DSP制造商,在全球DSP市场所占的份额为45%,其产品系列最全,在叙述DSP的发展和应用时,通常都以TI的TMS320系列DSP为典型代表。因此,本书以TI的TMS320C54x系列DSP为主线,介绍数字信号处理器的原理与开发技术。
本书共分十一章,其中第一、二、三章由李刚教授编写;第四、五和十三章由曹玉珍副教授编写;第六、七、八章由林凌副教授编写;第九、十章由丁北生高工编写;第十一、十二章由曲兴华副教授编写;全书由李刚教授统稿审阅。研究生邵蔚、相韶霞、吴开杰、叶文宇和丁明石等同志也为本书的编写做了大量的工作。在此表示衷心地感谢。
由于作者水平所限,书中肯定会有不妥之处,欢迎对本书提出批评和建议。


作者
2004年1月于天津大学


目 录
第一章 概论 1
1.1 DSP的简介 1
1.2 DSP的历史和发展 2
1.3 TI公司的DSP 5

第二章 硬件结构 9
2.1 总线结构 9
2.2 内部存储器的组织 10
2.2.1 片内ROM 11
2.2.2 片内双操作RAM(DARAM) 11
2.2.3 片内单操作RAM(SARAM) 11
2.2.4 片内存储器的安全 11
2.2.5 存储器映射寄存器 11
2.3 中央处理单元(CPU) 11
2.3.1 算术逻辑单元(ALU) 12
2.3.2 累加器 12
2.3.3 定标移位器 12
2.3.4 乘法/加法器单元 12
2.3.5 比较选择存储单元CSSU 13
2.4 数据寻址 13
2.5 程序寻址 13
2.6 流水线操作 13
2.7 片内外设 13
2.7.1 通用I/O引脚 14
2.7.2 软件可编程等待状态发生器 14
2.7.3 可编程存储体转换逻辑 14
2.7.4 主机接口(HPI) 14
2.7.5 硬件定时器 14
2.7.6 时钟发生器 15
2.8 串行口 15
2.8.1 同步串行I/O口 15
2.8.2 缓冲串行口 15
2.8.3 分时复用(TDM)串行口 15
2.9 外部总线接口 15
2.10 IEEE标准1149.1扫描逻辑电路 16

第三章 存储器 17
3.1 存储器空间 17
3.2 程序存储器 23
3.2.1 程序存储器的组织 23
3.2.2 片内ROM的组织 24
3.2.3 程序存储器的地址和片内ROM的内容 24
3.2.4 片内ROM的代码内容和分布 25
3.3 数据存储器 25
3.3.1 数据存储器的配置 26
3.3.2 片内RAM的组织 26
3.3.3 数据存储器映象寄存器 28
3.3.4 CPU存储器映象寄存器 28
3.4 I/O存储器 30
3.5 程序和数据安全保护 30

第四章 中央处理单元 32
4.1 CPU状态和控制寄存器 32
4.1.1 状态寄存器 (ST0 and ST1) 32
4.1.2 处理器模式状态寄存器(PMST) 35
4.2 算术逻辑单元(ALU) 37
4.2.1 ALU的输入 38
4.2.2 溢出处理 39
4.2.3 进位位(C) 39
4.2.4 双16位算术模式 39
4.3 累加器A和B 40
4.3.1 保存累加器的内容 40
4.3.2 累加器的移位和旋转操作 40
4.3.3 累加器存储中的饱和操作 (LP器件) 41
4.3.4 专用指令 41
4.4 滚筒移位器 42
4.5 乘法/加法器单元 43
4.5.1 乘法器的输入 43
4.5.2 乘法/累加(MAC)指令 45
4.5.3 MAC和MAS指令计算乘法时的饱和操作 45
4.6 比较选择和存储单元 (CSSU) 46
4.7 指数编码器 47

第五章 数据寻址方式 49
5.1 立即寻址 49
5.2 绝对寻址 50
5.2.1 数据存储器(dmad)寻址 50
5.2.2 程序存储器(pmad)寻址 50
5.2.3 口地址(PA)寻址 50
5.2.4 长立即数*( lk)寻址 51
5.3 累加器寻址 51
5.4 直接寻址 51
5.4.1 基于DP的直接寻址 52
5.4.2 基于SP的直接寻址 52
5.5 间接寻址 53
5.5.1 单操作数寻址 53
5.5.2 辅助寄存器算术单元ARAU和地址的产生 54
5.5.3 单操作数地址的修改方式 54
5.5.4 双操作数地址的修改方式 59
5.5.5 TMS320C2x/C2xx/C5x的兼容(ARP)模式 61
5.6 存储器映象寄存器寻址 62
5.7 堆栈寻址 63
5.8 数据类型 64

第六章 程序存贮器寻址 66
6.1 程序存贮器地址的产生 66
6.2 程序计数器(PC) 67
6.3 跳转 68
6.3.1 无条件跳转 68
6.3.2 条件转移 68
6.3.3 长跳转(用于TMS320C548) 69
6.4 调用 69
6.4.1 无条件调用 69
6.4.2 条件调用 70
6.4.3 长调用(用于TMS320C548) 70
6.5 返回 71
6.5.1 无条件返回 71
6.5.2 条件返回 72
6.5.3 长返回(用于TMS320C548) 72
6.6 条件操作 73
6.6.1 使用多条件 73
6.6.2 条件执行(XC)指令 74
6.6.3 条件存贮指令 74
6.7 单一指令的重复 75
6.8 块重复指令 76
6.9 复位 77
6.10 中断 78
6.10.1 中断标志寄存器(IFR) 78
6.10.2 中断屏蔽寄存器 79
6.10.3 接受中断请求 80
6.10.4 响应中断 80
6.10.5 执行中断服务程序(ISR) 81
6.10.6 保护中断现场 81
6.10.7 中断延时 81
6.10.8 中断操作的总结 82
6.10.9 重新映象中断矢量地址 82
6.10.10 中断向量表 83
6.11 省电模式 87
6.11.1 闲置模式1 88
6.11.2 闲置模式2 88
6.11.3 闲置模式3 88
6.11.4 保持模式 88
6.11.5 其它省电功能 89

第七章 流水线 90
7.1 流水线概述 90
7.1.1 流水线中的跳转指令 92
7.1.2 流水线中的调用指令 94
7.1.3 流水线中的返回指令 96
7.1.4 流水线中的条件执行指令 101
7.1.5 流水线中的条件调用和条件跳转指令 102
7.2 中断和流水线 105
7.3 双操作存储器和流水线 106
7.3.1 消除取指和操作数读之间的冲突 108
7.3.2 消除操作数写和双操作数读之间的冲突 108
7.3.3 消除操作数写、操作数写和双操作数读之间的冲突 109
7.4 单操作存储器和流水线 110
7.5 流水线延时 111
7.5.1 访问存储器映象寄存器的指令 111
7.5.2 更新ARx,BK或SP时消除冲突的方法 114
7.5.3 DAGEN寄存器访问冲突的规律 117
7.5.4 ARx和BK的延时 117
7.5.5 堆栈指针的延时 122
7.5.6 暂态寄存器的延时 127
7.5.7 访问状态寄存器的延时 128
7.5.8 块重复循环的延时 137
7.5.9 PMST寄存器的延时 140
7.5.10 映象存储器访问累加器的延时 142

第八章 片内外设 145
8.1 外设存储器映象寄存器 145
8.2 通用I/O口 149
8.2.1 跳转控制输入引脚 149
8.2.2 外部标志输出引脚XF 149
8.3 定时器 150
8.3.1 定时寄存器 150
8.3.2 定时器操作 151
8.4 时钟发生器 152
8.4.1 硬件设置的锁相环电路PLL 152
8.4.2 软件可编程PLL(适用于TMS320C545LP/546LP/548) 153
8.5 主机接口 158
8.5.1 主机接口的基本功能 159
8.5.2 HPI的操作 160
8.5.3 主机读写HPI 164
8.5.4 DSPINT和HINT的操作 167
8.5.5 改变主机存储器访问模式(SAM/HOM)和使用省电模式(IDLE2/3)的考虑 167
8.5.6 复位时访问HPI存储器 168

第九章 串行接口 170
9.1 串行接口的简介 170
9.2 串行接口 170
9.2.1 串口寄存器 171
9.2.2 串口操作 172
9.2.3 串行接口的设置 173
9.2.4 猝发模式的发送和接收操作 178
9.2.5 连续模式的传送和接收操作 184
9.2.6 串口例外 185
9.2.7 串口操作举例 188
9.3 缓冲串行接口BSP 189
9.3.1 在标准模式的缓冲串口的操作 191
9.3.3 BSP操作的系统考虑 200
9.3.4 省电模式时的BSP操作 202
9.4 时分多路(TDM)串行接口 203
9.4.1 时分多路串行接口的基本操作 203
9.4.2 TDM串口寄存器 203
9.4.3 TDM串口操作 204
9.4.4 TDM模式的发送和接收操作 207
9.4.5 TDM串口的例外 208
9.4.6 TDM串口操作举例 208

第十章 外部总线操作 212
10.1 外部总线接口 212
10.2 外部总线优先级 213
10.3 外部总线控制 213
10.3.1 等待状态发生器 213
10.3.2 存贮器组切换逻辑 215
10.4 外部总线接口时序 217
10.4.1 存贮器操作时序 218
10.4.2 I/O 操作时序 219
10.4.3 存贮器操作和I/O操作时序 220
10.5 上电操作时序 223
10.5.1 复位 223
10.5.2 省电模式3 224
10.6 保持模式 225
10.6.1 保持状态中的中断 226
10.6.2 保持和复位 226

第十一章 TMS320C54X的硬件设计 229
11.1 复位电路 230
11.2 时钟电路 231
11.3 外部存储器与并行I/O接口电路 232
11.4 串行I/O接口电路 233
11.5 BOOT设计 235
11.5.1 主机接口(HPI)引导模式 236
11.5.2 16位/8位并行存储器引导模式 237
11.5.3 16位/8位并行I/O口引导模式 238
11.5.4 串口引导模式 240
11.5.5 WARM引导模式 241
11.6 主从应用系统的设计 241
11.6.1 主从系统中的串行通讯接口 241
11.6.2 主从系统中的并行通讯接口 242
11.6.3 主从系统中的共享存储器 243

第十二章 开发工具及其应用 247
12.1 引言 247
12.2 共同目标文件格式 COFF 248
12.2.1 COFF文件的类型 248
12.2.2 块(section) 249
12.2.3 汇编器对块的处理 249
12.2.4 连接器对块的处理 251
12.2.5 程序重定位 252
12.2.6 运行重定位 253
12.2.7 装入一个程序 254
12.2.8 COFF文件中的符号 254
12.3 代码生成工具 254
12.3.1 汇编器 255
12.3.2 C编译器 256
12.3.3 档案管理器 257
12.3.4 连接器 258
12.3.5 绝对列表器 260
12.3.6 交叉参照工具 260
12.3.7 Hex转换工具 261
12.3.8 汇编-代数语言翻译工具 261
12.4 代码调试工具 262
12.4.1 C/汇编语言源码调试器 262
12.4.2 初学者工具DSK 264
12.4.3 评价模块EVM 264
12.4.4 软件开发系统SWDS 265
12.4.5 仿真器XDS 266

第十三章 应用举例 269
13.1 加载引导 269
13.1.1 加载引导(BOOTLOAD)方式 269
13.1.2 加载引导(B00TLOAD)的执行 270
13.1.3 加载引导表 272
13.1.4 用户加载引导程序 273
13.1.5 其他加载引导方式举例 276
13.2 多通道缓存串行口(MCBSP)及其应用 280
13.2.1 McBSP的功能特点 280
13.2.2 McBSP寄存器的访问 280
13.2.3 McBSP的SPI接口设计 281
13.2.4 McBSP接口举例 281
13.3 与计算机并口通讯的设计 286
13.3.1 增强型HPI-8与主机并口的连接 287
13.3.2 程序设计 288
13.4 一种数字IIR滤波器设计 291
13.4.1 IIR滤波器设计分析 292
13.4.2 IIR滤波器程序设计 294

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top