资讯 > 正文

语音压缩芯片CT8022的使用方法

发布时间:2007-03-07

CT8022DSPG公司开发的可实现多种压缩算法的专用DSP芯片。它可接受外部串行AD提供的64128kbitss8bit A/μ数据或16bit线性数据,并实现全/半双工压缩和解压,以将其压缩为由主机通过命令字决定的格式。可压缩为8563534841kbitss的数据。当压缩为6353kbitss时,符合ITUG7231标准  CT8022DSPG公司开发的可实现多种压缩算法的专用DSP芯片。它可接受外部串行AD提供的64128kbitss8bit A/μ数据或16bit线性数据,并实现全/半双工压缩和解压,以将其压缩为由主机通过命令字决定的格式。可压缩为8563534841kbitss的数据。当压缩为6353kbitss时,符合ITUG7231标准。CT8022内建有实时回音抵消和自动增益控制电路。当发送端与接收端抽样时钟不同步时,系统可自动添加或删除帧。另外,CT8022还提供了DTMF信号和呼叫继续音的产生和检测功能。可应用于H323H324多媒体可视电话/视频会议等系统,也可用于实现数字数据/语音同传(DSVD)技术。

1 引脚说明

CT8022128条管脚,分为6类。 

1)主机接口引脚

HSTDB07:主机数据总线。

HSTAB03:主机地址线。其中HSTAB0用来选择16位控制字的高8位或低8位,当为0时选择低8位,为1时选择高8位。

HSTRDN:主机读允许信号。允许主机从由HSTAB13译码后所选择的主机接口寄存器中读出数据。

HSTWRN:主机写允许信号。允许主机向由HSTAB13译码后所选择的主机接口寄存器中写入数据。

HSTCSN:主机接口选中信号。在对CT8022读写时,该引脚与HSTRDNHSTWRNHSTAB03共同作用。当HSTCSN有效时,HSTAB03应保持不变。在DMA方式时,此信号应置为无效。

 

2)数据/程序存储器引脚

MDB015:外部数据存储器数据总线。

ADDR015:外部数据存储器地址总线。

BSEL:外部数据总线字节选择。当外接非16位宽度的内存时该引脚有用。

DRDN:外部数据存储器读允许。

DWRN:外部数据存储器写允许。

PRDN:外部程序内存读允许。

PRWN:外部程序内存写允许。

CREADN:同时读取外部程序和数据存储器引脚。

DCSN:外部数据存储器片选信号。不用时接地。

3)时钟引脚

SLKCODEC接口移位时钟。

FSYNCCODEC接口帧同步时钟。

XIN:晶体/外部时钟输入。

XOUT:晶体输出端。

CLKOUTCT8022语音压缩芯片的核心频率。由内部频率45056MHz分频得到。分频因子可通过命令设置。

PLLRPLLCPLLTAVCCAGNDPLL支持管脚。连接方法如图1所示。

PLLBYPASS:禁用内部PLL。用于XIN端直接外接90112MHz时钟时用。

4CODEC引脚

DX0:用于串行输出已解压信号至CODEC0

DR0:用于从CODEC0串行输入816bit格式信号。

DX1:用于串行输出已解压信号至CODEC1

DR1:用于从CODEC1串行输入816bit格式信号。

5DMA引脚

 

TXDREQDMA发送请求信号。数据的传输可采用DMA方式或主机访问方式。具体方式可在初始化时通过向硬件控制寄存器(HCR)写控制命令来控制。

TXDACKNDMA发送允许。

RXDREQDMA接收请求信号。 RXDACKNDMA接收允许信号。

 

语音压缩芯片CT8022的使用方法如图

6)其它引脚

GND118:接地引脚。

VCC118:接5V电源。

IRQN:中断请求信号。

RSTN:复位端口。

GPIO07:通用IO脚。与该器件以前的系列CT8015兼容。

BRQNABORTNEINTN:保留引脚。可通过10kΩ上拉电阻与VCC相连。 BGRNTNBRDN:保留,不连接。

EXTPBMODEDBGBOOTURSTTEST:保留,接地。 

应当说明的是:在以上各管脚名称中,如果最后一个字母为N,则表示该管脚为低有效。

2 工作原理

2 .1CODEC的接口

 

CT8022可以直接与一个或两个8 bit A/μ率编译码器(ADDA)相连,也可以与16位线性编译码器相连。在作为输入/输出信号时,可通过主机接口命令来确定接口的具体数。当使用两个编译码器时,应保证其型号相同。CT8022可以向CODEC提供时钟信号,也可与编译码器使用共同的外部时钟信号。当CT8022CODEC提供时钟信号时,时钟SCLKFSYNC由其内部的时钟通过编程而分频得到。CODEC的抽样频率为FSYNCSCLKFSYNCCT8022内部的时钟关系为:

 

SCLKCT8022的内部时钟/(N1),其中3N31

FSYNCSCLK/(M1),其中18M1023

 

式中MN均为分频因子,具体值可根据采样频率在初始化时用命令写入。

22外部SRAM

 

CT8022至少需要8k×8SRAM,以用来存储运算时所需的数据。基本操作和程序代码存储在片内的ROM中。CT8022与外部SRAM连接如图2所示。

 

语音压缩芯片CT8022的使用方法如图

其中BSEL用来选择高/低位字节,当SRAM地址线为16位时,此管脚不用。 

23主机控制接口 

