封面
书名
版权
前言
目录
第1章 如何开始DSP的学习和开发
1.1 DSP基础知识
1.1.1 什么是DSP
1.1.2 DSP的特点
1.1.3 DSP与MCU、ARM、FPCTA的区别
1.1.4 学习开发DSP所需要的知识
1.2 如何选择DSP
1.2.1 DSP厂商介绍
1.2.2 TI公司各个系列DSP的特点
1.2.3 TI DSP具体型号的含义
1.2.4 C2000系列DSP选型指南
1.3 DSP开发所需要准备的工具以及开发平台的搭建
1.3.1 CCS的版本
1.3.2 CCS3.3的安装
1.3.3 仿真器的安装
1.3.4 Setup Code Composer Studio v3.3的配置
1.3.5 基于HDSP-Super2812开发平台的搭建
1.4 如何学好DSP
1.4.1 众多工程师的讨论和经验
1.4.2 作者的建议
第2章 TMS320X2812的结构、资源及性能
2.1 TMS320X2812的片内资源
2.1.1 TMS320X2812的性能
2.1.2 TMS320X2812的片内外设
2.2 TMS320X2812的引脚分布及引脚功能
2.2.1 TMS320X2812的引脚分布
2.2.2 TMS320X2812的引脚功能
第3章 TMS320X281x的硬件设计
3.1 如何保证X2812系统的正常工作
3.2 常用硬件电路的设计
3.2.1 TMS320X2812最小系统设计
3.2.2 电源电路的设计
3.2.3 复位电路及JATG下载口电路的设计
3.2.4 外扩RAM的设计
3.2.5 外扩Flash的设计
3.2.6 PWM电路的设计
3.2.7 串口电路的设计
3.2.8 A/D保护及校正电路的设计
3.2.9 CAN电路的设计
3.3 D/A电路的设计以及波形发生器的实现
第4章 如何构建一个完整的工程
4.1 一个完整的工程由哪些文件构成
4.1.1 头文件
4.1.2 库文件
4.1.3 源文件
4.1.4 CMD文件
4.2 通用扩展语言GEL
4.2.1 GEL语法
4.2.2 GEL函数
4.2.3 GEL语句
4.2.4 加载或卸载GEL函数
4.2.5 使用关键字在GEL菜单中添加GEL函数
4.2.6 CCS自带的GEL函数
4.2.7 解读c2812.gel文件
4.2.8 体验有趣的GEL函数
4.3 手把手教你创建新的工程
第5章 CCS3.3的常用操作
5.1 了解CCS3.3的布局和结构
5.2 编辑代码时的常用操作
5.2.1 创建新的工程
5.2.2 打开已存在的工程
5.2.3 新建一个文件
5.2.4 向工程添加文件
5.2.5 移除工程中的文件
5.2.6 给工程添加库文件
5.2.7 查找变量
5.2.8 替换变量
5.2.9 查看源码
5.3 编辑完成后常用的操作
5.3.1 生成可执行代码
5.3.2 链接目标板上的DSP
5.3.3 将可执行文件下载入DSP
5.3.4 运行、暂停程序
5.4 调试时常用的操作
5.4.1 添加、移除断点
5.4.2 单步调试
5.4.3 使用Watch Window观察变量
5.4.4 保存并导出变量的值
5.4.5 观察指定存储空间内的数据
5.4.6 统计代码的运行时间
5.4.7 在CCS3.3中显示图形
第6章 使用C语言操作DSP的寄存器
6.1 寄存器的C语言访问
6.1.1 解SCI的寄存器
6.1.2 使用位定义的方法定义寄存器
6.1.3 声明共同体
6.1.4 创建结构体文件
6.2 寄存器文件的空间分配
第7章 存储器的结构、映像及CMD文件的编写
7.1 存储器相关的总线知识
7.2 F2812的存储器
7.2.1 F2812存储器的结构
7.2.2 F2812存储器映像
7.2.3 F2812的各个存储器模块的特点
7.3 CMD文件
7.3.1 COFF格式和段的概念
7.3.2 C语言生成的段
7.3.3 CMD文件的编写
7.4 外部接口XINTF
7.4.1 XINTF的存储区域
7.4.2 XINTF的时钟
7.5 手把手教你访问外部存储器
7.5.1 外部RAM空间数据读/写
7.5.2 外部Flash空间数据读/写
第8章 X281x的时钟和系统控制
8.1 振荡器OSC和锁相环PLL
8.2 X2812中各种时钟信号的产生
8.3 看门狗电路
8.4 低功耗模式
8.5 时钟和系统控制模块的寄存器
8.6 手把手教你写系统初始化函数
第9章 通用输入/输出多路复用器GPIO
9.1 GPIO多路复用器
9.1.1 GPIO的寄存器
9.1.2 GPIO寄存器位与I/O引脚的对应关系
9.2 手把手教你使用GPIO引脚控制LED灯闪烁
第10章 CPU定时器
10.1 CPU定时器工作原理
10.2 CPU定时器寄存器
10.3 分析CPU定时器的配置函数
第11章 X2812的中断系统
11.1 什么是中断
11.2 X2812的CPU中断
11.2.1 CPU中断的概述
11.2.2 CPU中断向量和优先级
11.2.3 CPU中断的寄存器
11.2.4 可屏蔽中断的响应过程
11.3 X2812的PIE中断
11.3.1 PIE中断概述
11.3.2 PIE中断寄存器
11.3.3 PIE中断向量表
11.4 X281x的三级中断系统分析
11.5 成功实现中断的必要步骤
11.6 手把手教你使用CPU定时器0的周期中断来控制LED灯的闪烁
第12章 事件管理器EV
12.1 事件管理器的功能
12.2 通用定时器
12.2.1 通用定时器的时钟
12.2.2 通用定时器的计数模式
12.2.3 通用定时器的中断事件
12.2.4 通用定时器的同步
12.2.5 通用定时器的比较操作和PWM波
12.2.6 通用定时器的寄存器
12.3 比较单元与PWM电路
12.3.1 全比较单元
12.3.2 带有死区控制的PWM电路
12.3.3 比较单元的中断事件
12.3.4 比较单元的寄存器
12.4 捕获单元
12.4.1 捕获单元的结构
12.4.2 捕获单元的操作
12.4.3 捕获单元的中断事件
12.4.4 捕获单元的寄存器
12.5 正交编码电路
12.6 事件管理器的中断及其寄存器
12.7 手把手教你产生PWM波形
12.7.1 输出占空比固定的PWM波形
12.7.2 输出占空比可变的PWM波形
第13章 模/数转换器ADC
13.1 X281x内部的ADC模块
13.1.1 ADC模块的特点
13.1.2 ADC的时钟频率和采样频率
13.2 ADC模块的工作方式
13.2.1 双序列发生器模式下顺序采样
13.2.2 双序列发生器模式下并发采样
13.2.3 级联模式下的顺序采样
13.2.4 级联模式下的并发采样
13.2.5 序列发生器连续自动序列化模式和启动/停止模式
13.3 ADC模块的中断
13.4 ADC模块的寄存器
13.5 手把手教你写ADC采样程序
13.6 ADC模块采样校正技术
13.6.1 ADC校正的原理
13.6.2 ADC校正的措施
13.6.3 手把手教你写ADC校正的软件算法
第14章 串行通信接口SCI
14.1 SCI模块的概述
14.1.1 SCI模块的特点
14.1.2 SCI模块信号总结
14.2 SCI模块的工作原理
14.2.1 SCI模块发送和接收数据的T作原理
14.2.2 SCI通信的数据格式
14.2.3 SCI通信的波特率
14.2.4 SCI模块的FIFO队列
14.2.5 SCI模块的中断
14.3 SCI多处理器通信模式
14.3.1 地址位多处理器通信模式
14.3.2 空闲线多处理器通信模式
14.4 SCI模块的寄存器
14.5 手把手教你写SCI发送和接收程序
14.5.1 查询方式实现数据的发送和接收
14.5.2 中断方式实现数据的发送和接收
14.5.3 采用FIFO来实现数据的发送和接收
第15章 串行外设接口SPI
15.1 SPI模块的通用知识
15.2 X281xSPI模块的概述
15.2.1 SPI模块的特点
15.2.2 SPI的信号总结
15.3 SPI模块的工作原理
15.3.1 SPI主从工作方式
15.3.2 SPI数据格式
15.3.3 SPI波特率
15.3.4 SPI时钟配置
15.3.5 SPI的FIFO队列
15.3.6 SPI的中断
15.4 SPI模块的寄存器
15.5 手把手教你写SPI通信程序
第16章 增强型控制器局域网通信接口eCAN
16.1 CAN总线的概述
16.1.1 什么是CAN
16.1.2 CAN是怎样发展起来的
16.1.3 eAN是怎样工作的
16.1.4 CAN有哪些特点
16.1.5 什么是标准格式CAN和扩展格式CAN
16.2 CAN2.0B协议
16.2.1 CAN总线帧的格式和类型
16.2.2 CAN总线通信错误处理
16.2.3 CAN总线的位定时要求
16.2.4 CAN总线的位仲裁
16.3 X281x eCAN模块的概述
16.3.1 eCAN模块的结构
16.3.2 eCAN模块的特点
16.3.3 eCAN模块的存储空间
16.3.4 eCAN模块的邮箱
16.4 X281x eCAN模块的寄存器
16.5 X281x eCAN模块的配置
16.5.1 波特率的配置
16.5.2 邮箱初始化的现置
16.5.3 消息的发送操作
16.5.4 消息的接收操作
16.6 eCAN模块的中断
16.7 手把手教你实现CAN通信
16.7.1 手把手教你实现CAN消息的发送
16.7.2 手把手教你实现CAN消息的接收(中断方式)
第17章 基于HDSP-Super2812的开发实例
17.1 谈谈通常项目的开发过程
17.2 设计一个有趣的时钟日期程序
17.2.1 硬件设计
17.2.2 软件设计(含I2C接口程序)
17.3 设计一个SPWM程序
17.3.1 原理分析
17.3.2 软件设计
17.4 代码烧写入Flash固化
参考文献