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

发布者:塞上老马最新更新时间:2007-03-09 手机看文章 扫描二维码
随时随地手机看文章
CT8022是DSPG公司开发的可实现多种压缩算法的专用DSP芯片。它可接受外部串行A/D提供的64/128kbits/s的8bit A/μ数据或16bit线性数据,并实现全/半双工压缩和解压,以将其压缩为由主机通过命令字决定的格式。可压缩为8.5/6.3/5.3/4.8/4.1kbits/s的数据。当压缩为6.3/5.3kbits/s时,符合ITU-G.723.1标准。CT8022内建有实时回音抵消和自动增益控制电路。当发送端与接收端抽样时钟不同步时,系统可自动添加或删除帧。另外,CT8022还提供了DTMF信号和呼叫继续音的产生和检测功能。可应用于H.323和H.324多媒体可视电话/视频会议等系统,也可用于实现数字数据/语音同传(DSVD)技术。 1 引脚说明 CT8022有128条管脚,分为6类。     (1)主机接口引脚   HSTDB0~7:主机数据总线。   HSTAB0~3:主机地址线。其中HSTAB0用来选择16位控制字的高8位或低8位,当为0时选择低8位,为1时选择高8位。   HSTRDN:主机读允许信号。允许主机从由HSTAB1~3译码后所选择的主机接口寄存器中读出数据。   HSTWRN:主机写允许信号。允许主机向由HSTAB1~3译码后所选择的主机接口寄存器中写入数据。   HSTCSN:主机接口选中信号。在对CT8022读写时,该引脚与HSTRDN,HSTWRN和HSTAB0~3共同作用。当HSTCSN有效时,HSTAB0~3应保持不变。在DMA方式时,此信号应置为无效。   (2)数据/程序存储器引脚   MDB0~15:外部数据存储器数据总线。   ADDR0~15:外部数据存储器地址总线。  BSEL:外部数据总线字节选择。当外接非16位宽度的内存时该引脚有用。  DRDN:外部数据存储器读允许。   DWRN:外部数据存储器写允许。   PRDN:外部程序内存读允许。   PRWN:外部程序内存写允许。  CREADN:同时读取外部程序和数据存储器引脚。  DCSN:外部数据存储器片选信号。不用时接地。   (3)时钟引脚   SLK:CODEC接口移位时钟。  FSYNC:CODEC接口帧同步时钟。   XIN:晶体/外部时钟输入。   XOUT:晶体输出端。  CLKOUT:CT8022语音压缩芯片的核心频率。由内部频率45.056MHz分频得到。分频因子可通过命令设置。  PLLR,PLLC,PLLT,AVCC,AGND:PLL支持管脚。连接方法如图1所示。  PLLBYPASS:禁用内部PLL。用于XIN端直接外接90.112MHz时钟时用。   (4)CODEC引脚   DX0:用于串行输出已解压信号至CODEC0。   DR0:用于从CODEC0串行输入8/16bit格式信号。  DX1:用于串行输出已解压信号至CODEC1。   DR1:用于从CODEC1串行输入8/16bit格式信号。   (5)DMA引脚    TXDREQ:DMA发送请求信号。数据的传输可采用DMA方式或主机访问方式。具体方式可在初始化时通过向硬件控制寄存器(HCR)写控制命令来控制。   TXDACKN:DMA发送允许。  RXDREQ:DMA接收请求信号。 RXDACKN:DMA接收允许信号。      (6)其它引脚   GND1~18:接地引脚。   VCC1~18:接5V电源。  IRQN:中断请求信号。   RSTN:复位端口。  GPIO0~7:通用I/O脚。与该器件以前的系列CT8015兼容。  BRQN,ABORTN,EINTN:保留引脚。可通过10kΩ上拉电阻与VCC相连。 BGRNTN,BRDN:保留,不连接。  EXTP,BMODE,DBG,BOOT,URST,TEST:保留,接地。    应当说明的是:在以上各管脚名称中,如果最后一个字母为N,则表示该管脚为低有效。 2 工作原理   2 .1与CODEC的接口    CT8022可以直接与一个或两个8 bit A/μ率编译码器(A/D和D/A)相连,也可以与16位线性编译码器相连。在作为输入/输出信号时,可通过主机接口命令来确定接口的具体参数。当使用两个编译码器时,应保证其型号相同。CT8022可以向CODEC提供时钟信号,也可与编译码器使用共同的外部时钟信号。当CT8022向CODEC提供时钟信号时,时钟SCLK和FSYNC由其内部的时钟通过编程而分频得到。CODEC的抽样频率为FSYNC。SCLK、FSYNC和CT8022内部的时钟关系为:    SCLK=CT8022的内部时钟/(N+1),其中3≤N≤31;   FSYNC=SCLK/(M+1),其中18≤M≤1023。     式中M、N均为分频因子,具体值可根据采样频率在初始化时用命令写入。   2.2外部SRAM     CT8022至少需要8k%26;#215;8的SRAM,以用来存储运算时所需的数据。基本操作和程序代码存储在片内的ROM中。CT8022与外部SRAM连接如图2所示。    其中BSEL用来选择高/低位字节,当SRAM地址线为16位时,此管脚不用。      2.3主机控制接口    对CT8022语音压缩芯片的控制是通过片内的8/16位控制/状态/数据接口来进行的。该接口可映像到内部的主机控制地址空间,使得CT8022可与廉价的8位或16位微控制器一起使用。控制器通过向控制寄存器写控制字来对CT8022进行操作,并通过读状态寄存器得到状态信息。语音数据可通过深度可变的、最长为16个字的接收或发送缓冲器由主机存取或DMA方式来进行记录或播放。这些控制寄存器包括硬件控制寄存器(HCS)、硬件状态寄存器(HSR)、软件控制寄存器(SCR)、软件状态寄存器(SSR)、辅助软件控制寄存器(ASCR)和辅助软件状态寄存器(ASSR)等,而器件中的缓冲器则通过主机读/写数据缓冲访问端口来进行语言数据的操作。    CT8022包含两个16字(32字节)的数据缓冲区,通过它主机可以向CT8022发送数据,同时主机也可接收CT8022的数据。这两个缓冲区的访问权由CT8022控制,主机可通过两个16位的主机数据缓冲端口间接访问。由于主机数据总线为8位,因此应根据HSTAB0选择来访问高/低字节,并由CT8022 内部的地址计数器产生访问所需的地址。各个寄存器的地址如表1所列。        表中的HSTAB0用来选择16位控制字的高8位或低8位。当HSTAB0为0时选择低8位,为1时选择高8位;访问时先低8位,后高8位。   3 工作模式   CT8022主要的工作模式有:空模式、重放(解压缩)模式和记录(压缩)模式。    在加电或复位后,主机必须使芯片进入空模式,才能进行其它命令操作。此时,发送/接收缓冲器为空,而来自CODEC的数据将被忽略。    在重放模式中,CT8022中的发送寄存器被激活,主机应向CT8022发送已被压缩的数据,以对其进行解压。当数据中断时,CT8022将重复解压发送寄存器内的数据,并将其发送到CODEC,直到主机重新发送有效数据。    在记录模式中,CT8022中的接收寄存器被激活,CT8022将CODEC送来的数据压缩后送入接收寄存器,然后由主机将寄存器内的数据取走。若主机未能及时取走寄存器内的数据,那么,寄存器中的数据将被后一帧的数据所代替。    当系统处于全双工模式时,可同时进行语音的压缩与解压。    CT8022的编译码器循环模式为测试模式,可用于将CODEC送来的码流不经压缩而直接送回CODEC。   4 工作流程   主机可通过命令-应答协议来控制CT8022。对主机发出的每条命令CT8022都将产生状态应答信号,因此,主机在发出下一条命令前应先读取应答信号。主机对CT8022的控制命令通过写SCR来实现。当CT8022准备好接收命令后,应设置好HSR中的CONTROLREADY位。此时主机只能向SCR写命令。CT8022将通过写SSR来产生命令的应答信号。主机只有在HSR中的STATUSREADY位有效后才可从SSR中读取状态信息,并清除STATUSREADY位。由于CT8022的控制寄存器为16位,而主机接口为8位,因此主机在写控制字时,应先写低字节,后写高字节。      4.1初始化    在使用CT8022时,必须先对其进行初始化操作,具体过程如下:   (1)在系统加电或复位后,主机访问HSR,直到CONTROLREADY位有效。  (2)主机首先向SCR写入设置CT8022为空模式的命令0000H。  (3)CT8022产生应答,并置HSR的STATUSREADY位。  (4)主机检测到STATUSREADY位有效时,从SSR读取状态信息。  (5)主机向SCR写入CODEC的配置命令。  (6)CT8022根据配置命令配置与CODEC的接口,并产生应答信息,同时置STATUSREADY位。   (7)主机检测到STATUSREADY位有效时,从SSR读取状态信息。   4.2写控制字    在初始化完成后,主机便可写入控制字,以规定CT8022的具体工作状态。    下面以与ITU-G.723.1兼容的6.3kbits/s压缩算法为例来说明设置CT8022为压缩状态(记录模式)的具体过程。假设CT8022已经初始化完成并处于空模式,且CODEC接口符合G.723.1要求。其过程如下:   (1)主机检测HSR的CONTROLREADY位。   (2)通过向SCR写入命令字5131H来设置速率为6.3kbit/s。  (3)CT8022通过SSR发出应答信号。  (4)主机检测HSR的STATUSREADY位,检测到该位后读取SSR,并将STATUSREADY自动清零。  (5)向SCR写入控制字5102H,以使数据可以在主机读/写数据缓冲端口与CT8022内部寄存器自动交换。  (6)CT8022通过SSR响应命令。  (7)主机检测HSR的STATUSREADY位,检测到后读取SSR,并将STATUSREADY自动清零。  (8)主机向SCR写入控制字1C03H,表明主机将通过主机接收数据缓冲访问端口读取数据。 (9)CT8022完成内部同步,并产生应答。  (10)主机检测HSR的STATUSREADY位,检测到后,读取SSR,并将STATUSREADY自动清零。  (11)至此,CT8022已处于记录模式。可以对由 CODEC发送来的数据以30ms的长度为一帧进行压缩。每个压缩的数据帧通过以下两种方式由CT8022送至主机:第一种是由主机检测HSR中的RXReady,然后等待该位被置位。第二种是主机从主机接收数据缓冲访问端口读取12个字的数据。   4.3停止操作   若要停止记录,可进行如下操作:    (1)向SCR写入空模式命令字0000H,或执行停止记录命令5120H。  (2)CT8022停止对数据的压缩,并清除RXReady位。  (3)CT8022向SSR写入命令应答信息。   (4)主机检测HSR的STATUSREADY位,检测到后读取SSR,并将STATUSREADY自动清零。   5 应用电路   由CT8022和主机组成的语音压缩应用电路框图如图3所示。   
引用地址:语音压缩芯片CT8022的使用方法

上一篇:基于DSP CCS 2.2实现指纹识别预处理系统
下一篇:分布式发电用单相中小功率并网逆变器的研制

小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved