第1章 飞思卡尔智能汽车竞赛简介 1
1.1 关于飞思卡尔公司 1
1.2 “飞思卡尔”杯智能汽车竞赛 2
1.3 比赛规则 4
第2章 S12XS与K10系列处理器概述 5
2.1 S12XS概述 5
2.2 S12XS的设备寄存器和地址映射 6
2.3 芯片封装及引脚说明 8
2.4 K10概述 11
2.5 芯片封装及引脚说明 15
第3章 单片机的C语言设计基础 19
3.1 C语言数据类型 19
3.1.1 基本类型 19
3.1.2 构造类型 20
3.2 变量的运算符 21
3.3 变量修饰符 22
3.4 基本语句 24
3.4.1 循环语句 24
3.4.2 条件语句 25
3.4.3 开关语句 26
3.4.4 辅助控制语句 27
3.5 头文件 27
3.6 预处理 32
3.7 指针 34
3.7.1 指针简介 34
3.7.2 指针与数组的区别 35
3.8 代码编写风格 35
第4章 S12XS单片机资源及相应操作 38
4.1 锁相环设置 38
4.1.1 锁相环描述 38
4.1.2 CRG模块相关控制寄存器描述 38
4.1.3 锁相环设置的应用程序 45
4.2 I/O操作 46
4.2.1 I/O端口描述 46
4.2.2 I/O端口相关控制寄存器 46
4.2.3 I/O端口的应用程序 47
4.3 SCI串行通信 47
4.3.1 SCI串行通信概述 47
4.3.2 SCI相关控制寄存器 48
4.3.3 串口通信的应用程序 52
4.4 ADC模块操作 53
4.4.1 ADC模块概述 53
4.4.2 ADC模块相关控制寄存器 54
4.4.3 ADC模块的应用程序 61
4.5 PWM模块操作 62
4.5.1 PWM模块概述 63
4.5.2 主要寄存器描述 63
4.5.3 PWM应用实例 67
4.6 定时器 68
4.6.1 定时器概述 68
4.6.2 寄存器描述 68
4.6.3 增强型脉冲捕捉功能应用实例 73
4.7 中断周期定时器 74
4.7.1 中断定时器概述 74
4.7.2 控制寄存器描述 74
4.7.3 中断定时器应用实例 76
4.8 SPI同步串行通信 77
4.8.1 SPI概述 77
4.8.2 SPI寄存器描述 77
4.8.3 SPI初始化例程 81
第5章 K10系列MCU资源及相应操作 82
5.1 SIM模块设置 82
5.2 锁相环设置 82
5.2.1 锁相环描述 82
5.2.2 MCG模块相关控制寄存器描述 82
5.2.3 MCG初始化例程 89
5.3 I/O操作 91
5.3.1 I/O端口描述 91
5.3.2 I/O端口相关控制寄存器 91
5.3.3 I/O端口的应用程序 95
5.4 UART异步串行通信 95
5.4.1 UART串行通信概述 95
5.4.2 UART相关控制寄存器 96
5.4.3 串口通信的应用程序 102
5.5 ADC模块操作 103
5.5.1 ADC模块概述 103
5.5.2 ADC模块相关控制寄存器 104
5.5.3 ADC模块的应用程序 112
5.6 PWM模块操作 113
5.6.1 PWM模块概述 114
5.6.2 主要寄存器描述 114
5.6.3 PWM应用实例 120
5.7 定时器 121
5.7.1 定时器概述 121
5.7.2 寄存器描述 121
5.7.3 增强型脉冲捕捉功能应用实例 123
5.8 中断周期定时器 123
5.8.1 中断定时器概述 124
5.8.2 控制寄存器描述 124
5.8.3 中断定时器应用实例 125
第6章 S12XS和K10系统开发平台及调试方法 127
6.1 S12XS最小系统设计 127
6.1.1 电源设计 127
6.1.2 时钟电路设计 128
6.1.3 最小系统滤波电路设计 129
6.1.4 复位电路设计 130
6.2 K10最小系统设计 131
6.2.1 时钟电路 131
6.2.2 电源电路 131
6.2.3 复位电路 132
6.3 智能汽车机械结构调整 132
6.3.1 前轮定位 132
6.3.2 齿轮传动结构调整 132
6.3.3 后轮差速器调整 133
6.3.4 后轮距调整 133
6.4 S12XS软件平台的简介 133
6.4.1 软件平台的安装 133
6.4.2 软件平台的使用 133
6.4.3 软件平台的调试 140
6.4.4 Processor Expert专家处理器 141
6.5 监控程序 147
6.6 仿真平台 148
6.6.1 BDM工具的安装 148
6.6.2 BDM工具和Hiwave调试工具的使用 148
6.7 K10软件平台CodeWarrior V10.1 150
第7章 传感器电路设计 163
7.1 模拟摄像头路径检测方式 163
7.1.1 模拟摄像头路径检测概述 163
7.1.2 模拟摄像头路径检测原理 163
7.2 模拟摄像头路径检测系统设计 167
7.3 红外路径检测方式原理 167
7.4 红外路径检测系统设计 168
7.4.1 传感器布局设计 168
7.4.2 传感器横向间隔距离设计 169
7.4.3 传感器纵向伸出长度 169
7.5 电磁路径检测方式原理 169
7.6 电磁路径检测系统设计 173
7.6.1 传感器的选择 173
7.6.2 传感器布局 174
7.6.3 前瞻设计 175
7.7 车速检测模块设计 177
7.8 有关直立式车模的问题 178
7.8.1 车模平衡控制 179
7.8.2 车模速度控制 181
7.8.3 车模方向控制 181
第8章 电机及舵机驱动电路设计 183
8.1 电机驱动电路选择 183
8.2 电机驱动电路设计 183
8.3 电机转速控制 189
8.4 舵机控制理论 189
8.5 舵机响应速度改善 192
8.6 舵机防烧技术 192
第9章 底层软件设计 194
9.1 模拟摄像头驱动程序 194
9.1.1 内部A/D 194
9.1.2 外部A/D 197
9.2 数字摄像头驱动程序 200
9.3 红外传感器驱动程序 205
9.4 编码器驱动程序 206
9.5 舵机/电机驱动程序 207
9.6 键盘/显示驱动程序 209
9.6.1 矩阵键盘的驱动 209
9.6.2 3510i液晶的驱动程序设计 211
第10章 赛道识别算法设计 223
10.1 摄像头类 223
10.1.1 赛道信息获取 223
10.1.2 图像特征提取 226
10.1.3 起跑线识别 231
10.1.4 赛道信息整合 233
10.2 光电类 238
10.2.1 赛道信息获取 238
10.2.2 滤波 240
10.2.3 起跑线识别 244
10.3 电磁类 244
10.3.1 赛道信息获取 245
10.3.2 滤波 246
10.3.3 起跑线识别 247
第11章 控制算法设计 248
11.1 PID控制 248
11.1.1 比例控制器 248
11.1.2 积分控制器 248
11.1.3 PI控制 249
11.1.4 PD控制 250
11.1.5 PID控制 251
11.2 数字PID控制 251
11.2.1 位置式PID控制 251
11.2.2 增量式PID控制 252
11.3 PID参数的整定 252
11.3.1 PID各参数的作用 253
11.3.2 PID参数的设置 253
11.4 Bang-Bang控制 254
11.4.1 Bang-Band控制的简介 254
11.4.2 Bang-Bang控制的应用 254
11.5 电机转速控制算法 255
11.6 双电机差速控制 256
11.7 舵机转向控制算法 258
参考文献 261