利尔达MSP430F5438学习版资料,以及使用学习板开发的无线语音传输系统!!
近年来,无线数据传输一直是业界的热点,其应用领域也在不断的扩大。目前,无线传感器网络只能实现简单的环境数据(如温度、湿度、光强等)的采集、传输与处理,然而,随着监测环境的日趋复杂多变,由这些传统传感器网络所获取的简单数据逐渐不能满足人们对环境监测的全面需求,如果在传输简单的环境数据(如温度、湿度、光强等)的同时增加对语音的传输,将更好的满足实际的需求。基本原理是把AD采样的语音信号经单片机编码后通过无线数传模块发送出去,并从数传模块接收到的数据经解码通过DA放送。在本项目中,语音编码算法是其中的关键。
本项目主要是完成对语音的采集、编码、无线传输、解码、放送。
采集部分通过麦克风将声波信号转换成模拟电信号。然后通过运算放大器放大,得到一个ADC可以采集到的模拟信号,最后通过ADC,将模拟信号转换成数字音频信号,根据奈奎斯特采样定理,采样频率必须大于被采样信号中最大频率分量频率的两倍,才能把数字音频数据回复原始模拟语音信号。人的语音频率小于3000Hz,所以采样率应至少为6kHz,一般取8kHz。
由于人的语音有很大的自相关性,所以直接抽样获得的数字语音信息有很大的冗余,所以通过合理的编码能够使数据量减小,但一般编码会带来信息丢失,即语音失真。语音编码一般可分为波形编码和参量编码两种,波形编码失真小、算法简单,但压缩率高,参量编码失真较大、算法复杂,但压缩率低,由于单片机处理速度有限,故本项目采用波形编码。在波形编码中,应用比较广泛的技术有脉冲编码调制(PCM),自适应增量调制(APCM),差分脉冲编码调制(DPCM)自适应差分脉冲编码调制(ADPCM)。综合音质、算法延迟小、算法复杂程度。最终选择DPCM和ADPCM。具体选择哪种,需再进一步通过实验验证。
无线传输是通过无线模块将需传输的数据打包传输,CC1101是TI公司一款高性价比的单片UHF收发器,为低功耗无线电应用而设计。在本项目中,选择CC1101与MSP430F6438配合使用,通过硬件SPI接口,很好的的完成无线数据通讯,软件上CC1101与CC1100兼容,可使用CC1100的接口库。丰富的数字特性则有助于加速开发进程,降低MCU压力,即便在较高数据速率下也游刃有余。
语音的输出是通过DA输出后经带通滤波器滤除不需要的部分,然后经过功率放大器放大,然后驱动耳机发出声音。MSP430F6438单片机自身不带DA,基于成本、体积等考虑,使用PWM方式产生DA输出,利用PWM-DA输出,其实就是利用16位定时器进行一个占空比不断变化的PWM波的输出。而输出模拟电压值VOUT的计算公式如下:VOUT= VCC*dutycycle(占空比)。利用Timer的输出模式产生的 PWM 波占空比的计算公式则是 :Dutycycle= CCRx / CCR0 ,可见,Timer 模拟 PWM-DA 输出电压 VOUT是由 CCRx 与 CCR0 的比值来决定的,所以可以通过调节输出的 PWM 波的占空比来实现模拟音频信号输出。
根据系统需求,单片应尽量内带AD、DA,用于声音的采样和放送,含硬件SPI接口,用于和无线数传模块通讯,较高的处理速度,用于数据编解码,尽量低的功耗,以适应电池供电的环境。
MSP430F6438是TI微处理理家族里功能较为齐全的一款,内有266k Flash存储器、16k RAM,最高26M时钟频率,内含12位AD、硬件乘法器、DMA控制器,多个功能齐全的16位定时器,可以用来做PWM-DA使用。而且在实时时钟模式功耗仅0.6µA ,工作模式166μA/MIPS,在 6μs 之内快速从待机模式唤醒,很好的满足了本系统对功耗的要求。
CC1101是TI公司一款高性价比的单片UHF收发器,为低功耗无线电应用而设计。它是CC1100器件的加强升级版,灵敏度更高,功耗更小,带宽更大。CC1101可满足多个领域中的低功耗无线应用要求,如警报与安全、自动抄表、工业监控以及家庭和楼宇自动化等。CC1101理想适用于工业、科学及医药设备(ISM)以及316、433、868及916MHz短距装置(SRD)频带。但是,该器件也可方便编程,以支持其它频率,如300-348MHz、387-467MHz及779-928MHz等。出色的频带与调制格式支持使其能与目前的RF终端设备相兼容。
与CC1100相比CC1101的性能得到了显著提升,CC1101的增强之处包括:增强的寄生响应能力、更出色的近载波相位噪声性能(close-in phase noise)、更高的输入饱和、改进的输出功率斜波(power ramping)以及更宽的频带范围等。CC1101针对多种应用提供了广泛的硬件支持,其中包括数据包处理、数据缓冲、突发传输、信道空闲评估、链路质量指示、无线电唤醒等。通过SPI接口就能对主要工作参数与64字节的传输/接收FIFO进行控制。
在本项目中,CC1101与MSP430F6438配合使用,通过硬件SPI接口,很好的的完成数据通讯,软件上CC1101与CC1100兼容,可使用CC1100的接口库。丰富的数字特性则有助于加速开发进程,降低MCU压力,即便在较高数据速率下也游刃有余。
CC1101 具有一个低功耗 IF 接收机。低噪声放大器 (LNA) 将接收到的 RF信号放大,并在求积分 (I 和 Q) 过程中被降压转换至中频 (IF)。在 IF 下,I/Q信号被 ADC 数字化。自动增益控制 (AGC)、精确信道滤波和调制解调位/数据包同步均以数字方式完成。发送器部分基于 RF 频率的直接合成。频率合成器包括一个完全片上 LC VCO 和一个 90 度相位转换器,以在接收模式下向降压转换混频器生成 I 和 Q LO 信号。
声音是特定频率的振动信号,通过麦克风,将声音信号转换成模拟电信号,通过 TLC2760 对采集到的声音模拟电信号放大,然后将放大后的信号接入 ADC 的输入端。放音时,将DAC输出的模拟电信号,通过一阶带通滤波,再通过功放 TPA301,将声音信号输出,通过电位器可以调节音量。
对采集到的声音模拟电信号放大使用的是TLC2760,TLC2760是一颗单通道,宽电压范围,高输入阻抗,高增益的单通道运放。TLC2760硬件资源简介,宽电压范围:0°C ~70°C时 3V ~ 16V,±40°C~86°C时4V ~ 16V ,±66°C~126°C 时 4V ~ 16V ,超低功耗:典型值96µW——26°C,VDD = 6V ,可输出负电压,高输入阻抗1012Ω(典型值),ESD保护电路 。
详细设计期待大家的回帖情况再发布!!!
http://cache.amobbs.com/bbs_upload782111/files_35/ourdev_604735QLX1QV.jpg
(原文件名:照片 042.jpg)
http://cache.amobbs.com/bbs_upload782111/files_35/ourdev_604736ELQTR8.jpg
(原文件名:照片 043.jpg)
点击此处下载 ourdev_604737UTCPJY.pdf(文件大小:72K) (原文件名:LSD-TEST430F5438-01_V2.1.pdf)
点击此处下载 ourdev_604738LXIRJD.rar(文件大小:110K) (原文件名:驱动程序.rar)
点击此处下载 ourdev_604739DEWLSY.pdf(文件大小:2.05M) (原文件名:LSD-TEST430F5438-01_V2_1学习板实验指导书.pdf)
点击此处下载 ourdev_604740QOIFLI.pdf(文件大小:3.03M) (原文件名:MSP430x5xx Users Guide slau208.pdf)
点击此处下载 ourdev_604741GVXPAD.pdf(文件大小:745K) <font color=green>(原文件名:MSP430F543x Datasheet slas609.pdf)</font 开发板PCB
http://cache.amobbs.com/bbs_upload782111/files_35/ourdev_604742S7AXNN.jpg
(原文件名:IMG_9724.jpg)
http://cache.amobbs.com/bbs_upload782111/files_35/ourdev_604743D65OFO.jpg
(原文件名:IMG_9728.jpg) mark,感谢 期待详细资料! 有意思,期待详细资料! cc1101 传输语音速度跟得上吗? 回复【5楼】embeddev
-----------------------------------------------------------------------
CC1101最高速率500kb/S,在电话音质的标准下,分辨率为8bit,采样速率8kHz,数据速率64kb/S,如果双向语音传输,128kb也就够了,
这是不压缩的情况,使用ADPCM压缩编码时,速率又能降低一半,所以完全可以进行传输。 无线语音传输小论
在无线通信中,我们经常受到多方面的限制。比如:无线传输中带宽的限制及距离方面的要求。特别是在无线语音传输中,为了满足带宽的限制及距离方面的要求,我们必须对语音的数据信息进行压缩,即对语音数据进行编码。
在进行语音信号处理之前,我们所要进行了的工作就是将模拟信号转化为数字信号。通常所用的方法——抽样:利用抽样脉冲把一个连续信号变为离散时间的样值。抽样后的信号称为脉冲调幅(PAM)信号。在这个过程中的依据就是抽样定理。抽样定理在通信系统、信息传输理论方面占有十分重要的地位。数字化的第一步,抽样性能的优劣关系到通信设备整个系统的性能指标。
接下来,我们来看一下语音编码器的种类.总体上来讲,它一共有三种分类:波形编解码器,源编解码器,混合编解码器.
波形编解码器提供了高质量的输出,而且实现很简单,问题在于它使用了大量的带宽,不是进行编码比较合适的选择.源编解码顺口溜试图使输入的信号符合于语音产生的数学模型.他们通常使用声道的线性预测过滤模型.用一个清浊音标志来代表使用的过滤器的激发信号.而声编解码器以低比特速率运行,但是试图形成合成的语音.使用较高的比特速率并不能提供任何的帮助.一般用于私人通信系统或是军事中.所以在编码语音的过程中,我们一般使用混合编解码器.
语音编码的带宽和实际所占用的带宽是不同的,语音编码的带宽是实际语音包的带宽。
国际电信联盟G系列典型语音压缩标准的参数比较
算法 类型 码率 (kbit/s) 算法延时(ms)
G.711 A-Law /μ-Law 64 0
G.722 SB-ADPCM 64/56/48 0
G.723.1 MP-MLQ/ACELP 6.3/5.3 37.5
G.726 ADPCM 16/24/32/40 0
G.727 Embedded ADPCM 16/24/32/40 0
G.728 LD-CELP 16 < 2
G.729 CS-ACELP 8 15
语音编码方式:
MOS(Mean Opinion Score)这个概念, 我们在传输语音的过程中, 因为带宽的限制问题理所当然的会把对语音数据进行有损的压缩.这样的话,语音的质量就会降低,但是通讯的压力会很小,相应的MOS的得分就会低一些.语音编码技术的目标就是在保持相对较少的信息量的情况下使MOS尽可能的高.
语音分为三种主要的类型:
1) 浊音. 空气从肺部向声道不断进行开合震动的声带所阻断的时候就产生了浊音,声带开合的速率决定了声音的音调.有明显的周期性,周期一般在2ms-20ms之间
2) 清音当声门保持敞开的状态,通过声道的收缩来高速驱动空气产生的类似噪声的杂乱声音的时候就是清音,这样的声音基本上没有周期性。
3) 爆破音 声道完全闭合,空气压力闭合后增大,然后突然被释放而产生的。
下面着重介绍一下常用的两种语音编码方法:
自适应差分脉码调制(ADPCM)
ADPCM 主要是针对连续的波形数据的, 保存的是波形的变化情况, 以达到描述整个波形的目的.
一般情况下,ADPCM (ADPCM Adaptive Differential Pulse Code Modulation), 是一种针对 16bit (或者更高?) 声音波形数据的一种有损压缩算法, 它将声音流中每次采样的 16bit 数据以 4bit 存储, 所以压缩比 1:4.
但也有特殊的3BIT、4BIT和5BIT的ADPCM压缩语音编码,经过本公司的实验,12bit的采样,5BIT的编码效果也不错,基本可以满足人类的听觉要求。
标准ADPCM压缩基本原理:对当前数据与前一数据(前一数据为量化处理后的值)之差进行编码。用较少的bit量化出数据差,进而达到压缩的目的。
自适应差分脉码调制( ADPCM )是语音压缩编码中复杂度较低的一种方法,它能在
32kb/s 数码率上达到符合64kb/s 数码率的语音质量要求,也就是符合长途电话的质量要求。ADPCM 是在差分脉冲调制DPCM 基础上逐步发展起来的,ADPCM 的主要改进是量化器与预测器均采用自适应方式,即量化器与预测器的参数能根据输入信号的统计特性自适应于最佳或接近最佳参数状态。ADPCM 编解码系统的原理方框图如图14-2 所示。
连续可变斜率增量调制(CVSD)工作原理
增量调制(ΔM)是在PCM 方式的基础上发展起来的另一种模拟信号数字传输的方法,PCM是采用多位二进制代码形式去表示模拟信号的抽样值的大小,而增量调制只需用一位二进制码来表示相邻抽样值的相对大小。但是普通增量调制的量阶δ 在整个编码过程中是固定不变的,因此它会引起两类失真,一类是斜率过载失真,它是由于所用量阶δ 太小,跟不上波形中的斜率陡峭部分的变化速度而造成的;第二类为颗粒失真,是由于所用的量阶δ 太大,在波形中的斜率较小部分会产生。CVSD 就是为了解决这对矛盾提出来方法,它的量阶δ 随着输入语音信号平均斜率大小而连续变化,使其适应信源信号的短时特性,从而可以很好地跟踪输入信号。
当CVSD 工作于编码方式时,其系统框图如图1 所示。语音信号x(t) 经采样得到数字信号x(n) ,数字信号x(n)与积分器输出信号xp (n)比较后输出偏差信号d(n),偏差信号经量化后得到输出数字编码c(n),该信号同时作为积分器输出斜率的极性控制信号和积分器输出斜率大小逻辑的输入信号。在每个时钟周期内,若语音信号大于积分器输出信号,则判决输出为1,积分器输出上升一个量阶δ ;若语音信号小于积分器输出信号,则判决输出为0,积分器输出下降一个量阶δ 。
当CVSD工作于译码方式时,其系统框图就是图1所示编码框图的反馈回路,除了在积分器后面接了一个低通滤波器。
CVSD 是自适应增量调制的一种,具有较强抗误码能力,而且擅长处理丢失和被损坏的语音采样,即使比特错误率达到4%,CVSD 编码的语音还是可懂的。
语音编码主要是通过合理的预测来降低传输的能量,这样就会有比较好的压缩效果。这两种算法比较起来CVSD算法的缩比较大,更适合于语音双向传输。
点击此处下载 ourdev_604816IJ9PQM.doc(文件大小:86K) (原文件名:无线语音传输小论.doc) ADPCM编码程序
点击此处下载 ourdev_604817HBJUJ1.rar(文件大小:3K) (原文件名:adpcm.rar) 学习 http://cache.amobbs.com/bbs_upload782111/files_35/ourdev_604820P8OBSO.JPG
(原文件名:16 点 02 分 18 秒.JPG) 手头上有两块cc1101模块,430单片机不是5438,不过程序应该好移植,只是没有模拟部分,坐等楼主上实验资料!
要是加块sd卡,实现语音(wav)部分的存储和播放就更好了! mark mark 非常感兴趣,严重期待,其实24L01做无线传输比1101要好,楼主能否转让一块PCB 很不错啊 回复【14楼】fengzhang
-----------------------------------------------------------------------
我正好有多的PCB,fengzhang要是有兴趣,我可以送两块,呵呵,不过可没有免费的午餐哟!fengzhang有什么闲置的电路板、器件、开发板、工具什么的,咱们可以互相换一下,这样大家都可以用闲置的东西换来自己有用的东西,岂不是两全其美吗?呵呵,fengzhang有没有兴趣呀? 回复【16楼】owlcjy
-----------------------------------------------------------------------
其实我还有挺多闲置的430和无线的开发板,坛友有兴趣都可以换哦! 软件流程图如附件,期待更多关注!
点击此处下载 ourdev_606070YRG40B.pdf(文件大小:125K) (原文件名:软件流程图.pdf) 标记 好东西哦 mark 看见论文就感觉奇怪,会和不会的随便写 回复【16楼】owlcjy
-----------------------------------------------------------------------
前几天一直在出差,我手里现在有几片F5438A和F149、F168的片子,还有ARM-M3的片子,楼主可以选择大家交换一下吧,具体QQ聊怎么样,我的QQ:93434606 mark。。。。。。 mark mark mark!!! mark! 我来学习了! 等待学习 学习了。。。。 mark 一直都想弄无线语音传送,,谢谢楼主的分享!! 谢谢楼主的分享!! mark~ 多谢分享 回复【楼主位】owlcjy
-----------------------------------------------------------------------
学习 很难得东西啊 我在使用CC430F5137利尔达的板子,说是可参考F5438,学习了!谢谢|! 下次 下 mark MARK! 期待1 mark~~ 哪里可以购买到,价位如何 这个可以在pc上作为一个无线音箱用 mark 不错 标记 mark mark 看看,学习下~~~ mark!!!!!!!!!!!!! mark,学习一下-- mark 还有这么多讨论~~学习了~ 学习学习 非常期待实验部分的内容,小弟目前正在学习CC1101,但是头疼得很,没什么设备检测,只能程序上一个点一个点测试,目前还没有调通,期待楼主的程序 激动的都忘了,我手头上正好有一对利尔达的无线模块,是老师给的,没有驱动程序,郁闷的,手头上只有149的芯片,149的串行口与5438的不一样的吧, 正在关注中,谢谢 好东西啊,收藏了 mark 希望跟楼主一起讨论语音编码问题,求回复,谢谢 mark……
顶一个… mark............谢谢 mark !{:biggrin:} owlcjy 发表于 2010-12-15 00:52
开发板PCB
(原文件名:IMG_9724.jpg)
照片的效果有莫老大那么好的就更好了 mark,正在学习中 mark 感谢分享{:smile:} 厉害 厉害感谢分享
页:
[1]