DSP控制器汇编语言程序设计(精)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
DSP 控制器汇编语言程序设计
摘要:在当今的数字化时代背景下,DSP 控制器在数字信号处理中起着重要的作用。本论文概括介绍了TMS320C6XDSP 的硬件结构,并对TMS320C6XDSP 的汇编语言指令系统做了重点说明。在具备以上知识的基础上,详细介绍了基于DSP 的高速数据采集和IIR 数字滤波器在DSP 上的实现,通过这两个应用实例了解DSP 汇编语言程序开发的方法。
关键字: TMS320C6X DSP 汇编语言 IIR数字滤波器高速数据采集
Abstract :In digitized time ,DSP plays an important role in the digital signal processing. This paper summarily describes the hardware structure of the
TMS320C6XDSP,and It introduced in detail the assembly language introductions.On the basis of having all above knowledge, a high speed data acquisition system based on DSP and using DSP to IIR Digital filter design was introduced,in order to understand the DSP assembly language program development method.
Keyword: TMS320C6X DSP the assembly language IIR Digital filter design
a high speed data acquisition system
前言
数字信号处理是一种将现实世界中的连续信号转换为计算机能够处理的信息的过程。比如人们说话的声音,这就是一个连续信号, 除此之外,现实生活中还有很多这样的信号,比如光、压力、温度等等。这些信号通过一个模拟向数字的转换过程(称之为AD ,变成数字信号送给处理器,进行数字计算,处理结束后,再把结果通过数字向模拟的转换过程重新变成连续信号(称之为DA 。用一般的通用微处理器可以完成这些工作,但是面临的问题是满足如此高的计算速度,就很难保证耗电量很低,更难保证价格足够便宜。因此,另一种微处理器应运而生:数字信号处理器,简称DSP 。
在当今的数字化时代,DSP 已成为通信、计算机、消费类电子产品等领域的基础器件,被誉为信息社会革命的旗手。未来10年,全球DSP 产品将向着高性能、低功耗、加强融合和拓展多种应用的趋势发展,DSP 芯片将越来越多地渗透到各种电子产品当中,成为各种电子产品尤其是通信类电子产品的技术核心,将会越来越受到业界的青睐。
因此,开发应用DSP 及其软件是当今科学和社会发展的需要。
而DSP 芯片的最大优越性在于其具有可重复编程的能力。将各种不同应用的
数字信号处理技术以及软件的形式下载到DSP 芯片中,可以实现相应的通信和控制功能。DSP 的发展和应用使得软件开发和硬件设计变得相对独立,DSP 是数字信号处理的核心, DSP硬件系统具有灵活的可编程性。
对于DSP 的程序员来说,主要的DSP 应用程序都是用汇编语言写的(至少部分是汇编语言优化的)。这里有两个理由:首先,大多数广泛使用的高级语言,例如C ,并不适合于描述典型的DSP 算法。其次,DSP 结构的复杂性,如多存储器空间、多总线、不规则的指令集、高度专门化的硬件等,使得难于为其编写高效率的编译器。
因此,汇编语言程序设计是DSP 应用软件设计的基础。
汇编语言是一种利用DSP 处理器所有硬件特性并能直接控制硬件的程序设计语言,是被实践证明了的开发硬件系统最优秀的语言。采用汇编语言开发,可合理地应用芯片提供的硬件资源,其代码效率高、占用资源少、程序执行速度快。诸多优点,使汇编语言受到广大专业硬件程序设计人员的青睐。
汇编语言直接描述机器指令,比机器指令容易记忆和理解。通过学习和使用汇编语言,能够感知、体会、理解机器的逻辑功能,向上为理解各种软件系统的原理,打下技术理论基础;向下为掌握硬件系统的原理,打下实践应用基础。学习汇编语言是我们理解整个DSP 处理器的最佳起点和最有效途径。
因此DSP 控制器汇编语言程序设计是当今软件设计领域中系统编程人员密切关注的研究课题之一。
1 DSP简介和结构特点
DSP 芯片,也称数字信号处理器,是一种具有特殊结构的微处理器。DSP 芯片的内部采用程序和数据分开的哈佛结构,具有专门的硬件乘法器,广泛采用流水线操作,提供特殊的DSP 指令,可以用来快速地实现各种数字信号处理算法。
TMS320C6x 核心CPU 由32个32比特字长的通用寄存器和8 个功能单元组成(2个乘法器和6个算术逻辑单元),故而可以在一个时钟周期中完成8条指令。它支持8/16/32比特的数据格式,并为声音合成或其它增强运算提供了对40比特数据算术运算的支持。TMS320C6x 拥有大容量的片内RAM (64KB 的数据存储器的64KB 的程序存储器),并通过32比特的EMIF 支持SDRAM 、SBSRAM 、SRAM 以及其它的非同步存储器。此外TMS320C6x 还提供了多通道的DMA 操作,用以相对CPU 进行后台的数据存取,DMA 的辅助通道还提供了对主机端口界面(HPI )的支持,主机可以通过HPI 异步地访问TMS320C6x 内外存储器及外围设备。C6x 还为通信提供两个多通道、多缓冲的串行口。此外,TMS320C6x 也和一般的DSP 一样具备较完善的中断处理机制、定时器结构,并可以以不同的方式启动系统。
2 DSP的硬件结构和片内外设
TMS320C6000 的CPU 有两个数据通道A 和B ,每个通道有16个32位字长的寄存器(A0~A15,B0~B15),四个功能单元(L ,S ,M ,D ),每个功能单元负责完成一定的算术或者逻辑运行。A 、B 两通道的寄存器并不是完全共享,只能通过TM320C6000提供的两个交换通道1X 、2X ,才能实现处理单元从不同通道的寄存器堆那里获取32位字长的操作数。