请选择 进入手机版 | 继续访问电脑版
查看: 1740|回复: 1

[分享] 在LPC55xx上实现5.1声道音频解决方案

[复制链接]
  • TA的每日心情
    开心
    3 天前
  • 签到天数: 266 天

    [LV.8]以坛为家I

    3296

    主题

    6541

    帖子

    0

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    31904
    最后登录
    2024-3-28
    发表于 2020-8-28 17:11:56 | 显示全部楼层 |阅读模式
    在LPC55xx上实现5.1声道音频解决方案


    1引言
    1.1背景
    USB非常适合音频(语音和声音)传输。 基于PC语音电话是USB技术的主要驱动力之一。 此外,USB具有足够的带宽来传输声音甚至高质量的音频。与语音电话,音频播放和录音相关的许多应用程序都可以利用USB。
    1.png
    LPC5500 MCU系列利用Arm®的最新Cortex®-M33技术,结合了重要的产品架构与前几代产品相比的增强功能和更高的集成度。 LPC5500系列的大多数成员都具有FS / HS USB和灵活的串行接口,Flexcomm。 由于其中一些具有DSP加速器,LPC5500非常适合USB音频应用。
    1.2环绕声
    5.1环绕声(五分之一)是六声道环绕声音频系统的通用名称。 5.1是最常见的在家庭影院中使用的布局。 它使用五个全带宽通道和一个低频效果通道,即第一点。所有5.1系统使用相同的扬声器声道和配置:左前和右前,中央声道,两个环绕声道(左和右),以及为低音炮设计的低频效果通道。
    2.png
    2机制与实施
    下面将介绍如何使用LPC5500(LPC55S69 / LPC55S28 / LPC55S16)EVK来实现5.1多通道USB音频应用程序。 该演示已经集成到名为dev_audio_speaker的SDK中。 请参考SDK源代码。
    2.1机制
    3.png
    图3显示了框图。 PC用作USB主机,USB主机也用作音频源并输出音频数据。
    LPC5500 EVK将使用USB电缆将PC连接为USB设备。


    在USB设备中,有一个用于音频应用程序的特殊类:USB音频类(UAC)。UAC是一种数字音频连接,用于将计算机中的数字音乐发送到数模转换器(DAC)。许多人选择UAC设备的原因是由于计算机中DAC内置的质量较差。通常是电脑制造商将全部预算的大部分花费在处理机和屏幕上,而将最小的预算留给内置的DAC和音频输出。音频能力不够好。
    UAC有两个版本,UAC 1.0和UAC 2.0。它们都可以处理高分辨率音乐。但是有一个明确的两者之间的区别。不同之处在于他们可以传递的音乐的分辨率。 UAC 1.0将在声音与计算机自己的耳机输出相比,但是UAC 2.0会更进一步。 UAC 1.0最多可以发送最多24位/ 96kHz高分辨率文件,但是如果要播放这些工作室母带质量的文件,则需要升级到Class 2。对于那些寻求绝对音频完美的人,它最多支持24位/ 192 kHz分辨率文件。PC将音频数据输出到LPC5500。 LPC5500将接收所有音频数据,然后输出到音频编解码器。六个通道的数据以以下格式隔行扫描。
    4.png
    例如,如果位分辨率为16,则表示每个通道在一个子帧中有2个字节(16位),如下所示
    5.png
    LPC5500系列具有强大的Flexcomms,每个Flexcomms都可以配置为I2S,并且通过sys_ctrl(I2S信号共享),它可以完全
    输出六个通道的数据。
    注意:
    由于LPC5500 EVK不是专门为音频应用设计的,因此它无法输出五个声道的音频与此同时。 这是董事会的限制。 在实际应用中,您可以选择适当的编解码器并根据情况进行PCB布局。


    2.2实施
    一般来说,对于USB应用程序而言,最关键的是USB描述符。 我们应该确保描述符是正确且符合预期。 另外,我们应该为HS或FS等修改一些宏。以下两个宏可以决定使用HS还是FS。 默认值为FS。
    7.png
    USB_DEVICE CONFIG_AUDIO_CLASS_2_0决定设备是否支持UAC 1.0或2.0。 默认情况下,使用UAC 2.0。
    USB_AUDIO_UAC5_1决定UAC支持5.1声道还是两声道立体声
    8.png
    默认值为支持两声道立体声。 因此,我们应该将其修改为1U。
    9.png
    最后,如果以下代码段中的USB主机满足三个条件,则需要启用以下宏:修改为1U。 对于Linux或Mac OS,不需要启用此宏。
    10.png
    完成这些修改后,编译并下载到EVK板。 连接HS或FS端口(根据设置,如上所示)通过USB电缆连接到PC。 可以在PC上测试该功能,如图4和图5所示。
    11.png
    12.png
    3小结
    如上所述,LPC5500非常适合USB音频应用。 这些设备包括高速和全速USB以及灵活的串行通信外设(可以配置为I2S接口)。 其中一些具有DSP加速器
    PowerQuad可用于音频处理。 实际上,由于LPC5500的出色设计,LPC5500可以处理超过5.1声道音频应用。
    表1. Flexcomm接口
    13.png
    14.png
    如表1所示,借助I2S引脚共享功能sys_ctr modulel,我们可以组合多个FlexComm来驱动单个I2S与分别由FleXComm服务的不同渠道进行交互。 LPC55S6x / LPC55S2x / LPC552x最多可支持13个通道,LPC55S1x / LPC551x最多可支持26个通道。

    6.png
    签到签到
    回复

    使用道具 举报

    该用户从未签到

    0

    主题

    1

    帖子

    0

    新手上路

    Rank: 1

    积分
    5
    最后登录
    2022-4-14
    发表于 2022-4-14 12:22:05 | 显示全部楼层
    可以提供一下源码吗?谢谢
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2024-3-29 04:41 , Processed in 0.136692 second(s), 23 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表