基于DSP5416的语音信号采集与保密传输的实现毕业论文.doc
-
资源ID:4138640
资源大小:1.75MB
全文页数:40页
- 资源格式: DOC
下载积分:8金币
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
基于DSP5416的语音信号采集与保密传输的实现毕业论文.doc
解放军信息工程大学毕业设计(论文)课题名称 基于DSP5416的语音信 号采集与保密传输的实现 基于DSP5416的语音信号采集与保密传输的实现摘要现代信息社会中保密通信在保护信息不受窃取方面起到了重要的作用。采用数据加密技术是实现保密通信的重要手段,而DSP(数字信号处理器)又是一种适用于数字信号处理的微处理器,利用DSP来实现保密通信中的数据加密更快捷、更有效。本文设计了基于数字信号处理芯片TMS320VC5416的语音保密通信系统,该系统由有语音信号采集模块和信号处理模块组成。语音信号采集模块采用音频编解码芯片TLV320AIC23,进行信号的采集和编解码;信号处理模块通过循环异或算法,对音频信号进行加密或解密处理。系统测试结果表明,该算法具有精度高、抗干扰性能力强的特点,并取得满意效果。关键词:语音信号采集;DSP;TLV320AIV23;TMS320VC5416;保密通信Realization of the Voice Acquisition and Secrecy Transmission System Based on DSP5416Abstract Secure communication is to communicate by the encrypted information in order to make the information unseen by the third party. Secure communication is one of the most important ways to keep the safety of communication, and Encryption is used widely insecure communication. Digital Signal Processor(DSP) is a microprocessor that is very suitable for the digital signal processing. So it is more efficient to achieve the encryption of communication by DSP. In this artical, the design of speech signal processing system based on digital signal processor of TMS320VC5416 and the hardware platform is constructed utilizing TMS320VC5416 processors and TLV320AIC23 voice chip. And then some functions have realized in this speech signal processing system in debugging, which are audio collection, secrecy communication and sending out. And the chip of signal processing encrypts or unbinds the voice signal via the arithmetic of recycling XOR. The testing results showed that this algorithm has high precision and strong anti-jamming feature and obtained the satisfying result.Keywords:data collection and analysis;DSP;TLV320AIC23; TMS320VC5416; secrecy communication目录摘要2第一章 绪论41.1 论文研究背景及其意义41.2 语音信号采集技术的现状与发展51.2.1 语音信号采集与处理51.3 保密通信技术的现状与发展61.3.1 保密通信的概况61.3.2 数据加密技术61.4 本文的主要工作及内容安排9第二章 数字信号处理器(DSP)92.1 DSP的发展和应用92.2 TMS320VC5416 DSP的硬件结构102.2.1 总线结构122.2.2 中央处理单元122.2.3 内部存储器142.2.4 片内外设与外部引脚152.2.5 中断系统16第三章 系统硬件结构设计163.1 DSP的系统构成及设计过程163.2 本系统硬件结构设计183.2.1 DSP的信号控制处理部分193.2.2 语音采集处理部分硬件设计193.2.3 AIC23与VC5416连接223.3 DSP外围电路设计243.3.1 音频放大电路243.3.2 MIC电路24第四章 系统软件设计与实现254.1 概述254.1.1 软件开发平台254.1.2 编程语言的选择254.2 语音信号处理系统软件设计264.2.1 语音信号采集模块软件设计264.2.2 语音加密与解密算法的软件设计274.2.3 人机交互模块的软件设计29第五章 测试与改进295.1 DSP软件调试305.1.1 McBSP的初始化305.2.2 AIC23的初始化315.3 常见问题及解决方案315.4 系统功能验证及测试结果325.4.1 采集的男声语音实验分析325.4.2 CD品质的语音信号实验分析335.5 系统改进方向345.5.1 硬件改进345.5.2 软件改进35第六章 结论与展望36第一章 绪论 语音处理应用数字信号处理技术和微电子技术,在语音识别、语音编码和语音保密传输等方面获得了极大成功。现代DSP技术的发展提高了数字信号高速运算与同步处理的能力,更推进了语音处理技术的发展。 1.1 论文研究背景及其意义 数字信号处理器(Digital Signal Processor)是一种适合对数字信号进行高速实时处理的专用处理器,其主要应用是实时快速地实现各种数字信号处理算法。在当今的数字化时代背景下,DSP己成为通信、计算机、消费类电子产品等领域的基础器件,利用DSP处理器实现语音信号处理和保密通信是一种有效的可行方案。本文结合TMS32OVC5416处理器适合语音信号处理的特点和实践应用,配合TLV320AIC23专用语音采集模块,设计音频采集、处理和播放语音硬件电路和应用软件,成功实现语音信号的采集与回放功能,并通过循环异或算法对语音信号实现了加密和解密处理的保密传输。该系统具有很强的语音信号处理能力和灵活的外围接口适应性。系统测试结果表明它能够满足实时语音信号保密处理的要求,可以作为一种语音信号处理算法研究和实时实现的通用平台,在现代语音处理和保密通信领域具有一定的实用意义。1.2 语音信号采集技术的发展现状1.2.1 语音信号采集与处理 语音交互是现代计算机系统人机交互的必要手段之一,而语音信号的采集和处理是人机语音交互的前提和基础。在微机上要对语音信号进行采集和加工处理,声卡是必须的部件,它具有对信号滤波、放大、采样保持、AD和DA转换等功能。现代社会中语音信号的采集主要有以下几种方式。(1)Windows中的录音机 Windows附件的娱乐中有个录音机程序(以下简称录音机),通过它可以驱动声卡采集、播放和简单处理语音信号。语音信号的采集可以用麦克风直接录制人的语音,也可以通过音频线或者MIDI线将收音机、电视机或磁带录机中的语音信号采集到计算机中、可通过对文件属性设置文件的格式、采样频率、位数等。在录音机中可以进行简单的声音处理,如加大或降低音量,加速或减速,声音的反转或添加回音效果等。加速或减速的改变可以完成变音功能,反转可以达到对声音文件保密的功能。使用录音机程序最大优点是不需要编程就完成录制和播放,同时灵活方便的对录音材料进行编辑,如:复制、剪切、插入、回音、混合插入、音量放大缩小、插入WAV文件、混响、反转等简单处理,还可以完成文件格式的转换,选择采样频率、压缩方式等。缺点是录制语音时一次不超过60s,另外要对采集的语音信号进一步分析处理就必须另外编程或通过其它软件。(2) MATLAB环境中的语音信号采集 MATLAB是美国Math Works公司推出的一种面向工程和科学计算的交互式计算软件,在MATLAB环境中,可以通过多种编程方法驱动声卡实现对语音信号的采集和播放,它的信号处理与分析工具箱为语音信号分析提供了十分丰富的功能函数,利用这些功能函数可以快捷而又方便地完成语音信号的处理和分析。使用MATLAB语言编程可以将声音文件变换为离散的数据文件,然后利用其强大的矩阵运算能力处理数据,如数字滤波、傅里叶变换、时域和频域分析、声音回放以及各种分析图的呈现等等。 另外,在MATLAB中提供了许多专用工具箱,如用于信号分析和处理的工具箱有系统时域辨别、系统频域辨别、数值分析和统计、数理统计、小波分析等,可以完成很多语音信号处理任务。(3)TLV320AIC23芯片采集语音信号语音采集处理单元核心是TI公司的一款高性能立体声音频编解码器Codec芯片TLV320AIC23(简称AIC23)。其内部集成的模数转换器(ADCs)和数模转换器(DACs)采用了带有过采样数字插补滤波的多位Sigma-Delta技术。数据传输字长为16、20、24、32位,支持采样频率范围8kHz至96kHz。ADC和DAC的信噪比分别达到90dB和100dB。内置耳机输出放大器,支持MIC和LINE IN两种输入方式,且对输入和输出都具有可编程增益调节。另外,AIC23功耗低,回放模式下功率仅为3mW,省电模式下更是小于15uW。3种方法的比较:录音机程序采集语音信号方便,但只能简单进行信号的处理,不能进一步分析;MATLAB语音信号采集和处理可以通过函数和控件工具箱完成,复杂信号分析和处理可通过编写程序实现;AIC23能为DSP5416提供方便的外围接口电路和其对语音信号独特的采集能力使之成为数字音频应用领域中的理想选择。 1.3 保密通信技术的发展现状1.3.1 保密通信的概况 保密通信自古以来都是人们热衷研究的一个问题,早在公元前440年,就有人用头发来隐蔽信息进行传递的记录了。传说古希腊人Histaieus在其仆人的光头上刺写秘密信息,等到头发长出来了信息也看不到了,这样仆人就可以安全地将信息传递到目的地。多少年来,人们虽然发明出了各种各样的保密方式,但其本质都是一样的。保密通信是一种隐蔽通信具体内容的通信方式。按这种通信方式,信息在进入信道传送之前必须先进行各种形式变化,成为加密信息,在接收端进行相应的逆变化以后,将恢复出原来信号。这样,非法的截收者将不能理解通信内容的含义。电报通信、电话通信、视频通信和数据通信等各种通信方式中都有相应的保密技术问题。 通信的保密手段主要是加密技术,数据加密技术的发展为保密通信提供了强有力的保证,同时保密通信的发展也促进了加密技术的发展,两者是相辅相成的。1.3.1 数据加密概述实现数据加密的主要手段是使用密码,密码可以是隐蔽语言、文字或图象等特种符号。凡是用特种符号按照通信双方约定的方法把电文的原形隐蔽起来,不为第三者所识别的通讯方式称为保密通信。在保密通信中,采用密码技术将信息隐蔽起来,再将隐蔽后的信息传输出去,使信息在传输过程中即使被窃取或截获,窃取者也不能了解信息的内容,从而保证信息传输的安全。任何一个加密系统至少包括下面四个组成部分:(1)未加密的报文,也称明文。(2)加密后的报文,也称密文。(3)加密解密设备或算法。(4)加密解密的密钥。 图1.3.2.1 一般的加密解密系统一般的加密、解密过程如上图1.3.2.1所示。发送方用加密密钥,通过加密设备或算法,将信息加密后发送出去。接收方在收到密文后,用解密密钥将密文解密,恢复为明文。如果传输中有人窃取,他只能得到无法理解的密文,从而对信息起到保密作用。包含1.3.2.2 对称密钥密码技术对称(传统)密码体制是从传统的简单换位,代替密码发展而来的,自1997年美国颁布DES密码算法作为美国数据加密标准以来,对称密钥密码体制得到了迅猛地发展,在世界各国得到了关注和使用。对称密钥密码体制从加密模式上序列密码和分组密码两大类。(l)序列密码序列密码一直是作为军事和外交场合使用的主要密码技术之一,它的主要原理是,通过有限状态机产生性能优良的伪随机序列,使用该序列加密信息流,(逐比特加密)得到密文序列,所以,序列密码算法的安全强度完全决定于它所产生的伪随机序列的好坏。产生好的序列密码的主要途径之一是利用移位寄存器产生伪随机序列,典型方法有:l)反馈移位寄存器:采用n阶非线性反馈函数产生大周期的非线性序列,例如M序列,具有较好的密码学性质,只是反馈函数的选择有难度,如何产生全部的M序列至今仍是世界难题。2)利用线性移位寄存器序列加非线性前馈函数,产生前馈序列,如何控制序列相位及非线性前馈函数也是相当困难的问题,Bent序列就是其中一类好的序列,我国学者对反馈序列和前馈序列的研究都取得了相当多的成果。3)钟控序列,利用一个寄存器序列作为时钟控制另一寄存器序列(或自己控制自己)来产生钟控序列,这种序列具有大的线性复杂度。4)组合网络及其他序列,通过组合运用以上方法,产生更复杂的网络,来实现复杂的序列,这种序列的密码性质理论上比较难控制。5)利用混沌理论,细胞自动机等方法产生的伪随机序列。 对序列密码攻击的主要手段有代数方法和概率统计方法,两者结合可以达到较好的效果。目前要求寄存器的阶数大于100阶,才能保证必要的安全。序列密码的优点是错误扩展小、速度快、利于同步和安全程度高。(2)分组密码分组密码的工作方式是将明文分成固定长度的组(块),如64比特一组,用同一密钥和算法对每一块加密,输出也是固定长度的密文。例如DES密码算法的输入为64比特明文,密钥长度56比特,密文长度64比特。以DES算法为例,它采用美国国家安全局精心设计的8个S一ox和P置换,经过16圈迭代,最终产生64比特密文,每圈迭代使用的48比特子密钥是由原始的56比特产生的。对称密钥密码系统具有加解密速度快、安全性高等优点,在军事、外交以及商业应用中使用越来越普遍。1.3.2.3 非对称密钥密码技术1976年Diffie和Hellman以及Merkte分别提出了公开密钥密码体制的思想,于传统的对称密钥密码体制,它要求密钥成对出现,一个为加密密钥(e),另一个为解密密钥(d),且不可能从其中一个推导出另一个。自1976年以来,己经提出了多种公开密钥密码算法,其中许多是不安全的,一些认为是安全的算法又有许多是不实用的,它们要么是密钥太大,要么密文扩展的太大。多数密码算法的安全基础是基于一些数学难题,这些难题专家们认为在短期内不可能得到解决。因为一些问题(如因子分解问题)至今己有数千年的历史了。 公钥加密算法也称非对称密钥算法,用两对密钥:一个公共密钥和一个专用密钥。用户要保障专用密钥的安全:公共密钥则可以发布出去。公共密钥与专用密钥是有紧密关系的,用公共密钥加密的信息只能用专用密钥解密,反之亦然。除加密功能外,公钥系统还可以提供数字签名。公共密钥加密算法主要有:RSA(Receive、shamir、de一man)、Fertezza、Eloama等。公钥加密算法中使用最广的是RSA。公共密钥方案较保密密钥方案处理速度慢,因此,通常把公共密钥与专用密钥技术结合起来实现最佳性能。即用公共密钥技术在通信双方之间传送专用密钥,而用专用密钥来对实际传输的数据加密解密。另外,公钥加密也用来对专用密钥进行加密。以下是基于对称加密算法的两种加密算法:(1)混沌序列加密算法 混沌信号由于高度的初值敏感性,不可预测性和类似噪声的宽带功率谱等突出特征,使得它具有天生的隐蔽性。即使两个完全相同的混沌系统,从差异非常微小的初始条件开始演化,它们的运动轨迹将很快的互不相关。混沌保密通信的方式多种多样,国内外研究较多的是混沌遮掩,混沌键控和混沌调制三种方案。它们的基本思想是要把传递的信息按照某种方式加载到一个由混沌系统产生的混沌信号上,实现对信号的隐蔽。该信号经信道发送到接受端后,由一相同的混沌系统重构出混沌信号,进而解调出混合信号所携带的信息。混沌保密通信技术的兴起,为信息保密开辟了一条崭新的道路。(2) 循环异或加密算法循环异或加密算法不涉及过多的复杂理论问题,而是把问题集中在如何建立一个加密算法使得原始语音变得不可理解。由于音频信号的特殊性,这种不可理解不是指数据本身的扰乱,而主要是指听觉感知上的不可理解性。循环异或加密算法的原理是将原始数据与前一个加密后的数据进行异或而形成当前的加密数据,并循环下去直到所有的数据都处理完毕。本算法详见本系统保密算法软件设计部分。循环异或加密算法虽然安全性低一些,但具有简单,加密处理速度快的特点,因此本文采用该算法对语音数据进行加密处理。1.4 本文的主要工作及内容安排 当今的世界已高度信息化,我们每天都通过各种媒介接触到大量的信息,同时还会和身边或是远方的人们进行各种信息的交流,电话和手机的普及就充分说明了这一点。电话给我们带来的方便是众所周知的,但是在信息交流方便的同时又引发了一个新的问题,即信息安全问题。现在,人们越来越关注如何在信息交流的同时又能保证信息的安全。从各种媒体上经常看到或听到的关于电话窃听问题可见,保密通信问题的解决己经是迫在眉睫。本文结合TMS32OVC5416处理器适合语音信号处理的特点和实践应用,配合TLV320AIC23专用语音采集模块,构成音频采集、处理和播放语音系统,设计了一套基于数字信号处理器(DSP)的语音保密通信系统,成功实现语音信号的采集与回放。DSP用于完成语音加解密算法,算法采用的是异或并结合Logistic映射的混沌语音加密算法,进行了语音信号的保密传输。文中介绍了数据加密和音频编码的理论知识、DSP及其开发、系统的硬件设计、相关驱动程序设计和加密算法设计,最后给出了测试结果以及改进意见。第二章 数字信号处理器(DSP)数字信号处理器(DigitalsignalProeessor)是采用0.25µm或0.18µm,甚至90nm的CMOS工艺设计的超大规模集成电路芯片,适合对数字信号进行高速实时处理的专用处理器,一般采用LQFP或BGA封装,其主要应用是实时快速地实现各种数字信号处理算法。在当今的数字化时代背景下,DSP己成为通信、计算机、消费类电子产品等领域的基础器件。2.1 DSP的发展和应用数字信号处理器与数字信号处理有着密不可分的关系,我们通常说的“DSP”也可以指数字信号处理(Digital Signal Processing),在本文里都是指数字信号处理器。数字信号处理是一门包括了许多学科并应用于很多领域的新兴学科,是指利用计算机或是专用处理设备,以数字形式对信号进行采集、变换、滤波、估值、增强、压缩、识别等处理,得到符合要求的信号形式。数字信号处理器是用于处理数字信号的器件,因此它是伴随着数字信号处理才产生的。DSP发展历程大致分为三个阶段:70年代理论先行,80年代产品普及和90年代的突飞猛进。在DSP出现之前数字信号处理只能依靠微处理器(MPU)来完成。但MPU较低的处理速度无法满足高速实时的要求。因此,直到70年代,有人才提出了DSP的理论和算法基础。随着大规模集成电路技术的发展,1982年世界上诞生了首枚DSP芯片。至80年代,第二代基于CMOS工艺的DSP芯片应运而生。80年代后期,第三代DSP芯片问世。90年代DSP发展最快,相继出现了第四代和第五代DSP器件。经过20多年的发展,DSP产品的应用已扩大到人们的学习、工作和生活的各个方面,并逐渐成为电子产品更新换代的决定因素。DSP应用广泛,其主要应用市场为通信、计算机、消费类领域。2.2 TMS320VC5416 DSP的硬件结构本系统中使用的DSP为Tl公司TMS320C54XX系列中的TMS320VC5416(简称DSP5416),是16位定点数字信号处理器,使用CPU的并行运行特性、特殊硬件逻辑、特定的指令系统和多总线技术等来提高运算速度,并使用高级的IC硬件设计技术来提高芯片工作速度及降低功耗。虽然该系列的型号很多,但硬件结构基本是一样的。TMS320VC5416芯片框图如下图,可以明显看出C54XX系列的硬件结构基本上可以分为4大部分。 图2.1 TMS320VC5416芯片框图(1)CPU:包括算术逻辑运算单元、乘法器、累加器、移位寄存器、各种专用寄存器、总线等。(2)存储器系统:包括片内程序存储器、单访问数据存储器、双访问程序/数据存储器、外部存储器接口等。(3)片内外设:包括定时器(Timer)、各种类型的穿行口(McBSPx)、主机接口(HPI)锁相环时钟发生器(PLL)等。(4)其他功能模块:DMA、电源管理器件、IEEE 1149.1 标准接口(JTAG)、通用I/O口(GP I/O)等。VC54216原理图和PCB布线如图2-2和图2-3。 图2-2 VC5416原理图 图2-3 VC5416 PCB布线下面就其硬件构成的几个主要部分,总线结构、中央处部存储器、片内外设及串行口分别介绍。2.2.1 总线结构VC5416 DSP的总线是由8条16位总线(4条程序/数据总线和4条地址总线)构成的。后期的C5416 DSP地址总线的位数会有所增加。(1) 程序总线PB:传送来自程序存储器的指令和立即数。(2) 数据总线CB、DB、EB:连接各个功能单元,如CPU、数据地址产生逻辑、程序地址产生逻辑、片内外设和数据存储器。CB、DB传送来自数据存储器被读取的立即数,EB传送被写到存储器中的数据。(3) 地址总线PAB、CAB、DAB、EAB传送执行指令所需要的地址。 VC5416 DSP能利用两个辅助算术(ARAU0、ARAU1)在每个周期内产生两个数据存储器地址。PB总线能把程序空间的操作数(如系数表)传送到乘法/累加器进行乘法/累加操作,或者通过数据转移指令(MVPD、READA)传送到数据空间。包括双操作数读的PB总线可以在一个周期内完成3个指令,如FIRS指令。VC5416 DSP还有一条访问片内外设的在片双向总线。这个总线通过CPU接口中的交换器连接到DB和EB。由外部设备的结构决定,利用这个总线进行读/写需要两个或更多的周期。2.2.2 中央处理单元 VC5416 DSP的运算核心就在CPU中,主要包含以下几部分。(1)40位算术逻辑单元ALU 40位算术逻辑单元ALU(Arithmetic Logic Unit)配合累加器A和B,执行算术运算、逻辑运算、布尔运算等功能,绝大多数算术逻辑运算都在一个指令周期内完成。运算的结果一般被送到累加器A或B中(存储操作指令ADDM、ANDM、ORM、XORM除外)。(2)40位累加器A和B累加器(Accumulater)A和B都可以配置成乘法器/加法器或ALU的目的寄存器。在执行MIN和MAX指令或者并行指令LDMAC时,一个累加器执行数据加载,另一个累加器执行运算。累加器A和B存储来自ALU或乘法/加法单元的输出;同时,它们也可以为ALU提供另一个输入;累加器A还可以为乘法器/加法器单元提供输入。每个累加器可以分为保护位(位39位32)、高位字(位31位16)和低位字(位15位0)。保护位用来放置计算时的数据位余量,以防止如自相关那样的迭代运算的溢出。保护位的寄存器是存储器映射寄存器,可用PSHM或POPM指令把这些寄存器压入或弹出堆栈来保护或恢复一些内容。这些寄存器还在其他指令使用存储器映射寄存器MMR对0页数据存储器寻址时被使用。累加器A和B的区别主要在于A的3116位可以作为乘法器的一个输入。还有一个需要注意的是,有些针对累加器的指令是区分累加器A和B的,比如WRITA、READA指令。(3) 桶形移位寄存器,支持-1631移动范围 桶形移位寄存器是用来定标数据的,所以又叫定标移位器。桶形移位寄存器的40位的输入来自累加器或数据存储器(通过DB或CB),40位的输出则通过EB传至ALU或数据存储器。桶形移位寄存器可以对输入的数据进行0到31位的左移和0到16位的右移,具体移位数由指令中的移位字段、状态寄存器STI中的移位数字段ASM或暂存寄存器T来提供。桶形移位寄存器和指数编码器可以在单周期内对累加器中的数进行归一化操作。输出的低位用零填充,高位则要看状态寄存器STI中的符号扩展模式位SXM,来决定是用零填充还是进行符号扩展。另外,桶形移位寄存器还有一些功能可以使理器执行数字定标、位提取、扩展算术运算和防溢出操作等。(4) 乘法/累加器VC5416 DSP的乘法/累加器单元包含一个17x17的硬件乘法器,一个40位的加法器,有符号输入/无符号输入控制逻辑,小数控制逻辑,一个零检测器,一个圆整器,溢出/饱和逻辑和一个16位的暂存寄存器T。乘法器有两个输入:一个输入来自暂存寄存器T,或一个数据存储器操作数,或者是累加器A:另一个输入来自程序存储器,或数据存储器,或累加器A,或者是一个立即数。这个乘法器可以使得VC5416 DSP器件进行高效的卷积、相关和滤波操作等。此外,乘法器还可以和ALU一起在单个指令周期内执行乘法/累加(MAC)计算,而对ALU的操作是并行的。 乘法/累加器中的加法器包含一个零检测器(Zero Detector),一个舍入器(二进制补码)和溢出/饱和逻辑电路。舍入器加215到结果中,而后清除目的累加器的低16位。在一些操作中,如乘法、乘法/累加(MAC)、乘法/减法(MAS)等指令中若包含后缀R,会执行舍入处理。LMS指令也会进行舍入处理,并最小化更新系数的量化误差。(5) 比较、选择和存储单元CSSU 比较、选择和存储单元CSSU( Compare、Select and Store Unit)是专门用于维特比(Viterbi)算法进行加/比较/选择运算的硬件单元。比较、选择和存储单元可以对累加器的高位字和低位字进行比较,使状态寄存器STO中的测试/控制标志位(TC)和转换寄存器TRN保持转换记录状态,并将累加器中的最大的数传送至数据存储器。当选择了合适的片内硬件后,CSSU还可以加速维特比(Vterbi)蝶形运算。(6) 指数编码器指数编码器是一个在单周期内完成EXP指令的专用硬件,其功能结构如图2-4所示。该指令获得累加器中的指数值并以二进制补码的形式(-831)把它存储到T中。为消除多余符号位而将累加器中的数值左移,其左移的位数和累加器指数值冗余符号位-8有关,当累加器的值超过32位时,这个结果为负数。EXP、NORM指令还可以利用指数编码器高效地对累加器内容归一化。 图2-4 指数编码器的功能结构图(7) CPU状态和控制寄存器 VC5416 DSP共有3个控制和状态寄存器,对CPU的控制是通过CPU状态和控制寄存器来完成的。分别为状态寄存器0(STO)、状态寄存器1(STI)和处理器模式状态寄存器(PMST)。 DSP不同条件和模式下的状态都包含STO和STI;PMST包含存储器设置状态和控制信息。由于这些寄存器是存储器映像,所以可以像对数据存储器操作那样对它们进行读出和写入。在调用子程序或中断服务子程序时,可以将它们保存下来,返回时再恢复。2.2.3 内部存储器 VC5416 DSP具有总共192K×16bit的寻址空间。这些空间被分为3个特定的存储段:64K×16bit的程序存储空间,64K×16bit的数据存储空间,64K×16bit的I/O空间。在任何一个空间内,RAM、ROM、EPROM、EEPROM或存储器映像外设既可以驻留在片内,也可以驻留在片外。VC5416 DSP具有较大的程序存储空间,它的程序空间可达8M字节,主要是通过附加的7根地址线来实现分页访问的;可以通过修改DSP的XPC(程序指针扩展寄存器)来指定需要访问的程序存储空间的页。一共可以访问128页,每页64K×16bit。程序存储空间包含待执行的指令和执行中需要使用的数据表格;数据存储空间包含程序指令所用到的数据;I/O空间主要用来接外围芯片,这些外围芯片和DSP一起完成特定的功能。可以在系统中给这些外围芯片分配不同的地址,然后DSP可以根据不同的地址来访问这些外设。当然,内部存储器不够用时,I/O空间还可以作为DSP的外部数据存储器来用。VC5416 DSP其片内存储器的种类主要有以下几种:双访问RAM(DARAM)、单访问RAM(SARAM)和ROM。RAM(包括DARAM和SARAM)一般映射在数据空间,但也可以映射在程序空间;ROM映射在程序空间,但也可以部分地映射在数据空间。DARAM一般由若干块构成,由于每块DARAM在一个机器周期内可以被访问两次,中央处理单元和片内外设在一个周期内可以同时对其进行一次读和一次写操作。根据需要,通过改变处理器状态标志寄存器(PMST)的三个位MP/MC、OVLY和DROM来灵活地改变存储器的配置。如,可以将ROM映射在程序存储空间或不映射在程序存储空间;将某段存储器映射在片内或片外;将RAM只映射在数据存储空间或既映射在数据存储空间又映射在程序存储空间等等。对于不同型号的DSP来说,这几个位所起的作用不完全相同。数据存储空间还有一块特殊的区域,从00H80H。这块区域包含的是存储器映像寄存器,即DSP它包含的内容是DSP中所有的寄存器,可以通过读这块存储器来了解各个寄存器的值,或者通过写这块存储器来改变寄存器的值。所以必须注意的是,在编程时不要随便往这个区域存储数据,除非根据需要来改变相应寄存器的值,否则会导致程序运行的结果不正确。2.2.4 片内外设与外部引脚TMS320C54x DSP片内外设特指在芯片内部的独立功能单元。C54x DSP 系列的片内外设大同小异,如VC5416型号DSP的片内外设有以下几部分。(1) 软件可编程等待状态发生器软件可编程等待状态发生器可以延长外部总线访问时间到14个机器周期。如果器件需要的总线延长时间超过14个机器周期,则可通过硬件外部接口的READY管脚来处理。当所有的外部访问被设置成0等待状态时,连接到等待状态发生器的时钟被自动禁止。禁止等待状态发生的时钟可减少功耗。软件等待状态寄存器SWWSR控制软件等待状态发生器的运行。SWWSR的低14位指定器件访问外部存储器5个不同地址范围的插入等待时间。对于5个地址可以设置不同的等待时间。软件等待状态控制寄存器SWCR的软件等待乘法位SWSM控制等待时间的乘法因子1或者2。复位时,软件等待状态发生器被初始化,对所有外部存储器访问设置成7个等待时间。(2) 可编程分区转换逻辑 当访问过程跨越程序存储器或数据存储器存储体的边界时,可编程存储器组切换逻辑会自动插入一个周期;当在存储操作过程中,由程序存储器转向数据存储器时,也会插入一个周期。这个额外的周期通过在其他器件开始驱动总线前允许存储器释放总线来避免总线竞争。转换的存储体的大小由分区转换控制寄存器(BSCR)来确定。(3) 1个主机接口HPI HPI是一个并行接口,它提供DSP和外部主处理器的接口。DSP和主处理器通过DSP的片内存储器交换信息,这块片内存储器既可以被DSP访问,也可以被主处理器访问。VC5416 DSP具有8位增强型的主机接口。(4) 3个多通道缓冲串行口McBSPs C54x系列DSP都有串行口,C54x系列串行口分成4种:标准同步串行口SP、带缓冲的串行口BSP、时分复用串行口TDM、多通道缓冲串行口McBSP,不同型号的C54x DSP有不同的串行口。VC5416 DSP有3个McBSP。(5) 1个硬件定时器 硬件定时器是一个带4位预定标的16位定时电路。每过一个CLKOUT周期,定时器做减1操作。当计数减到O时,产生一个定时器中断。可以通过设置特定的位对定时器进行停止、重启、复位和禁止操作。(6) 带锁相环的时钟发生器PLLVC5416 DSP时钟发生器由内部振荡器和锁相环电路构成,可通过晶振或外部时钟驱动。锁相环具有频率放大和时钟信号提纯的作用。利用PLL可以对时钟频率进行锁定、为芯片提供高稳定度的时钟信号,对外部时钟可以进行倍频,使外部时钟的周期低于CPU机器周期,以降低因高速开关时钟引起的高频噪声。当前锁相环电路有两种不同的配置方式,一些器件使用配置PLL电路,另外一些采用软件编程的方式进行配置。(7) DMA控制器器件直接内存访问(The Device Direct Memory Access,DMA)控制器可以在CPU不干涉的情况下直接进行存储器映射内的两点间的直接传输。DMA允许在CPU运行的情况下在内部存储器、片内外设、外部器件之间进行数据移动。它有6个独立的可编程通道,允许6个不同的内容进行DMA操作。DMA控制器也提供来自主机接口(HPI-8、HPI-16)需求的利用DMA总线的服务。C54x DSP型号不同,其功能不同,外部引脚也不同。VC5416 DSP的封装有BGA或LQFP两种形式,它们都是144脚。2.2.5 中断系统由软件或硬件驱动导致C54x DSP暂停当前主程序操作,转而执行中断服务子程序ISR的过程称为中断。典型的中断是由需要发送数据或获取数据的(如ADC、DAC或其他处理器)硬件设备驱动的。中断也被用来表明一个特定的事件发生(如定时器)。C54x DSP支持硬件和软件中断。(1) 由程序指令INTR、TRAP、RESET引起的软件中断。(2) 由外部硬件中断引起的触发外部中断端口或由片内外设触发内部硬件中断的硬件中断。当多个硬件中断同时被触发时,C54x DSP将根据它们的优先级进行处理。Ø 中断分类 C54x DSP的中断可以分成两大类:可屏蔽中断和非屏蔽中断。可屏蔽中断是可以用软件来屏蔽或开放的软/硬件中断。C54x DSP最多支持16个用户可屏蔽中断(SINTI15SINT0),C5416包括外部用户中断INT0INT3、McBSP0McBSP2的接收和发送中断、定时器中断等。非可屏蔽中断是不能被屏蔽的,CPU总是响应非屏蔽中断。C54x DSP的非屏蔽中断包括所有的软件中断、复位RS中断和NMI中断。Ø 中断寄存器C54x DSP响应中断一般