收藏 分享(赏)

基于 TMS320C6200 系列 DSP 芯片的应用与开发.docx

上传人:oceanpvg 文档编号:2371120 上传时间:2018-09-13 格式:DOCX 页数:384 大小:2.71MB
下载 相关 举报
基于 TMS320C6200 系列 DSP 芯片的应用与开发.docx_第1页
第1页 / 共384页
基于 TMS320C6200 系列 DSP 芯片的应用与开发.docx_第2页
第2页 / 共384页
基于 TMS320C6200 系列 DSP 芯片的应用与开发.docx_第3页
第3页 / 共384页
基于 TMS320C6200 系列 DSP 芯片的应用与开发.docx_第4页
第4页 / 共384页
基于 TMS320C6200 系列 DSP 芯片的应用与开发.docx_第5页
第5页 / 共384页
点击查看更多>>
资源描述

1、基 于 TMS320C6200 系 列 DSP 芯 片 的 应 用 与 开 发赵训威 编著人民邮电出版社图 书 在 版 编 目 ( CIP) 数 据基于 TMS320C6200 系列 DSP 芯片的应用与开发/赵训威编著.北 京 : 人 民 邮 电 出 版 社 , 2002.5 ISBN 7-115-10279-1. 基 .赵 .数字 信号信号处理数字通信系统, TMS320C6200 DSP .TN91 1.72 中国版本图书馆 CIP 数 据 核 字 ( 2002) 第 028946 号内 容 提 要本书详细地介绍了 TMS320C6200 系 列 数 字 信 号 处 理 器 ( DSP)

2、 的 硬 件 结 构 和 指 令 系 统 , 重 点 阐 述 了 在 DSP 的 硬 件 设 计 和 在 软 件 编 程 方 面 的 开 发 应 用 。 本 书 共 包 括 7 章 和 1 个 附 录 , 第 1 3 章 主 要 介 绍 了 TMS320C6200 系列 DSP 的硬 件结构、 软件结构、 汇编指令以及流水线 , 介绍了各种 TMS320C6200 系列 DSP 开发工具和开发过程;第 4、5 章全面介绍了 TMS320C6200 系列 DSP 的硬件开发、软件开发和优化方法; 第 6 章介绍了 DSP/BIOS 实时 库的功能和使用; 第 7 章结合 实际应用介绍了各种优化方

3、法在不同算法中的实 际应用;附录介绍了 TMS320C6200 系列 DSP 的伪指令用法。本书内容新颖, 实用性强, 书中包括大量的源程序和应用举例, 使读者在了解 TMS320C6200 系列 DSP 的原理和结构的基础上, 能较快地掌握基于 TMS320C6200 系列 DSP 的 系 统设计和软硬件开发方法。 本书适 合各领域内从事信号处理的科研和工程技术人员阅读,也可以供信息与信号处理、通信电子等专业的教师、 研究生以及高年级本科生参考。基于 TMS320C6200 系列 DSP 芯片的应用与开发。 编 著 赵训威责任编辑 执行编辑马 嘉董 静。 人民邮电出版社出版发行 北 京 市

4、崇 文 区 夕 照 寺 街 14 号 邮编 100061 电子函件 315 网址 http:/读 者 热 线 : 010-67129212 010-67129211( 传 真 )北京汉魂图文设计有限公司制作 北京 厂印刷新华书店总店北京发行所经销。 开 本 : 7871092 1/16印 张 : 23.2字 数 : 571 千 字 印 数 : 1 0 000 册2002 年 月第 1 版2002 年 月 北 京 第 1 次印刷ISBN 7-115-10279-1/TP.2857定价:35.00 元本书如 有印装 质量问 题,请 与本社 联系 电话 : ( 010)6 7129223 1 前 言

5、数 字 信 号 处 理 器 是 在 将 模 拟 信 号 变 换 成 数 字 信 号 以 后 对 其 进 行 高 速 实 时 处 理 的 专 用 处 理器,其处理速度比普通 CPU 快 10 50 倍 。 1982 年 世 界 上 诞 生 了 首 枚 DSP 芯片,经过 20 多年的发展,DSP 已成为通信、计算机、消费类电子产品等领域的基础器件。1997 年 世 界 DSP 市场营销额超过 32 亿美元,预计未来的年均增长率将高达 40%, 按 照 这 一 增 长 速 度 , 至 2007 年 , 世 界 DSP 市场营销额将突破 500 亿 美 元 。TI( Texas Instrument

6、s) 公 司 是 较 大 的 DSP 生产厂商之一,其产品遍及全球,每 2 个数 字蜂窝电话中就有 1 个采 用 TI 公司的产品, 全世界 90%的硬盘 和 33%的 Modem 均采用 TI DSP 技 术 。 1997 年,TI 公司设立了 1 亿 美 元 的 风 险 基 金 , 支 持 那 些 需 要 启 动 资 金 的 DSP 应用企 业;启动了 500 万 美 元 的 全 球 大 学 科 研 基 金 , 用 于 支 持 各 高 校 的 DSP 教育,目前 TI 已在国 内十余所大学建立了 DSP 实验室和技术中心。TMS320C6200 系列 DSP 是 TI 最新推出的一款高端

