DSP原理与应用
分類: 图书,计算机/网络,计算机体系结构,
作者: 胡圣尧主编
出 版 社:
出版时间: 2008-7-1字数:版次: 1页数: 219印刷时间:开本: 16开印次:纸张:I S B N : 9787564112172包装: 平装编辑推荐
本书以TMS320C5402为例,系统的介绍了'C54X系列DSP控制芯片的硬件结构、系统寻址方式、指令系统软件开发环境及软件开发过程、汇编语言程序设计、开发环境及C/C++程序开发、'C54的硬件电路设计、'C54X的片上外设以及C5402应用举例。本书在介绍具体内容时语言通谷易懂,深入浅出,并结合一些具体应用进行讲解。希望本书能成为一把钥匙,让你顺利地开启DSP开发的大门。
内容简介
本书以TMS320C5402为例,系统的介绍了'C54X系列DSP控制芯片的硬件结构、系统寻址方式、指令系统软件开发环境及软件开发过程、汇编语言程序设计、开发环境及C/C++程序开发、'C54的硬件电路设计、'C54X的片上外设以及C5402应用举例。本书在介绍具体内容时语言通谷易懂,深入浅出,并结合一些具体应用进行讲解。本书适用于本科生教材,特别是以应用为主的一些应用型本科院校、高职高专等院校,还适用于一些技术人员作参考。
目录
1 概 述
1.0 引言
1.1 DSP发展概况
1.2 DSP器件的产品分类
1.3 DSP的特点及应用
1.4 TMS320C54X系列
1.5 构建DSP系统
1.5.1 DSP系统模型
1.5.2 数字信号处理器的选择
1.5.3 DSP系统的开发过程
2 TMS320C54x的硬件结构
2.0 引言
2.1 'C54X的硬件结构
2.2 中央处理器
2.2.1 多总线结构
2.2.2 运算部件
2.2.3 控制部件
2.3 存储器结构
3 寻址方式及指令系统
3.0 引言
3.1 寻址方式
3.2 流水线
3.3 指令系统
3.3.1 数据传输指令
3.3.2 算术运算
3.3.3 逻辑运算指令
3.3.4 程序控制
3.3.5单指令重复
4 C54X的片上外设
4.1 'C54X中断系统概述
4.1.1 中断请求
4.2 中断控制
4.2.1 中断屏蔽
4.2.2 中断优先级
4.2.3 外部中断响应时间和外部中断触发
4.3 定时器结构
4.3.1 定时器结构图
4.4 定时器/计数器应用步骤
4.5 'C54X串行及并行接口
4.5.1 SP标准串口
4.5.2 BSP串口
4.5.3 TDM时分复用串口
4.5.4 McBSP多通道带缓冲串口
4.5.5 McBSP结构及工作原理
4.5.6 MeBSP串口配置
5 程序开发过程
5.0 引言
5.1 'C54X软件开发过程
5.2 COFF的一般概念
5.2.1 COFF文件的基本单元
5.2.2 汇编器对段的处理
5.2.3 链接器对段的处理
5.2.4 链接器对程序的重新定位
5.2.5 程序装入
5.2.6 COFF文件中的符号
5.3 汇编程序
5.3.1 汇编语言源程序格式
5.3.2 汇编语言中的常数与字符串
5.3.3 汇编源程序中的符号
5.3.4 汇编源程序中的表达式
5.3.5 汇编伪指令
5.3.6 宏定义和宏调用
5.3.7 汇编器命令及参数
5.4 链接器的使用
5.4.1 链接器的运行
5.4.2 链接器命令文件的编写与使用
5.4.3 MEMORY指令
5.4.4 SECTIONS指令
5.4.5 多个文件的链接实例
6 汇编语言程序设计
6.0 引言
6.1 堆栈的使用方法
6.2 控制程序
6.2.1 分支操作程序
6.2.2 循环操作程序
6.3 算术运算程序
6.3.1 加减法运算和乘法运算
6.3.2 除法运算
6.3.3 长字运算和并行运算
6.4 重复操作程序
6.4.1 单指令重复操作
6.4.2 块程序重复操作
6.4.3 对数组x[8]中的每个元素加1
6.4.4 循环嵌套
6.5 数据块传送程序
7 开发环境及C/C++程序开发
7.0 引言
7.1 CCS初步探索
7.1.1 开发环境及驱动的安装
7.1.2 软件设置及使用简介
7.1.3 CCS界面操作
7.1.4 GEL语言
7.2 C/C++程序设计
7.2.1 DSP上的C语言程序设计
7.2.2 C/C十十程序设计流程
7.3 C/C++语言数据结构及语法
7.4 C/C++控制语句
7.4.1 C/C++顺序语句
7.4.2 C/C++分支语句
7.4.3 C/C十+循环语句
7.5 C/C++语言函数
7.5.1 C/C++自定义函数
7.5.2 中断函数
7.6 混合编程
7.6.1 C编译器生成的段
7.6.2 存储器分配
7.6.3 TMS320C54X混合编程
8 C54x的硬件电路设计
8.0 引言
8.1 'C54X的引脚功能
8.2 时钟发生器及时钟电路
8.3 存储器和I/O扩展基本方法
8.3.1 外部总线特性
8.3.2 外部总线等待状态控制
8.3.3 外部总线接口分区转换时序
8.4 节电模式和复位时序
8.5 程序存储器扩展应用
8.6 静态数据存储器扩展
8.7 I/O扩展应用
8.7.1 I/O配置
9 C5402应用举例
9.0 引言
9.1 FIR滤波器的设计及实现
9.2 串口应用
9.3 定时器的使用
9.4 外部中断
9.4.1 外部中断电路
9.5 键盘扩展
附录 本书采用的符号及意义
参考文献
书摘插图
3 寻址方式及指令系统
3.0 引言
本章主要介绍三部分内容;寻址方式、流水线机制、指令系统。熟悉寻址方式有利于提高编制程序的效率,特别是有利于程序算法的设计;流水线机制是DSP高效率、高速运行的原因之一,尤其在编写程序时应当注意。
需说明的是'C54X的指令系统中的指令有两种表示形式,一种是类似于汇编语言的助记符形式(方便起见,本书后面将统称汇编),另一种是类似于高级语言的代数形式。其指令系统较一般的单片机指令系统复杂,有许多需要特别注意的指令用法.尤其是涉及流水线操作和两次读/写的指令。更应该与芯片的硬件操作状态配合。以免产生错误结果,'C54X共有指令216条,其中进行两次存储器操作指令26条,并行运算操作指令工3条。
另外,由于硬件乘法器及桶行移位寄存器可以进行乘法,滤波及数字信号处理等单指令复杂运算,对于大多数数字信号处理程序来说使用方便、有效。
3.1 寻址方式
指令的寻址方式是指当硬件执行指令时,寻找指令所指定的参与运算的操作数的方法。不同的寻址方式为编程提供了极大的柔性编程操作空间,可以根据程序要求采用不同的寻址方式,提供程序的时间和代码效率。'C54X有七种寻址方式,包括立即寻址、绝对寻址、累加器寻址、直接寻址、间接寻址、存储器映像寄存器寻址和堆栈寻址。
(1)立即寻址
立即寻址的指令是双字节指令,第一个字节是操作码,第二个字节是立即操作数。因此,操作数就是放在程序存储区内的常数。
例如:
LD #10,A
表示将立即数1O(前面加井,以区别于地址表示方法)送入累加器A,这里的数字工。是指令代码的一部分。因此,立即寻址的操作数在程序运行中不能改变,故常常用于程序的初始化部分.另外,立即寻址方式中的立即数有两种数值形式:3、5、8、9位短立即数和工6位长立即数。它们在指令中分别编码为单字或双字指令。
2)绝对寻址
绝对寻址方式的指令中包含的是所寻找操作数的工6位单元地址。这些地址可以用其所在单元的地址号或16位符号常数表示。由于指令中的绝对地址是16位,所以,绝对寻址指令长度至少为2个字节。
……