第1章 概述 1
1.1 雷达信号处理概述 1
1.1.1 雷达信号处理的发展 1
1.1.2 雷达信号处理的特点 2
1.2 数字信号处理器 4
1.2.1 数字信号处理器概述 4
1.2.2 数字信号处理器的发展 11
1.2.3 “魂芯一号”高速数字信号处理器概述 13
第2章 处理器体系架构 20
2.1 体系架构 20
2.2 eC104内核结构 23
2.2.1 运算单元执行宏(Macro) 23
2.2.2 运算部件 26
2.2.3 程序控制器 39
2.3 总线 44
2.4 内部存储器 45
2.5 外设 46
第3章 存储器与寄存器 49
3.1 地址空间 49
3.2 存储器 51
3.2.1 存储器的组织结构 51
3.2.2 存储器数据总线操作 52
3.2.3 存储器与其他部件的数据交换 54
3.3 地址发生运算器部件 54
3.4 寻址方式 56
3.5 地址冲突与地址非法 61
3.5.1 地址冲突 61
3.5.2 地址非法 62
3.6 总线仲裁 62
3.7 寄存器 63
3.7.1 全局控制寄存器GCSR 63
3.7.2 内核执行单元控制与标志寄存器 64
3.7.3 DMA控制寄存器 72
3.7.4 中断控制寄存器 85
3.7.5 定时器控制寄存器 88
3.7.6 通用I/O控制寄存器 89
3.7.7 并口配置寄存器 91
3.7.8 UART控制寄存器 92
3.7.9 DDR2控制器的配置寄存器 94
3.7.10 数据存储器读写冲突标志寄存器 111
第4章 处理器指令体系 113
4.1 指令结构与特点 113
4.1.1 指令基本语法规制 114
4.1.2 指令语法约定 115
4.1.3 指令速查 117
4.2 ALU指令 129
4.3 MUL指令 164
4.4 SPU指令 174
4.5 SHF指令 178
4.6 数据传输指令 185
4.7 双字指令 193
4.8 非运算类指令 209
4.9 编程资源约束 213
4.9.1 编程资源 213
4.9.2 并行指令的约束规则 214
4.9.3 数据相关 215
第5章 处理器I/O资源及外设 217
5.1 中断及异常 217
5.1.1 中断类型 217
5.1.2 中断控制寄存器 220
5.1.3 中断响应过程 222
5.1.4 异常现象 224
5.2 DMA控制器 225
5.2.1 DMA控制器基本结构 225
5.2.2 DMA总线仲裁 227
5.3 链路口 228
5.3.1 链路通信接口 229
5.3.2 链路口DMA控制寄存器 235
5.3.3 链路口配置例程 238
5.4 并口 241
5.4.1 并口接口信号 241
5.4.2 并口地址线位宽说明 244
5.4.3 并口控制寄存器 246
5.4.4 并口配置例程 248
5.5 UART控制器 251
5.5.1 UART接口信号 251
5.5.2 波特率 252
5.5.3 UART收发实现 252
5.5.4 UART状态与异常处理 253
5.5.5 UART配置例程 254
5.6 GPIO口 256
5.6.1 GPIO功能说明 256
5.6.2 GPIO口配置例程 257
5.7 定时器 257
5.7.1 定时器控制寄存器 257
5.7.2 定时器复位与计数 257
5.7.3 定时器脉冲产生 258
5.7.4 定时器说明 259
5.7.5 定时器配置例程 260
5.8 DDR2接口 261
5.8.1 DDR2接口信号 262
5.8.2 DDR2控制器 262
5.8.3 PHY接口 266
5.8.4 DDR2配置举例 270
第6章 处理器开发工具 277
6.1 “魂芯一号”应用开发流程 277
6.2 “魂芯一号”在线调试系统 278
6.2.1 “魂芯一号”的功能模式 279
6.2.2 “魂芯一号”的在线调试资源 280
6.3 “魂芯一号”的集成开发环境 280
6.3.1 工程管理和编辑器 280
6.3.2 调试器 281
6.3.3 统计分析功能 281
6.3.4 支持混合编程和调试 282
6.3.5 丰富的帮助文档 282
6.4 编译器 282
6.4.1 编译器命令行参数 283
6.4.2 运行环境与模型 286
6.4.3 编码器对ISO C90标准的扩展 295
6.5 宏预处理器 303
6.5.1 宏预处理器的命令行形式 303
6.5.2 标识符 304
6.5.3 表达式 304
6.5.4 宏命令 305
6.6 规则检查器 307
6.6.1 规则检查器的命令行形式 307
6.6.2 错误和警告提示信息格式 308
6.6.3 错误信息列表 309
6.6.4 警告信息列表 313
6.7 汇编器 314
6.7.1 汇编器命令行形式 315
6.7.2 汇编文件格式 316
6.7.3 标识符(symbol) 316
6.7.4 表达式 317
6.7.5 汇编伪指令 317
6.8 链接器 325
6.8.1 链接器命令行形式 326
6.8.2 链接器命令文件的编写 327
6.9 反汇编器 329
6.10 库生成器 330
第7章 基于处理器的硬件设计 332
7.1 硬件设计概述 332
7.2 DSP系统的基础设计 332
7.2.1 电源电路设计 332
7.2.2 复位电路设计 335
7.2.3 时钟设计 335
7.3 DSP外设引脚及布局布线指导 337
7.3.1 并口引脚 337
7.3.2 Link端口引脚 338
7.3.3 LVDS的PCB布线指导 339
7.3.4 DDR2端口的PCB设计 342
7.4 多处理器耦合 351
7.4.1 通过链路口进行多处理器耦合 351
7.4.2 通过并口进行多处理器耦合 352
7.4.3 通过飞越传输方式进行多处理器耦合 352
7.4.4 通过UART进行多处理器耦合 353
7.4.5 通过GPIO进行多处理器耦合 353
7.5 调试系统设计 354
7.6 引导系统设计 355
7.6.1 FLASH编程 355
7.6.2 主片引导 356
7.6.3 从片引导 357
7.7 硬件设计实例 358
7.7.1 整体架构图 358
7.7.2 电源 358
7.7.3 程序加载 359
7.7.4 DSP设置 360
第8章 信号处理应用程序设计 361
8.1 FFT的DSP实现 361
8.1.1 FFT的基本原理 361
8.1.2 FFT设计方法 362
8.1.3 FFT的DSP实现 366
8.1.4 FFT应用举例 370
8.2 FIR的DSP实现 376
8.2.1 FIR滤波器的基本结构 376
8.2.2 FIR滤波器设计方法 378
8.2.3 FIR滤波器的DSP实现 380
8.2.4 FIR滤波器应用举例 382
8.3 脉冲压缩DSP实现 387
8.3.1 脉冲压缩的基本原理 387
8.3.2 脉冲压缩设计方法 388
8.3.3 脉冲压缩DSP实现 390
8.4 向量运算的库函数 391
8.5 矩阵运算的库函数 392
8.6 常用的窗函数 401
8.7 信号产生的库函数 403
8.8 雷达信号处理的库函数 407
8.8.1 抽取比可变的低通滤波器 407
8.8.2 脉冲相关处理 408
8.8.3 动目标显示MTI 408
8.8.4 自适应动目标显示AMTI 409
8.8.5 多通道恒虚警检测(CFAR) 409
8.8.6 统计数组中正数的个数 410
8.8.7 DOA估计 410
第9章 系统设计实例 411
9.1 “魂芯一号”Demo板简介 411
9.2 案例一:某阵列雷达实测数据处理 412
9.2.1 数据处理流程 412
9.2.2 “魂芯一号”Demo实验平台上处理过程实现 413
9.3 案例二:雷达系统演示平台 435
9.3.1 系统整体架构 435
9.3.2 终端软件演示平台 436
9.3.3 FPGA模拟产生目标回波信号 437
9.3.4 DSP雷达信号处理程序设计 438
9.3.5 系统联调结果 447
附录A “魂芯一号”指令集资源约束表 451
附录B 32位浮点FFT汇编源程序 472
参考文献 488
主要符号表 489
缩略语 492