7、DSP。 在芯片的设计上瞄准多通道无 线通信和有线通信应用领域, 例如蜂窝无线基站、 调制解调器堆等应用 。 实际上 TMS320C6200 系列 DSP 以其高速的处理能力和出色的对外接口速度可以应用于更为广阔的领域。TMS320C6200 系列 DSP 硬件上采用 VLIW( Very Long Instruction Word 超 长 指 令 字 ) 结 构设计并采用 0.5m0.35mCMOS 工 艺 , 其 处 理 速 度 已 高 达 2000MIPS( Million Instructions Per Second) ,按照 CMOS 的发展趋势,D SP 的运 算速度再提高 10

8、0 倍( 达到 1600GIPS)是 完 全 有 可 能 的 ; DSP 系 统 设 计 方 法 已 由 传 统 的 面 向 硬 件 的 设 计 变 为 基 于 软 件 的 设 计 , TMS320C6200 系列 DSP 的开发工具能很好地支持这一设计思想,充分利用 C6200 的 VLIW 并行结构,大大提高了 C 语 言 的 编 译 效 率 , 并 创 新 地 使 用 了 线 性 汇 编 和 C6200 汇 编 优 化 器 , 使代码效率可达到 95 , 同 时 极 大 地 缩 短 了 编 程 开 发 时 间 ; TI 在 DSP 业界首先提出的软件 集成开发环境 Code Compos

9、er Studio 能有效地提高代码效率,并降低开发难度,将应用产品 上市时间大大缩短。此外,TI 还为 DSP 的开发配套提供 A/D、 D/A 等模拟器件和电源设备, 可简化外围电路的设计,为 DSP 应用提供一体化的解决方案。本书共包括 7 章和 1 个 附 录 , 详 细 地 介 绍 了 TMS320C6200 系 列 数 字 信 号 处 理 器 ( DSP) 的硬件结构和指令系统,重点阐述了在 DSP 的硬件设计和在软件编程方面的开发应用。第 1 章 简 要 介 绍 了 DSP 的发展历程,分析了 DSP 和一般 CPU 的区别以及 DSP 的选型, 结合各大 DSP 厂商的最新产品

10、探讨 DSP 技术的发展前景。第 2 章 介 绍 了 TMS320C6200 系 列 DSP 硬件结构、指令系统及流水线。第 3 章 TMS320C6200 开 发 工 具 和 开 发 过 程 , 包 括 代 码 产 生 工 具 、 系 统 集 成 与 代 码 调 试 工具以及 Code Composer Studio 等 应 用 开 发 工 具 , 并 举 例 介 绍 了 DSP 应用开发过程。第 4 章全面 介绍了 TMS320C6200 系 列 DSP 的硬件开发, 包括 DSP 片内资源的存取与控 制,与外部存储器以及其他设备的接口设计相关技术等。第 5 章 详 细 介 绍 了 TMS

11、320C6200 的 软 件 开 发 和 优 化 方 法 。 第 6 章 详 细 介 绍 了 DSP/BIOS 实时库的功能和使用。 2 第 7 章举例介绍了 TMS320C6200 系 列 DSP 的应用开发,以 3G 移动通信中的多径接收 机 和 Turbo 译 码 器 为 例 介 绍 各 种 优 化 方 法 在 不 同 算 法 中 的 实 际 运 用 , 最 后 以 一 个 实 际 的 TMS320C6201 多通道声码器为例系统全面地介绍了 TMS320C6200DSP 的多通道应用开发过 程。附录介绍了 TMS320C6200 系列 DSP 的伪指令用法。 本书在注意系统性和新颖性的

12、同时突出了实用性,总结了作者从事 TMS320C6200 系列DSP 应 用 开 发 的 实 践 经 验 。 书 中 包 括 大 量 的 源 程 序 和 应 用 举 例 , 相 信 对 技 术 决 策 者 和 开 发 工 程师会有所帮助。感 谢 德 州 仪 器 亚 洲 产 品 信 息 中 心 的 支 持 , 感 谢 李 月 莲 对 本 书 文 稿 进 行 了 大 量 的 整 理 工作。由于作者水平有限,加之时间仓促,书中难免存在疏漏之处,敬请广大读者批评指正。 作者的 E-mail 地 址 : 。作 者 1 目 录第 1 章 综述 11.1 DSP 技 术 的 发 展 历 程 .11.2 数

