本书以ADSP2106x、ADSP2116x系列高性能浮点DSP为主,介绍了以数字信号处理器(DSP)为核心的实时数字信号处理的系统设计,详细论述了DSP与多种外围接口电路的设计方法,包括各种存储器、模数和数模转换电路、异步串行接口、地址/数据复用总线、扩展I/O、CPCI总线,以及相关的软件编程和调试方法,还介绍了高速数字电路、数模混合电路的印制板设计方法。本书面向通信、雷达和电子工程类领域的科研和工程设计人员以及相关专业的研究生和高年级本科生。 \r\n\r\n \r\n\r\n\r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n\r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n\r\n\r\n\r\n
\r\n
第1章DSP的结构和功能 \r\n\r\n 1.1 ADI公司DSP的特点 1 \r\n\r\n 1.2 SHARC系列DSP的分类 1 \r\n\r\n 1.3 ADSP 2106x并行浮点DSP处理器结构和功能 3 \r\n\r\n 1.3.1 运算单元 4 \r\n\r\n 1.3.2 控制单元 5 \r\n\r\n 1.3.3 地址产生器和总线 6 \r\n\r\n 1.3.4 中断 6 \r\n\r\n 1.3.5 寄存器组成 6 \r\n\r\n 1.3.6 存储器 7 \r\n\r\n 1.3.7 DMA 10 \r\n\r\n 1.3.8 链路口和串口 10 \r\n\r\n 1.4 ADSP 2106x的硬件接口设计 10 \r\n\r\n 1.5 思考题 12 \r\n\r\n 第2章 DSP与存储器接口 \r\n\r\n 2.1 存储器种类 13 \r\n\r\n 2.2 等待模式 14 \r\n\r\n 2.2.1 软等待访问模式 15 \r\n\r\n 2.2.2 硬等待访问模式 16 \r\n\r\n 2.2.3 软等待和硬等待 16 \r\n\r\n 2.3 译码和片选 18 \r\n\r\n 2.4 DSP与SRAM接口 19 \r\n\r\n 2.5 DSP与EPROM接口 22 \r\n\r\n 2.5.1 DSP的EPROM引导流程 22 \r\n\r\n 2.5.2 DSP访问引导EPROM的方法 24 \r\n\r\n 2.6 DSP与Flash接口 24 \r\n\r\n 2.6.1 用8位Flash作引导存储器 25 \r\n\r\n 2.6.2 用48位Flash作程序存储器 32 \r\n\r\n 2.6.3 用大容量Flash 35 \r\n\r\n 2.7 DSP与多端口存储器接口 39 \r\n\r\n 2.7.1 DSP与FIFO的接口 39 \r\n\r\n 2.7.2 DSP与双口RAM的接口 41 \r\n\r\n 2.8 DSP与SDRAM接口 42 \r\n\r\n 2.9 DSP与同步突发SRAM(SBSRAM)的接口 48 \r\n\r\n 2.10 思考题 51 \r\n\r\n 第3章DMA应用 \r\n\r\n 3.1 总线DMA 52 \r\n\r\n 3.1.1 主机方式 53 \r\n\r\n 3.1.2 握手方式和其他方式 55 \r\n\r\n 3.1.3 链式DMA 59 \r\n\r\n 3.1.4 共享总线下的DMA 61 \r\n\r\n 3.2 链路DMA 63 \r\n\r\n 3.3 二维DMA 65 \r\n\r\n 3.4 串口DMA 66 \r\n\r\n 3.5 思考题 67 \r\n\r\n 第4章A/D和D/A电路设计 \r\n\r\n 4.1 A/D和D/A转换器 68 \r\n\r\n 4.1.1 采样速度 68 \r\n\r\n 4.1.2 量化位数 70 \r\n\r\n 4.1.3 量化位数和采样速度的转换 70 \r\n\r\n 4.1.4 其他因素 71 \r\n\r\n 4.2 总线与A/D接口 72 \r\n\r\n 4.3 串口与串行A/D相连 76 \r\n\r\n 4.4 DSP与D/A接口 78 \r\n\r\n 4.5 思考题 79 \r\n\r\n 第5章 扩展的DSP接口 \r\n\r\n 5.1 扩展的异步串口 80 \r\n\r\n 5.1.1 8251接口 81 \r\n\r\n 5.1.2 16650接口 85 \r\n\r\n 5.2 数据/地址总线复用接口 95 \r\n\r\n 5.2.1 DSP与时钟芯片的接口 95 \r\n\r\n 5.2.2 DSP与CAN总线的接口 98 \r\n\r\n 5.3 扩展DSP的I/O和中断 99 \r\n\r\n 5.4 DSP主机与CPCI/PCI总线的连接 100 \r\n\r\n 5.4.1 WB]基于CPCI总线的DSP紧耦合系统 101 \r\n\r\n 5.4.2 桥接芯片PCI 9054 108 \r\n\r\n 5.4.3 DSP的主机接口 116 \r\n\r\n 5.4.4 PCI总线 120 \r\n\r\n 5.4.5 Compact PCI 125 \r\n\r\n 5.5 思考题 129 \r\n\r\n 第6章 电路设计 \r\n\r\n 6.1 电源设计 130 \r\n\r\n 6.1.1 DC/DC变换 130 \r\n\r\n 6.1.2 多电源工作 132 \r\n\r\n 6.1.3 电源和地的去耦 133 \r\n\r\n 6.2 时钟电路与复位电路 133 \r\n\r\n 6.3 驱动与隔离 134 \r\n\r\n 6.4 电平转换器 136 \r\n\r\n 6.5 DSP的仿真接口 138 \r\n\r\n 6.6 DSP与FPGA的结合 139 \r\n\r\n 6.7 测试和自检功能 140 \r\n\r\n 6.7.1 信号测试 140 \r\n\r\n 6.7.2 电路的自检功能 141 \r\n\r\n 6.8 DSP的电路板设计 142 \r\n\r\n 6.8.1 信号完整性 142 \r\n\r\n 6.8.2 电磁兼容性设计 145 \r\n\r\n 6.8.3 高速模数混合系统的接地 148 \r\n\r\n 6.8.4 印制电路板的层分布 152 \r\n\r\n 6.8.5 DSP电路设计要点 156 \r\n\r\n 6.9 系统设计的考虑 161 \r\n\r\n 6.9.1 系统结构 161 \r\n\r\n 6.9.2 调试和加载 162 \r\n\r\n 6.9.3 功耗和散热 163 \r\n\r\n 6.10 DSP的程序保护 163 \r\n\r\n 6.11 抗干扰设计 165 \r\n\r\n 6.11.1 看门狗方法 165 \r\n\r\n 6.11.2 软件代码设计 167 \r\n\r\n 6.12 电路初调 169 \r\n\r\n 6.13 思考题 171 \r\n\r\n 第7章DSP的软件开发 \r\n\r\n 7.1 DSP的软件开发流程 172 \r\n\r\n 7.2 开发工具VisualDSP++概述 173 \r\n\r\n 7.3 集成开发环境 174 \r\n\r\n 7.3.1 创建一个新的工程文件 175 \r\n\r\n 7.3.2 设置工程选项 175 \r\n\r\n 7.3.3 添加或编辑工程源文件 181 \r\n\r\n 7.3.4 生成一个调试版的工程 182 \r\n\r\n 7.3.5 调试一个工程 183 \r\n\r\n 7.3.6 一个正式版的工程 183 \r\n\r\n 7.4 选择合适的调试平台 183 \r\n\r\n 7.4.1 安装仿真器驱动软件 183 \r\n\r\n 7.4.2 选择调试平台 186 \r\n\r\n 7.4.3 多处理器调试 189 \r\n\r\n 7.5 程序调试操作 191 \r\n\r\n 7.6 程序性能分析操作 191 \r\n\r\n 7.6.1 Trace操作 192 \r\n\r\n 7.6.2 Profile操作 192 \r\n\r\n 7.6.3 Statisca Profiling操作 193 \r\n\r\n 7.7 设置观察点和断点 193 \r\n\r\n 7.8 模仿硬件环境 194 \r\n\r\n 7.9 寄存器窗口操作 195 \r\n\r\n 7.10 存储器窗口操作 195 \r\n\r\n 7.11 其他窗口操作 197 \r\n\r\n 7.12 编写链接描述文件 198 \r\n\r\n 7.13 编程练习 202 \r\n\r\n 7.13.1 DFT汇编例子 202 \r\n\r\n 7.13.2 C代码例子 203 \r\n\r\n 7.13.3 C和汇编代码 207 \r\n\r\n 7.13.4 数据绘图(Plotting) 210 \r\n\r\n 7.13.5 统计评估 212 \r\n\r\n 7.14 编程分析 214 \r\n\r\n 7.14.1 离散傅里叶变换(DFT) 214 \r\n\r\n 7.14.2 FIR有限冲激响应滤波器 217 \r\n\r\n 7.14.3 矩阵相加 218 \r\n\r\n 7.15 编程举例 220 \r\n\r\n 7.15.1 编程方法 220 \r\n\r\n 7.15.2 中断的用法 225 \r\n\r\n 7.15.3 算法子程序 226 \r\n\r\n 7.16 数据格式 234 \r\n\r\n 7.17 与早期编程方法的区别 236 \r\n\r\n 7.18 ADSP 2106x指令集 238 \r\n\r\n 7.18.1 指令总表 239 \r\n\r\n 7.18.2 指令简述 242 \r\n\r\n 7.18.3 条件码 245 \r\n\r\n 7.18.4 ALU运算 247 \r\n\r\n 7.18.5 移位器操作 250 \r\n\r\n 7.18.6 乘法器操作 252 \r\n\r\n 7.18.7 多运算指令 255 \r\n\r\n 7.19 思考题 256 \r\n\r\n 第8章ADSP 2116x系列DSP的应用 \r\n\r\n 8.1 ADSP 21160与早期SHARC DSP的区别 258 \r\n\r\n 8.1.1 总体功能上的区别 258 \r\n\r\n 8.1.2 第二套运算核(PEy) 260 \r\n\r\n 8.1.3 两套运算部件 261 \r\n\r\n 8.1.4 单指令多数据(SIMD) 261 \r\n\r\n 8.1.5 循环缓冲模式 264 \r\n\r\n 8.1.6 寄存器的广播式加载模式 265 \r\n\r\n 8.1.7 内部存储器长字(64位)访问 265 \r\n\r\n 8.1.8 程序的引导 266 \r\n\r\n 8.1.9 标志数值寄存器(FLAGS) 267 \r\n\r\n 8.1.10 同步突发模式 268 \r\n\r\n 8.2 ADSP 21161与其他SHARC的区别 268 \r\n\r\n 8.2.1 ADSP 21161的链路接口 269 \r\n\r\n 8.2.2 ADSP 21161的串行外设接口SPI 269 \r\n\r\n 8.3 双电压启动流程 274 \r\n\r\n 8.4 ADSP 2116X的PCB板布线 275 \r\n\r\n 8.5 思考题 276 \r\n\r\n 参考文献 277 \r\n
\r\n
目前, 对实时数字信号处理的应用需求和超大规模集成电路技术水平的飞速发展, 推动着DSP性能不断提高, 使其在通信. 电力. 电子. 雷达. 导航. 尖端武器等领域发挥着越来越重要的作用. ADSP 2106x. ADSP 2116x系列DSP是一类性能优良的浮点DSP, 具备特有的超级哈佛结构. 片内大容量存储器. 有效的寻址方式. 单周期内三次运算能力. 超长指令字. 高速数据输入/输出能力, 其各项处理性能大大高于所有同类型浮点DSP. 并且在DSP内部集成了多DSP并行工作的功能, 可以直接构成分布式并行系统和共享存储式并行系统, 获得很高的并行处理能力和并行效率. 它的软件编程基于完善的集成设计环境Visual DSP++, 使得软件编程和软硬件调试更加方便. 高效.
本书以ADSP 2106x. ADSP 2116x为主讨论了DSP与各种外围器件的硬件接口和相关的软件编程方法. 第1章介绍了DSP的结构和功能. 第2章介绍了DSP与SRAM. EPROM. Flash. SDRAM. SBSRAM等各种类型存储器的接口方法. 第3章介绍了利用DSP的强大而灵活的DMA功能, 进行高速数据的输入/输出. 第4章介绍了DSP与A/D. D/A的接口设计原理和实际例子. 第5章介绍了如何用并串转换设备扩展DSP的异步串行通信功能, 如何与地址/数据总线复用设备接口, 如何扩展DSP的I/O和中断源, 如何设计DSP与CPCI总线的接口电路. 第6章介绍了DSP系统的各个辅助功能块的设计方法, 重点分析了高速数字电路. 数字模拟混合电路设计中存在的信号完整性. 电磁兼容性等各种问题和设计难点, 以及高速数字电路. 数字模拟混合电路设计的重要方法和经验. 第7章介绍了完善的集成设计环境VisualDSP++和操作实例, 帮助DSP设计人员快速掌握DSP的软件设计和软硬件调试方法, 并汇总了许多DSP的编程技巧和实用算法. 第8章介绍了ADSP 2106x. ADSP 2116x两大系列DSP的区别, 使那些已经熟悉ADSP 2106x设计的人员能更快地向性能/价格比更高的ADSP 2116x设计转型. 本书的设计实例虽然是基于ADSP 2106x系列的, 但其中的绝大部分软硬件设计方法. 算法程序都适用于ADSP 2116x. 而硬件接口设计和软件流程也同样适用于目前流行的其他类型DSP.
本书是对ADSP两大系列DSP相关资料的重要补充, 以更加贴近实用性的方式, 向读者提供了代表性和实用性很强的硬件设计实例和相关软件, 大部分的设计实例直接取自于编著者的科研实践, 并且汇集了DSP设计. 编程人员的经验与体会.
本书第1. 2. 3. 7章由苏涛编写, 第4. 5章由何学辉编写, 第6. 8章由蔡建隆编写, 全书由苏涛统稿.
由于掌握的资料和编著者水平有限, 书中的不妥与错误之处, 请读者提出宝贵意见.
作者
2003年9月