《手把手教你学DSP:基于TMS320X281x》以TMS320X281xDSP的开发为主线,采用生动的语言深入浅出地介绍与DSP开发相关的方方面面,包括DSP开发环境的搭建、新工程的建立、CCS3.3的使用、GEL文件与CMD文件的编写、硬件电路的设计、存储器的映像、三级中断系统以及TMS320X281x的各个外设模块的功能和使用。每部分内容都结合应用实例,手把手地讲解例程的编写过程,所有代码都标注有详细的中文注释,为读者快速熟悉并掌握DSP的开发方法和技巧提供了方便。
《手把手教你学DSP:基于TMS320X281x》共享相关的资料,包括:所有实例C语言程序代码、Flash烧写所需资源以及常用的一些调试工具软件,可以在HELLODSP论坛《手把手教你学DSP:基于TMS320X281x》书友会下载。
《手把手教你学DSP:基于TMS320X281x》可供高等院校电子、通信、计算机、自动控制和电力电子技术等专业的本科和研究生作为“数字信号处理原理与应用相关课程的教材或参考书,也可以作为数字信号处理器应用开发人员的参考书。
《手把手教你学DSP--基于TMS320X281x》共享相关资料,包括所有实例C语言程序代码、Flash烧写所需资源以及常用的一些调试工具软件,可以在HELLODSP官网下载。
《手把手教你学DSP:基于TMS320X281x》可供高等院校电子、通信、计算机、自动控制和电力电子技术等专业的本科和研究生作为“数字信号处理原理与应用相关课程的教材或参考书,也可以作为数字信号处理器应用开发人员的参考书 [1] 。
作为DSP入门教材,作者顾卫钢为该书录制了详尽的视频教程帮广大用户快速上手,视频发布于如大学生自学网、优酷网 、电子工程世界大学堂等网站,其中优酷网累计播放量达到70余万次。
第1章 如何开始DSP的学习和开发
1.1 DSP基础知识
1.1.1 什么是DSP
1.1.2 DSP的特点
1.1.3 DSP与MCU、ARM、FPGA的区别
1.1.4 学习开发DSP所需要的知识
1.2 如何选择DSP
1.2.1 DSP厂商介绍4 1.2.2TI公司各个系列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 基于HDSPSuper2812开发平台的搭建
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.8A/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模块发送和接收数据的工作原理
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 X281x SPI模块的概述
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.1CAN总线的概述
16.1.1 什么是CAN
16.1.2 CAN是怎样发展起来的
16.1.3 CAN是怎样工作的
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章 基于HDSPSuper2812的开发实例
17.1 谈谈通常项目的开发过程
17.2 设计一个有趣的时钟日期程序
17.2.1 硬件设计
17.2.2 软件设计(含I2C接口程序)
17.3 设计一个SPWM程序
17.3.1 原理分析
17.3.2 软件设计
17.4 代码烧写入Flash固化
参考文献