第一部分 聚芯SoC的结构与原理 3
第1章 概述 3
1.1 SoC发展综述 3
1.2 聚芯SoC的研制历程 5
1.3 聚芯SoC的特点 7
1.4 聚芯SoC的应用范围 8
第2章 聚芯SoC总体结构 9
2.1 组成原理 9
2.2 总线架构L*BUS 11
2.2.1 AXB总线 12
2.2.2 OEB总线 19
2.2.3 DCB总线 20
2.2.4 L*BUS特点 21
2.3 存储组织 23
2.3.1 存储空间分类 23
2.3.2 DCB配置空间分配 24
2.4 龙芯CPU核 25
2.4.1 存储管理 26
2.4.2 浮点部件 30
2.5 关键技术与创新 39
2.4.3 媒体处理 39
2.6 主要技术指标 41
第3章 聚芯SoC系统控制 44
3.1 系统时钟控制 44
3.2 系统初始配置 48
3.3 日历/定时/看门狗控制 50
3.3.1 RTC/日历模块 50
3.3.2 看门狗(Watch Dog) 52
3.4 DMA控制器 53
3.5 GPIO控制器 54
3.6 中断控制 56
3.7 功耗管理 59
3.7.1 IP核(模块)级低功耗管理 60
3.7.2 动态变频低功耗管理 60
3.7.3 动态功耗管理策略 61
3.8 电源管理 61
第4章 聚芯SoC片内驻留设备 63
4.1 I2C接口 63
4.1.1 I2C总线简介 63
4.1.2 聚芯SoC中I2C总线的实现 65
4.2.1 USB控制器工作原理 67
4.2 USB控制器 67
4.2.2 聚芯SoC USB OHCI主机控制器的各模块功能介绍 72
4.3 UART 77
4.3.1 串行通信协议 77
4.3.2 串行通信的物理标准 79
4.3.3 UART16550的IP设计 81
4.3.4 串口使用说明 84
4.4 LCD液晶显示 89
4.4.1 LCD的工作原理与特点 89
4.4.2 聚芯SoC LCD控制器 91
4.5.1 DMA工作原理 95
4.5 外部DMA 95
4.5.2 聚芯SoC外部DMA工作特点 96
4.6 键盘/鼠标接口 96
4.6.1 PS/2接口控制器 96
4.6.2 PS/2帧结构 101
4.6.3 PS/2通信时序 101
4.6.4 电气接口 102
4.7 AC'97接口 103
4.7.1 AC'97接口概述 103
4.7.2 AC'97控制器的寄存器 105
4.7.3 AC'97控制器主要工作原理 106
4.7.4 AC'97控制器整体结构 108
4.8 并行口/打印口 109
4.8.1 并行端口原理 109
4.8.2 聚芯并口打印机特点 110
第5章 聚芯SoC片上扩展设备 112
5.1 SDRAM接口 112
5.1.1 动态随机存储器(DRAM) 112
5.1.2 聚芯SoC的存储子系统的内部结构 114
5.2.1 PCI 2.2简介 119
5.2 PCI 2.2接口 119
5.2.2 聚芯SoC的PCI 2.2接口 121
5.3 Local Bus接口 126
第6章 指令集简介 129
6.1 龙芯指令集 129
6.2 媒体指令集 140
6.2.1 聚芯SoC支持的多媒体指令 140
6.2.2 聚芯SoC支持的Parallel指令 141
6.2.3 聚芯SoC多媒体指令操作 142
7.1.1 封装技术发展趋势 147
第7章 封装与电气特性 147
7.1 IC封装简介 147
7.1.2 封装的分类 148
7.1.3 封装类型和特性 149
7.2 聚芯SoC的封装 150
7.2.1 封装参数 150
7.2.2 信号说明 152
7.3 I/O PIN特性 164
7.3.1 LVTTL 164
7.3.3 HSTL 165
7.3.2 PCIX、PCI33、PCI66 165
7.3.4 SSTL 166
7.4 聚芯SoC-1000B的电气特性 167
7.4.1 芯片的最大工作范围 167
7.4.2 聚芯SoC-1000B的DC参数 168
7.4.3 聚芯SoC-1000B的AC参数 168
第二部分 嵌入式系统常见外围设备与硬件设计 173
第8章 聚芯SoC存储设计 173
8.1 存储组织结构 173
8.1.1 系统总体地址分配 173
8.1.2 OEB设备地址分配 174
8.1.3 DCB总线地址分配 175
8.2 SDRAM接口设计 176
8.2.1 DIMM条规范 176
8.2.2 聚芯SoC SDRAM控制器特点 177
8.2.3 聚芯SoC端SDRAM接口信号 178
8.2.4 DIMM条接口信号 179
8.3 FLASH/SRAM设计 181
8.3.1 8/16位NOR FLASH的扩展方法 182
8.3.3 SRAM的扩展方法 183
8.3.2 NAND FLASH的扩展方法 183
第9章 聚芯SoC设备驱动设计 185
9.1 异步串口的互联设计 185
9.2 键盘鼠标的接口设计 188
9.3 并口/打印机接口设计 189
9.4 AC'97接口设计 190
9.5 USB接口设计 192
9.6 LCD TFT/STN接口设计 199
9.7 GPIO应用设计 200
10.1.1 DOC2000扩展 201
10.1 Local Bus接口扩展 201
第10章 聚芯SoC I/O设备扩展设计 201
10.1.2 CF+卡接口扩展 202
10.1.3 IDE接口扩展 206
10.2 PCI扩展设计 207
10.3 USB扩展设计 211
第三部分 嵌入式系统的开发工具与软件开发 215
第11章 聚芯SoC开发评估板 215
11.1 板卡介绍 215
11.2 聚芯SoC BIOS介绍 217
11.2.1 开发目标和环境工具 218
11.2.2 系统初始化 219
11.3 EJTAG在线调试 222
第12章 聚芯SoC多操作系统支持 225
12.1 Linux操作系统支持 225
12.1.1 认识Linux内核源代码 226
12.1.2 Linux启动过程 227
12.1.3 Linux内核配置系统 228
12.1.4 实例 235
12.2.2 TornadoⅡ集成开发环境 238
12.2.1 VxWorks操作系统简介 238
12.2 VxWorks操作系统支持 238
12.2.3 VxWorks对于SoC芯片的支持 239
12.2.4 开发VxWorks应用程序 240
12.3 Windows CE 242
12.3.1 嵌入式操作系统Windows CE介绍 242
12.3.2 Windows CE移植简介 242
12.4 其他操作系统支持 249
12.4.1 μC/OS-Ⅱ 249
12.4.2 eCos-Ⅱ 251
13.1 常用工具软件 253
第13章 聚芯SoC应用开发 253
13.2 程序设计 255
13.2.1 源程序的编译 255
13.2.2 Makefile的编写 256
13.2.3 程序库的链接 257
13.3 在线调试 258
13.4 系统固化 263
13.4.1 EPROM和FLASH系统固化 263
13.4.2 DOC2000系统固化实例 264
参考文献 267