基于Kinetis微控制器和16位/24位MAX5556的立体声音频接口设计

本文给出基于kinetis mk60n512微控制器和16位/24位音频数模转换器max5556的立体声音频接口设计。mk60n512由i2s总线向max55 56传输音频数据,输出音频信号经有源滤波器进行滤波,保证音频质量的同时提高其带负载能力。由mk60n512内部高性能可编程的增强型dma向i2s模块传送音频数据,减轻微控制器内核的负担。
引言
mk60n512是飞思卡尔公司kinetis系列微控制器集成度最高的芯片,它基于arm cortex—m4内核,具有功耗低、性能高、成本低的特点,旨在为嵌入式音频、汽车电子和电源管理等提供灵活的解决方案。max5556是美信公司一款低功耗、立体声音频数/模转换器(dac),支持标准i2s总线协议,采样精度最高可达24位,采样率为2~50 khz。采用∑-△调制技术,能够对量化噪声进行有效整形,减小量化噪声。
音频处理系统中,采用dma实现音频数据在微控制器内的传输,能减少内核的参与,降低内核负担。系统的数据传输通道如图1所示,音频信号暂存在缓存区中,由dma传输到i2s总线模块的发送电路。为了保持音频信号的连续性,采用“乒乓ram”设计缓存。图中a/b表示乒乓ram的编号。
1 mk60n512 i2s总线和edma介绍
1.1 i2s总线模块
mk60n512的i2s总线模块有3种基本操作模式:普通模式、网络模式和门控时钟模式,针对音频上的应用,i2s总线模块还支持两种衍生模式:i2s总线模式和ac97模式。i2s总线模块的结构如图2所示,由发送电路、接收电路、串行时钟和帧同步时钟产生电路组成。stck、srck分别为串行发送、接收时钟端口,stfs、srfs为串行发送、接收帧同步端口,stxd、srxd为串行发送和接收数据端口。在同步模式下,stck端口被发送和接收单元共同使用。
发送电路和接收电路均有两个fifo,宽度为32位,深度为15。对发送数据寄存器tx0/tx1和接收数据寄存器rx0/rx1的写入与读取可以访问这些fifo。发送逻辑将tx fifo中的数据转移出来,装入发送串行移位器txsr,然后从stxd端口串行发送;接收逻辑将数据从输入的数据帧中转移出来后,将它们放入接收rxfifo的入口。当tx fifo中空缺数目或rx fifo数据达到设定的数目时,会触发中断或者dma传输。
1.2 edma
mk60n512的edma高度可编程,数据传输高度优化而几乎不需要cpu内核干预。与普通的dma不同,edma的传输由主循环(major loop)和辅循环(minorloop)组成。主循环由外设自动触发,每次主循环结束后源地址、目的地址都会按照tcdn_soff、tcdn_doff寄存器中的值自动偏移而不需要cpu去修改。除了所有传输结束后产生中断申请外,edma还支持“半中断”,即主循环完成总循环次数一半时产生中断申请,这特别适合“乒乓ram”设计。
2 max5556介绍
2.1 引脚定义和内部结构
max5556内部结构如图3所示,mclk为主时钟,lrclk为左/右声道选择时钟,sclk为外部串行时钟,sdata为串行音频输入,outl/outr为左/右声道输出。串行接口模块获取音频数据后,由内置数字插值器、滤波器对其进行滤波,以去除基带音频信号携带的谐波噪声;音频数据经∑-△调制器调制后由dac转换,输出的模拟信号经由内部的模拟低通滤波器进行滤波,衰减高频量化噪声;内置输出缓存器能驱动大于3 kω的负载电阻和高达100 pf的负载电容;最终模拟音频信号从outl/outr输出。
2.2 工作模式
max5556支持外部串行时钟模式和内部串行时钟模式。在一个lrclk周期内,若检测到有效的sclk,则进入外部串行时钟模式,sclk作为采样时钟;如果检测不到有效的sclk,则进入内部串行时钟模式,采样时钟由内部生成。内部采样时钟的频率根据检测到的mclk与lrclk的比值确定,若mclk与lrclk的比值为384,则内部采样时钟频率为48×flrclk;若mclk与lrclk的比值为256或512,则内部采样时钟频率为32× flrclk。
2.3 数据格式
max5556支持左对齐16位或者24位数据格式。当其工作在外部串行时钟模式,或工作在内部串行时钟模式,且同时mclk与lrclk的比值为384时,有效数据为24位。如果数据不足24位,低位补零;超过24位的数据会被忽略。当工作在内部串行时钟模式,且mclk与lrclk的比值为256或512时,有效数据为16位。max5556数据格式如图4所示。每次lrclk沿变化后的第二个sclk上升沿时,sdata上数据开始有效,出现最高有效位(msb);24个或者16个时钟周期后出现最低位有效位(lsb)。lrclk为0时,数据进入左声道dac;lrclk为1时,数据进入右声道dac。
3 系统硬件电路设计
mk60n512通过i2s总线将音频数据传输给max5556进行数模转换,输出模拟音频信号由滤波电路进行滤波,同时提高带负载能力。i2s总线模块工作在i2s总线主模式下,发送电路的stck、stfs和stxd端口对应的引脚分别为bclk、tx_fs和txd,i2s总线模块的主时钟通过mclk引脚输出。硬件电路如图5所示。由于mk60n512工作在3.3 v电压下,而max5556工作电压为5 v,为了提高数据传输的稳定性,接口均采用上拉方式。
lm358在5 v单电源供电时有效输出为1.5~3.5 v,而max5556的输出可以达到0~5 v,因而在输入端使用r1和r2对原始信号进行衰减,防止输出信号出现削顶失真。
4 软件设计
4.1 “乒乓ram”设计
mk60n512的i2s总线模块在i2s总线模式下支持双声道,音频数据在fifo中交错存放,因此在缓存中的音频数据也需要交错存放。数据缓存如图6所示,其中l/r表示音频左/右声道。每个音频数据占用4个字节空间,缓存buff_a、buff_b在物理地址上是连续的,它们大小均为512字节,共存储256个音频数据。当dma从缓区buff_a中读取数据时,cpu向缓存区buff_b中存储下一组音频信号;当dma将buff_a中的数据全部传输结束后,将dma通道源地址切换到buff_b,同时cpu向buff_a存储数据,如此反复。
4.2 i2s总线模块的配置
配置i2s总线模块工作在i2s总线主模式下,默认一帧数据长度是32位,而且为左对齐模式;使用帧同步tx_fs作为声道选择时钟,且同步帧长度为一个字。由于max5556的sclk信号由mk60n512提供,max5556工作在外部串行时钟模式,有效数据位是24位,因而配置发送数据位为24位。按照max5556的数据格式,数据需要在sclk下降沿输出从txd数据,且需要发送早期帧同步,让数据延迟一个采样时钟,还需要根据音频采样频率设置帧频率。
使能tx fifo和其dma请求,当fifo中空缺数达到8时,启动一次dma主循环。图7为音频数据在txfifo移动过程。图7(a)中fifo为满,随着发送移位逻辑从fifo从取出一个数据后,fifo产生一个空缺,如图7(b)所示。当发送8次数据后,fifo空缺数达到8个,则触发dma主传输,如图7(c)所示。
i2s总线的初始化代码略——编者注。
4.3 edma配置
当tx fifo空缺数达到8时,触发dma主循环,故每次主循环传输数据数目是32字节,每次主循环源地址偏移也是32字节,完成缓存区1 024字节数据传输需要32次主循环。第16次主循环结束,dma已经将buff_a中所有数据传输完毕,dma源地址指向buff_b,并产生“半中断”请求,cpu开始向buff_a中存储下一组512字节音频数据。
当buff_b中数据传输结束后,源地址恢复到buff_a起始地址,并产生中断请求,cpij响应中断并向bijffb中存储下一组512字节音频数据。可以看出,在传输过程中,cpu只需要响应两次中断请求,然后向缓存区写入音频数据。每次主循环结束后源地址偏移32字节,完整的传输结束后,源地址恢复到buff_a起始地址,这些操作都是通过edma模块自己完成的。
5 测试结果
图8为tx_fs和txd的波形图,通道1为tx_fs,通道2为txd。左/右声道发送的音频数据均是0x555。图8(a)的发送帧频率为48 khz,图8(b)的为44.1 khz。从图8中可以看出,数据长度为24位,左对齐模式,而且数据与帧同步有一个采样时钟的延时,符合max5556的数据格式和时序。
结语
本文设计了基于kinetis mk60n512和max5556的立体声音频接口,mk60n512将音频数据按照max5556的数据格式和时序通过i2s总线传输给max5556,max5556内部dac将数据转化为模拟信号输出,并由滤波电路对音频信号进行滤波,同时提高带负载能力。使用mk60n512内部高性能可配置的edma提高系统数据传输速率,降低cpu的负担。测试表明,系统能输出立体声音频,输出频率可调,可以为kinetis系列微控制器音频解决方案提供参考。

IC卡技术领域的拓荒者,将个人发展与社会进步紧密相连
使用Netropy广域网模拟器测试简化SD-WAN测试
BOE湿蚀对三维集成中铜模式直接键界面特性的影响
华为鸿蒙系统手机升级型号 如何抢先体验
2020年5G智能手机出货量估计不足2亿部
基于Kinetis微控制器和16位/24位MAX5556的立体声音频接口设计
研究报告:8成网络犯罪源自移动端 生物信息要谨慎提供
如何正确评估芯片的老化程度?
传感器、电源管理和总线解决方案是全球大趋势的驱动力
AM:超长寿命,柔性锌-空气电池!
【轧机专业修复】冷轧机主减速机轴承室修复技术报告
贝尔在加拿大推行5G网络
欧姆龙汽车行业维护革新方案
机器人市场的爆发取决于多传感器融合的进度
360手机N5评测 青年新旗舰
解决方案 I TWS蓝牙耳机静电保护方案
迅为LS2k1000龙芯国产双核开发板烧写系统到 U 盘
三大运营商2020年三季报均已发布
联发科有望代之英特尔成为苹果芯片供应商
区块链将成为管理云存储的最佳方案