13、字 信 号 处 理 器 ( DSP) 与 通 用 微 处 理 器 ( MPU) 21.2.1 总 线 结 构 不 同 .21.2.2 流 水 线 .31.2.3 寻 址 方 式 41.2.4 特 殊 的 硬 件 结 构 .41.2.5 支 持 多 处 理 器 结 构 .41.3 DSP 的 选 型 和 设 计 方 案 确 定 .51.4 DSP 技 术 的 发 展 方 向 .91.4.1 微 处 理 器 ( MPU) 和 数 字 信 号 处 理 器 ( DSP) 混 合 91.4.2 DSP+RTOS .91.4.3 支 持 高 级 编 程 语 言 的 DSP 开 发 软 件 .101.4.4

14、 并 行 处 理 结 构 .111.4.5 功 耗 越 来 越 低 .11第 2 章 TMS320C6200 处 理 器 和 指 令 系 统 132.1 概述 132.2 VLIW 和 VelociTI 132.3 CPU 结 构 .142.4 TMS320C6200 数 字 信 号 处 理 器 指 令 集 .202.5 流水线 492.5.1 概 述 492.5.2 取 指 502.5.3 解 码 512.5.4 执 行 522.5.5 不 同 指 令 的 执 行 流 水 532.5.6 影 响 流 水 线 效 率 的 因 素 56第 3 章 TMS320C6200 开 发 工 具 和 开

15、发 过 程 623.1 TMS320C6200 开 发 流 程 .623.2 代 码 生 成 工 具 .633.2.1 工 具 描 述 633.2.2 代 码 优 化 器 .633.3 TMS320C6201 EVM 板 653.4 Coder Composer Studio 的 实 时 调 测 .673.5 使用 CCS 开发 TMS320C6200 应用举例 .69 2 第 4 章 TMS320C6200 系 列 DSP 的 硬 件 开 发 .754.1 综述 754.2 片 内 存 储 器 .764.2.1 简 介 764.2.2 片 内 程 序 区 .764.2.3 片 内 数 据 区

16、 .794.2.4 C6211 的 两 级 内 存 储 器 .834.3 外 部 存 储 器 接 口 的 设 计 与 应 用 .884.3.1 概 述 884.3.2 EMIF 控 制 寄 存 器 .904.3.3 异 步 接 口 设 计 .924.3.4 FIFO 接口 .1024.3.5 SBSRAM 接 口 设 计 .1124.3.6 SDRAM/SGRAM 接 口 1164.3.7 Hold 接口 1284.3.8 存 储 器 申 请 的 仲 裁 .1294.3.9 C6200 EMIF 配 置 操 作 举 例 1304.4 DMA 控制器 1334.4.1 概 述 1334.4.2

17、DMA 的 初 始 化 和 启 动 .1344.4.3 传 输 控 制 : 同 步 与 地 址 产 生 1394.4.4 单 一 通 道 的 分 裂 操 作 1464.4.5 资 源 仲 裁 和 优 先 级 设 置 1474.4.6 DMA 通 道 的 状 态 .1484.4.7 DMA 的 性 能 、 外 管 脚 和 调 试 控 制 1494.5 主 机 口 ( HPI) .1494.5.1 概 述 1494.5.2 有 关 信 号 与 控 制 寄 存 器 1514.5.3 主 机 口 的 存 取 操 作 .1544.5.4 HPI 的 自 加 载 操 作 1574.6 TMS320C620

18、0 的引导 .157第 5 章 TMS320C6200 系 列 DSP 的 软 件 优 化 编 程 1595.1 概述 .1595.2 优化 C/C+代 码 .1605.2.1 C/C+代 码 的 编 写 1605.2.2 编 译 C/C+代 码 .1615.2.3 优 化 C 代码 1635.3 通 过 线 性 汇 编 优 化 汇 编 代 码 .1675.3.1 写 并 行 代 码 .1675.3.2 使 用 字 访 问 short 型 数 据 .1705.3.3 软 件 流 水 .1735.3.4 多 循 环 周 期 的 模 安 排 182 1 5.3.5 循 环 传 递 路 径 .194

