课程设计(论文)-语音编码芯片应用.doc_第1页
课程设计(论文)-语音编码芯片应用.doc_第2页
课程设计(论文)-语音编码芯片应用.doc_第3页
课程设计(论文)-语音编码芯片应用.doc_第4页
课程设计(论文)-语音编码芯片应用.doc_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

语音编码芯片应用语音编码芯片应用第1章绪论. 引言由于移动通信和网络技术的发展,语音编解码技术在社会生活中起着越来越大的作用,本文介绍了语音编解码的发展和主要的技术,并以cmx649芯片为中心设计了发送端可接收端都可以使用的编解码模块。. 编码技术概述在移动通信中,传输最多的信息是语音信号。语音信号是模拟信号,语音的编解码就是将语音的模拟信号转换为二进制数字信号,到了接收端,再将收到的数字信号还原为模拟语音。所以,语音编码技术在数字移动通信中具有相当关键的作用。为什么要采用编码技术?因为即使是在数字通信中,通信质量比模拟通信时有了很大提高,但是仍是一个大问题,特别是在移动通信中,由于信道环境等因素的影响,使得我们不得不通过其它方法来提高我们的传输质量,采用编码技术就是一种有效的方法。在数字信号中,我们已经将语音的模拟信号转换为二进制数字信号,用1和0来表示。在编码技术中,我们通过一些方式,把数码进行变换,得到另外一组适于传输的数码,或者用其他的一些数码对原来的数码进行监察,以保证其在传输过程中不被误判。这就是编码技术。在现在的移动通信中,更多时候我们传输的是语音信号。语音编码为信源编码。语音编码技术在其发展的几十年里,研究出多种方案,并且在不断地研究中日趋成熟,形成了各种实用技术,成为通信技术中的一个相当重要的学科。在各类通信网中得到广泛的应用。从移动通信的要求看,因为分配给移动通信的频谱资源本来就很紧张,所以数字信道的带宽也不能再宽,这样才能有比较大的容量。高速的语音编码,语音质量高,但占用的带宽大,适用于宽带信道上。中速的编码,语音质量略低,占用的带宽也小一些。低速编码的语音质量较差,但占用的带宽较小,可用于对语音质量要求不高的窄带信道中。第2章语音编解码技术的介绍. 语音编码技术的类别语音编码方法归纳起来可以分成三大类:波形编码、参数编码、混合编码。211 波形编码波形编码是将时间域信号直接变换为数字代码,力图使重建语音波形保持原语音信号的波形形状。波形编码的基本原理是在时间轴上对模拟语音按一定的速率抽样,然后将幅度样本分层量化,并用代码表示。解码是其反过程,将收到的数字序列经过解码和滤波恢复成模拟信号。212 参数编码与波形编码不同,参数编码又称为声源编码,是将信源信号在频率域或其它正交变换域提取特征参数,并将其变换成数字代码进行传输。解码为其反过程,将收到的数字序列经变换恢复特征参数,再根据特征参量重建语音信号。213 混合编码混合编码是将波形编码和参数编码组合起来,克服了原有波形编码和参数编码的弱点,结合各自的长处,力图保持波形编码的高质量和参数编码的低速率,在4-16kbit/s速率上能够得到高质量的合成语音。. 语音编码所常用的基本技术语音数字化的技术基本可以分为两大类:第一类方法是在尽可能遵循波形的前提下,将模拟波形进行数字化编码;第二类方法是对模拟波形进行一定处理,但仅对语音和收听过程中能时候到的语音进行编码。其中语音编码的三种最常用的技术是脉冲编码调制(pcm)、差分pcm(dpcm)和增量调制(dm)。221 脉冲编码调制(pcm)所谓脉冲编码调制,就是将模拟信号抽样量化,然后将已量化值变换成代码。脉冲幅度调制(pam),使用离散抽样的时间以模拟抽样幅度来从不断变化的模拟信号中提取信息。脉冲编码调制是对pam的扩展,这里每一个模拟抽样制备量化为代表某个数字编码的离散值。因此,pa m系统通过在信源端加上模拟数字信号转换器就能够转化成为pcm系统。典型的量化过程是其中量化间隔中心的单个离散值表示。在这种方式中,量化过程对信号抽样值引入了一定程度的误差或失真。这种误差,就是所谓的量化噪声,可以通过建立大量小量化间隔来最小化。当然,随着量化数目的增加,需要唯一识别量化间隔的比特数也增加了。222 差分脉冲编码调制(dpcm)差分脉冲编码调制dpcm是利用样本与样本之间存在的信息冗余度来进行编码的一种数据压缩技术。差分脉冲编码调制的思想是,根据过去的样本去估算下一个样本信号的幅度大小,这个值称为预测值,然后对实际信号值与预测值之差进行量化编码,从而就减少了表示每个样本信号的位数。它与脉冲编码调制(pcm)不同的是,pcm是直接对采样信号进行量化编码,而dpcm是对实际信号值与预测值之差进行量化编码,存储或者传送的是差值而不是幅度绝对值,这就降低了传送或存储的数据量。此外,它还能适应大范围变化的输入信号。图中,差分信号是离散输入信号和预测器输出的估算值之差。注意,是对的预测值,而不是过去样本的实际值。dpcm系统实际上就是对这个差值进行量化编码,用来补偿过去编码中产生的量化误差。dpcm系统是一个负反馈系统,采用这种结构可以避免量化误差的积累。重构信号是由逆量化器产生的量化差分信号,与对过去样本信号的估算值求和得到。它们的和,即作为预测器确定下一个信号估算值的输入信号。由于在发送端和接收端都使用相同的逆量化器和预测器,所以接收端的重构信号可从传送信号获得。 dpcm方块图223 增量调制(dm)增量调制(dm)是又一种在语音波形中专门利用抽样与抽样之间冗余的数字化技术。实际上。dm能被认为是dpcm的一个特殊情况,差信号的每抽样仅使用1比特。唯一的1比特仅指出差异抽样的极性,因此指示出了信号从上个抽样开始时增加还是减少。对输入波形的大致近似在反馈通路中进行构建的,当差异为正的时侯通过上升一个量化阶,或当差异为负的时候,下降一个量化阶来进行。用这种方法,输入信号被按照上升或下降的序列以类似楼梯的方式来编码。反馈信号会向一个方向上升直到近似信号超过了输入信号,同时反馈会向反方向进行直到输入信号超过了近似信号。因此,当跟踪输入信号时,dm输出在输入波形附近来回跳动,运行通过平滑滤波器来精确的重建输入信号。第3章 毕业设计涉及的几种编解码技术的介绍. pcm编码脉冲编码调制(pcm)是将模拟信号转换成二进制数字信号的编码过程。它产生的pcm信号经过压缩码率的信源编码送入信道编码器,将码流变成适合于传输的形式送入信道(无线、有线)传送。在接受端经信道解码、信源解码还原成pcm信号,再经pcm解号,输出模拟信号予以显示。pcm编码原理:pcm编码包括取样、量化和二进制编码三个阶段。将模拟信号换成在时间上,幅度上都是离散的pcm信号。因而pcm编码又称a/d转换。311 取样所谓抽样,就是对模拟信号进行周期性扫描,把时间上连续的信号变成时间上离散的信号。图a为模拟信号f(t)。其最高频率为fm:b是f(t)的频谱 f()。最高角频率为m=2fm。c是间隔为t的冲激数序列,t(t),现用t(t)对f(t)进行取样,取样后的信号为fs(t)(图e)由于t(t)的频谱t()为:t()=s(-ns)。(式中:s=2fs、fs=1/t)也是冲激序列(图d)。所以,fs(t)可看作是f(t)()如图f 所示(s=2m)。显然可以看出,如果s2m,用一个截止频率为=/2的理想低通滤波器。就能把模拟信号的信息不失真地恢复出来。所以,不失真取样的条件是取样频率应大于或等于模拟信号最高频率的2倍。这就是奈奎斯特取样准则。在取样过程中存在着混叠噪声和孔径失真。混叠噪声:根据采样定理,如果s2m时,fs(t)的频谱就会出现混叠现象(图g)。这时既使用理想的波滤器,也难以取出f(t)的频谱。因而,恢复出的信号竟产生失真混叠失真。所以在取样前,应将f(t)信号通过一低通滤波器,滤除fm以上的信号,由于滤波器的幅频响应不可能是陡峭的,所以限带不可能完善,而混叠噪声将不可避免,为此,应把fs提高到2.22.7fm。孔径失真:取样脉冲内部可能是理想的冲激脉冲,而具有一定的脉冲宽度。这样就会引入取样脉冲的动态误差,其大小与输入信号的变化速度有关,理论分析表明,f(t)发生了 高频哀减,需要在pcm解调器进行补偿。312 量化所谓量化,就是把经过抽样得到的瞬时值将其幅度离散,即用一组规定的电平,把瞬时抽样值用最接近的电平值来表示。即将取样保持后的幅度上连续的信号变为有限个在幅度上离散的二进制pcm信号。量化分为含入量化和截尾量化。如果a表示量化间距,显然,舍入量化的最大误差为a/2。而截尾量化的最大误差为a,所以,前者用的较多。如果输入信号的动态范围为a,则有m=aa。用二进制编码时,所需的码位数(比特数)n与m的关系为:m=2,显然a一定时,a越小,则m越大,响应的比特数n也越大。量化噪声分析:在量化过程中,由于用频置的量化级数电平代替了被两化信号,因而必然带来量化噪声。对于舍入式量化,量大误差为a/2,经理论分析可得出如下结论:对于正弦信号(伴音信号):sq/nq=1.5对于单极性信号(亮度信号)sq/nq=2对均匀量化,由于a固定,所以,信噪比与输入信号动态范围有关,强信号时可把噪声淹没:弱信号时,噪声的干扰就很明显,为维持信噪比基本不变,应使a随a变化,即a大时粗量化而a小时细量化,这就是非均匀量化。由于人的听觉与视觉响应不同,因而,一般对音频信号进行非均匀量化而对视频信号进行均匀量化。313 编码编码是将经量化的电平编成二进制,一般采用自然二进制码,它能直观,简便的反映出量化电平的值: 十进制量化级数值: m(10)=cn2n-1+cn-12n-2+c120量化电平值:a(10)=m(10)a由于自然二进制码在传送的过程中,如果出现差错,特别是高位出错时,译码后会造成较大的电平误差。因而,有时也采用格雷码和折叠码,格雷码相临量化级码之间的码距为1,据数理统计结果显示,如果出现误码译码后的电平误差要小。而折叠码是以量化范围的中心为折叠线,上下对称排列。其最高位代表符号,它适应宜用于双极性信号,如伴音信号。最高位出错时,仅将信号反相,幅度不会变化,所以具有传输时误码所产生的噪声幅度最小的优点。. adm编码(自适应增量调制编码)自适应增量调制(adm):增量调制的两个缺点:斜率过载和产生粒状噪声。斜率过载是指增量调制的输出不能跟踪输入信号的快速变化。粒状噪声是指当输入信号与输出信号相等时,编码器过载造成失真,这是学要加大量化增量。自适应增量调制的特点是量化增量会随着输入信号自动调整。该系统设定系统输出为+1和-1,当输出值不变化时,量化器量化增量增大50%,当输出值改变时,量化器的量化增量减小50%。从而使斜率过载和粒状噪声达到最小。在斜率过载时,量化增量每次增加50%,以使预测值的输出跟上输入信号的变化;当预测器的输出超过输入信号时,量化增量就减小,从而改变粒状噪声。在adm 技术中, 前向反馈adm , 量化器的步长自适应调整到与输入信号的强度成正比; 而后向反馈adm 中, 量化器步长的自适应调整是基于量化器输出的样值幅度的。在这里,主要介绍一下一般采用的后向反馈自适应算法。321 数学建模 增量调制也称调制(delta modulation, dm ) , 是一种预测编码技术,以看成是dpcm 的一种简化形式。dm 是对实际的采样信号与预测的采样信号之差的极性进行编码, 采用2 电平(1 比特) 量化器, 配以固定的一阶预测器, 将极性变成“+ 1”和“- 1”这两种可能的取值之一。在量化器中, 如果实际的采样信号与预测的采样信号之差大于“0”, 则用“+ 1”表示;反之则用“- 1”表示,或者相反。预测器根据输入“+ 1”或“- 1”来预测下一个样值是上升一个还是下降一个,以跟上模拟信号波形的变化。最后编码送出的是一串二进制比特流:“+ 1”用“1”表示;“- 1”用“0”表示。由于dm 编码只须用1 位比特对话音信号进行编码, 所以dm 编码系统又称为“1 位系统”。算法如下(其算法实现见图1 和图2) :x n = x n- 1 + en- 1 (1)en = x n xn (2)式中:令xn 代表当前的信源样值, x n 代表x n 的估计值, en 代表估计误差。输入模拟信号x ( t), 经抽样器取样后输出x n , 与单步预测器输出x n 相减, 得到en。量化器再根据en的极性(大于0, 还是小于0) 输出编码en(“+ 1”或“- 1”)。其中:式(1) 差分方程是预测器,实质上代表一个对输入en 的积分器, 也可称为本地译码。其等效实现方法是采用一个累加器, 令其输入信号为量化误差信号en, 输出就是xn。一般地, 这个量化误差信号可用某个值来标定, 如步长。最后,预测器产生一个与信源模拟信号波形相似的近似于线性阶梯函数的波形。在接收端, 同理于发送端的本地译码器。解码输出的xn 要经过一个低通滤波器, 平滑波形来恢复信源信号。对于任何给定的抽样速率, 增量调制(dm ) 编码器的性能都要受到两类失真的限制。一类是斜率过载失真,它是由于所用的步长太小, 跟不上模拟信号波形中斜率陡峭部分的变化速度而造成的; 另一类失真为颗粒失真也称为一般量化噪声, 是由于所用的步长 太大,在模拟信号波形中的斜率较小部分产生的。在dm 系统中, 选择步长, 使两类失真最小的这种要求是相互矛盾的,为减小颗粒失真, 必须减小步长; 而为减小斜率过载失真, 必须增大步长。解决办法之一是选择, 使两类失真的均方值之和最小。但是, 即使被优化而使斜率过载失真和颗粒失真两者总的均方值达到最小, dm 编码器的性能可能仍然不令人满意。那么第二种解决办法就是采用可变步长, 使其适应信源信号的即时特性, 即当波形具有陡峭斜率时,使步长增大, 当波形斜率相对较小时,使步长减小。这就是自适应特性。自适应增量调制(adm ), 就是基于这种思想而产生的。为了使增量调制器的步长能够自适应, 也就是根据输入模拟信号波形斜率的变化自动调整步长的大小,以使斜率过载失真和颗粒失真都减到最小。许多研究人员研究了各种各样的方法,其基本思想是在检测到斜率过载时开始增大步长,而在输入信号的斜率减小时减小步长。量化误差en可以为被编码波形的斜率特性提供很好的提示。如果en 在连续的几个抽样时刻得到的样值符号都是“+ ”或都是“- ”,就说明模拟信源信号波形上升或下降太快,而估计值变化无法跟上。在这种情况下,adm 系统就要增大步长以减小斜率过载失真。反之,如果en在“+ 和“- ”之间交替变化,就说明模拟信源信号波形斜率变化缓慢,没有发生斜率过载失真,那么,系统就要减小步长以减小量化噪声。一般采用是两次叠代的方法。式(3) 中,应选择合适的k值使得整个失真最小化。根据式(4),基于式(1) 和式(2) 对图1 和图2 的dm 系统模型稍作修改,可得到如图3 和图4 所示的模型。其中:令xn代表当前的信源样值,xn 代表xn 的自适应估计值, en代表自适应估计误差。模型中与dm 系统不同的地方,就是在积分器部分加了一些对步长根据式(3) 进行动态计算的功能模块。如图3模型中右下部分。其中k的取值要适当。322 数学模型仿真及仿真结果分析文中仿真输入的模拟信号是两个正弦信号的叠加,频率分别为:100 hz 和300 hz。抽样频率选择在13 000hz。dm 系统信源编码器和译码器仿真实现结果如图5和图6所示。图5中示出了三种曲线,从下往上依次为编码输出的二进制比特流;量化噪声(用模拟信号与阶梯波形之间的误差表示); 信源模拟信号波形和量化后的近似于线性阶梯函数的波形。图6中解码器的输出与原输入模拟信号相比有一些延迟,这是由于xn经过低通滤波器平滑滤波的缘故。对于任何给定的抽样速率,dm 编码器的性能都要受到两类失真的限制(斜率过载失真和颗粒失真也称为一般量化噪声)。这两类失真在图5 中可明显看出, 统称其为量化噪声。实际的操作中,一般让dm 系统的抽样频率fs选得足够大,这样,既能够减小斜率过载失真,又可以降低一般量化噪声,而使dm 系统的量化噪声减小到给定的容许数值。这个结论可以在图8中得到肯定。很明显,当系统的抽样频率f s 越取越大时,量化噪声功率是越来越小的。但是,工程应用当中这是不现实的。抽样频率提高了,相应地编码速率也会提高,进而系统带宽也会增加。这样, 不仅加大了成本,在实现上也造成了很大的困难,而且部分甚至全部地抵消了dm 系统原本对于带宽节省的优越性。adm 系统信源编码器仿真实现结果如图7 所示,其译码器仿真实现结果与dm 系统相同,这里就不再列出。与dm 系统一样,图7 中也示出了三种曲线,从下往上依次为编码输出的二进制比特流,量化噪声, 信源模拟信号波形和量化后的近似于线性阶梯函数的波形。图8 中是将dm 系统和adm 系统针对不同的抽样频率所得的量化噪声功率进行比较。这里,k 选择了111,步长初始取值为011250。对于任何给定的抽样速率,adm 编码器的性能同样受到斜率过载失真和颗粒失真两类失真的限制。但是,从图8 中可以看出,adm 系统的性能总的说来是优于dm 系统的。当抽样频率在810 917 khz 时,dm 系统的性能稍优于adm 系统;当抽样频率在918 khz 和1516 khz 时,两者性能无较大差别; 当抽样频率大于16 khz 时,adm 系统的性能明显优于dm 系统。由于自适应地改变步长, adm 系统可在模拟信号幅度较小时给出准确地估计,而不会在模拟信号幅度大的地方牺牲性能。此文针对步长的改变,采用了一个相对简单的算法,对于相关参考文献中提出的其它算法和不同的信源模拟信号,可能以上所述的adm性能会更加明显。这有待于进一步讨论。在snr 不够高的情况下,由于adm 系统的步长是自适应变化的,就可以避免在使用dm 系统过程中出现的而无法解决的问题:接收机在接收到符号进行译码时就会译错(如+译成-)。这样就相当于错了2。而接收端的估计信号会随着发送端的估计信号变化, 但是偏差了2。这种情况只有当另外一个错误再发生时才会改变, 要么抵消原先的错误, 要么叠加原先的错误成双倍。adm 系统与dm 系统相比具有更大的动态范围,因此它可以使用较低的速率,如32kbps 甚至是16 kbps。在无线通信系统中,采用adm 技术就可以用16 kbps的速率,在25 khz 带宽的无线信道上直接传输降低了质量的数字话音信号。上文中所讨论的增量调制(dm ) 和它的改进型自适应增量调制(adm ) 都属于波形编码技术。尤其是adm技术具有适应能力强、语音质量好等优点。而且在16kbps的速率上, 也能给出高的编码质量。由于其所用的编码速率仍然较高, 适用于对信号带宽要求不太严格的通信中,而对频率资源相对紧张的移动通信来说,这种编码方式显然还是没有达到要求。当速率进一步下降时,其性能会下降较快。为此, 许多科技人员研究了各种各样的方法,而且几乎所有的方法基本上都是在检测到斜率过载时开始增大步长,而在输入信号的斜率减小时减小步长。在对步长自适应调整的大多数算法中都是基于对量化误差en,在过去时间内的连续3 个或4 个样值的考虑。. cvsd(连续可变斜率增量调制)pcm是根据输入信号的采样值,以固定的量化步长对语音信号进行量化和编码的。在采样频率一定的情况下,量化步长的选取将决定编码效果和语音质量。由于输入信号的随机性与多样性,pcm编码的效果并不十分理想,相对于输入信号振幅的变化而言,往往会因为量化步长的过小或过大而造成量化噪声和过载噪声,当传输中有误码发生时,将会产生严重的信号失真。cvsd的量化步长是可动态调节的。它通过对输入信号的振幅变化率来调节量化步长的增量值,当输入信号的振幅变化率增大时,增量值也相应增大,反之亦然。这样,它就能对输入的原始信号进行准确的跟踪、量化及编码,从而拥有很高的信号保真度。经研究测试表明,采样速率在20kbps左右的cvsd的语音编码能够基本满足日常的无线语音通话要求,与pcm和adpcm相比,语音质量要略低于64kbps的pcm和32kbps的adpcm,但要优于16kbps的adpcm。cvsd编码擅长处理丢失和被损坏的语音采样,即使误码率达到4%,经cvsd编码的语音还是可听的。第4章 毕业设计相关芯片的介绍. cmx649芯片介绍cmx649是由cml公司研制开发的一种支持cvsd语音编码调制的芯片。它提供全双工的adm(cvsd),-律、a-律和线性pcm编码以及adm与pcm的码制转换功能,为无线语音应用提供一种低成本、低功耗的理想解决方案。cmx649adm音频编解码处理器提供了基于低成本,低功耗和无线音频应用下的多种处理能力,包括:全双工的adm,律/a律以及线性的pcm编解码和代码间的转换。可选的模式及法则可以支持众多的应用,全面的adm译码(如cvsd)减少了主协议和软件的负担, 也减少了将来的错误修正,议制定和运算处理.编解码的双模式处理也支持了多通话线路的应用。完善的滤波器可以在16kbps-128kbps的数据速率之间自由调整.编解码器的采样时钟可以是内部生成的也可以是外部施加的.高性能的模拟接口和侧音也包含了数字增益的控制。编码和解码的声音功率检波器支持节能模式。cmx649adm声音信号编解码器可以在2.7v-5.5v电压下运行,可以是20针的soic(d3)封装也可以是tssop(e3)封装。引脚定义:soic封装tssop封装信号描述引脚号引脚号名称类型11strb数字输入串行i/o口8/16缓冲的选通信号22env vad数字输出编码器的声音功率检波器输出33vdd电源正电压提供44mic out模拟输出从麦克风放大器输出的模拟信号55mic +模拟输入输入到麦克风放大器的正向模拟信号66mic -模拟输入输入到麦克风放大器的反向模拟信号77vbias模拟输出1/2的vdd:没有缓冲的时候不能使用外部程序.这个引脚必须与vss用一个大于1f的电容进行去藕合88audio out模拟输出译码器的模拟信号输出99vss电源负电压(接地)1010dec vad数字输出译码器的声音功率检波器输出1111rx data数字输入接收信号的串行数据输入1212rx clk数字i/o译码器的数据时钟1313xtal/clk模拟输入4-16mhz石英振荡器输入1414irqn数字输出)1515rply数字输出)1616cmd数字输入)c-bus的控制信号1717sclk数字输入)1818csn数字输入)1919tx clk数字i/o已编码的数据输出的时钟信号2020tx data数字输出已编码的数据输出注释:i/o=输入/输出 nc=无连接. 8051单片机在单片机控制方面,采用了aat89c52芯片,以8051为处理器,在此做简要的介绍。8051单片机包含中央处理器、程序存储器(rom)、数据存储器(ram)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线。中央处理器(cpu)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,cpu负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。数据存储器(ram):8051内部有128个8位用户数据存储单元和128个专用寄存器单元,它们是统一编址的,专用寄存器只能用于存放控制指令数据,用户只能访问,而不能用于存放用户数据,所以,用户能使用的的ram只有128个,可存放读写的数据,运算的中间结果或用户定义的字型表。程序存储器(rom):8051共有4096个8位掩膜rom,用于存放用户程序,原始数据或表格。定时/计数器(rom):8051有两个16位的可编程定时/计数器,以实现定时或计数产生中断用于控制程序转向。并行输入输出(i/o)口:8051共有4组8位i/o口(p0、p1、p2或p3),用于对外部数据的传输。全双工串行口:8051内置一个全双工串行通信口,用于与其它设备间的串行数据传送,该串行口既可以用作异步通信收发器,也可以当同步移位器使用。中断系统:8051具备较完善的中断功能,有两个外中断、两个定时/计数器中断和一个串行中断,可满足不同的控制要求,并具有2级的优先级别选择。时钟电路:8051内置最高频率达12mhz的时钟电路,用于产生整个单片机运行的脉冲时序,但8051单片机需外置振荡电容。部分引脚简单说明:p20:接地脚;p40:正电源脚,正常工作或对片内eprom烧写程序时,接+5v电源;p19:时钟xtal1脚,片内振荡电路的输入端;p18:时钟xtal2脚,片内振荡电路的输出端。8051的时钟有两种方式,一种是片内时钟振荡方式,但需在18和19脚外接石英晶体(2-12mhz)和振荡电容,振荡电容的值一般取10p-30p。另外一种是外部时钟方式,即将xtal1接地,外部时钟信号从xtal2脚输入;输入输出(i/o)引脚:p39-p32为p0.0-p0.7输入输出脚,p1-p1为p1.0-p1.7输入输出脚,p21-p28为p2.0-p2.7输入输出脚,p10-p17为p3.0-p3.7输入输出脚;p9:reset/vpd复位信号复用脚,当8051通电,时钟电路开始工作,在reset引脚上出现24个时钟周期以上的高电平,系统即初始复位。初始化后,程序计数器pc指向0000h,p0-p3输出口全部为高电平,堆栈指钟写入07h,其它专用寄存器被清“0”。reset由高电平下降为低电平后,系统即从0000h地址开始执行程序。然而,初始复位不改变ram(包括工作寄存器r0-r7)的状态;p30:ale/当访问外部程序器时,ale(地址锁存)的输出用于锁存地址的低位字节。而访问内部程序存储器时,ale端将有一个1/6时钟频率的正脉冲信号,这个信号可以用于识别单片机是否工作,也可以当作一个时钟向外输出。更有一个特点,当访问外部程序存储器,ale会跳过一个脉冲;p29:当访问外部程序存储器时,此脚输出负脉冲选通信号,pc的16位地址数据将出现在p0和p2口上,外部程序存储器则把指令数据放到p0口上,由cpu读入并执行;p31:ea/vpp程序存储器的内外部选通线,8051内置有4kb的程序存储器,当ea为高电平并且程序地址小于4kb时,读取内部程序存储器指令数据,而超过4kb地址则读取外部指令数据。如ea为低电平,则不管地址大小,一律读取外部程序存储器指令。第5章基于cmx649芯片的语音编解码应用设计. cmx649外部连接系统全图上图是cmx649芯片与外部连接好后的原理图,没有加入单片机的控制,全图收录在附录中。注释:为了达到优秀的抗噪性能,对vdd和vbias的去藕合及在外部信号干扰下的信道保护就非常重要。因此我们推荐,在印制电路板上cmx649芯片的部分最好被放置在一个水平面上以使得vss,vdd,vbias的隔直电容之间的连接都可以获得很低的阻抗。511 时钟信号 时钟信号采用一个石英振荡器获得,直接连入13口。选用频率为4.096mhz一个频率为4.096mhz的晶振提供的时钟可以正好产生16kbps/32kbps/64kbps的内部数据时钟速率。 512 信号输入信号输入有两种:一种是麦克风的模拟输入,通过麦克风输入电路的连接接入到cmx649的麦克风放大器(5,6两个引脚)进行模拟信号的处理.先进行模数转换然后根据选择的编码方式进行编码。c1-c4和r1-r4用来设置麦克风放大器增益和频率响应。如果设为图中的值,则增益是整数而低频和高频的-3db频率衰减点分别在150hz和15khz。还有一种是信道输入的数字编码信号,通过11脚(rx data)接入,同时12脚(rx clk)接入译码器的时钟信号。513 pcm编解码信道 编码方式的选择是由c-bus接口控制的,在这里只给出信号在芯片中具体的处理线路。514 adm编解码信道515 pcm-adm相互转换516 已处理信号输出与信号的输入一样,输出也分为两种:一种是模拟信号输出,通过8脚(audio out)输出的模拟音频信号与10脚(decvad)检波器的功率输出相叠加,最终在外置的扬声器上得到解码输出的声音。隔直电容通过一个外部的扬声器放大器来驱动扬声器.图中的值是基于在大约150hz的高通衰减频率下驱动一个阻抗为32的扬声器。而另一种则是数字信号的输出,19口(tx clk)输出已编码的数据输出的时钟信号,20口(tx data)输出已编码的数据,经过信道的传输后可以解码得到还原的语音信号。517 c-bus接口 c-bus接口包括了14,15,16,17,18一共5个接口,是cmx649最大的改进之处,也是控制编解码算法和参数设置的接口。通过c-bus接口信号的控制,可以对cmx649内部的寄存器进行数据读写,从而灵活有效的进行配置,达到最大性能或者最低功耗亦或者两者的平衡。c-bus接口与cmx649内部寄存器的控制关系如下表:只写寄存器:用于外部信号对芯片的控制:寄存器名16位地址/命令第7位(d7)第6位(d6)第5位(d5)第4位(d4)第3位(d3)第2位(d2)第1位(d1)第0位(d0)复位01xxxxxxxxaaf/aif带宽61平滑滤波器平滑滤波器带宽带宽音量/侧音电平62音量侧音开/关音频输入电平控制器63输入电平000功率控制1640平滑滤波器0反映像滤波器编码dac电流译码dac电流功率控制265麦克风电流音频电流音量电流晶振电流模拟启动编解码模式控制7000000编解码模式量化器控制171量化器分离量化器多项en0inverten0invertt9t8量化器控制2多项t7t6t5t4t3t2t1t0时钟分频控制72prendckenecken滤波器计数器滤波器除法器位时钟计数器解码位时钟计数器编码位时钟计数器时钟源控制7300相位检测输入选择0000pll enrx位时钟选择tx位时钟选择数据滤波器数据滤波器和限制功率控制数据滤波器bw编解码中断控制81编码允许解码允许解码器模式和设置1d04/8dec选择pcm输入选择adm输入解码器输出选择0解码器模式和设置2vad延迟时间常量vad激发时间常量选择vad输出源0解码器adm控制1d1音节时间常量动态步长范围积分器压缩标准解码器adm控制2积分器主要时间常量积分器次要时间常量次要积分器的零位解码器置零解码器vad门限1d2音频功率检波器的阀值设置的8-15位解码器vad门限2音频功率检波器的阀值设置的0-7位解码器偏移电平1d3偏移量输入电平的8-15位解码器偏移电平2偏移量输入电平的0-7位解码器线性pcm输入1d7dac输入的8-15位直接写入解码器线性pcm输入2dac输入的0-7位直接写入解码器adm输入d8解码器adm输入编码器模式和设置1e04/8的dec选择pcm输入选择adm输入本地解码器输出选择空闲信道增强编码器模式和设置2vad延迟时间常数vad激发时间常量vad输出源选择adm输出选择编码器adm控制1e1音节时间常量动态步长范围积分器压缩标准编码器adm控制2积分器主要时间常量积分器次要时间常量次要积分器的零位解码器置零编码vad阀值1e2音频功率检波器的阀值设置的8-15位编码vad阀值2音频功率检波器的阀值设置的0-7位编码偏移电平1e3偏移量输入电平的8-15位编码偏移电平2偏移量输入电平的0-7位编码器dac输入1e7dac输入的8-15位直接写入编码器dac输入2dac输入的0-7位直接写入编码器adm输入e8编码器adm输入只读寄存器:将信号的信息发给外部芯片。这部分的寄存器比较少而且使用上没有只写寄存器对参数设置所起的作用显著。主要是返回芯片的各种状态,方便程序编写时的控制。518 单片机控制控制方法:由于c-bus接口共有5个引脚,因此将8051芯片于外部的锁存器和存储器连接好后,用p1口中的0,1,2,3,4来分别控制c-bus中的irqn, rply, cmd, sclk, csn口的信号,用来调节芯片的参数。 cmx649的与8051之间地址和数据的读取是串行方式的,可以进行1或2个字节的程序或者数据的读取。当需要对芯片进行控制的时候,将csn置于低电平,选通c-bus的控制功能,sclk口输入时钟信号,在每个时钟周期的有效时段,单片机将控制命令输入cmd口,而相应输出的字节则通过rply口返回单片机。在没有外部时钟输入的时候,cmd和rply口都不对输入或输入的信号进行处理。当csn再次处于高电平时,结束选通状态。根据这个原理,就可以编出实际应用的程序来。利用wr口选通csn,ale口将单片机时钟输入sclk

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论