第1章 远程实验的发展 1
1.1 远程教育的发展 1
1.2 互联网+教育 4
1.3 虚拟实验与远程实验 6
1.4 研究现状 7
1.4.1 虚拟实验 8
1.4.2 远程实物实验 9
第2章 远程实验系统研究 14
2.1 远程实验的概念 14
2.2 远程实验的分类 14
2.2.1 基于虚拟仿真的远程实验 15
2.2.2 基于远程控制的远程实验 16
2.2.3 控制型远程实验的分类 17
2.3 远程实验系统的网络通信 17
2.3.1 TCP/IP协议 18
2.3.2 工业以太网 20
2.3.3 LXI总线 23
2.3.4 CAN总线 25
2.3.5 FF总线 27
2.3.6 其他现场总线技术 30
2.4 自动测试系统与远程实验 34
2.4.1 自动测试系统的逻辑结构 34
2.4.2 自动测试系统的基本原理 35
2.4.3 自动测试系统的发展 36
2.4.4 自动测试系统的组建 38
2.5 远程实验系统的网络结构模式 39
2.5.1 基于C/S模式的网络结构 40
2.5.2 基于B/S模式的网络结构 44
2.5.3 基于C/S和B/S混合模式 46
2.6 远程实验系统的典型架构 47
2.6.1 远程实验系统简单架构 47
2.6.2 UTS架构 48
2.6.3 iLab架构 50
2.7 远程网络协作实验系统 51
2.7.1 基于CSCL的远程实验系统 52
2.7.2 远程实验室的协同 54
2.8 远程实验系统中的调度 57
2.8.1 调度方法 58
2.8.2 Sahara的体系结构 59
2.8.3 Sahara的预约调度 60
2.8.4 Sahara的排队调度 60
第3章 系统分析与设计 62
3.1 需求与任务分析 62
3.2 系统结构设计 65
3.3 组网与通信 67
第4章 可程控逻辑验证平台 68
4.1 系统总体结构 68
4.2 FPGA核心模块 72
4.2.1 硬件概述 72
4.2.2 FPGA器件 72
4.2.3 配置电路 74
4.2.4 时钟电路 77
4.2.5 存储电路 77
4.2.6 按键与LED指示电路 80
4.2.7 用户I/O接口 81
4.2.8 电源电路 82
4.3 底板硬件设计 83
4.3.1 信号发生与测控模块 83
4.3.2 多模式输出控制模块 88
4.3.3 其他外围实验单元 90
4.4 信号发生与测控模块固件设计 91
4.4.1 系统设计规划 91
4.4.2 频率脉宽测量模块 93
4.4.3 信号发生模块 101
4.4.4 旋转编码开关处理模块 104
4.4.5 单片机接口模块 106
4.4.6 单片机程序设计 112
4.5 多模式输出控制模块 116
第5章 控制服务器 118
5.1 控制服务器总体结构 118
5.2 系统硬件 120
5.2.1 微控制器 120
5.2.2 供电控制 123
5.2.3 开关机控制 124
5.2.4 开关机检测 125
5.2.5 通信模块 126
5.2.6 蓄电池管理 132
5.2.7 其他模块 141
5.3 系统配置与软件实现 147
5.3.1 以太网模块配置 147
5.3.2 软件实现 151
5.3.3 单片机低功耗实现 158
第6章 视频服务器 160
6.1 嵌入式硬件平台 160
6.1.1 嵌入式处理器资源 161
6.1.2 板载外设资源 163
6.2 嵌入式Linux系统开发环境 163
6.2.1 Bootloarder移植 164
6.2.2 嵌入式Linux内核移植 165
6.2.3 根文件系统构建 166
6.3 V4L2驱动 166
6.3.1 V4L2驱动框架 167
6.3.2 V4L2驱动调用流程 168
6.4 视频的采集与传输 171
6.4.1 视频采集 173
6.4.2 视频传输 182
6.5 视频服务器的编译与运行 187
6.6 摄像机与镜头 189
6.6.1 摄像机 189
6.6.2 光学镜头 193
第7章 实验服务器 198
7.1 数据通信 199
7.1.1 Winsock控件 199
7.1.2 与客户端的通信 201
7.1.3 与控制服务器的通信 206
7.2 数据管理 213
7.2.1 数据库创建 213
7.2.2 数据库操作 218
7.2.3 数据库维护 222
第8章 实验计算机 226
8.1 FPGA的配置方法 228
8.1.1 AS与Fast AS配置 228
8.1.2 FPGA的PS配置 230
8.1.3 FPGA的JTAG配置 232
8.2JTAG原理 234
8.2.1 边界扫描 234
8.2.2 测试访问端口 235
8.2.3 JTAG指令 239
8.3 基于嵌入式平台的配置实践 240
8.3.1 Jam STAPL 240
8.3.2 Jam Player 242
8.3.3 Jam Player移植 245
8.4 基于PC的配置实践 249
8.4.1 Quartus的命令行设计 251
8.4.2 基于命令行的编程与配置 254
8.4.3 编程实现 263
8.5 系统通信 270
8.5.1 数据接收与转发 270
8.5.2 配置文件接收 279
第9章 客户机系统 282
9.1 客户机系统构成 282
9.2 客户端软件结构 283
9.3 服务请求 285
9.4 开关机控制 285
9.5 音视频 286
9.6 远程配置 288
9.6.1 配置文件的发送 289
9.6.2 配置命令的发送 291
9.7 测量数据接收与控制命令发送 291
9.7.1 测量数据接收与显示 291
9.7.2 控制命令发送 293
参考文献 295