19、5.3.6 循 环 中 的 If-Then-Else 语句 1995.3.7 循 环 展 开 .2025.3.8 生 命 太 长 问 题 .2065.3.9 消 除 冗 余 取 .2125.3.10 存 储 体 .2175.3.11 外 环 软 件 流 水 .2265.3.12 与 内 环 一 起 有 条 件 地 执 行 外 环 .2295.4 C 语 言 和 汇 编 的 混 合 编 程 .2395.4.1 寄 存 器 使 用 规 则 .2395.4.2 函 数 结 构 及 调 用 规 则 2405.4.3 在 C/C+程 序 中 插 入 汇 编 语 言 .242第 6 章 DSP/BIOS

20、功 能 与 使 用 2466.1 DSP/BIOS 的 功 能 和 组 成 .2466.1.1 什 么 是 DSP/BIOS 2466.1.2 DSP/BIOS 的组件 2466.1.3 DSP/BIOS 的 特 点 和 优 点 2486.1.4 DSP/BIOS 中 一 些 重 要 的 命 名 规 则 2496.2 利用 DSP/BIOS 生成程序 .2506.2.1 开 发 步 骤 .2506.2.2 使 用 DSP/BIOS 配 置 工 具 ( DSP/BIOS configuration tool) 2516.2.3 创 建 DSP/BIOS 程 序 所 用 的 文 件 .2516.2

21、.4 程 序 的 编 译 .2526.2.5 DSP/BIOS 程 序 的 启 动 顺 序 2566.3 线 程 调 度 .2576.3.1 线 程 的 概 念 和 类 型 .2576.3.2 硬 件 中 断 .2586.3.3 软 件 中 断 .2616.3.4 任 务 ( Task) .2696.3.5 等 待 循 环 .2726.3.6 旗 语 ( Semaphores) .2726.3.7 信 箱 2766.3.8 定 时 器 和 时 钟 .2796.3.9 周 期 函 数 管 理 器 ( PRD) 和 系 统 时 钟 2806.3.10 使 用 运 行 图 来 观 察 程 序 的 运

22、 行 .2816.4 内 存 和 底 层 函 数 .2826.4.1 存 储 器 管 理 .2836.4.2 系 统 服 务 .2866.4.3 队 列 ( QUE) 2866.5 输 入 /输 出 2906.5.1 I/O 综 述 2906.5.2 数 据 管 道 管 理 器 ( PIP 模 块 ) 2916.5.3 主 机 通 道 管 理 器 ( HST 模 块 ) 293 2 6.5.4 管 道 和 流 的 比 较 .2946.5.5 一 个 使 用 DSP/BIOS 的 音 频 例 子 295第 7 章 TMS320C6200 系 列 DSP 的 应 用 开 发 举 例 .2977.1

23、 WCDMA RAKE 接收机在 TMS320C6200DSP 器 件 上 的 实 现 2977.1.1 CDMA 原 理 2977.1.2 基 本 系 统 .2997.1.3 RAKE 接 收 机 的 实 现 .3047.1.4 载 入 TMS320C6200 DSP 器件 3107.1.5 结 论 3117.2 WCDMA Turbo 译 码 器 在 TMS320C6200DSP 器 件 上 的 实 现 .3117.2.1 Turbo 编 码 器 、 译 码 器 结 构 及 译 码 算 法 3117.2.2 MAP 译 码 器 的 实 现 .3147.3 多 通 道 声 码 器 在 TMS

24、320C6200DSP 器 件 上 的 实 现 .3327.3.1 G.723.1 语 音 编 码 算 法 .3327.3.2 多 通 道 声 码 器 的 设 计 3347.3.3 G.723.1 多 通 道 声 码 器 的 实 现 .339附录 伪 指 令 354第 1 章 综述 1 第 1 章 综述伴随着信息社会的数字化浪潮,数字信号处理技术成为数字化社会最重要的技术之一。 数字信号处理系统是接收模拟信号,如光和声信号,将其转化成为数字信号 0 和 1,以进行 实时的数字技术处理。 DSP 可以代表数字信号处理技 术 ( Digital Signal Process) , 也可 以代表 数

25、字信号处理器(D igital Signal Processor) ,其实两 者是不可分割的,前者是理论上的技术, 后者是前者的实时实现。二者结合起来就成为解决实际问题的方案 数字信号处理解决方 案(D SPs) 。本书中如无特殊说明,D SP 均指数字信号处理器。本章将首先总结 DSP 的发展历程,然后分析它和一般 CPU 的区别,最后结合各大 DSP厂商的最新产品探讨 DSP 技术的发展前景。1.1 DSP 技 术 的 发 展 历 程20 世纪 60 年代以前,数字信号处理技术一直被认为是一种应用面非常狭窄的技术,只 能应用在导弹和语音识别等几种系统中。后来随着各种快速算法的出现和大规模集

