第1章 概述 1
1.1 TI简介及其发展 1
1.1.1 简介 1
1.1.2 历史进程 2
1.2 DSP技术概述 3
1.2.1 概述 3
1.2.2 DSP的发展历程 3
1.2.3 DSP芯片分类 4
1.3 DSP特点及结构 5
1.3.1 特点及优势 5
1.3.2 体系结构 6
1.4 TI公司的DSP芯片 10
1.4.1 TI公司DSP芯片简介 10
1.4.2 TMS320C2000系列DSP 10
1.4.3 TMS320C5000系列DSP 13
1.4.4 TMS320C6000系列DSP 17
1.5 达芬奇技术 19
1.5.1 简介 19
1.5.2 达芬奇技术应用 21
1.5.3 达芬奇软件与I/O技术 22
1.5.4 TI达芬奇数字视频处理器 24
1.6 本章小结 27
1.7 思考题与习题 27
第2章 TMS320DM8168总体结构及功能概述 28
2.1 概述 28
2.1.1 简介 28
2.1.2 系统结构方框图 30
2.2 特性及其应用 31
2.2.1 器件特性 31
2.2.2 性能及应用范围 34
2.3 封装与引脚分布 35
2.3.1 封装信息 35
2.3.2 引脚分布与引脚功能 37
2.4 芯片配置 53
2.4.1 控制模块 53
2.4.2 引导顺序 58
2.4.3 引脚复用控制 59
2.5 本章小结 60
2.6 思考题与习题 60
第3章 TMS320DM8168处理器结构 61
3.1 概述 61
3.2 ARM处理器子系统 62
3.2.1 简介 62
3.2.2 特性 63
3.2.3 MPU集成子系统 63
3.2.4 MPU子系统的时钟和复位 65
3.2.5 ARM Cortex-A8处理器 67
3.2.6 AXI2OCP和I2Async网桥 68
3.2.7 中断控制器 71
3.2.8 电源管理 71
3.2.9 Host ARM地址映射 74
3.3 C674x DSP子系统 74
3.3.1 简介 74
3.3.2 C674x DSP特征 76
3.3.3 DSP子系统的结构 77
3.3.4 TMS320C674x宏模块 78
3.3.5 高级事件触发 82
3.4 高清视频图像协处理器子系统 82
3.5 SGX530图形加速器 86
3.5.1 概述 86
3.5.2 SGX集成与功能描述 89
3.5.3 SGX寄存器 91
3.6 内部处理器通信 102
3.6.1 复位请求 102
3.6.2 IPC特性 102
3.6.3 IPC组成及其策略 102
3.6.4 IPC配置 105
3.6.5 邮箱 106
3.6.6 自旋锁 114
3.7 内存管理 120
3.7.1 概述 120
3.7.2 系统MMU 120
3.7.3 MMU原理 121
3.7.4 MMU寄存器 130
3.8 本章小结 140
3.9 思考题与习题 140
第4章 TMS320DM8168系统互连与内存映射 142
4.1 内存映射 142
4.1.1 概述 142
4.1.2 L3内存映射 142
4.1.3 L4内存映射 145
4.1.4 Cortex-A8内存映射 150
4.1.5 C674x DSP内存映射 152
4.1.6 内存测试程序 154
4.2 系统互连 156
4.2.1 概述 156
4.2.2 L3互连 156
4.2.3 L4互连 158
4.3 本章小结 160
4.4 思考题与习题 161
第5章 TMS320DM8168存储器控制 162
5.1 动态内存管理 162
5.1.1 概述 162
5.1.2 特性 163
5.1.3 功能模块 163
5.1.4 关键词和缩写词 164
5.1.5 DMM功能描述 165
5.1.6 TILER功能描述 174
5.1.7 DMM/TILER寄存器 185
5.2 通用内存控制器 197
5.2.1 概述 197
5.2.2 结构 198
5.2.3 基本编程模型 204
5.2.4 GPMC寄存器 205
5.3 DDR2/3内存控制器 207
5.3.1 概述 207
5.3.2 体系结构 208
5.3.3 DDR PHY 224
5.3.4 DDR2/3 SDRAM初始化 226
5.3.5 DDR2/3内存控制器的使用 231
5.3.6 DDR2/3寄存器 237
5.3.7 DDR2测试程序 239
5.4 本章小结 240
5.5 思考题与习题 241
第6章 TMS320DM8168系统控制与中断 242
6.1 电源、复位和时钟管理模块 242
6.1.1 电源管理 242
6.1.2 复位 249
6.1.3 时钟 253
6.1.4 PRCM寄存器 262
6.2 看门狗模块 262
6.2.1 概述 262
6.2.2 结构 263
6.2.3 看门狗定时寄存器 269
6.2.4 软件程序设计 277
6.3 中断系统 280
6.3.1 中断一览表 280
6.3.2 Cortex-A8 MPU中断控制器 289
6.3.3 C674x DSP中断控制器 294
6.3.4 应用实例 297
6.4 本章小结 298
6.5 思考题与习题 299
第7章 TMS320DM8168 EDMA3控制器 300
7.1 简介 300
7.1.1 概述 300
7.1.2 特性 301
7.1.3 关键词及其解释 302
7.2 EDMA3结构 304
7.2.1 功能概述 304
7.2.2 EDMA3传输类型 307
7.2.3 参数RAM 309
7.2.4 DMA传输启动 319
7.2.5 DMA传输完成 322
7.2.6 事件、通道和PaRAM映射 323
7.2.7 EDMA3通道控制区域 325
7.2.8 EDMA3通道连接 327
7.2.9 EDMA3中断 328
7.2.10 EDMA3内存保护 333
7.2.11 事件队列 337
7.2.12 EDMA3传输控制器 338
7.2.13 EDMA3优先级 340
7.3 EDMA3传输实例 341
7.3.1 块数据传输 342
7.3.2 子帧获取 342
7.3.3 数据排序 343
7.4 EDMA3寄存器 345
7.4.1 EDMA3CC寄存器 345
7.4.2 EDMA3TC寄存器 349
7.5 应用实例 350
7.6 本章小结 356
7.7 思考题与习题 356
第8章 通用I/O接口与定时器 357
8.1 通用I/O接口 357
8.1.1 概述 357
8.1.2 操作模式 359
8.1.3 时钟和复位方案 359
8.1.4 中断特性 360
8.1.5 通用接口基本编程模型 362
8.1.6 GPIO寄存器 366
8.1.7 应用举例 376
8.2 定时器 377
8.2.1 概述 377
8.2.2 功能描述 379
8.2.3 访问寄存器 385
8.2.4 Posted模式选择 386
8.2.5 写寄存器访问 387
8.2.6 读寄存器访问 388
8.2.7 定时器寄存器 388
8.3 本章小结 401
8.4 思考题与习题 401
第9章 TMS320DM8168外围设备互联接口 402
9.1 简介 402
9.1.1 概述 402
9.1.2 特征 403
9.1.3 功能结构 404
9.2 时钟与总线控制 406
9.3 地址翻译与地址空间 407
9.3.1 地址翻译 407
9.3.2 地址空间 414
9.4 PCIe回环 416
9.5 L3内存映射 417
9.6 中断和DMA 418
9.6.1 中断支持 418
9.6.2 DMA支持 421
9.7 复位和电源 422
9.7.1 复位注意事项 422
9.7.2 电源管理 428
9.7.3 设备与连接电源状态间的关系 430
9.8 使用情况 431
9.8.1 PCIe Root Complex 431
9.8.2 PCIe End Point 433
9.9 PCIe寄存器 434
9.9.1 访问配置空间的只读寄存器 434
9.9.2 PCIe RC访问EP应用寄存器 435
9.9.3 DEBUG寄存器的LTSSM状态 435
9.9.4 PCIe应用寄存器 435
9.9.5 配置类型0寄存器 458
9.9.6 配置类型1寄存器 461
9.9.7 PCIe功能寄存器 468
9.9.8 PCIe扩展功能寄存器 477
9.9.9 中断消息发送寄存器 484
9.9.10 电源管理功能寄存器 485
9.9.11 端口逻辑寄存器 487
9.10 应用实例 496
9.11 本章小结 498
9.12 思考题与习题 499
第10章 TMS320DM8168串行外围设备接口 500
10.1 概述 500
10.2 SPI传输模式 502
10.3 主机模式 507
10.4 从机模式 523
10.5 中断和DMA请求 528
10.5.1 中断 528
10.5.2 DMA请求 529
10.6 仿真和系统测试模式 530
10.6.1 仿真模式 530
10.6.2 系统测试模式 531
10.7 复位与省电管理 531
10.7.1 复位 531
10.7.2 省电管理 531
10.8 对数据寄存器的访问 533
10.9 SPI模块编程 533
10.10 SPI寄存器 538
10.11 应用编程实例 557
10.12 本章小结 562
10.13 思考题与习题 562
第11章 TMS320DM8168多通道缓冲串口 563
11.1 概述 563
11.2 数据传输 565
11.2.1 数据传输过程 565
11.2.2 位重排序(选择LSB优先) 565
11.2.3 时钟和帧数据 566
11.2.4 帧相位 568
11.2.5 McBSP数据接收 570
11.2.6 McBSP数据发送 571
11.2.7 发送和接收的使能/禁止过程 572
11.3 McBSP采样率发生器 572
11.3.1 采样率发生器的时钟产生 573
11.3.2 采样率发生器的帧同步信号产生 574
11.3.3 采样率发生器输出与外部时钟同步 575
11.4 McBSP的异常/错误条件 577
11.4.1 接收器溢出 577
11.4.2 异常接收帧同步脉冲 578
11.4.3 接收器下溢 579
11.4.4 发送器下溢 579
11.4.5 异常发送帧同步脉冲 580
11.4.6 发送器溢出 581
11.5 McBSP DMA配置 582
11.6 多通道选择模式 582
11.6.1 8分区模式 583
11.6.2 2分区模式 584
11.6.3 接收多通道选择模式 585
11.6.4 发送多通道选择模式 586
11.7 McBSP全/半循环模式 589
11.8 电源管理 590
11.8.1 强制空闲 590
11.8.2 智能空闲 590
11.9 编程模式 591
11.9.1 初始化McBSP 591
11.9.2 复位/初始化采样率发生器 592
11.9.3 配置数据传输DMA请求 593
11.9.4 中断配置 594
11.9.5 接收器/发送器配置 594
11.10 McBSP引脚的通用I/O设置 605
11.11 McBSP寄存器 606
11.12 McBSP应用实例 630
11.13 本章小结 633
11.14 思考题与习题 633
第12章 TMS320DM8168多媒体片内外围设备 634
12.1 高清视频处理子系统 634
12.1.1 概述 634
12.1.2 功能特性 635
12.1.3 去隔行模块 639
12.1.4 高质量去隔行模块 640
12.1.5 视频复合模块 643
12.1.6 图形模块 645
12.1.7 高清视频编码器 647
12.1.8 噪声滤波模块 649
12.1.9 高质量缩放和普通缩放 649
12.1.10 标清视频编码器 651
12.1.11 视频输入解析模块 651
12.1.12 其他视频输入端口 657
12.1.13 应用实例 658
12.2 多声道音频串行接口 662
12.2.1 概述 662
12.2.2 结构 672
12.2.3 时钟和帧同步信号发生器 672
12.2.4 传输模式 676
12.2.5 串行器 678
12.2.6 格式化单元 679
12.2.7 时钟检查电路 681
12.2.8 引脚功能控制 681
12.2.9 数据发送和接收 683
12.2.10 McASP的启动与初始化 684
12.2.11 McASP寄存器 686
12.3 高清晰度多媒体接口 688
12.3.1 概述 688
12.3.2 结构 690
12.3.3 HDMI寄存器 693
12.4 以太网接口 701
12.4.1 概述 701
12.4.2 结构 703
12.4.3 EMAC控制模块 705
12.4.4 MDIO模块 708
12.4.5 EMAC模块 710
12.4.6 媒体独立接口MII 711
12.4.7 EMAC/MDIO寄存器 713
12.4.8 应用编程实例 716
12.5 本章小结 721
12.6 思考题与习题 721
第13章 TMS320DM8168 I2C总线接口 722
13.1 简介 722
13.1.1 概述 722
13.1.2 功能模块 722
13.1.3 特征 723
13.2 结构 723
13.2.1 I2C主从控制信号 724
13.2.2 I2C复位及其数据有效性 725
13.2.3 I2C操作 725
13.2.4 仲裁 727
13.2.5 I2C时钟产生和同步 728
13.2.6 预分频器 729
13.2.7 噪声滤波器 729
13.2.8 I2C中断与DMA事件 729
13.2.9 FIFO管理 730
13.3 I2C寄存器 735
13.4 I2C应用举例 757
13.5 本章小结 759
13.6 思考题与习题 759
第14章 TMS320DM8168其他片内外围设备 761
14.1 SATA接口 761
14.1.1 概述 761
14.1.2 SATA控制器体系结构 764
14.1.3 SATA寄存器 771
14.1.4 SATA应用举例 771
14.2 SD/SDIO接口 773
14.2.1 概述 773
14.2.2 SD/SDIO功能模式 775
14.2.3 复位、电源管理与中断请求 778
14.2.4 DMA模式 784
14.2.5 缓冲区管理 786
14.2.6 传输过程 789
14.2.7 传输/命令状态和错误报告 792
14.2.8 SD/SDIO卡引导模式管理 795
14.2.9 Auto CMD12时序 796
14.2.10 SD/SDIO寄存器 797
14.3 本章小结 798
14.4 思考题与习题 798
第15章 TMS320DM8168集成开发环境 799
15.1 CCS集成开发环境概述 799
15.1.1 简介 799
15.1.2 CCS组成及功能 800
15.1.3 代码产生工具 801
15.1.4 CCS集成开发环境 803
15.2 Code Composer Studio IDE v5 804
15.3 CCS v5应用窗口、菜单与工具栏 811
15.3.1 CCS v5应用窗口 811
15.3.2 CCS v5菜单 812
15.4 CCS v5的安装配置与使用 813
15.4.1 安装CCS v5 813
15.4.2 使用CCS v5 816
15.5 CCS v5资源管理器介绍及应用 824
15.6 开发SYS/BIOS程序 828
15.6.1 SYS/BIOS实时操作系统 828
15.6.2 开发SYS/BIOS程序 829
15.7 本章小结 835
15.8 思考题与习题 835
第16章 Ubuntu操作系统下DM8168开发 836
16.1 Ubuntu10.04.4 操作系统 836
16.1.1 Ubuntu10.0.04操作系统的安装 836
16.1.2 终端工具minicom 837
16.1.3 NFS与TFTP 839
16.1.4 交叉编译工具 840
16.2 EZSDK5.03开发包 840
16.2.1 在ubuntu中安装EZSDK 840
16.2.2 编译UBOOT与配置启动参数 841
16.2.3 如何配置与编译内核 843
16.2.4 以SD卡方式启动DM8168 846
16.2.5 以Nand Flash方式启动DM8168 846
16.3 应用程序开发 848
16.3.1 hello word 848
16.3.2 视频采集显示 849
16.4 本章小结 852
16.5 思考题与习题 852
第17章 TMS320DM8168硬件设计参考 853
17.1 DM8168供电电源的设计 853
17.2 DM8168复位与时钟电路 855
17.3 DDR3的PCB布线技术 856
17.4 PCIe的PCB布线技术 859
17.5 SATA的PCB布线技术 859
17.6 HDMI的PCB布线技术 860
17.7 TMS320DM8168 CCS调试 864
17.7.1 CCS测试DDR3 864
17.7.2 CCS测试NAND Flash 864
17.7.3 CCS烧写UBOOT 865
17.8 本章小结 865
17.9 思考题与习题 866
第18章 视频编码系统开发实例 867
18.1 视频编码算法简介 867
18.1.1 概述 867
18.1.2 视频编码基本原理 868
18.1.3 H.2 64视频编码算法 872
18.1.4 H.2 64的句法 878
18.2 TMS320DM8168评估板 881
18.3 开发环境的搭建 884
18.3.1 视频编码硬件系统 884
18.3.2 EZSDK开发工具 885
18.3.3 Linux操作系统 887
18.3.4 开发环境的搭建 890
18.3.5 SD卡启动DM8168 891
18.4 基于ARM+DSP的视频编码系统 891
18.4.1 Codec Engine 891
18.4.2 算法实现 895
18.5 基于HDVICP的视频编码系统 902
18.5.1 OpenMAX 902
18.5.2 系统总体设计 904
18.5.3 组件设计 906
18.5.4 组件状态转换 907
18.6 本章小结 908
18.7 思考题与习题 909
书中常用术语缩写解释 910
附录 重庆大学DM8168高清视频处理实验照片 912
参考文献 914