当前位置:首页 > 嵌入式 > 嵌入式硬件

  引 言

  AD1836是ADI公司新推出的一款高性能的单片声码器,适用于数字音频系统。它采用5V供电,数字接口输入输出电平为LVTTL电平,可以直接和一般的FPGA连接。AD1836集成了3路立体的D/A和两路立体的A/D,参考电压为2.25V,为了降低信号的干扰,模拟信号的输入输出均采用差分的形式,输入输出模拟信号的最大峰峰值为5.6V。系统时钟为12.288MHz,数据采样率最高为96kHz,采样位数最高为24位,可以通过SPI口方便地对内部功能寄存器进行配置,从而选择相应的功能,例如:时钟、工作模式、采样率、采样位数、工作A/D和D/A的路数等选择。其中A/D和D/A的数字接口可以配置为I2S接口模式,本文主要以AD1836中的D/A为例介绍I2S接口的设计。

  I2S总线协议简介

  I2S(Inter IC Sound Bus)是飞利浦公司为数字音频设备之间的音频数据传输而制定的一种总线标准,它既规定了硬件接口规范,也规定了数字音频数据的格式。I2S有三个主要的信号:

  (1)串行时钟BCLK,也叫位时钟,即对应于数字音频的每一位数据,BCLK都有一个脉冲。BCLK的频率=2×采样率×采样位数。

  (2)帧时钟LRCLK,用于切换左右声道的数据。LRCLK为“1”表示正在传输的是右声道的数据,为“0”则表示正在传输的是左声道的数据。LRCLK的频率等于采样频率。

  (3)串行数据SDATA,就是用二进制补码表示的音频数据。

  有时为了使系统能够更好的同步,还需要另外传输一个信号MCLK,称为主时钟,也叫系统时钟,是采样频率的256倍或384倍。典型的I2S接口时序如图1所示,对于系统而言,产生BCLK和LRCLK信号的信号端是主设备。I2S的数据线用于串行数据,当LRCLK变化(也就是左右通道的数据切换),在第二个BLCK处数据开始,按照高位在先低位在后的顺序进行传输。数据在BCLK的下降沿改变,在BCLK的上升沿进行数据的采样。因此,在BCLK的上升沿处数据必须是稳定的,接收端和发送端处理的有效数据的位数可以不同:如果接收端可处理的有效数据的位数多于发送端,将不足的数据位用0补足;反之,则将多余的数据位舍弃。

  I2S接口硬件设计

  本设计采用Altera公司的Stratix系列的FPGA,EP1S10672I7来实现AD1836中D/A的I2S接口设计。该芯片内核电压为1.5V,I/O电压为3.3V,符合AD1836数字接口输入输出电平要求,其中D/A部分的I2S接口硬件设计原理图如图2所示。

  本设计中,将AD1836采样时钟设置为48kHz,采样位数为24位。从AD1836数据手册可知,其系统时钟(MCLK)为12.288MHz,左右通道数据切换时钟(LRCLK)等于采样时钟(48kHz),数据位时钟(DBCLK)为64×左右通道数据切换时钟(3.072MHz)。所以串行数据线上传输的是24位的有效数据,其余数据位时钟周期对应的数据线上的数据为0,串行数据线DSDATA1、DSDATA2、DSDATA3分别对应于三路的立体D/A,所有的时钟线和数据线均经过下拉电阻后与FPGA的I/O相连。

  基于FPGA的实现

  逻辑模块设计

  FPGA内部逻辑模块主要包括分频模块和D_A接口模块,如图3所示。其中分频模块将AD1836的系统时钟12.288MHz分频为3.072MHz(即位时钟BCLK);start信号为模块使能信号,为高时,D_A接口模块将从DATIN引脚输入的24位并行数据转换为串行数据,从Datout引脚输出;当左右通道时钟切换时,输入的24位并行数据也相应改变,同时从LRclk引脚输出48kHz的左右通道数据切换时钟,从Bclk引脚输出3.072MHz的位时钟信号。LRclk和Bclk都是在AD1836的系统时钟(MCLK)的基础上分频得到的,从而保证了整个系统的同步性。