26、成电路的 发展, DSP 市 场 1999 年销 售额己达 40 亿美金, 数字 信号处理器的处理能力也从最初的 5MIPS( Million Instructions Per Second) 向 1GMIPS 发展。DSP 发展历程大致分为 3 个 阶 段 : 基 础 研 究 阶 段 、 产 品 普 及 阶 段 和 腾 飞 阶 段 。 基础研究阶段在 DSP 出 现 之 前 数 字 信 号 处 理 只 能 依 靠 通 用 MPU( 微 处 理 器 ) 来 完 成 。但 MPU 较低的处理速度无法满足高速实时的要求 。 1965 年 , 库利 (Cool ey) 和图基 (T ukey) 发表

27、了著名的快速傅立叶变换(F FT Fast Fourier Transform) ,极大地降低了付氏变换的计算 量,从而为数字信号的实时处理奠定了算法基础。与此同时伴随着集成电路技术的发展,产 生了一些通用处理器结构加上专用乘法器构成的 DSP 芯片, 如 1979 年 Intel 公司推出 的 2920 芯片, AMI 公司的 S2811 芯片。 在这 一阶段用硬件来实现各种数字滤波和 FFT 受到了极大的 关注, 但是, 那时研制出来的 DSP 系统是由分立元件组成的, 其应用领域仅局限于军事或航 空航天部门。产品普及阶段随着大规模集成电路技术的发展,1982 年德州仪器推出了其第一代 D

28、SP 芯 片 TMS32010。 这 种 DSP 器件采用微米工艺 NMOS 技 术 制 作 , 虽 功 耗 和 尺 寸 稍 大 , 但 运算速度却比 MPU 快了几十倍, 尤其 在语音合成和编码解码器中得到了广泛应用 。 TMS32010 芯片的问世是个里程碑, 它标志着 DSP 应用系统由大型系统向小型化方向迈进了一大步 。 至 20 世纪 80 年 代 中 期 , 随 着 CMOS 技术的进步与发展,第二代基于 CMOS 工艺的 DSP 芯片 应运而生,其存储容量和运算速度成倍提高,为语音处理、图像硬件处理技术的发展奠定了 基 础 。 20 世 纪 80 年 代 后 期 , 以 TI 公

29、司的 TMS320C30 为 代 表 的 第 三 代 DSP 芯 片 问 世 , 开 发 者可以使用高级语言编程,大大降低了开发难度,缩短了开发的时间。伴随着运算速度的进基于 TMS320C6200 系列 DSP 芯片的应用与开发 2 一步提高,其应用范围逐步扩大到通信、计算机领域。腾飞阶段进入 20 世纪 90 年 代 以 后 , DSP 发 展 更 快 , 新 技 术 层 出 不 穷 。 相 继 出 现 了 第 四 代和第五代 DSP 器件。现在的 DSP 属于第五代产品,它与第四代相比,系统集成度更高, 速度更快,功耗却越来越小。将 DSP 芯核及外围元件集成在单一芯片上,有的甚至将多个

30、 DSP 核集成 在一个片内 , 这种集成度极高的 DSP 芯片不仅在通信、 计算机领域大显身手, 而 且逐渐渗透到人们日常消费领域。经过 20 多 年 的 发 展 , DSP 产品的应用己扩大到人们的学习、工作和生活的各个方面, 并 逐 渐 成 为 电 子 产 品 更 新 换 代 的 决 定 因 素 。 目 前 , 对 DSP 爆 炸 性 需 求 的 时 代 己 经 来 临 , 前 景 十分可观。1.2 数 字 信 号 处 理 器 ( DSP) 与 通 用 微 处 理 器 ( MPU)DSP 和 MPU 有很多相似的地方,例如都有相同层次上的集成,相同的时钟频率等,但 是 在 数 字 信 号

31、 处 理 领 域 , DSP 则 具 有 无 可 比 拟 的 优 势 , 这 主 要 是 由 二 者 在 设 计 上 的 不 同 决 定 的。1.2.1 总线结构不同所谓数字信号处理就是把一系列输入信号经过各种运算、变换转换为输出信号,其关键 就在于如何快速、高效地进行大量数学运算。普通计算机都有数据处理和数学运算的功能, 但却很难两者兼顾都达到最优效果,而数字信号处理器是针对数字信号处理中特殊的数学运 算而设计的一类微处理器。执行数字信号处理算法的一个最大的瓶颈是从存储器中频繁传输 大量数据信息,包括输入信号采样、滤波器系数以及程序指令等等。针对这个问题,数字信 号处理器采用了和传统计算机不

