封面
书名
版权
前言
目录
第1章 芯片功能概述、软件介绍、项目流程管理研究
1.1 TMS320F2812性能概述
1.2 TMS320F2812结构概述
1.2.1 引脚分布
1.2.2 TMS320F2812引脚信号描述
1.3 TMS320F2S12功能概览
1.3.1 存储空间示意图
1.3.2 简要描述
1.4 DSP集成环境CCS介绍
1.4.1 CCS安装
1.4.2 CCS配置软件设置
1.4.3 CCS软件概述?
1.4.4 Fide(文件)菜单介绍
1.4.5 Edit(编辑)菜单介绍
1.4.6 View(视图)菜单介绍
1.4.7 Project(工程)菜单介绍
1.4.8 Debug(调试)菜单介绍
1.5 CCS工程管理
1.5.1 创建新的工程文件
1.5.2 编译并运行程序
1.6 一个简单的例子程序介绍
1.6.1 基本的程序代码生成
1.6.2 具体的程序开发介绍
1.7 嵌入式项目开发流程管理
1.7.1 概述
1.7.2 项目启动
1.7.3 项目计划
1.7.4 项目研发
1.7.5 项目结束
第2章 C语言程序设计基础
2.1 C语言数据结构及语法
2.1.1 C语言数据结构
2.1.2 C语言运算符与表达式
2.2 程序控制结构
2.2.1 if语句
2.2.2 switch语句
2.2.3 while语句
2.2.4 for语句
2.2.5 程序控制中的特殊运算符
2.3 数组
2.4 指针
2.5 函数
2.6 C语言编程规范
2.6.1 环境
2.6.2 语言规范
2.6.3 字符类
2.6.4 变量类型
2.6.5 函数声明和定义
2.6.6 变量初始化
2.6.6 算法类型转换
2.6.8 编程风格
第3章 TMS320F2812外设的C语言程序设计
3.1 导言
3.2 传统的#define方法
3.3 位定义和寄存器结构体定义方式
3.3.1 定义寄存器结构体
3.3.2 使用DATA-SECTION将寄存器结构体映射到地址空间
3.3.3 添加位定义
3.3.4 共同体定义
3.4 位操作和寄存器结构体定义方式的优点
3.5 对位或寄存器整体进行操作
3.6 一个特殊的例子(eCAN)控制寄存器)
第4章 TMS320F2812系统控制及中断
4.1 存储空间
4.1.1 Flash存储器
4.1.2 OTP存储器
4.1.3 Flash和OTP寄存器
4.2 时钟及系统控制
4.2.1 时钟及系统控制概述
4.2.2 外设时钟控制寄存器(PCLKCR)
4.2.3 系统控制和状态寄存器(SCSR)
4.2.4 高/低速外设时钟预定标寄存器(HISPCP/LOSPCP)
4.3 振荡器及锁相环模块
4.4 低功耗模式
4.5 F2812外设结构
4.5.1 外设结构寄存器
4.5.2 受EALLOW保护的寄存器
4.6 F2812外设中断扩展模块
4.6.1 PIE控制器概述
4.6.2 中断操作步骤
4.6.3 向量表的映射
4.6.4 中断源
4.6.5 复用中断操作过程
4.6.6 使能/禁止复用外设中断的程序步骤
4.6.7 外设向CPU发出的复用中断请求流程
4.6.8 PIE向量表
4.6.9 PIE配置寄存器
4.6.10 中断程序设计
4.7 看门狗模块
4.7.1 看门狗模块介绍
4.7.2 看门狗计数寄存器(WDCNTR)
4.7.3 看门狗复位寄存器(WDKEY)
4.7.4 看门狗控制寄存器(WDCR)
4.7.5 看门狗模块程序设计
4.8 32位CPU定时器
4.8.1 TIMERxTIM寄存器
4.8.2 TIMERxPRD寄存器
4.8.3 TIMERxTCR寄存器
4.8.4 TIMERxTPR寄存器
4.8.5 定时器程序设计
4.9 通用输入输出(GPIO)
4.9.1 GPIO介绍
4.9.2 输入限制
4.9.3 GPxMUX寄存器(功能选择寄存器)
4.9.4 GPxDIR寄存器(方向控制寄存器)
4.9.5 GPxDAT寄存器(数据寄存器)
4.9.6 GPxSET寄存器(置位寄存器)
4.9.7 GPxCLEAR寄存器(清除寄存器)
4.9.8 GPxTOGGLE寄存器(取反触发寄存器)
4.9.9 寄存器位与I/O引脚的映射
4.9.10 GPIO程序设计
第5章 TMS320F2812外部接口(XINTF)
5.1 外部接口功能概述
5.2 XINTF配置概述
5.2.1 改变XINTF配置和时序寄存器的程序
5.2.2 XINTF时钟
5.2.3 写缓冲器
5.2.4 XINTF每个区域访问的引导、激活、跟踪的时序
5.2.5 XREADY信号采样
5.2.6 区域切换
5.2.7 XMP/MC信号对XINTF的影响
5.3 引导、激活、跟踪等待状态的配置
5.4 XINTF寄存器
5.4.1 XINTF时序寄存器(XTIMINGx)
5.4.2 XINTF配置寄存器(XINTCNFx)
5.4.3 XBANK寄存器
5.5 信号描述
5.6 XINTF操作时序图
5.7 XINTF应用开发及C语言程序设计
5.7.1 XINTF应用开发概述
5.7.2 XINTF模块的C语言程序设计
第6章 TMS320F2812串行通信接口(SCI)
6.1 SCI概述
6.1.1 增强型SCI模块特点概述
6.1.2 SCI模块框图
6.1.3 SCI模块结构
6.2 SCI模块寄存器
6.2.1 寄存器概述
6.2.2 SCI通信控制寄存器(SCICCR)
6.2.3 SCI控制寄存器1(SCICTL1)
6.2.4 SCI波特率选择寄存器(SCIHBAUD,SCILBAUD)
6.2.5 SCI控制寄存器2(SCICTL2)
6.2.6 SCI接收状态寄存器(SCTRXST)
6.2.7 SCI接收数据缓冲寄存器(SCIRXEMU,SCIRXBUF)
6.2.8 SCI发送数据缓冲寄存器(SCITXBUF)
6.2.9 SCI FIFO寄存器(SCTFFTX,SCIFFRX,SCIFFCT)
6.2.10 SCI优先级控制寄存器(SCIPRI)
6.3 C语言程序设计
6.3.1 SCI接口硬件设计
6.3.2 程序中关于SCI的头文件的相关定义介绍
6.3.3 串口自测试程序
6.3.4 串口向主机发送数据程序
6.3.5 串口中断接收程序
6.3.6 串口中断发送、接收C程序
6.3.7 自动波特率设定程序
6.4 心得
第7章 TMS320F2812的串行外围设备接口(SPI)
7.1 增强型SPI概述
7.1.1 SPI结构图
7.1.2 SPI模块信号概述
7.2 SPI模块寄存器概述
7.3 SPI操作
7.3.1 SPI操作介绍
7.3.2 SPI模块主/从操作模式
7.4 SPI中断
7.4.1 SPI中断控制位
7.4.2 数据格式
7.4.3 波特率和时钟配置
7.4.4 复位后系统状态
7.4.5 数据传输实例
7.5 SPI FIFO描述
7.6 SPI控制寄存器
7.6.1 SPI配置控制寄存器(SPICCR)
7.6.2 SPI操作控制寄存器(SPICTL)
7.6.3 SPI状态寄存器(SPISTS)
7.6.4 SPI波特率寄存器(SPIBRR)
7.6.5 SPI仿真缓冲寄存器(SPIRXEMU)
7.6.6 SPI串行接收缓冲寄存器(SPIRXBUF)
7.6.7 SPI串行发送缓冲寄存器(SPITXBUF)
7.6.8 SPI串行数据寄存器(SPIDAT)
7.6.9 SPI FIFO发送寄存器(SPIFFTX)
7.6.10 SPI FIFO接收寄存器(SPIFFRX)
7.6.11 SPI FIFO控制寄存器((SPIFFCT)
7.6.12 SPI优先级控制寄存器(SPIPRI)
7.7 SPI实例波形
7.8 SPI模块的C语言程序设计
7.8.1 SPI模块的发送接收程序设计
7.8.2 SPI自测程序
7.8.3 SPI中断发送、接收程序
7.9 SPI接口的应用设计(ADS1256)
第8章 TMS320F2812增强型区域控制网络(eCAN)模块
8.1 eCAN模块体系结构
8.1.1 eCAN模块概述
8.1.2 eCAN网络和模块
8.1.3 eCAN控制器
8.1.4 消息对象
8.1.5 消息邮箱
8.2 eCAN模块的寄存器
8.2.1 邮箱使能寄存器(CANME)
8.2.2 邮箱数据方向寄存器(CANMD)
8.2.3 发送请求置位寄存器(CANTRS)
8.2.4 发送请求复位寄存器CCANTRR)
8.2.5 发送响应寄存器(CANTA)
8.2.6 异常中断响应寄存器(CANAA)
8.2.7 接收消息挂起寄存器(CANRMP)
8.2.8 接收消息丢失寄存器(CANRML)
8.2.9 远程帧挂起寄存器(CANRFP)
8.2.10 全局接收屏蔽寄存器(CANGAM)
8.2.11 主控寄存器(CANMC)
8.2.12 位时序配置寄存器(CANBTC)
8.2.13 错误和状态寄存器(CANES)
8.2.14 错误计数寄存器(CANTEC/CANREC)
8.2.15 中断寄存器
8.2.16 覆盖保护控制寄存器(CANOPC)
8.2.17 eCAN I/O控制寄存器(CANTIOC,CANRIOC)
8.2.18 定时器管理单元
8.2.19 邮箱构成
8.2.20 消息数据寄存器(CANMDL,CANMDH)
8.2.21 接收过滤器
8.3 eCAN模块配置及C程序开发
第9章 TMS320F2812模/数转换(ADC)模块
9.1 模拟/数字转换(ADC)模块
9.1.1 模块特性
9.1.2 自动转换排序器的工作原理
9.1.3 双排序模式下的同步采样设计实例
9.1.4 级联模式下的同步采样设计实例
9.1.5 ADC时钟预定标器
9.1.6 低功耗模式
9.1.7 上电顺序
9.1.8 参考电压校正(通过外部提供基准)
9.2 ADC模块电压基准校正
9.2.1 增益和偏移误差的定义
9.2.2 增益和偏移误差的影响
9.2.3 校准
9.2.4 硬件设计
9.2.5 ADC采样技术
9.3 ADC模块寄存器
9.3.1 ADC控制寄存器
9.3.2 最大转换通道寄存器(MAXCONV)
9.3.3 自动排序状态寄存器(ADCASEQSR)
9.3.4 ADC状态和标志寄存器(ADCST)
9.3.5 ADC输入通道选择排序控制寄存器(CHSELSEQn)
9.3.6 ADC转换结果缓冲寄存器(ADCRESULTn)
9.4 ADC模块配置及C语言程序开发
第10章 TMS320F2812事件管理器(EV)模块
10.1 事件管理器概述
10.1.1 EV功能概述
10.1.2 增强EV特性
10.1.3 EV寄存器地址
10.1.4 UP定时器
10.1.5 使用GP定时器产生PWM信号
10.1.6 比较单元
10.2 PWM电路
10.2.1 与比较单元相关联的PWM电路
10.2.2 PWM波形产生
10.3 捕获单元
10.3.1 捕获单元概述
10.3.2 捕获单元操作
10.3.3 捕获单元FIFO堆栈
10.3.4 捕获中断
10.3.5 QEP电路
10.4 EV中断
10.4.1 EV中断概述
10.4.2 EV中断请求和服务子程序
10.4.3 中断产生
10.4.4 中断向量
10.5 EV寄存器
10.5.1 定时器寄存器
10.5.2 比较器控制寄存器
10.5.3 比较行为控制寄存器
10.5.4 捕获单元寄存器
l0.5.5 EV中断标志寄存器
10.5.6 EV控制寄存器
10.6 C程序设计
10.6.1 PWM波形产生程序
10.6.2 EV GP定时器程序
第11章 Boot ROM介绍和F2812程序仿真与下载
11.1 Poot ROM概述
11.1.1 XMPNMC对Boot ROM的影响
11.1.2 片内ROM介绍
11.2 CPU中断向量表
11.3 Bootloader的特性
11.3.1 Bootloader的功能操作
11.3.2 Bootloader的配置
11.3.3 Bootloader的模式
11.3.4 Bootloader的数据流结构
11.3.5 基本的传输程序
11.3.6 InitBoot汇编程序
11.3.7 模式选择功能
11.3.8 串口(SCI)下载模式
11.3.9 并行GPIO口下载模式
11.3.10 SPI下载模式
11.3.11 ExitBoot汇编程序
11.4 C语言程序设计
11.4.1 F2812-Boot.h
11.4.2 SelectMode-Boot.c(模式选择)
11.4.3 SCI-Boot.c(SCI下载模式)
11.4.4 Parallcl-Boot.c(并行I/O口下载模式)
11.4.5 SPI-Boot.c(SPI口下载模式)
11.5 F2812程序仿真与下载
11.5.1 从内部Flash运行应用程序
11.5.2 从内部RAM运行应用程序
第12章 基于TMS320F2812的电气平台开发设计
12.1 核心处理系统
12.2 数/模转换(DAC)设计
12.2.1 硬件设计
12.2.2 软件设计
12.3 SRAM设计
12.3.1 硬件设计
12.3.2 软件设计
12.4 E2PROM(I2C)设计
12.4.1 硬件设计
12.4.2 软件设计
12.5 RS-232(串口)设计
12.5.1 硬件设计
12.5.2 软件设计
12.6 RS-485设计
I2.6.1 硬件设计
12.6.2 软件设计
12.7 CAN模块设计
12.7.1 硬件设计
12.7.2 软件设计
12.8 3.3V和5V数字I/O设计
12.9 液晶设计
12.10 实时时钟(DS1302)设计
12.10.1 概述
12.10.2 软件设计
12.11 平台调试中的常见问题解答
附录 uC/OS操作系统在F2812上移植及实时多任务管理
参考文献