FPGA卡拉ok系统——i2s输入输出
2020-10-11
来源:与非网
1 硬件需求介绍
图 1 卡拉 ok 硬件系统
1)麦克风(microphone)
2)音频 ADC --PCM1080 或其他音频 ADC
3)FPGA -- 卡拉 ok 系统
4)音频 DAC--PCM5102A
5)音响
6)显示屏
2 音频 ADC DAC 介绍
1) 音频 adc--pcm1080
PCM1808 单端,模拟输入 24 位,96kHz 立体声 ADC。
性能:
– THD + N:–93 dB(典型值)
– SNR:99 dB(典型值)
–动态范围:99 dB(典型值)
过采样抽取滤波器:
–过采样频率:×64
–通带纹波:±0.05 dB
–阻带衰减:–65 dB
–片上高通滤波器:0.91 Hz(48 kHz)
PCM 音频接口:
–主模式或从模式可选
–数据格式:24 位 I2S,24 位左对齐
采样率:8 kHz–96 kHz
图 2 PCM1080 框图
2)音频 dac--PCM5102a:
PCM510xA 2.1 VRMS,112/106/100 dB 音频立体声 DAC 具有 PLL 和 32 位 384 kHz PCM 接口。
PCM510xA 的动态范围、SNR 以及 THD 的表现:
图 3 PCM5102A 框图
3 FPGA 硬件系统介绍
图 4 fpga 内部音频算法系统
音频模拟信号经过音频 adc 采集后转化为数字信号通过 I2S 送入 FPGA,FPGA 内部可做均衡器算法,反馈抑制算法,高低通滤波器混响回声以及变声的音频处理算法。
4 i2s 的接收与发送
1)i2s 概述
I2S(Inter—IC Sound)总线, 又称 集成电路内置音频总线,是飞利浦公司为数字音频设备之间的音频数据传输而制定的一种总线标准,该总线专门用于音频设备之间的数据传输,广泛应用于各种多媒体系统。I2S 采用了沿独立的导线传输时钟与数据信号的设计,通过将数据和时钟信号分离,避免了因时差诱发的失真,为用户节省了购买抵抗音频抖动的专业设备的费用。
在飞利浦公司的 I2S 标准中,I2S 主要有三个信号。
1. 位时钟 BICK(也叫串行时钟 SCLK),即对应数字音频的每一位数据,BCLK 都有 1 个脉冲。BCLK 的频率=2×采样频率×采样位数。
2. 帧时钟 LRCK,(也称 WS),用于切换左右声道的数据。LRCK 为“1”表示正在传输的是右声道的数据,为“0”则表示正在传输的是左声道的数据。LRCK 的频率等于采样频率。
3. 串行数据 SDATA,就是用二进制补码表示的音频数据。
有时为了使系统间能够更好地同步,还需要另外传输一个信号 MCLK,称为主时钟,也叫系统时钟(Sys Clock),是采样频率的 256 倍或 384 倍。随着技术的发展,在统一的 I2S 接口下,出现了多种不同的数据格式。根据 SDATA 数据相对于 LRCK 和 SCLK 的位置不同,分为左对齐(较少使用)、I2S 格式(即飞利浦规定的格式)和右对齐(也叫日本格式、普通格式)。
以下是 I2S Sample rate 44.1Khz 和 48Khz 部分系列。
2) 模式
左对齐模式:SDATA 的 MSB 在 BCLK 的第一个上升获得根据 LRCK 的传输。
I2S 模式:SDATA 的 MSB 在 BCLK 的第二个上升获得根据 LRCK 的传输。
右对齐模式。