32、同的结构。传统计算机采用最简单的冯 诺依曼 (V on Neuman) 结构, 即程序指令和数据共用一个 存储空间和单一的地址和数据总线。 处理器要执行任何指令时, 都要先从存储器中取出指令, 解码,再取操作数,执行运算,即使单条指令也要耗费几个甚至几十个周期。所 有 的 数 字 信 号 处 理 器 都 采 用 哈 佛 ( Harvard) 结 构 , 哈 佛 结 构 是 不 同 于 传 统 的 冯 诺 依 曼(V on Neuman)结构的并行体系结构,如图 1.1 所示。其主要特点是将程序和数据存储在 不同的存储空间中,即程序存储器和数据存储器是两个相互独立的存储器,每个存储器独立 编址,

33、独立访问,即程序指令和数据的存取空间分开,各有自己的程序总线和数据总线。这 样处理器可以同时处理数据和程序,大大地提高了处理器的处理能力。为了更好地适应数字 信号处理,许多厂家对哈佛结构做了改进,采用三条总线即一条程序总线和两条数据总线, 原因是多数数字信号处理操作只需要两个操作数。TI 公司的 TMS320 系列 DSP 做的改进更 大, 一是允许数据存放在程序存储器中, 并被算术运算指令直接使用 , 增强了芯片的灵活性: 二是指令存储在高速缓冲器 (Cache ) 中, 当执行此指令时, 不需要再从片外存储器中读取指 令 , 节 约 了 一 个 指 令 周 期 的 时 间 。 例 如 最

34、新 的 TMS320C6200 系列 DSP 整个片内程序存储器 都可以配制成高速缓存。第 1 章 综述 3 存 储 器数 据 和 指 令地 址 总 线数 据 总 线CPUa. 冯 诺 依 曼 结 构 ( 单 存 储 器 )PM 地 址 总 线程 序 DM 地 址 总 线 数 据存 储 器 CPUPM 数 据 总 线 DM 数 据 总 线存 储 器b. 哈 佛 结 构 ( 双 存 储 器 )图 1.1 冯诺依曼结构与哈佛结构比较1.2.2 流水线与 哈 佛 结 构 相 似 , DSP 芯 片 广 泛 采 用 流 水 线 以 减 少 指 令 执 行 时 间 , 从 而 增 强 了 处 理 器 的

35、 处理能力。流水线处理器是由一系列叫做片断或部分的处理电路组成的。操作数流经过每个片断, 即每个片断对操作数进行部分处理。操作数经过所有片断后才能得到最后结果。流水线操作 即把一条指令分成一系列步骤来完成,不同步骤完成不同的任务。一条指令只有经过所有步 骤才能得到结果。这些步骤可以独立进行,这样就可以实现多条指令在不同的步骤上重叠运 行,从而加快运行速度。通过一个日常生活中的例子,可以清楚地说明流水线是如何操作的。我们洗奥衣服时, 可以经过三道工序:洗衣、晾晒、奥平。当第一件衣服进入晾晒阶段时,我们可以把第二件 衣服放入洗衣机:而当第一件衣服拿去奥平时,第二件衣服可以拿去晾晒,当然第三件衣服

36、就可以投入洗衣机了。把 一 项 大 任 务 分 成 若 干 可 以 重 叠 执 行 的 小 任 务 能 够 提 高 效 率 , 流 水 线 操 作 正 是 利 用 了 这 种方法。流水线又分为指令流水线和算术流水线。指令流水线是指取指令和执行指令的不同 阶 段 在 流 水 线 上 进 行 。 算 术 流 水 线 是 指 算 术 操 作 的 不 同 阶 段 在 流 水 线 上 进 行 。 DSP 芯片一般 都采用指令流水线方法。如图 1.2 所 示 , 在 三 级 流 水 线 操 作 中 , 取 指 、 译 码 和 执 行 操 作 可 以 独 立 地 处 理 , 这 可 使 指令执行完全重叠。在

37、每个指令周期内,3 个不同的指令处于激活状态,每个指令处于不同 的 阶 段 。 例 如 , 在 第 N 个 指 令 取 指 时 , 前 面 一 个 即 第 N-1 个 指 令 正 在 译 码 , 而 第 N-2 个指令 则正在执行。一般说来,流水线对用户是透明的。基于 TMS320C6200 系列 DSP 芯片的应用与开发 4 CLKOUT1N取指N-1译码执行 N-2N+1NN-1N+2N+1N图 1.2 流水线操作1.2.3 寻址方式在数字信号处理中要遇到大量的地址运算,在某些情况下,地址运算量甚至超过了数据 的运算量。 例如在通用型微处理器 8086 中, 加法需 要 3 个时钟 周期,

