当前位置:首页 > 电源 > 数字电源
[导读]I2S总线是一种用于音频设备间传输数据的串行总线标准,该总线采用独立的时钟线与数据线,避免了时差诱发的失真。随着多媒体的广泛应用,该总线已被应用于越来越多的数字系统

I2S总线是一种用于音频设备间传输数据的串行总线标准,该总线采用独立的时钟线与数据线,避免了时差诱发的失真。随着多媒体的广泛应用,该总线已被应用于越来越多的数字系统中。

PCI总线是一种高性能的32/64位局部总线,理论最大传输速率可达132 Mbit/s,可支持多组外设,已经被各类主流处理器做为总线标注,是目前应用最广泛的外围总线。如今大部分处理器并没有集成I2S接口,但在嵌入式系统中CPU经常使用PCI总线与外围设备进行交互,故需设计一种PCI—I2S接口转换电路,从而实现CPU与外围音频设备进行通信。目前实现此种接口转换电路主要通过PCI接口芯片与音频接口芯片等专用集成电路芯片在板级电路进行组合从而实现基于PCI的音频播放设备。此种电路虽然成熟可靠,但电路设计复杂、灵活性小而且需要占用大量的电路板空间。

随着数字通信技术的发展,由于FPGA的灵活性与其较短的开发周期,在接口电路设计中的应用已经越来越广泛。本文提出一种使用FPGA实现PIC—I2S 的接口转换电路,不仅可以避免使用协议转换芯片,节省电路板上的空间,而且还大幅加强了系统的灵活性,方便维护升级。

1 系统的硬件设计

音频播放系统主要由立体声音频编解码器TLN320AIC23B,FPGA器件XC6SLX75以及处理器PowerPC8270组成。系统框图如图1所示,CPU将原始音频数据通过PCI总线传至FPGA后以每组数据16 bit的格式串行传输至音频芯片TLV320AIC23B,并由音频芯片将数字量转换为模拟音频信号输出。FPGA实现PCI接口功能和对音频编解码芯片的配置与数据传输功能,其内部主要由PCI协议接口,I2S协议接口,I2S配置寄存器,I2C协议接口以及FIFO存储器等组成。在设计PCI接口时,用户通过发起寄存器读写请求tarO_req,去访问后端寄存器,从寄存器交换数据,在CPU检测到都算逻辑未使用寄存器时,可发起占用请求并占用寄存器(tarO_gnt被置位),此时,PCI读写此寄存器中的数据。

3 音频接口设计

在驱动后端的音频芯片时首先需要通过I2C接口配置音频芯片的控制寄存器,此后根据音频数据不同的采样级别频率控制FPGA产生的时钟,最终音频数据从FPGA内部的FIFO中通过FPGA产生的时钟依据I2S协议标准向音频芯片传输。在FPGA中设计的音频接口包括I2C时序协议接口模块,I2S时钟控制接口模块和I2S时序协议接口模块。

3.1 I2C接口模块的设计

I2C总线是由飞利浦公司开发的串行总线,总线由两根信号线构成,其中SCLK为时钟信号线,SDA为双向数据线。I2C总线上的所有设备均可做为主设备,每个设备在总线上都有唯一的地址。

立体声音频编解码器TLV320AIC23B中,共有11个寄存器需要配置,所有寄存器为只写寄存器。这些寄存器分别控制芯片输出音频的左右耳机音量、左右功放音量、芯片电源、采样率等参数。在芯片的配置参数传输时,以I2C的数据线(SDA)在时钟线(SCLK)为高时下降沿条件作为数据的起始位,此后每当FPGA向TLV320AIC23B传输8位数据时,TLV320 AIC23B在第9个时钟时通过SDA向FPGA返回一个ACK信号。如果FPGA确认收到ACK信号则继续传输下一组数据,否则将重复传输此组数据。实际中示波器测量的传输波形如图4所示。

 

 

3.2 I2S时钟控制接口模块的设计

由于不同的音频数据有着不同的采样级别频率,所以在传输不同音频文件时,FPGA提供给TLV320AIC23B的时钟频率不同,为使不同采样频率的声音文件都能在本系统上正常播放,故在FPGA内部使用其DCM由主时钟12.288 MHz生成16 kHz和32 kHz两种采样时钟频率,接入缓冲器BUFGMUX中,并且通过在PCI的配置空间中开辟一个寄存器,寄存器的值接至BUFGMUX的选择端,这样通过配置PCI总线配置此寄存器即可根据播放音频的情况选择时钟频率。

3.3 I2S时序协议接口模块的设计

I2S时序接口模块的主时钟由FPGA内部提供,模块内通过对主时钟进行分频产生BCLK与LRCin,模块在每个LRCin的上升沿由缓存FIFO中读取一个16 bit的数据放入临时寄存器,此后在BCLK的每个上升沿依次由高至低读取寄存器中的每一位并赋值给数据线SDIN,并且在LRCIN的下降延时重复传输此数据,从而完成音频数据的I2S协议传输。

4 系统测试及结果

通过在上位机中向CPU内部Flash烧录一段音频数据,此后通过访问FPGA的配置寄存器将此段数据传入至FPGA内64 kB的FIFO中,后端音频模块检测到FIFO非空即开始工作。首选通过逻辑仿真软件对系统进行仿真,结果如图5所示,信号线SDIN、 LRclk,BCLK输出结果符合I2S协议规范中左对齐模式。此后可以在音频芯片模拟输出端接入耳机或功放等音频播放设备,用示波器测量其模拟输出。结果证明此系统工作正常,可以按照要求播放16 kbit/s与32kbit/s WAV音频文件。通过示波器测量的模拟输出如图6所示,可以看出明显的包络信号。通过以上结论可以看出,系统可以充分利用FPGA 片内资源,从而减少对板内面积占用并减低系统功耗,也易于移植入同类的嵌入式系统中。

 

 

在本文的基础上,可以进一步发挥FPGA的灵活性,比如在开发FPGA上支持PCI从设备DMA模式,以进一步加强PCI总线的读写效率、I2S总线的右对齐和DSP模式等,并且可以开发语音芯片上的语音采集功能,使系统实现语音采集、转换、传输等功能。

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

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