摘要:sda80d51 unispeech是infineon公司新推出的具有dsp和单片机双核的芯片。介绍了该芯片的组成框图及各功能模块,并且用该芯片完成一个硬件系统,实现了语音的g.723.1编码存储和解码放音。
关键词:g.723.1 sigma-delta调制 前后台
目前市场上有很多语音录放系统,如录放音玩具、录音笔等,大多采用了单片机控制一个语音芯片,再接一个flash存储器的结构。由于语音芯片都是固定的编码算法,使得系统用途单一,不利于进一步改进,缺乏灵活性,如日本oki公司的msm6588只能完成adpcm编码。
用sda80d51芯片实现的语音录放音系统,系统硬件简单、工作可靠。所有的编解码算法都由软件来完成,设计者可以编制自己的软件,完成不同的功能。它既可以作为简单的数字录放音系统,也可以通过改变程序做语音识别、语音合成等多种系统。用途灵活、功能强大。该系统选用g.723.1语音编解码算法来完成语音的录放。
1 sda80d51芯片介绍
sda80d51芯片是德国infineon公司生产的适合语音处理的芯片,它采用0.18μm工艺,核的工作电压为1.8v,i/o电压为3.3v,模拟codec部分电压2.5v,功耗是150mw。该芯片相当于一个片上系统(soc),内部集成了许多功能模块,如图1所示。由于它集成了许多功能模块,如图1所示。由于它集成了许多功能块,几乎只需要一片芯片就能完成语音处理和系统控制。
该芯片含有两个处理器,分别是16位dsp(oak)和8位mcu(m8051 e-warp)。m8051 e-warp核由美国mentor graphics公司设计,它是与一般8051兼容的mcu,具有很多的增强功能,最高工作速度可达50mips(million instruction per second),是目前为止最快的增强8051。传统8051的一个机器周期是12个时钟周期,而这个核心只需2个时钟周期,速度传统8051的6倍。许多指令都能在一个机器周期内完成。由于指令与8051兼容,使得程序员不用花许多时间学习新指令,而直接采用传统的8051编程方式就行。芯片集成有jtag口,用mentor graphics公司的fs2(first silicon solutions)仿真器就可以实现在线仿真。
oak核是美国dsp group公司设计的16位低功耗、低电压和高速定点dsp。采用双金属cmos,在0.6μm或0.5μm以下工艺生产。工作电压范围在2.7v~5.5v。在5v 80mhz工作条件下,消耗电流38ma;在3.3v 80mhz条件下,消耗电流25ma。该核采用harvard总线结构,工作速度可达100mips。
codec部分由i2s、adc和dac组成。i2s口可用来外接一些通用的模/数芯片。两路的12位8khz采样率的adc,可接峰峰值为1.03v的差分电压。片内有数字agc,可放大0到42db(8档,6db步长);模/数转换采用sigma-delta调制技术并经过一度的换算,得到16bit的pcm码流,送往处理器。两路11位8khz采样率的dac可软件调节增益,可放大0到-18db(-6db步长)。所有codec部分可通过asi接口连到oak或m8051上。
sda80d51芯片还有i2c、spi和pwm接口模块,可以通过m8051来控制。另外在不同版本的芯片上还有多达50到250之间的gpio(通用的输入输出口),这可以保证系统控制的灵活性。
该芯片最有特点的功能模块是存储器管理单元mmu(memory manage unit),它可以管理两个核的存储区映射。物理存储器(ram或rom)被看成由多个块组成,每个块的大小在不同版本的芯片上定义是不同的,本系统中,块的大小是16k字节(或8k节)。mmu既可以把块(8k字)映射给oak的程序区或数据区,也可以把块(16k字节)映射给m8051的程序区或数据区。这些完全由写m8051的特殊功能寄存器来完成。存储空间的自由挂接使得完成两个核之间的数据转换变得非常容易。此外,程序装载和启动也需要mmu的控制。
整个芯片的工作方式是m8051作为主控制芯片,完成对各种接口的控制和系统的配置。oak作为协处理器,完成语音编解码算法等计算。两个核之间还有两个64字深的fifo。它们用于双核通信。