38、 但是对于这条指令中涉 及的地址的运算就需要 512 个 时 钟 周 期 。 数 字 信 号 处 理 器 中 都 设 计 有 一 个 特 殊 的 硬 件 算 术 单元 地址产生器。地址的计算由这个专门的硬件来负责,不需要耗费额外的时间。现在 的某些微处理器中也有独立的地址产生单元,对于一些特殊的地址运算,如累加、累减等, 不需要耗费额外的 CPU 时 间 , DSP 的地址运算单元更强大,支持例如比特翻转寻址和循环 寻 址 , 可 以 大 大 加 快 傅 立 叶 变 换 ( FFT) 等 的 运 算 速 度 , 对 于 非 哈 佛 结 构 的 处 理 器 可 能 需 要 更多的处理周期。1.2

39、.4 特殊的硬件结构数字信号处理中的基本运算是乘法和累加,例如在卷积、数字滤波、快速傅立叶变换等 算法中有大量的类似 A(k )B(n k ) 的运算 , 他们要占用大量的 CPU 时间 , 而 DSP 中一般都 设置了硬件乘法器和 MAC(乘法并累加 ) , 这些操作往往可以在单周期内完成 , 从而大幅提 高了 DSP 做乘法和累加的速度。数学运算消耗的时间往往少于存储器的操作,例如在 8086 中,寄存器对寄存器的加法 只需要 3 个 时钟周期, 而寄存器对存储器的加法则需要 14 21 个时钟周期 。 通用型微处理器 片内往往集成了一块几百 KB 的高速缓存(Cac he) ,却没有 集

40、成存放程序或数据的 ROM 或 RAM, 因 为 通 用 型 微 处 理 器 上 运 行 的 程 序 可 能 非 常 巨 大 , 片 内 不 可 能 容 纳 , 因 此 需 要 在 片 内 加高速 Cache,将要执行的数据从片外取进片内来执行以加快速度。相对而言数字信号处理 的程序虽然计算量巨大, 但是一般情况下程序体并不是十分的巨大 , 所以 DSP 芯片在片内集 成了大容量的 ROM 来存 放程序 , RAM 来存放数 据。 程序在片内执行的效率远远高于相同规 格的通用微处理器。这样既降低了产品的体积和成本,又加快了处理速度。1.2.5 支持多处理器结构无论处理器变得多么强大,如果没有多

41、处理器的支持,就会有相当数量的应用需求得不第 1 章 综述 5 到满足,如在图像压缩、雷达定位等应用中运算量巨大,单个处理器无法胜任。虽然目前在 多处理器设计中己有多种处理器可供采用,更有一些厂家在多处理系统处理器的研制上下了 功夫。 例如 Pentium Pro( CISC 机) 和 PowerPC 为多处理器配置提供外部的存储器接口支持。 这种配置允许每一个处理器共享一对公共的或共享的存储器块的访问,这可以被称为一种松 稠 合 的 系 统 , 然 而 , DSP 更 向 前 跨 了 一 步 , 它 支 持 精 细 任 务 并 发 的 紧 稠 合 系 统 。 TMS320C40 和 ADSP

42、2106X SHARC DSP 都提供了处理器间多达 6 个 32 位 的专用链接, 从而支持紧稠合 系统。 SHARC DSP 还前进了一步, 它支持多处理器对内部 SHARC 存储器的访问并支持外部 的存储器。 由于 DSP 具有这种专用的多处理器支持, 因此可以把算法划分给很多 DSP, 建立 一个借助专用链接支持实现精细任务并发的处理器阵列。处理器阵列的规模可以按照应用来 确定,例如 TMS320C80 内部就有 8 个微处理器,他们通过共享数据存储空间来交换信息。除此之外,各大 DSP 厂商都针对自己的产品推出了高效易用的开发系统和实时调测工 具 , 像 TI 公司的 Code Co

43、mposer Studio 和 AD 公 司 的 Visual DSP, 利 用 他 们 可 以 方 便 地 对 自 己 的 算 法 进 行 实 时 仿 真 、 调 测 。 更 重 要 的 是 在 DSP 中加入了基于 JTAG 扫 描 的 仿 真 逻 辑 , 它 允许实现非破坏的源码级调试能力。通过 JTAG, 所 有 的 内 部 寄 存 器 都 得 到 监 控 , 而 不 干 扰 实时代码。例如,通过对主机调用的监控可以确定任务的状态。1.3 DSP 的 选 型 和 设 计 方 案 确 定数字信号处理算法的数据格式有定点和浮点之分, 因为对浮点数据和定点数据 DSP 要提 供不同类型的支撑

