第十四章I2S介绍和S3C2410的I2S控制
主要内容: 14.1 数字音频信号(I2S)介绍 14.2 数字音频计算机处理 14.3 S3C2410中I2S总线控制寄存器 14.5 IIS 实验参考程序 14.4 WAV声音格式文件
ARM7和ARM9是两款通用嵌入式微处理器,它们对多媒体的支持没有ARM11强,但S3C2410内置一个I2S总线控制器,该控制器实现了一个外部8~16位立体声音频CODEC(编译码器,编码器coder和译码器decoder两词的词头组成的缩略语) IC的接口。UDA1341是飞利浦公司的一款经济型音频CODEC,用于实现模拟音频信号的采集(音频AD)和数字音频信号的模拟输出(DA),S3C2410和UDA1341通过I2S数字音频接口,实现音频信号的数字化处理。
14.1 数字音频信号(I2S)介绍 数字音频信号是相对模拟音频信号来说的。我们知道声音的本质是波,人能听到的声音的频率在0.02~20kHz之间。数字音频信号是对模拟信号的一种量化(如图14-1),典型方法是对时间坐标按相等的时间间隔做采样,对振幅做量化。
I2S总线控制器结构如图14-2所示: 其中: • 两个5比特(Bit)预除器(IPSR)。一个(IPSR_A)用于产生I2S总线接口的主时钟,另外一个(IPSR_B) 用作外部CODEC时钟产生器。 • 十六字节FIFO。在发送数据时数据被写进TxFIFO,在接收数据时数据从RxFIFO中读取。
• 主IISCLK产生器(SCLKG):在主模式,由主时钟产生串行时钟。 • 通道产生器和状态机(CHNC):IISCLK和IISLRCK由通道状态机产生并控制。 • 16比特(Bit)移位寄存器(SFTR):在发送数据时,并行数据经由SFTR变成串行数据输出,在接收数据时,串行数据由SFTR转变成并行数据。
14.2 数字音频计算机处理 14.2.1采样频率和采样精度 在数字音频系统中,通过将声波转换为连续的电波,再将连续的电波转换为离散的一连串的二进制数,将此二进制数送计算机进行存储和处理,这一过程就叫ADC(模拟量转换为数字量)。ADC以每秒上万次的速率对声波进行采样,每次采样都记录下了原始声波在采样时刻的状态,叫“样本”。
14.2.2 音频编码 音频编码一般采用脉冲编码调制(Pulse Code Modulation)编码的方法对语音信号进行采样,然后对每个样值进行量化编码。这一过程就是PCM编码过程。
14.2.3 IIS数字音频接口 I2S是一种串行总线技术,主要针对CD、VCD等数字音频处理器。 I2S总线仅处理音频数据,其他控制信号单独传送。I2S总线只有三条,即时钟(Continuous serial clock,SCK)、字选择线(Word select,WS)、和分时复用的数据通道(Serial data,SD)。使用I2S系统的连接如图14-3所示。
I2S接口时序如图14-4所示。
14.2.4 音频芯片UDA1341TS介绍 音频芯片UDA1341TS是PHILIPS公司生产的音频数字信号编译码器。它可以把立体声模拟信号转化为数字信号,同样也可以把数字信号转化为模拟信号,并可以用PGA(可编程增益控制)和AGC(自动增益控制)对模拟信号进行处理。它广泛应用于MD、CD、Notebook、PC和数码摄像机等。
14.3 S3C2410中I2S总线控制寄存器 I2S相关的寄存器包括I2S控制寄存器IISCON,I2S模式寄存器IISMOD和I2S分 频寄存器IISPSR。 I2S控制寄存器及其各位的定义如表14-1所列
14.4 WAV声音格式文件 WAV声音格式文件是Windows环境下的一种常用音频文件格式,它依循着一种称为“资源互换文件格式”(Resources Interchange File Formal)的结构,简称RIFF。 RIFF可以看做是一种树状结构,其基本构成单位为恰克(chunk),犹如树状结构中的节点,每个chunk由“辨别码”、“数据大小”及“数据”所组成。
WAV为WAVEFORM(波形)的缩写。“RIFE”的格式辨别码为“WAVE”。整个文件由两个chunk所组成:辨别码及“Data”。
14.5 IIS 实验参考程序 14.5.1放音程序(详见书中) 14.5.2录音程序(详见书中)