CT8022语音压缩芯片的控制是通过片内的816位控制/状态/数据接口来进行的。该接口可映像到内部的主机控制地址空间,使得CT8022可与廉价的8位或16位微控制器一起使用。控制器通过向控制寄存器写控制字来对CT8022进行操作,并通过读状态寄存器得到状态信息。语音数据可通过深度可变的、最 16个字的接收或发送缓冲器由主机存取或DMA方式来进行记录或播放。些控制寄存器包括硬件控制寄存器(HCS)、硬件状态寄存器(HSR)、软件控制寄存器(SCR)、软件状态寄存器(SSR)、辅助软件控制寄存器(ASCR)和辅助软件状态寄存器(ASSR)等,而器件中的缓冲器则通过主机读/写数据缓冲访问端口来进行语言数据的操作。

 

CT8022包含两个16字(32字节)的数据缓冲区,通过它主机可以向CT8022发送数据,同时主机也可接收CT8022的数据。这两个缓冲区的访问权由CT8022控制,主机可通过两个16位的主机数据缓冲端口间接访问。由于主机数据总线为8位,因此应根据HSTAB0选择来访问高/低字节,并由CT8022 内部的地址计数器产生访问所需的地址。各个寄存器的地址如表1所列。

 

语音压缩芯片CT8022的使用方法如图

 

表中的HSTAB0用来选择16位控制字的高8位或低8位。当HSTAB00时选择低8位,为1时选择高8位;访问时先低8位,后高8位。

3 工作模式

CT8022主要的工作模式有:空模式、重放(解压缩)模式和记录(压缩)模式。

 

在加电或复位后,主机必须使芯片进入空模式,才能进行其它命令操作。此时,发送/接收缓冲器为空,而来自CODEC的数据将被忽略。

 

在重放模式中,CT8022中的发送寄存器被激活,主机应向CT8022发送已被压缩的数据,以对其进行解压。当数据中断时,CT8022将重复解压发送寄存器内的数据,并将其发送到CODEC,直到主机重新发送有效数据。

 

在记录模式中,CT8022中的接收寄存器被激活,CT8022CODEC送来的数据压缩后送入接收寄存器,然后由主机将寄存器内的数据取走。若主机未能及时取走寄存器内的数据,那么,寄存器中的数据将被后一帧的数据所代替。

 

当系统处于全双工模式时,可同时进行语音的压缩与解压。

 

CT8022的编译码器循环模式为测试模式,可用于将CODEC送来的码流不经压缩而直接送回CODEC

4 工作流程

主机可通过命令-应答协议来控制CT8022。对主机发出的每条命令CT8022都将产生状态应答信号,因此,主机在发出下一条命令前应先读取应答信号。主机对CT8022的控制命令通过写SCR来实现。当CT8022准备好接收命令后,应设置好HSR中的CONTROLREADY位。此时主机只能向SCR写命令。CT8022将通过写SSR来产生命令的应答信号。主机只有在HSR中的STATUSREADY位有效后才可从SSR中读取状态信息,并清除STATUSREADY位。由于CT8022的控制寄存器为16位,而主机接口为8位,因此主机在写控制字时,应先写低字节,后写高字节。

41初始化

 

在使用CT8022时,必须先对其进行初始化操作,具体过程如下:

1)在系统加电或复位后,主机访问HSR,直到CONTROLREADY位有效。

2)主机首先向SCR写入设置CT8022为空模式的命令0000H

3CT8022产生应答,并置HSRSTATUSREADY位。

4)主机检测到STATUSREADY位有效时,从SSR读取状态信息。

5)主机向SCR写入CODEC的配置命令。

6CT8022根据配置命令配置与CODEC的接口,并产生应答信息,同时置STATUSREADY位。

7)主机检测到STATUSREADY位有效时,从SSR读取状态信息。

42写控制字

 

在初始化完成后,主机便可写入控制字,以规定CT8022的具体工作状态。

 

下面以与ITUG7231兼容的63kbitss压缩算法为例来说明设置CT8022为压缩状态(记录模式)的具体过程。假设CT8022已经初始化完成并处于空模式,且CODEC接口符合G7231要求。其过程如下:

1)主机检测HSRCONTROLREADY位。

2)通过向SCR写入命令字5131H来设置速率为63kbits

3CT8022通过SSR发出应答信号。

4)主机检测HSRSTATUSREADY位,检测到该位后读取SSR,并将STATUSREADY自动清零。

5)向SCR写入控制字5102H,以使数据可以在主机读/写数据缓冲端口与CT8022内部寄存器自动交换。

6CT8022通过SSR响应命令。

7)主机检测HSRSTATUSREADY位,检测到后读取SSR,并将STATUSREADY自动清零。

8)主机向SCR写入控制字1C03H,表明主机将通过主机接收数据缓冲访问端口读取数据。 9CT8022完成内部同步,并产生应答。

10)主机检测HSRSTATUSREADY位,检测到后,读取SSR,并将STATUSREADY自动清零。

11)至此,CT8022已处于记录模式。可以对由 CODEC发送来的数据以30ms的长度为一帧进行压缩。每个压缩的数据帧通过以下两种方式由CT8022送至主机:第一种是由主机检测HSR中的RXReady,然后等待该位被置位。第二种是主机从主机接收数据缓冲访问端口读取12个字的数据。

43停止操作

若要停止记录,可进行如下操作:

 

1)向SCR写入空模式命令字0000H,或执行停止记录命令5120H

2CT8022停止对数据的压缩,并清除RXReady位。

3CT8022SSR写入命令应答信息。

4)主机检测HSRSTATUSREADY位,检测到后读取SSR,并将STATUSREADY自动清零。

5 应用电路

CT8022和主机组成的语音压缩应用电路框图如图3所示。

 

如图4

 

 

标签:语音,压缩芯片,CT8022

相关文章