基于STM32F4和CPLD的高品质立体声USB数字音频接口设计
发布时间:2020-12-27 08:16
在高品质音频系统应用中,USB协议被广泛用于设计数字音频输入接口。目前专用USB数字音频芯片较少,这阻碍了USB数字音频接口的推广使用。本文基于STM32F4系列芯片开发了符合USB Audio Devices Class 2.0规范的音频输入接口,使用CPLD实现了同时支持PCM和DSD数据的数字音频输出接口。依据设计方案制作了硬件实物,通过实验验证了设计的正确性和可行性。设计解决了通用芯片在数字音频接口领域应用的难点,也可作为其他开发平台的设计参考。
【文章来源】:电子产品世界. 2020年10期
【文章页数】:5 页
【部分图文】:
基于ADC 2.0规范的音频接口逻辑架构
硬件连接框图
基于上述原理设计的播放处理状态机的UML状态图如图3所示,整个播放过程在播放监控状态中运行,在PlayGuard_IDLE状态中程序接收相关的参数设置信号为播放做准备。PlayGuard_PLAYING是一个组合状态,其自身负责与USB底层模块通信进行数据传输,其子状态负责处理特定播放模式。音频数据的流转是程序的核心算法。音频数据通过OUT传输写入程序缓冲区,数据由播放子状态处理并写入FIFO中。程序将DMA传输设置为双缓冲模式,在DMA完成事件中,从FIFO读出1组数据,对双缓冲区进行交替填充。在IN传输完成事件中,计算当前FIFO区数据长度,据此反馈数据传输率给主机,完成对数据长度的追踪控制。
本文编号:2941401
【文章来源】:电子产品世界. 2020年10期
【文章页数】:5 页
【部分图文】:
基于ADC 2.0规范的音频接口逻辑架构
硬件连接框图
基于上述原理设计的播放处理状态机的UML状态图如图3所示,整个播放过程在播放监控状态中运行,在PlayGuard_IDLE状态中程序接收相关的参数设置信号为播放做准备。PlayGuard_PLAYING是一个组合状态,其自身负责与USB底层模块通信进行数据传输,其子状态负责处理特定播放模式。音频数据的流转是程序的核心算法。音频数据通过OUT传输写入程序缓冲区,数据由播放子状态处理并写入FIFO中。程序将DMA传输设置为双缓冲模式,在DMA完成事件中,从FIFO读出1组数据,对双缓冲区进行交替填充。在IN传输完成事件中,计算当前FIFO区数据长度,据此反馈数据传输率给主机,完成对数据长度的追踪控制。
本文编号:2941401
本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/2941401.html