44、平台, 所以选用恰当的数据格式是 DSP 设计决策的关键之一 。 另外, 数字 信号处理系统采用的数据格式决定了它所处理信号的处理精度、动态范围和信噪比,并且不 同的数据格式的易用性和开发难度也不一样。1 数 的 定 点 表 示在定点 DSP 芯片中 , 采用定点数进行数值运算, 其操作数用整型数来表示。 一个整型数 的最大范围取决于 DSP 芯 片 所 给 定 的 字 长 , 一 般 为 16 位或 32 位 。 显 然 , 字 长 越 长 , 所 能 表 示的数的范围越大,精度也越高。下面以 16 位 字 长 为 例 加 以 说 明 。DSP 芯片的 数以 2 的补 码形式表示。 每个 1

45、6 位数 用一个符号位来表示数的正负, 0 表示 数值为正,1 则表示数值为负。其余 15 位 表 示 数 值 的 大 小 。 因 此 ,二进制数 0010000000000011b=8195二进制数 11111111111111100b=-4那么,DSP 芯片如何处理小数呢?这就引入了数的定标的概念。通过设定小数点在 16 位 中 的 不 同 位 置 , 就 可 以 表 示 不 同 大 小 和 不 同 精 度 的 小 数 , 这 就 叫 数 的 定 标 。 数 的 定 标 有 Q 表示法和 S 表示法两种。表 1.1 列 出 了 一 个 16 位 数 的 16 种 Q 表示、 S 表示及它们

46、所能表示的十进制数值范围。基于 TMS320C6200 系列 DSP 芯片的应用与开发 6 表 1.1 定点数的 Q 表示、 S 表示及数值范围Q 表示 S 表示 十进制数表示范围Q 15 S 0.15 -1三 x 三 0.9999695Q 14 S 1.14 -2三 x 三 1.9999390Q 13 S 2.13 -4三 x 三 3.9998779Q 12 S 3.12 -8三 x 三 7.9997559Q 11 S 4.11 -16三 x 三 15.9995117Q 10 S 5.10 -32三 x 三 31.9990234Q 9 S 6.9 -64三 x 三 63.9980469Q 8

47、 S 7.8 -128三 x 三 127.9960938Q 7 S 8.7 -256三 x 三 255.9921875Q 6 S 9.6 -512三 x 三 511.9804375Q 5 S 10.5 -1024三 x 三 1023.96875Q 4 S 11.4 -2048三 x 三 2047.9375Q 3 S 12.3 -4096三 x 三 4095.875Q 2 S 13.2 -8192三 x 三 8191.75Q 1 S 14.1 -16384三 x 三16383.5Q 0 S 15.0 -32768三 x 三32767从表 1.1 可 以 看 出 , 同 样 一 个 16 位 数

48、, 若 小 数 点 设 定 的 位 置 不 同 , 它 所 表 示 的 数 也 就 不 同。例如,十六进制数 2000H=8192, 用 Q 0 表示。十六进制数 2000H=0.25, 用 Q 15 表示。但对 DSP 芯片来说,处理方法是完全相同的。从表 1.1 还 可 以 看 出 , 不 同 的 Q 表示的数不仅范围不同,而且精度也不相同。 Q 越大,数值范围越小,精度越高:相反, Q 越小,数值范围越大,精度就越低。例如, Q 0 的数值范 围 为 -32768 +32767, 其 精 度 为 1, 而 Q 15 的 数 值 范 围 为 -1 0.9999695, 精 度 为 1/32

49、768。 因此,对定点数而言,数值范围与精度是一对矛盾,一个变量要想能够表示比较大的数值范 围,必须以牺牲精度为代价:而想精度提高,则数的表示范围就相应地减小。浮点数与定点数的转换关系可表示如下: 浮 点 数 ( x) 转 换 为 定 点 数 ( xq) :xq=( int) x2Q第 1 章 综述 7 定 点 数 ( xq) 转 换 为 浮 点 数 ( x) :x=( float) xq2-Q例如 , 浮点数 x=0.5, 定 标 Q=15, 则 定点数 xq=0.532768=16384, 式中 表示下取整。 反之, 一个用 Q=15 表示 的定点数 16384, 其浮点数 为 163842-15=0.5。 浮点 数转换为定点数 时,为了降低截尾误差,在取整前可以先加上 0.5。2 数 的 定 点 运 算将 浮 点 加 /减 法 转 化 为 定 点 加 /减 法 时 最 重 要 的 一 点 就 是 必 须 保 证 两 个 操 作

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 大学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报