点击看原图

  软件设计

  所有软件的设计是在QuartusⅡ 6.0中采用Verilog HDL语言输入完成的,系统采用10MHz的有源晶振,通过FPGA内部的锁相环进行二级倍频从而得到12.288MHz的时钟信号,然后通过clkin_12_288M引脚送入分频模块。主要的程序如下:

  分频模块

  Module freq3_027M(clkin12_288M, clkout3_027M);

  input clkin12_288M; //时钟输入引脚

  output clkout3_027M; //时钟输出引脚

  reg clkout3_027M; //分频计数器

  integer cunt;

  always@( posedge clkin12_288M) begin

  cunt=cunt+1;

  if (cunt<=1)

  begin clkout3_027M=1'b0;end

  else if((cunt<=3)&&(cunt>=2))

  begin clkout3_027M=1'b1;end

  else

  begin cunt="0";clkout3_027M=1'b0;end

  end

  endmodule

  D_A接口模块

  (1)左右通道切换时钟和数据位时钟

  assign LRCLKout = LR_f; //左右通道切换时钟

  assign BCLKout =(BCLK_f)?BCLKin:1'b1; //数据位时钟

  (2)时钟输出和数据的并串转换

  always@( negedge BCLKin) begin

  if(start) begin //使能信号为高

  cunt=cunt+1;

  case (cunt)

  1: begin LR_f=~LR_f; //左右通道时钟

  BCLK_f=1'b1;end //送出位数据时钟

  2: datout="DDSdatin"[23];//送出最高位

  3: datout="DDSdatin"[22]; //送出次高位

  4: datout="DDSdatin"[21];

  5: datout="DDSdatin"[20];

  6: datout="DDSdatin"[19];

  7: datout="DDSdatin"[18];

  8: datout="DDSdatin"[17];

  9: datout="DDSdatin"[16];

  10: datout="DDSdatin"[15];

  11: datout="DDSdatin"[14];

  12: datout="DDSdatin"[13];

  13: datout="DDSdatin"[12];

  14: datout="DDSdatin"[11];

  15: datout="DDSdatin"[10];

  16: datout="DDSdatin"[9];

  17: datout="DDSdatin"[8];

  18: datout="DDSdatin"[7];

  19: datout="DDSdatin"[6];

  20: datout="DDSdatin"[5];

  21: datout="DDSdatin"[4];

  22: datout="DDSdatin"[3];

  23: datout="DDSdatin"[2];

  24: datout="DDSdatin"[1];

  25: datout="DDSdatin"[0]; //数据已经发送完毕

  26: datout="0"; //剩余的数据送0

  27: datout="0";

  28: datout="0";

  29: datout="0";

  30: datout="0";

  31: datout="0";

  32: datout="0";

  default:datout=1'bz;

  endcase

  end

  软件仿真

  模块的仿真也是在软件QuartusⅡ6.0中实现的,仿真波形如图4所示。为了便于仿真,在24位的并行数据输入口输入十六进制的常数AB15F7H,此时送入左右通道的数据是相同的。从仿真波形中可以看出,当start信号高有效后,位数据时钟和左右通道数据切换时钟送出,将并行的24位数据AB15F7H从数据线上串行送出,在多余的位数据时钟处数据线上的数据为0,仿真结果与I2S接口时序图相符合。

  结束语

  本文以FPGA为控制单元,完成了AD1836中D/A部分的I2S接口设计,它在数字音频系统的设计中有一定的参考和实用价值。该设计已经成功运用在某话路特性综合测试系统中,性能良好。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

在数字化浪潮席卷全球的今天,FPGA技术正成为驱动创新的核心引擎。2025年8月21日,深圳将迎来一场聚焦FPGA技术与产业应用的盛会——2025安路科技FPGA技术沙龙。本次沙龙以“定制未来 共建生态”为主题,汇聚行业...

关键字: FPGA 核心板 开发板

在现代电子系统中,现场可编程门阵列(FPGA)凭借其开发时间短、成本效益高以及灵活的现场重配置与升级等诸多优点,被广泛应用于各种产品领域。从通信设备到工业控制,从汽车电子到航空航天,FPGA 的身影无处不在。为了充分发挥...

关键字: 可编程门阵列 FPGA 数字电源

2025年8月4日 – 提供超丰富半导体和电子元器件™的业界知名新品引入 (NPI) 代理商贸泽电子 (Mouser Electronics) 即日起开售Altera®的Agilex™ 3 FPGA C系列开发套件。此开...

关键字: FPGA 边缘计算 嵌入式应用

内窥镜泛指经自然腔道或人工孔道进入体内,并对体内器官或结构进行直接观察和对疾病进行诊断的医疗设备,一般由光学镜头、冷光源、光导纤维、图像传感器以及机械装置等构成。文章介绍了一款基于两片图像传感器和FPGA组成的微型3D内...

关键字: 微创 3D内窥镜 OV6946 FPGA

运用单片机和FPGA芯片作为主控制器件 , 单片机接收从PC机上传过来的显示内容和显示控制命令 , 通过命令解释和数据转换 , 生成LED显示屏所需要的数据信号和同步的控制信号— 数据、时钟、行同步和面同步 。FPGA芯...

关键字: 单片机 FPGA LED显示屏

在当今数字化时代,汽车不再仅仅是一种交通工具,更是一个移动的智能空间。随着人们对汽车电子设备依赖程度的不断提高,车内 USB 接口的重要性也日益凸显。从最初单纯为手机充电,到如今支持数据传输、连接各种智能设备,USB 接...

关键字: 接口 数据传输 汽车供电

根据Semico Research的预测,到2025年RISC-V芯片出货量将达到624亿颗,覆盖计算、消费电子和工业等领域。而在这其中,RISC-V MCU是整个RISC-V生态的基本盘,以高质量、应用驱动的解决方案为...

关键字: 青稞 RISC-V 沁恒 接口 MCU

在异构计算系统中,ARM与FPGA的协同工作已成为高性能计算的关键架构。本文基于FSPI(Fast Serial Peripheral Interface)四线模式,在150MHz时钟频率下实现10.5MB/s的可靠数据...

关键字: ARM FPGA FSPI

在全球FPGA市场被Xilinx(AMD)与Intel垄断的格局下,国产FPGA厂商高云半导体通过构建自主IP核生态与智能时序约束引擎,走出差异化高端化路径。本文深入解析高云半导体FPGA工具链的两大核心技术——全栈IP...

关键字: FPGA 高云半导体

2025年6月12日,由安路科技主办的2025 FPGA技术沙龙在南京正式召开,深圳市米尔电子有限公司(简称:米尔电子)作为国产FPGA的代表企业出席此次活动。米尔电子发表演讲,并展出米尔基于安路飞龙派的核心板和解决方案...

关键字: FPGA 核心板 开发板
关闭