基于TI_DSK5416的音频信号处理V2.doc

宝鸡文理学院基于ti_dsk5416的音频信号处理v2设计

收藏

压缩包内文档预览:(预览前20页/共63页)
预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图
编号:516533    类型:共享资源    大小:762.50KB    格式:RAR    上传时间:2015-11-12 上传人:QQ28****1120 IP属地:辽宁
6
积分
关 键 词:
机械毕业设计
资源描述:
宝鸡文理学院基于ti_dsk5416的音频信号处理v2设计,机械毕业设计
内容简介:
宝鸡文理学院 毕业设计论文 - I - 目录 目录 . I 摘要 . III 第一章 引言 . 5 1.1 设计背景 . 5 1.2 工具简介 . 5 1.3 本文的内容提要 . 6 第二章 实时频域分析 基本原理 . 7 2.1 概述 . 7 2.2 采样 . 8 2.3 离散傅里叶变换 . 10 2.4 FFT 算法 . 11 2.5 取帧 . 15 2.6 依时傅里叶变换 . 15 第三章 开发平台 . 17 3.1 DSP 实现方式 . 17 3.2 硬件平台 DSK5416 . 18 3.2.1 TI TMS320 C5416 DSP 芯片 . 19 3.2.2 CPLD 可编程逻辑器件 . 22 3.2.3 PCM3002 Stereo Audio CODEC 立体声解编码器 . 24 3.3 软件开发环境 Code Composer Studio(CCS) . 26 3.4 算法模拟工具 MATLAB . 27 第四章 软件设计 . 28 4.1 采样操作中断服务程序的设计 . 30 4.2 FFT 子程序的设计 . 36 4.3 主程序设计 . 39 4.4 在 CCS 中建立项目 . 40 4.5 运行与调试 . 43 nts宝鸡文理学院 毕业设计论文 - II - 第五章 结束语 . 47 参考文献 . 48 致谢 . 49 附录 . i nts宝鸡文理学院 毕业设计论文 - III - 摘要 以 TMS320VC5416 CPU 的音频实时频域分析为主要内容。介绍音频信号处理中的采样、 DFT/FFT 等基本原理和项目的实现平台 DSK5416 及软件开发环境 CCS IDE;重点研究对 DSK5416 编程实现音频信号的采样、预处理、时频变换等处理 关键字: 数字信号处理,快速傅里叶变换,实时,音频信号 nts宝鸡文理学院 毕业设计论文 - IV - Abstract This treatise focuses on real-time audio frequency-domain analysis based on TMS320VC5416 CPU. The thesis begins with some basic theories involved in audio signal processing, including sampling, DFT/FFT etc. A brief introduction of TI DSP Starter Kit 5416 the hardware platform, and the software environment CCS IDE is outlined in the second part. From Chapter 4 a close analysis of programming realization of sampling, prepossessing, time-frequency domain transformation of the input audio signal on the basis of DSK5416 is elaborated, following a preliminary analysis of the system involved. Key words: DSP, FFT, Real-Time, Audio Signal nts宝鸡文理学院 毕业设计论文 - 5 - 第一章 引言 1.1 设计背景 数字信号处理 (DSP, Digital Signal Processing)是将模拟或者数字信号用数字或者符号标示的序列,通过计算机或通用 /专用信号处理设备,用数字的数值计算方法完成对输入信号的滤波、变换、压缩、增强、估计、识别等处理,达到提取有用信息的目的。自 20 世纪 60 年代以来,数字信号处理在人们的生产、生活、科研、国防等方面发挥了巨大的作用,从根本上地改变了人们关于信号处理、分析的理念。随着数字信号处理技术以及电子信息科学的发展,各种应用数字信号处理原理的产品纷纷出现,例如无绳电话,数 字电视、互联网络等等,极大的便利了人们的生活。 按照信号携带的信息种类分,信号可以分为语音、文字、图像、纯数据信号等等,在现实生活中,音频信号处理应用十分广泛,如广播、电话等。在国外,对于音频信号处理的研究已经趋于成熟,在软、硬件方面都有高效、可靠的应用方案,如应用于在电脑音频上的 AC97(Audio Codec 97)标准和新一代GSM 手机的 OMAP(OMAP - Open Multimedia Applications Platform)平台等等。而国内对音频信号处理的研究还停留在应用国外现成技术、产品 的阶段,硬件方面不得不使用国外的 DSP 处理器;软件方面多是不加修改地照搬使用。随着国产 DSP 芯片的问世以及国人对知识产权重要性的认识渐渐清醒, 音频信号处理的算法、实现已经成为各大学、研究中心的重要课题。 1.2 工具简介 本次设计硬件平台采用 TI 公司提供的 DSP 入门者套件 (DSK, DSP Starter Kit)系列的 DSK5416; 软件 开发 平台采用 Code Composer Studio(CCS)。 具体内nts宝鸡文理学院 毕业设计论文 - 6 - 容将在第三章介绍。 1.3 本文的内容提要 本文首先研究音频信号处理中包括采样、取帧及时频域序列转换方法在内的基本 原理,接着介绍 DSK5416 开发板,并通过对 DSK5416 编程上实现具有采样、取帧、 FFT 计算等功能的音频信号处理系统。 本文第一章是引言部分,第二章介绍音频信号处理的基本原理,第三章研究 DSK5416 版的软硬件开发环境;第四章着手设计实现音频信号处理的程序;最后,第五章是结论,对本项目做了总结。 nts宝鸡文理学院 毕业设计论文 - 7 - 第二章 实时频域分析基本原理 2.1 概述 为实现对音频信号进行计算机化分析、处理,必须将模拟的、连续的声音波形信号数字化,使其成为能够被电子计算机处理的在时间上离散,在数值上也是离散的一系列值,这个过程就是对输入信号采样的 过程。将采样得到的数字信号序列进行一系列的处理,如滤波,时频域变换,得到需要的数据,进而输出或者储存起来,这就是一次典型的 DSP 分析 /处理操作。为了实现对输入音频信号频率特性的研究,输入信号应通过时频域变换,即对输入序列进行离散傅里叶变换 (DFT, Discrete Fourier Transform),得到频谱图。因此,整个系统的框图如图 2.1 所示: 图 2.1 音频信号频域分析系统框图 S a m p l e?P r e p r o c e s s?D F T / FFT?I n p u t?O u t p u t?nts宝鸡文理学院 毕业设计论文 - 8 - 2.2 采样 音频处理的对象是数字化的音频数据,而通常存在的声音波形是以连续、模拟为特征,只有经过模拟 数字转换 (A/D, Analog to Digital Conversion)才能生成可被计算机处理的数据 。对于音频信号,模 数转换主要包括两个方面:抽样和量化。抽样是指每隔一个固定的时间间隔,探测模拟音频信号的大小 (声波的幅值 ),每秒钟收集数据的次数就称为采样频率。根据奈奎斯特 (Nyquist)抽样定理,对于某一频带宽度有限,最高频率分量为 fm 的信号,以高于 2fm 的频率进行抽样,所得到的时域序列可以无损地还原出原信号。人耳所能听到的声音频率范围为 20Hz20kHz,要确保声音不失真,采样频率应在 40KHz 以上。常用的抽样频率 有 6kHz、 8kHz、 12kHz、 24kHz、 44.1kHz、 48kHz 等等,采样频率越高,声音失真越少,但是更高的采样频率对于人耳有限的听力来说并没有什么实际意义。而且对一特定长度的音频信号,采样频率越高,返回的数据量就越大,进行信号处理时处理器的负担也就越重。同样,量化也是决定音频数字化质量的一个方面,它是指每一个采样点能表示的数据级数。常用的量化数据位数有 8 位、 12 位、 16 位、 20 位、 32 位等等,如 8 位数据可以表示 28 = 256阶不同量化值,而 16 位对应 216 = 65536、 32 位对应 232 = 4294967296 阶。同样,量化的位数越多,声音的质量越好,而对应的数据量也越大。 图 2.2 抽样器示意图 01 / fstt0 t0? ?nts宝鸡文理学院 毕业设计论文 - 9 - 抽样器可以看作一个电子开关,每隔 1/fs 秒闭合一次,闭合时间极短 (理想情况 ),产生的信号为频率为 fs(Sample Frequency)的周期的冲击函数。将此冲击函数与待采样模拟信号相乘,既可“取出”冲击函数发生时该模拟信号的幅值。如图 2.2 所示。 抽样器取出的幅值连续、时间上离散的信号将被送入 A/D 转换器进行量化编码,使其幅值被一定位数的二进制数表示。对于 n 位的数模转换,能够分辨的幅值为 1/(2n-1)*,其中 是输出满幅度。由于连续信号被转换成离散的数字信号,必然会引起误差。 A/D 转换时产生的最大误差为分辨率的 1/2,因此,转换位数 n 越大,分辨率越高,误差也就越小。图 2.3 以一个 3-bit 的数模转换 器量化传输曲线说明了 A/D 转换器的线性度、分辨率以及最大误差。 图 2.3 A/D 转换器量化传输曲线 图中 代表输入满幅度, 是输出满幅, 、 分别为输入输出单位分割的幅度, Max 代表最大量化误差。正如前面分析的,位数 n 越大,传输曲线越接近直线,误差也就越小。 16-bit 的 A/D 转换器输出可达 65536 级,能够满足一XY- 1357- 3- 5- 7- 82 4 6 8- 2- 4- 6- 81M a xnts宝鸡文理学院 毕业设计论文 - 10 - 般应用的要求,同时数据量适中,不会占用太多的存储器空间。 A/D 转换的实现形式很多,比如逐次逼近型、积分型、 Sigma Delta( )型等等,其中 Sigma Delta 型具有噪声性能好,转换精度高等优点,应用十分广泛。本课题使用的音频解编码器 (CODEC)PCM3002 也使用了 Sigma Delta型 A/D 转换器。 2.3 离散傅里叶变换 为了得到输入信号的频率特性,需要将时间域的输入序列变换成频率域的序列。在连续时间信号系统中,变换域的方法是拉普拉斯变换与傅里叶变换。在离散时 间信号与 系统中,变换域分析方法是 z 变换法和傅里叶变换法。对于有限长离散数字序列,离散傅里叶变换 (DFT, Discrete Fourier Transform)是一种十分有用的工具,在数字信号处理中应用十分广泛。 傅里叶变换就是建立以时间为自变量的“信号”与频率为自变量的“频谱函数”之间的某种变换关系,当自变量“时间”或“频率”取连续或离散值时,傅里叶变换对的形式各不相同: 1) 连续时间、离散频率 傅里叶变换 正变换: (2-1) 反变换: (2-2) 从连续时间非周期信号 x(t)得到连续频谱密度函数 X(j)。 2) 连续时间、离散频率 傅里叶级数 正变换: (2-3) 反变换: (2-4) 从连续时间周期信号 x(t)得到离散频谱级数 X(jk0)。 jt( j ) x ( t ) e d tX jt1x ( t ) = ( j ) e d2 X 0 00T / 2 jk0 - T / 201X ( j k ) x ( t ) eT 0j k t0x ( t ) X ( j k ) e nts宝鸡文理学院 毕业设计论文 - 11 - 3) 离散时间、连续频率 序列的傅里叶变换 正变换: (2-5) 反变换: (2-6) 从离散时间非周期序列 x(n)得到周期性的连续频谱密度函数 X(ej)。 4) 离散时间、离散频率 离散傅里叶变换 (DFT) 正变换: (2-7) 反变换: (2-8) 其中, 从周期性的离散时间序列 x(n)得到周期性的离散频谱函数 X(k)。 以上四种变换中,仅仅有最后一 种适于通过计算机运算,而前面三种因为其函数至少在时频域中的一个域里是连续的,不能通过计算机在有限次操作中计算出结果,也不便于储存,故在 DSP 领域中应用远没有离散傅里叶变换广泛。 2.4 FFT 算法 由复数计算的特殊性以及傅里叶变换的复杂性,直接计算 DFT,计算量十分巨大:乘法次数和技法次数都是和 N2成正比的,假如计算 1024 点的 DFT,处理器需要运算一百多万次。处理实时数据时如此 大的运算 量 可能造成处理器计算速度跟不上数据采集速度造成信息丢失。自 20 世纪 60 年代库利 (J.W.Cooley)和图基 (J.W.Tukey)引入时间抽取基 2 FFT(Fast Fourier Transform,快速傅里叶变换 )算法以来, DFT 计算效率和速度有了长足的发展。 通过对 DFT 的正变换和反变换 (IDFT)公式的研究发现, DFT 运算有以下特点: 1) nkNW的对称性 j j nX ( e ) x ( n ) e jj1x ( n ) ( e ) e n d2 X 211-jN00( ) ( ) e ( )NNnk nkNnnX k x n x n W211jN0011( ) ( ) e ( )NNnk nkNknx n X k X k WNN 2-jNeNW()n k n kNNWWnts宝鸡文理学院 毕业设计论文 - 12 - (2-9) 2) nkNW的周期性 (2-10) 3) nkNW的可约性 , (2-11) 若 DFT 的点数 N 为偶数,可以利用 nkNW的对称性将其转换: (2-12) 其中 (2-13) (2-14) 则 N 点的 DFT 就被分解为 2 个 N/2 点的 DFT,计算量大大减少。若 N/2仍然为偶数,还可以继续分解为 4 个 N/4 点的 DFT,这样的分解可以一直进行到点数不为偶数为止。对于 N=2m 点的 DFT,利用这种分解算法最后只需要复数乘法 (N/2)log2N 次,复数加法 Nlog2N,大大减少了运算量。 将分解的 2 个 N/2 点 DFT 运算结果组合为完整的 N 点 DFT,需要利用 nkNW的周期性。最后得到 X(k)前半部分和后半部分的表达式为: 前半部分 X(k): (2-15) 后半部分 X(k): (2-16) 式 2-15, 2-16 所示运算可以用图 2.4 的单位蝶形信号流图表示: / 2 11 / 20/ 2 12 / 20( ) ( 2 )( ) ( 2 1 )NnkNnNnkNnX k x n WX k x n W/ 2 1 10 / 2/ 2 1 / 2 1( / 2 )00/ 2 1/20/ 2 1012( ) ( ) ( )( ) ( / 2 ) ( ) ( / 2 ) ( ) ( 1 ) ( / 2 ) ( ) ( )NNn k n kNNn n NNNn k n N kNNnnNk N n kNNnNk n kNnkNX k x n W x n Wx n W x n N Wx n W x n N Wx n x n N WX k W X k nk mnkN mNWW /nk nk mN N mWW( ) ( )n k n N k n k NN N NW W W12( ) ( ) ( )kNX k X k W X k()21212( ) ( ) ( )2 2 2( ) ( )NkNkNN N NX k X k W X kX k W X k nts宝鸡文理学院 毕业设计论文 - 13 - 图 2.4 DIT 单位蝶形运算流图 一个 N=2m 点的 DFT 运算,经 m 次分解后的基 2 FFT 运算过程可以用蝶形运算流图表示如下 (图 2.5): 图 2.5 一个 N 点 DFT 被分解为 N/2 个 2 点 DFT 从图中可以发现, m 次蝶形运算对应的 m 次序列分解都是以当前序列在时间上的次序是属于偶数 还是奇数为标准的,因此该基 2 FFT 算法被称为时间抽选 (DIT, Decimation In Time)快速傅里叶变换法, Radix 2 DIT FFT。当然,时间抽选并不是唯一的分解方法,按照输出频域序列 X(k)的奇偶性也可以将 DFT分解为 m 轮蝶形运算,即为频率抽选法 (DIF, Decimation In Frequency),其蝶形运算示意图如图 2.6。 图 2.6 DIF 单位蝶形运算流图 - 11 ()Xk2 ()Xk12( ) ( )kNX k W X k12( ) ( )kNX k W X k2 点D F T4 点D F TN 点D F Tx ( 0000 . 0 b )x ( 1000 . 0 b )x ( 0100 . 0 b )x ( 1100 . 0 b )x ( 1011 1 b )x ( 0111 1 b )x ( 1111 1 b )x ( 0011 1 b )X ( 0 . 0000 b )X ( 0 . 0001 b )X ( 0 . 0010 b )X ( 0 . 0011 b )X ( 1 1101 b)X ( 1 1110 b)X ( 1 1111 b)X ( 1 1100 b)- 1- 1- 1- 1- 1- 1- 1- 1- 1- 1- 1- 1- 11 ()mXk1 ()mXj11( ) ( ) ( )m m mX k X k X j11( ) ( ) ( ) rm m m NX j X k X j WrNWnts宝鸡文理学院 毕业设计论文 - 14 - 同样, N=2m 点的 DFT 运算经频率抽选后分解为 m 级蝶形运算的流图如下(图 2.7) 图 2.7 一个 N 点 DFT 被 DIF 分解为 N/2 个 2 点 DFT 从图 2.5、图 2.7 中还可以发现, FFT 的输入或者输出序列中有一个序列是按照正常的顺序排列在存储单元中,既 (0), (1), (2) (N-1),而另一个序列却不是按照自然顺序排列,有种混乱无序的感觉,这就是 FFT 运算中必然要经历的一步,倒位序。在 DIT FFT 中,这是由于输入 x(n)按标号 n 的奇偶性不断分组而造成的;在 DIF FFT 中,情况正好相反。 在实际运算中,总是先按照自然顺序将输入序列存入存储单元,然后对存储单元进行变址运算,将输入序号为 (00001b)的序列值与序号为 (10000b)的序列制互换,输入序号为 (00010b)的序列值与序号为 (01000b)的序列制互换,以此类推,直到每一存储单元的内容都被调换过且只调换过一次,某些倒序序号之为其自身的序列值不变。在 DIT FFT 算法中,一般是将变址运算放在最前面;在 DIF FFT 算法中,一般是将变址运算放在最后面。 除了按时间抽取和按频率抽取的基 -2 快速傅里叶变换算法以外,实用 FFT算法还有基 4 FFT、混合基 FFT、分裂基 FFT、线性调频 z 变换 (Chirp z)法等等,它们在代码长度、运算速度等 方面各有优势,应该按照应用需求来决定选用的算法。目前的实用 DSP 领域中,基 2 FFT 算法应用最为广泛,本课题N 点D F Tx ( 0 . 0000 b )x ( 0 . 0001 b )x ( 0 . 0010 b )x ( 0 . 0011 b )x ( 1 1101 b )x ( 1 1110 b )x ( 1 1111 b )x ( 1 1100 b ) -1-1-1-14 点D F T-1-1-1-12 点D F T-1-1-1-1X ( 0000 . 0 b )X ( 1000 . 0 b )X ( 0100 . 0 b )X ( 1100 . 0 b )X ( 1011 1 b )X ( 0111 1 b )X ( 1111 1 b )X ( 0011 1 b )nts宝鸡文理学院 毕业设计论文 - 15 - 也将使用 Radix 2 DIT FFT 算法实现对音频信号的域变换。 2.5 取帧 由 DFT 的分析可以看出,送入 CPU 计算 FFT 的时域序列必须是有限长 (如N 点 ),这样才能将输入和输出放置在有限的存储器空间中,并对其进行操作,如变址、乘加等。然而对于实时音频信号处理,采样器返回的数据来自输入声音波形在时域上无止境的向后延拓,必须使之成为分割为有限长的序列才能对各个分段进行计算,这个过程就是取帧 (framing)。如图 2.8,对于输入序列 x(n),n=0, 1, 2, 3,每 N 点取作一帧,得到的长度为 N 的序列,对其进行 N 点的 FFT运算,算完后将结果输出或者储存,然后计算下一帧长度为 N 的序列 一系列操作就将连续不断的输入声音信号分段计算出频率特性,并不断刷新。 图 2.8 取帧操作示意 2.6 依时傅里叶变换 在正弦信号模型的实际应用中,信号的特性 (振幅、频率和相位 )常常随时间而改变。例如,用来描述雷达、声纳、语音和数据通信的信号就需要这种类型的非平稳信号模型。要描述这类信号,单一的 DFT 估计是不够的,于是引入nts宝鸡文理学院 毕业设计论文 - 16 - 了依 时傅里叶变换的概念,也称短时傅里叶变换。 一个信号 xn的依时傅里叶变换定义为 ( , ) jmmX n x n m w m e ( 2-17) 式中 wn 是一个窗序列。在依时博里叶表示中,一维序列 xn是单个离散变量的函数,它转换为一个离散的时间变量 n 和连续的频率变量 的二维函数。 依时博里叶变换对于 是以 2 为周期的周期函数,因此分析信号时只需要考虑 在区间 02 上,或长度为 2 的其它区间上的值。 式 (2-17)可以看作, xn+m通过窗 wm的博里叶变换窗有一个平稳的起始点,并且当 n 改变时信号滑动着通过窗,这样对于每 个 n 值、可以看到信号的一段不同部分。 通常使用的窗函数有三角窗 (Bartlett)、海明窗 (Hamming)、汉宁窗(Hanning)、布拉克曼窗 (Blackman)等,他们的共同点在于 N 点的窗函数序列()n 在其中值点 达到最大值,而两侧 ()n 的 值关于点 n=(N-1)/2 对称减小,图 2.9 为海明窗的窗函数示意图。 图 2.9 海明 (Hamming)窗 1()2N nts宝鸡文理学院 毕业设计论文 - 17 - 第三章 开发平台 3.1 DSP 实现方式 数字信号处理的各种算法,如滤波、域变换、增强、识别等,只有通过显示产品实现,并能方便地应用在人们的生产、生活中才能创造实际价值,否则一切都仅仅是实验室里、学者们的头脑中概念性的东西。 DSP 的实现方法有三种:一种是在通用计算机(如 PC、大型计算机等)上用软件编程来实现,如现有的 C、 Perl 等 语言或者 Matlab 仿真程序就行。这种方法的特点是灵活性强,但是速度慢,一般不能做到实时处理,多采用采样 储存 分析的流程;第二种是采用专用的 DSP 芯片,它只能针对某一种应用,通过加载数据、控制参数、加控制信号以使它具有有限的可编程能力,这种办法对专门应用处理速度快,可做到实时性,但是灵活性差,程序移植困难,而且定制芯片价格昂贵,故仅在某些特别强调速度的场合应用;第三种 DSP 的实现方法则为采用通用的 DSP芯片,它是可以用指令 /软件编程的处理平台,兼具上面两种方法的优点,既有灵活性,又有较快的处理速度,可做到 实时信号处理。 通用 DSP 芯片有定点与浮点两种,这类芯片生产厂家中最有名的是德州仪器 (TI, Texas Instrument)公司、 AD(Analog Device)公司、摩托罗拉 (Motorola)公司等,其中 TI 公司的产品系列最全,市场占有率最高,其 TMS320 C6xx 系列性能强劲,既有浮点型 DSP 处理器,也有定点型 DSP 处理器,主要针对高端的图像视频应用; TMS320C54x 系列是目前使用最广泛的定点型 DSP 芯片,其主要成员有 TMS320 C548、 C549、 C5402、 C5410、 C5416、 C5420 等等,特点是功耗很低,运算速度较快,典型的 100MIPS(Million Instructions Per second,百万指令每秒 )对应功耗为 60mW。其中 C5416 芯片频率较快,成本低廉,在语音通讯、分组交换以及传真、话音服务中应用十分广泛。本课题所采用的DSK5416 开发平台就板载了一块 TI C5416 芯片。 nts宝鸡文理学院 毕业设计论文 - 18 - 3.2 硬件平台 DSK5416 TI 公司提供的 DSP 入门者套件 (DSK, DSP Starter Kit)是一独立的开发、验证硬件平台,为 DSP 开发者带来了快速进行设计工作的低成本解决方 案。本课题使用的 DSK5416 开发平台除了使用 C5416DSP CPU 作为系统的中央处理器外,还在版上配置了 64K 字的 RAM, 256K 字的 Flash ROM,以及一个能完成对声音信号进行采样,数模转换以及对时域序列进行插值、模数转换然后输出波形声音信号的音频解编码器 PCM3002,十分适合应用于音频信号处理的项目。有关 DSK5416 的详细说明,参见文献 5。 图 3.1 DSK5416 系统框图 nts宝鸡文理学院 毕业设计论文 - 19 - 3.2.1 TI TMS320 C5416 DSP 芯片 C5416 是一款基于该进型哈佛架构 (advanced modified Harvard architecture)的定点 DSP 处理器,具有一条程序总线、三条数据总线、两个地址生成器。 C5416的算术逻辑单元 (ALU, Arithmetic Logic Unit)具有高度的并行能力,同时,分开的地址、数据空间与总线结构使 CPU 能够同时完成取址,读 /写操作数等操作,两条读指令和一条写指令可以在同一个指令周期中完成,增强了 CPU 的运算性能。 C5416 的具体特性如下: 工作频率高达 160MHz(对应指令执行速度为 160MIPS),节能状态频率低至 16MHz; 继承了 Viterbi 急速 起,在移动通信 GSM 解码中 Viterbi 碟形运算更新只需 4 周期; 1 个 40-bit 的相加器和 2 个 40-bit 的累加器,支持并行指令; 1717-bit 乘法器与加法器的级联,可同时完成 1 次乘和 2 次加; 4 条内部总线, 2 个地址生成器,可对程序和数据多路取数,减小存储器瓶颈; 40-bit ALU,可分为 2 个 16-bit 的通路,因而一周期可同时执行两路运算; 8 个辅助寄存器 (AR0,AR1AR7 )和一个软堆栈 (Software Stack),可作为定点 DSP 的高级 C 编译器; 6 个 DMA(Direct Memory Access,直接存储器存取 )通道; 带 2K 字节缓存器的串口, 20ns 指令时速度达 50Mb/s 与 T1/E1 或 H100标准接口; 16-bit/8-bit 可变 HPI(Host Port Interface,主机接口 ); 3 个多通道分时复用缓冲串口 (McBSP, Multichannel Buffered Serial Port),允许 128 个通道, 832-bit/字; 增强型 8-bit/16-bit 主机接口 (HPI, Host Port Interface),可用作普通并口或者连接其他 DSP 芯片,进行 并行处理; 64K 字 (16-bit)数据存储器、 8M 字程序存储器, 128K 字 RAM、 16K 字ROM; 内和电压为 1.5V, I/O 电压 3.3V,并有 3 种底功耗模式,功耗很低。 nts宝鸡文理学院 毕业设计论文 - 20 - 图 3.2 TI TMS320 C5416 芯片框图 C5416 芯片和 TI 的 C54X 系列其他芯片一样,采用多级流水线结构,将指令的执行分为 6 个阶段:指令预取址、取指令码、指令解码、存储器访问、读存储器、执行指令,如图 3.3。这 6 个阶段互相独立,在一个机器周期中可以处理多条指令,增强 CPU 的计算能力。 C5416 芯片有 3 个状态和控制寄存器, 分别是状态寄存器 0(ST0, Status Register),状态寄存器 1(ST1),处理器模式状态寄存器 PMST(Processor mode status register),他们都是 16-bit 的存储器映射寄存器,可以在程序里方便的寻址。其中 ST0 和 ST1 各位指示了 CPU 各种状态和设置,而 PMST 中各位包含了存储器设置控制以及中断向量表。各存储器对应位意义如图 3.4,各位对应值参见文献 1。 nts宝鸡文理学院 毕业设计论文 - 21 - 图 3.3 C5416 流水线操作示意图 (a)ST0 (b)ST1 (c)PMST 图 3.4 C5416 状态和控制寄存器 C5416 不仅不有片内存储器空间 (On-chip Memory) 还支持片外存储器(External Memory),在地址生成器生成地址时,芯片自动决定应该访问片内存储器还是片外存储器,这一点对方便程序开发十分有利。但是,使用片内存储nts宝鸡文理学院 毕业设计论文 - 22 - 器有着速度快 (访问时没有等待周期 ),专为 CPU 的流水线优化设计,相比使用片外存储器功耗更低,且开发、应用时不需要额外花钱购买外部存储器等优点,在片内空间足够的情况下,一般只使用片内存储器。 对于片内存储器的寻址, C5416 将程序寻址和数据寻址分开进行, 采用不同的地址和数据总线,程序和数据寻址过程相互独立,但程序和数据的存储空间采用统一的物理内存。程序寻址的地址总线宽度为 24 位,进行字节 (8-bit)寻址;数据寻址的地址总线也为 24 位,但是寻址时仅使用 23 位地址,将数据地址总线的最低位强制置 0,按单字 (16-bit)进行寻址。其中数据空间氛围 128 个数据页 (0127),每个数据页为 64K 地址,进行数据访问时,采用 7 位页地址,16 位偏移量。 与 TI 公司其它定点 DSP 类似, C5416 提供了定点乘法、除法、乘加等 DSP专用指令,支持快速的硬件循环和循环缓冲区访 问。另外,为了调试方便, C5416提供了片上仿真、允许主机和目标系统之间进行实时数据交换 (RTDX, Real-Time Data Exchange),极大地方便了软件调试工作。 3.2.2 CPLD 可编程逻辑器件 DSK5416 系统框图中 CPLD 代表“ Complex Programmable Logic Device” ,是 C5416 对 DSK 板载设备进行控制的核心器件,具有地址译码、状态表示、外设控制等作用,主要通过 CPLD 内部 8 个存储器映射寄存器 (MMR, Memory Map Register)来完成。 8 个 8 位 CPLD 寄存器被映射在 DSK5416 的 I/O 空间,地址分别是0x0000, 0x0001, 0x00020x0007 。它们的功能有: 控制 DSK 版上 4 个发光二极管 (LED); 返回 DSK 版 4 个跳线开关 (DIP)的状态; 控制扩展子卡接口; 选择 C5416 的 McBSP2 是连接到 HPI 接口还是 Codec 接口; 控制 PCM3002 Codec 的采样、输出、数据传输等操作。 在 8 个 CPLD 寄存器 (表 3.1)中, CODEC 寄存器 CODEC_L、 CODEC_H,nts宝鸡文理学院 毕业设计论文 - 23 - 杂项寄存器 MISC 以及 CODEC 频率寄存器 CODEC_CLK 关系着版载音频解编码器 PCM3002 的工作方式及状态 : 表 3.1 CPLD 各寄存器位定 义 I/O Addr Name Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 0 USER_REG USR_ SW3 USR_ SW2 USR_ SW1 USR_SW0 USR_ LED3 USR_ LED2 USR_ LED1 USR_ LED0 1 DC_REG DC_ DET DC_IO_ CTL DC_ STAT1 DC_ STAT0 DC_ RST 0 DC_ CNTL1 DC_ CNTL0 2 CODEC_L CODEC_L_CMD7.0 3 CODEC_H CODEC_H_CMD15.8 4 VERSION CPLD_VER3.0 0 BOARD VERSION2.0 5 DM_CNTL DM_ SEL MEMTYPE_DS MEMTYPE_PS DM_PG4 DM_ PG3 DM_ PG2 DM_ PG1 DM_ PG0 6 MISC CODEC_RDY 0 0 0 0 DC_WIDE DC32-ODD BSP2 SEL 7 CODEC_ CLK 0 0 0 0 DIV_ SEL CLK_ STOP CLK_ DIV1 CLK_ DIV0 CODEC_L、 CODEC_H 寄存器用于向 CODEC 传送指令。 CODEC 的控制指令字长 16-bit, CPU 希望配置 CODEC 时,需要首先将指令的低 8位写入 CPLD 的 CODEC_L 寄存器,然后再将指令的高 8 位写入CODEC_H 寄存器。当 CODEC_H 写入完毕后, CPLD 会自动将此 16 位通过串口移入 PCM3002 内部的控制寄存器中,达到配置 PCM3002 的目的。指令字不能连续写入 CODEC_L 及 CODEC_H 寄存器,因为 CPLD将控制字送出需要一定的延迟时间,约为 1ms。为防止连续写入控制字导致控制指令被丢弃, 写入控制字之前必须查询 MISC 寄存器的CODEC_RDY 位。该位用来表示上一个指令字是否已经送出,值为 1 时,CPLD 还未完成传送 CODEC 指令字的操作,仅当 CODEC_RDY=0 时,才能写入下一个控制字。 CODEC_CLK 寄存器用于改变 PCM3002 的采样频率。当 DIV_SEL 位为0 时,采样频率固定为 48KHz;为 1 时, CODEC 的采样频率由 CLK_DIV1、CLK_DIV0 位决定。当 CLK_DIV1、 CLK_DIV0 的值为 00、 01、 10、 11nts宝鸡文理学院 毕业设计论文 - 24 - 时,对应的采样频率分别为 24KHz、 12KHz、 8KHz、 6KHz。 CLK_STOP位用来启动、停止采样脉冲信号,在改变采样频率时,必须设置该位来重新启动采样脉冲。 MISC 寄存器中的 BSP2SEL 用来控制 C5416 的 McBSP#2 口是连接CODEC 还是 HPI。针对音频应用, PCM3002 必须通过 McBSP#2 口 连至CPU,以便将采样得到的音频序列输入 CPU 或将 CPU 输出的音频序列转换成模拟信号输出,此时 BSP2SEL 位应设置为 0;对于某些不使用PCM3002,而将 McBSP#2
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
提示  人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文
本文标题:宝鸡文理学院基于ti_dsk5416的音频信号处理v2设计
链接地址:https://www.renrendoc.com/p-516533.html

官方联系方式

2:不支持迅雷下载,请使用浏览器下载   
3:不支持QQ浏览器下载,请用其他浏览器   
4:下载后的文档和图纸-无水印   
5:文档经过压缩,下载后原文更清晰   
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

网站客服QQ:2881952447     

copyright@ 2020-2025  renrendoc.com 人人文库版权所有   联系电话:400-852-1180

备案号:蜀ICP备2022000484号-2       经营许可证: 川B2-20220663       公网安备川公网安备: 51019002004831号

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知人人文库网,我们立即给予删除!