这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 基础知识 » ADPCM,51 ADPCM码流如何输入到51单片机中?

共2条 1/1 1 跳转至

ADPCM,51 ADPCM码流如何输入到51单片机中?

院士
2006-09-17 18:14:16     打赏
ADPCM,51 ADPCM码流如何输入到51单片机中?



关键词: ADPCM     码流     如何     输入     单片     机中    

院士
2006-12-22 22:43:00     打赏
2楼
问 选用了一款单片ADPCM编解码芯片,可将语音信号直接转换为串行的ADPCM码流。在将该芯片输出的串行数据连接至51单片机时小弟遇到了麻烦,对移位时钟和同步时钟的时序弄不清楚,还望高人指点一二,下面是该芯片的简单介绍(为准确理解,直接附上英文资料):

MSM7570L-01/02  Multi-Function ADPCM CODEC

GENERAL DESCRIPTION
The MSM7570L-01/02, developed for advanced digital cordless telephone systems, are singlechannel ADPCM CODEC ICs which perform mutual transcoding between the analog voice bandsignal and 32 kbps ADPCM serial data.The devices include DTMF Tone and several types of tone generation, transmit/receive datamute and gain control, side-tone path and gain control, and VOX function.Using advanced circuit technology, these devices operate from a single 3 V power supply andprovide low power consumption.   Note: The MSM7570L–01differs from MSM7570L–02 in Ringing Tone Frequency.

FEATURES
Transmit/Receive Synchronous Mode Only
Serial PCM/ADPCM Transmission Data Rate :64 kbps to 2048 kbps
Two Analog Input Amplifier Stages : Externally Adjustable Gain
Analog Output Stage : Push-pull Drive (direct drive of 350 WÊ + 120 nF)
Master Clock Frequency : 12.288/19.200 MHz Selectable
Transmit/Receive Mute, Transmit/Receive Programmable Gain Control
Side Tone Path with Programmable Attenuation (8-step Level Adjustment)
Built-in DTMF Tone Generator
Built-in Various Ringing/Function Tones Generator
Built-in Various Ring Back Tone Generator
Built-in Sounder Driving Amplifier
Built-in VOX Control
Transmit side : Voice Signal Detect
Receive side : Background Noise Generation

该芯片的内部结构见本贴二楼图示:

应用电路见本贴三楼图示:

该芯片通过下面几个引脚控制ADPCM码流的输出:

IS:  PCM或ADPCM码流的串行数据输出端口。 Transmit ADPCM signal output.After having encoded PCM with ADPCM, this signal is output from MSB in synchronizationwith the rising edge of BCLK and XSYNC. This pin is an open drain output and remains in a highimpedence state during power-down. IS requires a pull-up resistor.

BCLK:  PCM或ADPCM码流的串行移位时钟。Shift clock input for the PCM data (PCMSO, PCMSI, PCMRO, PCMRI) and the ADPCM data(IS,IR) .The frequency is set in the 64 kHz to 2048 kHz range.

XSYNC:  PCM或ADPCM码流的8 kHz同步时钟。Transmit PCM and ADPCM data 8 kHz synchronous signal input.Synchronize this signal with BCLK signal. XSYNC is used to indicate the MSB of the transmitserial PCM and ADPCM data stream.Be sure to input the XSYNC signal because it is also used as the input of the timing generator.


上述端口的时序见本贴四楼图示:

Transmit Sync Signal Setting Time:    tXS >=100 ns
Synchronous Signal Width:             tWS=1 BCLK to 100 us
Digital Output Delay Time PCM and ADPCM Interface:    tSDX=0 to 200 ns       tXD1= 0 to 200 ns


我想知道上面端口说明中提到XSYNC: Synchronize this signal with BCLK signal,这里的Synchronize指的同步是狭义上的要求XSYNC和BCLK边沿严格对齐,还是广义上的要求XSYNC和BCLK协调工作?我的理解是后者(从时序图上看也是如此),且XSYNC的上升沿必须要先于BCLK的上升沿,因为一帧ADPCM编码(4元组)的输出是靠XSYNC的上升沿启动的,此后每一位的移出则靠BCLK同步,如果XSYNC和BCLK的上升沿对齐,则器件无法保证可以正确输出数据。不知这种想法是否正确,请指教!

