前言
第1章 把好两头是关键--输入与输出基础知识
1.1 输出
1.1.1 最简单的I/O输出
1.1.2 感性负载对I/O输出的影响
1.1.3 隔离输出
1.1.4 输出电压匹配
1.2 输入
1.2.1 输入上拉电阻的确定
1.2.2 模拟输入的问题
1.2.3 模拟输入的等效网络
1.2.4 模拟小信号处理
第2章 最简单的例子--足疗机控制器设计
2.1 功能需求分析
2.1.1 人机输入分析
2.1.2 运行模式分析
2.1.3 电路板组成部分分析
2.1.4 足疗控制器功能划分
2.2 基于成本约束的控制电路板原理图设计
2.2.1 成本控制相关的考虑
2.2.2 CPU控制板的设计
2.3 CPU控制板的PCB设计
2.3.1 PCB及贴片的成本考虑
2.3.2 焊接要求
2.4 价格成本核算
2.5 控制器开关电源设计
2.5.1 线性电源的设计
2.5.2 开关电源设计基本原理
2.5.3 用PI Expert设计足疗机的开关电源变压器
2.5.4 开关变压器的设计
2.5.5 控制集成电路部分
2.5.6 开关电源的PCB设计
2.6 控制器其他部分设计
2.7 给PCB代工厂提交的资料
2.8 足疗机软件设计
2.8.1 红外通信设计
2.8.2 PWM产生
2.8.3 定时扫描显示
2.8.4 键盘处理程序
2.8.5 间断运行模式程序
2.8.6 定位程序
2.8.7 主控子程序
2.8.8 主控程序
第3章 更进一步--乒乓发球机产品设计
3.1 需求分析
3.1.1 遥控器需求分析
3.1.2 主板需求分析
3.2 硬件功能设计和实现
3.2.1 落点的实现
3.2.2 发球个数的实现
3.2.3 红外接收的实现
3.2.4 供球电动机正反转和调速的实现
3.3 主控板硬件原理图设计
3.4 红外遥控发射硬件设计
3.4.1 遥控器硬件要求分析
3.4.2 液晶的选择
3.4.3 遥控器主板设计
3.4.4 遥控器红外发射的调制
3.4.5 遥控器的外观
3.5 软件设计规划
3.5.1 合理安排中断优先级
3.5.2 主控程序总体结构
第4章 质的飞跃-从单片机到ARM产品开发
4.1 嵌入式系统和ARM
4.1.1 JTAG接口
4.1.2 JTAG标准
4.1.3 JTAG硬件控制器
4.2 JTAG仿真器制作
4.2.1 ARM的调试结构
4.2.2 JTAG仿真环境
4.2.3 自制简易仿真器
4.2.4 JTAG仿真器硬件制作
4.2.5 JTAG 仿真器驱动软件
4.3 ADS开发套件
4.3.1 在ADS 1.2中使用简易JTAG仿真头调试
4.4 ARM启动代码和Bootloader
4.4.1 启动代码主要构成
4.4.2 启动代码实例分析
4.5 从ADS 1.2 到Realview MDK
4.5.1 工具结构的改进
4.5.2 分散加载文件
4.5.3 C库函数的差异
4.5.4 开发环境迁移实例
第5章 ARM常用外设接口
5.1 SPI接口
5.2 模块式LCD的SPI接口设计
5.2.1 128×64点阵显示器
5.2.2 模块引脚说明
5.2.3 模块式LCD硬件连接
5.2.4 模块式LCD内部存储器
5.2.5 SPI接口LCD显示程序
5.3 SPI Flash Memory编程
5.3.1 SPI Flash硬件接口
5.2.3 AT45DB041的软件接口函数
5.3 I2C接口
5.4.1 上拉电阻与传输速率
5.4.2 I2C总线三种信号
5.4.3 软件仿真I2C示例
5.4.4 带I2C硬件控制器的程序
第6章 基于STM32的室内导航家用拖地机
6.1 对mint5200进行拆解
6.2 设计方案
6.2.1 外观的修改
6.2.2 机械设计
6.2.3 室内导航方案的选择
6.2.4 导航系统方案设计
6.2.5 红外通信方案设计
6.2.6 保证直线行走的设计方案
6.2.7 方案的合理性分析
6.3 总体设计
6.4 硬件设计
6.5 软件设计
6.5.1 关于STM32固件库
6.5.2 异常信号的处理
6.5.3 电动机控制部分
6.5.4 红外和噪声波载波发生
6.5.5 PID电动机速度控制
6.5.6 MPU6050陀螺仪及姿态解算
6.5.7 有关清洁覆盖算法分析
6.5.8 规则动作库
6.6 拖地机产品样机
6.7 拖地机专利撰写举例
第7章 基于OS层面ARM必备知识- 嵌入式Linux文件系统
7.1 Linux文件系统简介
7.1.1 ext2和INODE
7.1.2 虚拟文件系统(VFS)
7.2 注册文件系统
7.3 安装文件系统
7.4 在虚拟文件系统中搜寻文件
7.5 卸载文件系统
7.6 /proc文件系统
7.7 设备特殊文件
7.8 常见的flash文件系统
7.8.1 Flash的特点
7.8.2 JFFS2
7.8.3 YAFFS文件系统
7.9 根文件系统
第8章 将设备联网-嵌入式Web Sever的实现
8.1 Web基础知识
8.1.1 HTTP协议
8.1.2 HTTP请求
8.1.3 HTTP应答
8.2 面向电子商务的B/S结构
8.3 Web Server制作网页
8.4 CGI工作原理
8.4.1 环境变量
8.4.2 CGI标题和GET/POST
8.4.4 CGI程序的开发
8.4.5 几种常用数据库接口
8.4.6 几种常用CGI及其Web开发语言
8.5 JavaScript脚本
8.5.1 JavaScript的语句及语法
8.5.2 JavaScript编程举例
8.6 Socket通信
8.6.1 TCP Socket编程举例
8.6.2 UDP Socket编程举例
8.6.3 HTTP请求中Client与Server的交互过程
8.6.4 一个简单的Web服务器例子
8.7 嵌入式Web服务器Boa的特点
8.7.1 Boa的功能实现
8.7.2 Boa的移植步骤
8.7.3 CGIC库的移植
8.7.4 HTML模板的制作
8.7.5 一个综合的Web测试实验
8.8 通过网络远程控制开发板上的灯
第9章 基于Linux的家庭网关设计
9.1 产品开发背景
9.2 功能需求
9.3 家庭网关设计
9.3.1 网络通信设计
9.3.2 网关软件架构
9.3.3 关于视频硬件设计
9.3.4 系统整体的硬件设计
9.3.5 家庭网关系统包含的软件
9.4 硬件平台设计
9.5 嵌入式Web开发概述
9.5.1 Mizi Linux
9.5.2 Boa小型Web服务器
9.5.3 SQLite轻型数据库
9.5.4 网关的软件平台构造
9.6 软件环境搭建步骤
9.6.1 烧写Mizi Linux
9.6.2 搭建交叉编译环境
9.6.3 Boa移植
9.6.4 SQLite移植
9.6.5 SQLite使用方法与常用命令
9.6.6 建立数据库
9.7 CGI程序设计与实现
9.7.1 CGI与客户端的通信机制
9.7.2 程序中读写SQLite数据库
9.7.3 RS-485串口读写
9.7.4 指令格式定义
9.7.5 CGI脚本举例
9.8 前台网页设计与实现
9.8.1 HTML简介
9.8.2 CSS简介
9.8.3 JavaScript简介
9.8.4 Ajax技术
9.9 网关使用说明书
9.9.1 产品概述
9.9.2 用户登录
9.9.3 主界面
9.9.4 家电控制
9.9.5 系统设置