第1章 智能仪表项目开发方案实例 1
1.1 智能仪表的组成原理 1
1.1.1 智能仪表的概念 1
1.1.2 智能仪表的硬件组成 2
1.1.3 智能仪表的软件组成 3
1.2 智能仪表的研制开发步骤 4
1.2.1 制订总体方案 4
1.2.2 工程设计与实现 6
1.2.3 系统的调试 7
1.3 选题调研实例 7
1.3.1 选题背景 7
1.3.2 国内外技术状态和发展趋势 9
1.4 开发流程规划 10
1.5 总体方案设计实例 11
1.5.1 总体方案设计原则 11
1.5.2 系统总体结构 11
1.5.3 系统各组成单元总体方案 13
1.5.4 技术途径 15
第2章 微控制器选型实例 17
2.1 微控制器 17
2.1.1 微控制器简介 17
2.1.2 常用16位单片机简介 18
2.2 嵌入式微处理器 20
2.3 数字信号处理器 21
2.4 可编程逻辑器件 22
2.4.1 可编程逻辑器件简介 22
2.4.2 CycloneⅡ简介 25
2.5 微控制器选择考虑因素 26
2.6 MC9S12DG256微控制器 29
2.6.1 MC9S12DG256微控制器简介 30
2.6.2 MC9S12DG256微控制器功能模块介绍 31
2.6.3 mc9s12dg256.h文件定义 39
2.7 MC9S12DG256开发调试工具 44
2.7.1 开发调试工具介绍 44
2.7.2 调试工具使用 44
第3章 数据采集单元开发实例 53
3.1 数据采集单元输入通道 53
3.1.1 压力变送器开发 53
3.1.2 电压电流转换电路 56
3.1.3 开关量隔离输入接口 57
3.1.4 A/D转换及TLC1543 A/D转换器 58
3.1.5 模拟量输入保护电路 61
3.2 数据采集单元输出通道 62
3.2.1 D/A转换及TLC5617 D/A转换器 62
3.2.2 模拟量隔离输出接口 65
3.2.3 开关量控制输出接口 70
3.3 数据采集单元电源规划 71
3.4 数据采集单元电路原理图 72
第4章 主控单元开发实例 77
4.1 主控单元输入通道 77
4.2 主控单元人机通道 78
4.2.1 显示面板 78
4.2.2 拨码开关密码保护接口 78
4.2.3 键盘接口 79
4.2.4 与FPGA压力显示模块的接口 80
4.2.5 工作状态显示接口 81
4.2.6 系统报警输出接口 83
4.3 主控单元电源规划 84
4.4 主控单元电路原理图 84
第5章 基于FPGA的压力显示模块开发实例 88
5.1 基于FPGA的硬件设计 88
5.1.1 数码管动态扫描 88
5.1.2 EP2C5Q208C8简介 89
5.1.3 模块硬件整体结构 89
5.1.4 配置电路设计 90
5.1.5 模块电源电路设计 91
5.2 基于VHDL的软件设计 91
5.3 FPGA开发调试工具 94
5.4 压力显示模块电路原理图 103
第6章 通信接口设计实例 107
6.1 常用串行通信协议 107
6.2 系统通信接口设计 111
6.3 通信协议及程序开发 113
6.3.1 主控单元和数据采集单元的通信协议 114
6.3.2 主控单元和数据采集单元的通信程序 116
6.3.3 远程PC和主控单元的通信协议 122
6.3.4 远程PC和主控单元的通信程序 123
第7章 软件开发实例 127
7.1 底层硬件接口程序 127
7.1.1 EETS4K模块读写驱动程序 127
7.1.2 串行接口驱动程序 129
7.1.3 实时时钟RTI驱动程序 129
7.1.4 ATD_10B8C模块驱动程序 130
7.1.5 74HC164驱动3位8段数码管的驱动程序 130
7.1.6 74HC165驱动8位微型拨码开关的驱动程序 132
7.1.7 与FPGA接口驱动程序 134
7.1.8 按键扫描驱动检测程序 137
7.1.9 TLC1543驱动程序 140
7.1.10 模拟量数据采集驱动程序 143
7.1.11 TLC5617驱动程序 144
7.2 μC/OS-Ⅱ嵌入式实时操作系统 146
7.3 μC/OS-Ⅱ在MC9S12DG256微控制器上的移植 148
7.3.1 μC/OS-Ⅱ的移植条件 148
7.3.2 为内核编写与硬件相关的代码 149
7.3.3 重新定义内核的大小和功能 151
7.4 软件系统任务划分及管理 155
7.4.1 数据采集单元任务划分及管理 155
7.4.2 主控单元任务划分及管理 161
7.5 远程PC软件 174
7.5.1 功能需求分析 174
7.5.2 串行通信 174
7.5.3 界面设计 175
第8章 抗干扰设计 177
8.1 硬件抗干扰 177
8.1.1 接地技术 177
8.1.2 隔离技术 180
8.1.3 去耦电路 182
8.1.4 稳压电路 182
8.1.5 晶体振荡器 183
8.1.6 其他措施 183
8.2 软件抗干扰 183
8.2.1 数字滤波 184
8.2.2 看门狗技术 184
8.2.3 参数冗余检错 185
8.2.4 开关量输入输出软件抗干扰措施 185
8.3 RS-485总线的抗干扰 186
第9章 试验调试 188
9.1 试验调试主要内容 188
9.2 实例项目的实验室调试 189
9.3 实例项目的现场试验调试 190
第10章 50m跑自动计时器设计实例解析 193
10.1 设计要求 193
10.2 总体方案的设计 193
10.3 硬件设计 194
10.3.1 单片机的选择 194
10.3.2 电源设计 194
10.3.3 起点电路 195
10.3.4 终点电路 198
10.3.5 LCD电路 200
10.3.6 通信接口电路 201
10.4 软件设计 201
10.4.1 起点程序设计 201
10.4.2 终点程序设计 203
第11章 电机车防撞仪实例解析 213
11.1 设计要求 213
11.2 总体方案的设计 213
11.2.1 碰撞危险度的判定 213
11.2.2 电机车防撞仪的工作原理 214
11.2.3 系统总体方案 214
11.3 硬件设计 215
11.3.1 微控制器的选择 215
11.3.2 激光测距系统电路的设计 215
11.3.3 速度测定系统电路设计 216
11.3.4 通信接口设计 216
11.3.5 LED工作指示电路设计 217
11.3.6 复位电路设计 217
11.3.7 信号输出电路设计 218
11.4 无线语音通信系统设计 219
11.4.1 无线语音通信的建立 219
11.4.2 语音压缩编解码 219
11.4.3 nRF401无线收发模块 219
11.5 软件设计 220
11.5.1 主程序 220
11.5.2 报警、按键扫描和显示子程序 223
11.5.3 开关扫描子程序 227
11.5.4 激光测距通信控制子程序 230
11.5.5 测速控制子程序 243
第12章 闭眼单脚站立测试仪设计实例解析 247
12.1 设计要求 247
12.2 总体方案的设计 247
12.2.1 测量方法的选择 247
12.2.2 系统解决方案 248
12.2.3 系统各部分组成功能介绍 249
12.3 硬件设计 249
12.3.1 微控制器的选择 249
12.3.2 光电测量电路的设计 253
12.3.3 光电接收电路 253
12.3.4 脉冲发生电路及信号接收处理电路 254
12.3.5 多通道光电测量系统 254
12.3.6 通信接口的设计 256
12.3.7 液晶显示接口 256
12.3.8 按键电路设计 256
12.3.9 电源电路设计 256
12.4 软件设计 257
第13章 体重秤设计实例解析 268
13.1 设计要求 268
13.2 总体方案设计 268
13.3 硬件设计 269
13.3.1 单片机的选择 269
13.3.2 看门狗电路设计 269
13.3.3 传感器的选择 269
13.3.4 电源设计 269
13.3.5 变压器的选择 270
13.3.6 5V及6V电源设计 270
13.3.7 参考电源设计 270
13.3.8 信号放大电路 270
13.3.9 TLC2543 A/D转换芯片 271
13.3.10 RS-232通信接口的设计 273
13.3.11 数码管显示电路的设计 273
13.4 软件设计 276
第14章 多功能数字电子时钟设计实例解析 300
14.1 设计要求 300
14.2 硬件设计 300
14.2.1 单片机的选择 300
14.2.2 时钟电路设计 301
14.2.3 温度测量电路设计 301
14.2.4 按键与显示电路设计 302
14.3 软件设计 303
参考文献 325