我想将该串行数据经串并转换后通过中断的方式通知单片机进行读取,希望能提供一个详细些的解决方案,关键是如何处理BCLK和XSYNC以及中断的产生,时序一旦处理不好就可能导致数据的错位。我知道可以用74HC164 或 GAL 或 CPLD,关键是细节上的设计弄不清楚,总觉得单片机读取的时刻可能正在进行移位,而读到错位的数据,还请各位高人指教!

我的联系方式 e-mail:wangxin82614@163.com   QQ:69450136

小弟先行谢过!
1: 内部结构 2: 应用电路 3: 时序图 4: 建议你用并行的oki有很多 5: 把PCM送入51?这是什么项目?一般PCM码流是不用输入MCU的,而且其速率用51系处理也不合适。该芯片的MCU接口是用于芯片操作的,是SPI接口。
对于XSYNC和BCLK的时序,应理解XSYNC的上升沿应滞后于BCLK的下降沿Txs,而BCLK的上升沿应滞后于XSYNC的上升沿。 6: 我要做的是局域网录音盒将电话线路上的语音进行ADPCM编码,然后送入单片机单片机只对ADPCM编码进行打包,然后发送到局域网中的特定PC机中。单片机只负责发送编码,而不对该编码进行任何处理。我想外面用CPLD做串转并,并以中断的方式通知单片机读取,只是这个时序图看得一头雾水! 7: 那最好还是用编码速率较低的芯片否则还得加CPLD,成本增加了,性能却未因此有效提高。
用9.6K甚至更低的编码率,电话质量的语音可以接受。 8: 我的单片机速度蛮快的!我的单片机可外接36MHz时钟,4个时钟周期执行1条指令,执行速度可达9 MIPS。仅仅采集32kbps的ADPCM或64kbps的PCM应该足够了,我又不对编码进行处理,只是打包。 9: 如此,最好先试一下。用局域网还得有TCP/IP协议栈及控制网卡芯片。 10: 我的处理器是DS80C400,内置TCP/IP协议栈,顺便在这里推荐一下!这款处理器很不错的,51内核,最高速度18 MIPS,内置操作系统,内置IPv4和IPv6协议栈,支持A51、C51和Java三种开发方式,使用串口或通过网络下载应用程序。大家应该去Maxim/Dallas的网站看看详细的资料,相信你会喜欢的,Maxim还免费提供样品,在网站填个申请表就可以了,我用的就是免费的样片! 11: 可这东西量产的话,价格可难接受啊!小心老板提“刀”“砍”你…… 12: DS80C400?有这么强大?厉害!谢了! 13: 很早就出来的片子啦,内部可以倍频的最高可以达到75Mhz

下面这些可以适用,只是都是小日本的东西
http://www2.okisemi.com.hk/ohk/products.php?path=Datasheets%2FSpeech+LSIs%2FRecording%2FADPCM+Speech+Recording+Engines/ 14: OKI还真有并行接口的录音芯片,不过不适合本应用OKI的录音芯片虽有并行接口的,但使用的ADPCM不是ITU的标准算法,而是自己独创的OkiADPCM,这种编码送到PC机中,我没有办法进行播放和编辑。而MSM7570这款ADPCM编码器使用的是ITU-T G.726的标准算法,所以我还是要用它。 15: 我打算使用CPLD做串并转换我想在编码器和微处理器之间加上一个CPLD做串并转换,也就是相当于做一个SPI接口。CPLD使用EPM3032即可,价格不到10元。
不知有没有SPI接口芯片,便宜些的,我就不必使用CPLD了。 16: 其实你只需找A率或μ率的ADPCM芯片即可支持G.714、G.721、G.726等CCITT标准的都行,码速率9.6K或16K较好。

共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]