标题：ADSP系列数字信号处理器原理
内容提要 
本书面向通信,电子类专业的教学,科研和工程设计人员可作本科高年级学生和硕士研究生的教材,也可供相关专业的科技人员学习使用DSP时参考.
目录 
目 录
上篇 ADSP?21xx系列16位定点数字信号处理器
第1章 定点DSP概述
1.1 功能单元
1.2 存储器和系统接口
1.3 指令集
1.4 DSP性能
1.5 核心结构
1.6 片内外设
1.7 ADSP?21xx系列的开发工具
第2章 ADSP?21xx计算单元?
2.1 概述
2.2 算术/逻辑单元（ALU）
2.2.1 ALU的框图
2.2.2 ALU标准功能
2.2.3 ALU的输入/输出寄存器?
2.2.4 多精度能力
2.2.5 ALU的饱和模式
2.2.6 ALU的溢出锁存模式
2.2.7 除法
2.2.8 ALU的状态位
2.3 乘法/累加器（MAC）
2.3.1 MAC框图的讨论
2.3.2 MAC操作
2.4 桶形移位器
2.4.1 移位器框图讨论
2.4.2 移位器的操作
第3章 ADSP?21xx程序控制和数据地址产生
3.1 程序控制器
3.1.1 下一个程序地址选择逻辑
3.1.2 程序计数器和PC堆栈
3.1.3 循环计数器和堆栈
3.1.4 循环比较器及其堆栈
3.2 程序控制指令
3.3 中断
3.3.1 中断服务的过程
3.3.2 设置中断
3.3.3 中断响应时间
3.4 状态寄存器和状态堆栈
3.4.1 算术状态寄存器（ASTAT）
3.4.2 堆栈状态寄存器（SSTAT）
3.4.3 模式状态寄存器（MSTAT）
3.5 条件指令
3.6 TOPPCSTACK
3.7 数据地址的生成
3.7.1 数据地址发生器（DAG）
3.7.2 数据存取的编程
3.7.3 PMD?DMD总线交换
3.8 定时器
第4章 ADSP?21xx串口
4.1 端口的基本情况
4.2 同步串口的编程
4.3 SPORT的使能
4.4 串行时钟
4.5 串口字长
4.6 串行字成帧选项
4.7 串口设置举例
4.8 时序举例
4.9 压扩和数据格式
4.10 自动缓冲
4.11 多通道功能
4.12 SPORT的定时
第5章 ADSP?21xx主机接口
5.1 HIP管脚介绍
5.2 HIP功能描述
5.3 HIP的操作
5.4 HIP中断
5.5 主机接口的时序
5.6 通过HIP的引导加载
第6章 ADSP?21xx模拟接口
6.1 A/D转换
6.1.1 模拟输入
6.1.2 ADC
6.2 D/A转换
6.2.1 DAC
6.2.2 差分输出放大器
6.3 模拟接口的操作
6.3.1 存储器映射的控制寄存器
6.3.2 存储器映射的数据寄存器
6.3.3 ADC和DAC中断
6.4 电路设计中的考虑
6.4.1 模拟信号接口
6.4.2 模拟信号输出
6.4.3 参考电压滤波电容
第7章 ADSP?21xx存储器接口
7.1 程序存储器接口
7.1.1 片外程序存储器的读和写
7.1.2 程序存储器映像?
7.1.3 ROM程序存储器映像?
7.2 数据存储器接口?
7.3 引导存储器接口?
7.4 总线请求/总线响应?
7.5 ADSP?2181的存储器接口?
7.5.1 ADSP?2181程序存储器接口?
7.5.2 ADSP?2181的数据存储器接口?
7.5.3 ADSP?2181的字节存储器接口?
7.5.4 ADSP?2181的I/O存储器空间?
7.5.5 ADSP?2181复合存储器选择?
7.5.6 外部存储器读?
7.5.7 外部存储器写?
第8章 ADSP?21xx DMA接口?
8.1 BDMA接口?
8.1.1 BDMA接口的功能?
8.1.2 BDMA控制寄存器?
8.1.3 字节存储器字的格式?
8.1.4 BDMA引导?
8.2 IDMA接口?
8.2.1 IDMA接口的管脚?
8.2.2 IDMA接口功能?
8.2.3 通过IDMA修改控制寄存器?
8.2.4 IDMA接口时序?
8.2.5 通过IDMA接口的引导装载?
8.2.6 DMA周期窃取、DMA延迟和 IACK 确认
第9章 ADSP?21xx系统接口?
9.1 时钟信号?
9.2 复位?
9.3 软件强制重引导?
9.4 外部中断?
9.5 标志管脚?
9.6 休眠?
9.6.1 休眠控制?
9.6.2 进入休眠?
9.6.3 退出休眠状态?
9.6.4 唤醒后的启动时间?
9.6.5 休眠期间处理器的运行?
9.6.6 最低功耗的条件?
9.6.7 PWDACK管脚?
9.6.8 不可屏蔽的休眠中断?
第10章 ADSP?21xx的硬件设计和软件编程?
10.1 系统开发过程?
10.2 ADSP?2100的内部寄存器?
10.2.1 数据地址发生器?
10.2.2 程序控制器?
10.2.3 计算单元?
10.2.4 总线交换?
10.2.5 定时器?
10.2.6 串口?
10.2.7 存储器接口和SPORT使能?
10.2.8 主机接口?
10.2.9 模拟接口?
10.3 编程实例?
10.3.1 对设置程序的讨论?
10.3.2 对中断程序的讨论?
10.4 硬件设计实例?
10.4.1 利用总线请求和确认信号从主机引导?
10.4.2 串口和编解码器的接口?
10.4.3 串口和DAC接口?
10.4.4 串口和ADC接口?
10.4.5 串口和串口接口?
10.4.6 80C51和主机接口的连接?
下篇 ADSP?2106x系列32位浮点数字信号处理器
第11章 浮点DSP概述?
第12章 ADSP?2106x的计算单元?
12.1 概述?
12.2 IEEE浮点数的运算?
12.3 定点运算?
12.4 舍入方式?
12.5 算术逻辑单元（ALU）?
12.5.1 ALU运算?
12.5.2 ALU的操作模式?
12.5.3 ALU的状态标志?
12.6 乘法器?
12.6.1 乘法器的运算?
12.6.2 定点结果?
12.6.3 定点运算?
12.6.4 浮点操作模式?
12.6.5 乘法器的状态标志?
12.7 移位器?
12.7.1 移位器的操作?
12.7.2 位段的放置和截取指令?
12.7.3 移位器状态标志?
12.8 多功能计算?
12.9 数据寄存器组?
第13章 ADSP?2106x的程序控制?
13.1 概述?
13.1.1 指令周期?
13.1.2 程序控制器的结构?
13.2 程序控制器的操作?
13.3 条件指令的执行?
13.4 分支（CALL，JUMP，RTS，RTI）?
13.5 循环（DO UNTIL）?
13.5.1 循环的限制和短循环?
13.5.2 循环地址堆栈?
13.5.3 循环计数器和堆栈?
13.6 中断?
13.6.1 中断响应时间?
13.6.2 中断向量表?
13.6.3 中断锁存寄存器（IRPTL）?
13.6.4 中断优先级?
13.6.5 中断屏蔽和控制?
13.6.6 状态堆栈的保存和恢复?
13.6.7 软件中断?
13.6.8 为再次使用而清除当前中断?
13.6.9 外部中断时序和触发?
13.6.10 多处理器的向量中断（VIRPT）?
13.7 定时器?
13.8 堆栈标志?
13.9 IDLE和IDLE16指令?
13.10 指令缓冲器?
第14章 ADSP?2106x的数据寻址?
14.1 概述?
14.2 DAG寄存器?
14.3 DAG操作?
14.3.1 地址的输出和修改?
14.3.2 循环缓冲区的寻址?
14.3.3 位反序寻址?
14.4 DAG寄存器的传送?
第15章 ADSP?2106x存储器?
15.1 概述?
15.2 ADSP?2106x存储器图?
15.3 内部存储器组织和字长?
15.3.1 32位字和48位字?
15.3.2 32位字和48位字混合块?
15.3.3 32位字和48位字混合的基本示例?
15.3.4 16位短字?
15.3.5 具有更佳间隔尺寸的32位字和48位字混合?
15.3.6 为32位数据和40位数据配置存储器?
15.4 外部存储器接口?
15.4.1 外部存储器组?
15.4.2 未分组的存储器和引导存储器选择线（BMS）
? 15.4.3 等待状态和应答?
15.4.4 DRAM页边界检测?
15.5 外部存储器访问时序?
第16章 ADSP?2106x的DMA?
16.1 概述?
16.2 DMA控制寄存器?
16.2.1 外部口DMA控制寄存器?
16.2.2 串口DMA控制?
16.2.3 链路口DMA控制?
16.2.4 共享DMA通道的端口选择?
16.2.5 DMA 通道状态寄存器（DMASTAT）?
16.3 DMA控制器操作?
16.3.1 DMA通道参数寄存器?
16.3.2 内部请求和应答?
16.3.3 DMA通道优先级?
16.3.4 为DMA链?
16.3.5 DMA 中断?
16.3.6 启动和停止DMA序列?
16.4 外部口DMA?
16.4.1 外部口先进先出缓冲区（EPBx）?
16.4.2 内部和外部地址的产生?
16.4.3 外部口DMA模式?
16.4.4 ADSP?2106x处理器间DMA的系统配置?
16.4.5 DMA硬件接口?
16.5 DMA传输量?
16.6 二维DMA?
第17章 ADSP?2106x多处理器系统?
17.1 概述?
17.2 多处理器系统的结构?
17.3 多处理器总线仲裁?
17.3.1 总线仲裁协议?
17.3.2 总线仲裁优先权（RPBA）?
17.3.3 总线控制权的时限?
17.3.4 核优先访问?
17.3.5 复位后的总线同步?
17.4 直接读写从处理器?
17.5 通过EPBx缓冲的数据传输?
17.5.1 单字传输?
17.5.2 DMA传输?
17.6 总线锁定和信号量?
17.7 处理器间消息传递和向量中断?
17.7.1 消息传递（MSGRx）?
17.7.2 向量中断（VIRPT）?
17.8 SYSTAT寄存器中的状态位?
第18章 ADSP?2106x主机接口?
18.1 概述?
18.2 主机对ADSP?2106x的控制?
18.2.1 总线请求?
18.2.2 异步传输?
18.2.3 同步传输?
18.2.4 用?SBTS?解决主机接口死锁
18.3 直接读写从机?
18.4 通过EPBx的数据传输?
18.4.1 单字节数据的传输?
18.4.2 DMA传输?
18.5 数据打包?
18.6 SYSTAT寄存器状态位?
18.7 处理器间的消息和向量中断?
18.8 系统总线接口?
18.8.1 对ADSP?2106x总线的访问——ADSP?2106x为从机
18.8.2 对系统总线的访问——ADSP?2106x为控制者
? 18.8.3 使用本地存储器的多处理器技术?
18.8.4 ADSP?2106x和微处理器的接口?
第19章 ADSP?2106x链路口?
19.1 概述?
19.2 链路口控制寄存器?
19.3 握手控制信号?
19.4 链路缓冲?
19.5 链路口DMA通道?
19.6 链路口中断?
19.7 传送错误检测、令牌传递和链路传送信号线?
19.8 系统设计实例：本地DRAM接口?
19.9 程序实例?
第20章 ADSP?2106x串行口?
20.1 概述?
20.2 串口控制寄存器和数据缓冲区?<……