内容简介
本书以ADSP2106x、ADSP2116x系列高性能浮点DSP为主,介绍了以数字信号处理器(DSP)为核心的实时数字信号处理的系统设计,详细论述了DSP与多种外围接口电路的设计方法,包括各种存储器、模数和数模转换电路、异步串行接口、地址/数据复用总线、扩展I/O、CPCI总线,以及相关的软件编程和调试方法,还介绍了高速数字电路、数模混合电路的印制板设计方法。
本书面向通信、雷达和电子工程类领域的科研和工程设计人员以及相关专业的研究生和高年级本科生。
目录
第1章 DSP的结构和功能
1.1 ADI公司DSP的特点
1.2 SHARC系列DSP的分类
1.3 ADSP 2106x并行浮点DSP处理器结构和功能
1.3.1 运算单元
1.3.2 控制单元
1.3.3 地址产生器和总线
1.3.4 中断
1.3.5 寄存器组成
1.3.6 存储器
1.3.7 DMA
1.3.8 链路口和串口
1.4 ADSP 2106x的硬件接口设计
1.5 思考题
第2章 DSP与存储器接口
2.1 存储器种类
2.2 等待模式
2.2.1 软等待访问模式
2.2.2 硬等待访问模式
2.2.3 软等待和硬等待
2.3 译码和片选
2.4 DSP与SRAM接口
2.5 DSP与EPROM接口
2.5.1 DSP的EPROM引导流程
2.5.2 DSP访问引导EPROM的方法
2.6 DSP与Flash接口
2.6.1 用8位Flash作引导存储器
2.6.2 用48位Flash作程序存储器
2.6.3 用大容量Flash
2.7 DSP与多端口存储器接口
2.7.1 DSP与FIFO的接口
2.7.2 DSP与双口RAM的接口
2.8 DSP与SDRAM接口
2.9 DSP与同步突发SRAM(SBSRAM)的接口
2.10 思考题
第3章 DMA应用
3.1 总线DMA
3.1.1 主机方式
3.1.2 握手方式和其他方式
3.1.3 链式DMA
3.1.4 共享总线下的DMA
3.2 链路DMA
3.3 二维DMA
3.4 串口DMA
3.5 思考题
第4章 A/D和D/A电路设计
4.1 A/D和D/A转换器
4.1.1 采样速度
4.1.2 量化位数
4.1.3 量化位数和采样速度的转换
4.1.4 其他因素
4.2 总线与A/D接口
4.3 串口与串行A/D相连
4.4 DSP与D/A接口
4.5 思考题
第5章 扩展的DSP接口
5.1 扩展的异步串口
5.1.1 8251接口
5.1.2 16650接口
5.2 数据/地址总线复用接口
5.2.1 DSP与时钟芯片的接口
5.2.2 DSP与CAN总线的接口
5.3 扩展DSP的I/O和中断
5.4 DSP主机与CPCI/PCI总线的连接
5.4.1 基于CPCI总线的DSP紧耦合系统
5.4.2 桥接芯片PCI 9054
5.4.3 DSP 的主机接口
5.4.4 PCI 总线
5.4.5 Compact PCI
5.5 思考题
第6章 电路设计
6.1 电源设计
6.1.1 DC/DC变换
6.1.2 多电源工作
6.1.3 电源和地的去耦
6.2 时钟电路与复位电路
6.3 驱动与隔离
6.4 电平转换器
6.5 DSP的仿真接口
6.6 DSP与FPGA的结合
6.7 测试和自检功能
6.7.1 信号测试
6.7.2 电路的自检功能
6.8 DSP的电路板设计
6.8.1 信号完整性
6.8.2 电磁兼容性设计
6.8.3 高速模数混合系统的接地
6.8.4 印制电路板的层分布
6.8.5 DSP电路设计要点
6.9 系统设计的考虑
6.9.1 系统结构
6.9.2 调试和加载
6.9.3 功耗和散热
6.10 DSP的程序保护
6.11 抗干扰设计
6.11.1 看门狗方法
6.11.2 软件代码设计
6.12 电路初调
6.13 思考题
第7章DSP的软件开发
7.1 DSP的软件开发流程
7.2 开发工具VisualDSP++概述
7.3 集成开发环境
7.3.1 创建一个新的工程文件
7.3.2 设置工程选项
7.3.3 添加或编辑工程源文件
7.3.4 生成一个调试版的工程
7.3.5 调试一个工程
7.3.6 一个正式版的工程
7.4 选择合适的调试平台
7.4.1 安装仿真器驱动软件
7.4.2 选择调试平台
7.4.3 多处理器调试
7.5 程序调试操作
7.6 程序性能分析操作
7.6.1 Trace操作
7.6.2 Profile操作
7.6.3 Statisca Profiling操作
7.7 设置观察点和断点
7.8 模仿硬件环境
7.9 寄存器窗口操作
7.10 存储器窗口操作
7.11 其他窗口操作
7.12 编写链接描述文件
7.13 编程练习
7.13.1 DFT汇编例子
7.13.2 C代码例子
7.13.3 C和汇编代码
7.13.4 数据绘图(Plotting)
7.13.5 统计评估
7.14 编程分析
7.14.1 离散傅里叶变换(DFT)
7.14.2 FIR有限冲激响应滤波器
7.14.3 矩阵相加
7.15 编程举例
7.15.1 编程方法
7.15.2 中断的用法
7.15.3 算法子程序
7.16 数据格式
7.17 与早期编程方法的区别
7.18 ADSP 2106x指令集
7.18.1 指令总表
7.18.2 指令简述
7.18.3 条件码
7.18.4 ALU运算
7.18.5 移位器操作
7.18.6 乘法器操作
7.18.7 多运算指令
7.19 思考题
第8章ADSP 2116x系列DSP的应用
8.1 ADSP 21160与早期SHARC DSP的区别
8.1.1 总体功能上的区别
8.1.2 第二套运算核(PEy)
8.1.3 两套运算部件
8.1.4 单指令多数据(SIMD)
8.1.5 循环缓冲模式
8.1.6 寄存器的广播式加载模式
8.1.7 内部存储器长字(64位)访问
8.1.8 程序的引导
8.1.9 标志数值寄存器(FLAGS)
8.1.10 同步突发模式
8.2 ADSP 21161与其他SHARC的区别
8.2.1 ADSP 21161的链路接口
8.2.2 ADSP 21161的串行外设接口SPI
8.3 双电压启动流程
8.4 ADSP 2116X的PCB板布线
8.5 思考题
参考文献