【经验】基于MM32F0163D7P的USB Audio Class(UAC)音频设备移植教程


UAC是USB Audio Class的缩写,USB音频类,一个像USB这样的通用数据接口,可以有很多种实现数字音频数据传输的方式。不同的开发者可以根据自己的喜好和需求,定义任意的控制方式,传输模式,音频格式等等参数。
在上一节我们在MM32F0163D7P 平台上成功的移植了TinyUSB,基于这个平台,今天我们来实现一个 uac2_headset 音频设备,这个设备支持基础的录音和放音功能,如果要支持音量调节/静音功能,还需要再添加一个 HID 变成复合设备。
快速移植一个UAC+HID复合设备
按照前面两篇文章,我们可以快速的移植出一个基于TinyUSB的UAC+HID复合设备,主要的代码片段如下:
图1 枚举过程
图2 枚举设备
耳机设备设置修改音量
在耳机属性里面可以操作修改音量大小,同时通过抓包工具可以抓到主机下发的SET CUR命令。
图3 设置音量
耳机设备设置修改采样频率和位深度
在耳机属性高级里面默认格式可以看到下拉框有两种格式,一个是2通道 16位48000Hz,另外一个是2通道 24位 48000Hz,播放声音下发ISOC包的时候根据这个选择传输。
图4 设置采样频率和位深度
通过设置,下位机可以在播放或者录音时处理不同的采样频率和位深度。样例中全局变量current_resolution是位深度,current_sample_rate是采样频率。
音频数据的收发处理
播放时ISOC下发的数据包缓存在spk_buf里面。
录用时麦克风的声音采样数据写入mic_buf,通过ISOC同步上传到电脑端。(例程是将播放的数据包处理后通过接口又返回电脑端,由tud_audio_write((uint8_t *)mic_buf, (uint16_t) (spk_data_size / 2))实现)
功能验证测试
将uac2_headset 音频设备插入PC,在计算机管理->设备管理器->音频输入和输出里面出现耳机和麦克风两个TinyUSB headset设备证明枚举成功。
图5 设备管理器音频设备
电脑端播放音乐使用抓包工具抓到ISOC的数据包:
- |
- +1 赞 0
- 收藏
- 评论 0
本文由咪猫转载自灵动MM32MCU公众号,原文标题为:灵动微课堂 (第265讲)|基于MM32F0163D7P的USB Audio Class(UAC)音频设备,本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。
相关推荐
灵动微电子MM32F0160系列MCU FlexCAN-FD通信应用指南
MM32F0160系列MCU具有一个 FlexCAN 模块,该模块遵循 ISO 11898-1 标准、 CAN FD 和 CAN 2.0B 协议规范,不仅兼容传统CAN,还支持CAN FD模式。本章节初步学习使用MM32F0160 FlexCAN-FD接口实现CAN FD通信,相关例程参考灵动官网的LibSamples或在此基础上修改。
使用灵动MM32F5270 MCU UART配置实现LIN通信
本文主要简述MM32F5270 UART是如何实现LIN通信的。从LIN驱动程序、 主机程序、从机程序和验证等方面来讲代码实现。
基于MM32F5270 MCU初步学习移植FreeRTOS
FreeRTOS是一个RTOS类的嵌入式实时操作系统,具有源码公开、可移植、可裁减、调度策略灵活的特点,可以方便地移植到各种单片机上运行。本系列微课堂基于MM32F5270 MCU初步学习使用FreeRTOS开发。
雅特力(Artery)AT32全系列32位微控制器(MCU)选型指南(中文)
公司简介 AT32家族MCU 低功耗MCU 超值型MCU 主流型MCU 车载型MCU 高性能型MCU 无线蓝牙型MCU 开发工具 应用方案
雅特力 - LCD EVALUATION BOARD,视频评估板,MOTOR EVALUATION BOARD,高效能ARM ® CORTEX ®-M4微控制器,AUDIO EVALUATION BOARD,MCU 应用板,超高效能微控制器,车规级通用MCU,车规级微控制器,LCD评估板,32位微控制器,微控制器,DVP评估板,高效能ARM® CORTEX ®-M4微控制器,高效能微控制器,无线蓝牙开发板,通信评估板,车规级 MCU,电机评估板,32位MCU,无线型MCU,DVP EVALUATION BOARD,VIDEO EVALUATION BOARD,超值型ARM® CORTEX®-M4微控制器,MCU 开发板,超值型ARM® CORTEX ®-M4微控制器,单片机,COMMUNICATION EVALUATION BOARD,高性能MCU,无线蓝牙 MCU,车规级ARM®CORTEX®-M4微控制器,车载型MCU,蓝牙芯片,低功耗ARM®CORTEX®-M0+微控制器,音频评估板,低功耗 MCU,MCU,AT32F413CCU7,AT32F437ZCT7,AT32A403ACGU7,AT32F405CCU7,AT32L021K6U7-4,AT32F421K6T7,AT32F437VMT7,AT32F425R8T7,AT32F437RGT7,AT32F423VBT7,AT32F423RBT7-7,AT32A403A 系列,AT32A403ACGT7,AT32A423RBT7-7,AT32A423CCU7,AT32F413CBT7,AT32F435CMT7,AT32F403ARCT7,AT32L021C4T7,AT32F435RCT7,AT32F435ZGT7,AT32F405CCT7,AT32F403ACET7,AT32F405 系列,AT32A423R8T7,AT32L021K8T7,AT32 WB SERIES,AT32A423CBT7,AT32L021F8P7,AT32F435CMU7,AT32F437VDT7,AT32F415KBU7-4,AT32F413CBU7,AT32F402CBT7,AT32F405KCU7-4,AT32F407RCT7,AT32L021G4U7,AT32F403ACGU7,AT32F425K8U7-4,AT32F402KBU7-4,AT32F425R8T7-7,AT32F415RCT7,AT32F423VCT7,AT32F402CBU7,AT32F423T8U7,AT32F425K6T7,AT32F435CDT7,AT32F405RBT7,AT32A403ARCT7,AT32F421K6U7,AT32F421G8U7,AT32F415RBT7-7,AT32F421F4P7,AT32A423CCT7,AT32 F SERIES,AT32WB415系列,AT32F413KCU7-4,AT32F425F6P7,AT32F423C8T7,AT32A403ACEU7,AT32F437VGT7,AT32F437ZMT7,AT32F423RCT7-7,AT32A423TBU7,AT32A423C8T7,AT32F421K8T7,AT32F435 系列,AT32F413C8T7,AT32F415RBT7,AT32F403ARET7,AT32F435CGT7,AT32A423K8U7-4,AT32A403ACET7,AT32F435VCT7,AT32A423C8U7,AT32F403ACGT7,AT32F421C4T7,AT32L021K6T7,AT32A423R8T7-7,AT32F403AVCT7,AT32L021F6P7,AT32F437ZDT7,AT32F415RCT7-7,AT32F435CGU7,AT32F415CCT7,AT32F405KBU7-4,AT32F407VCT7,AT32F405CBU7,AT32F415KCU7-4,AT32A423TCU7,AT32F407RET7,AT32 A,AT32A423CBU7,AT32F435RMT7,AT32L021K8U7,AT32L021,AT32 F,AT32 L,AT32A423KBU7-4,AT32F423C8U7,AT32F423 系列,AT32F435RDT7,AT32L021F8U7,AT32F425K8T7,AT32F405CBT7,AT32A403AVCT7,AT32F421K8U7,AT32A403ARET7,AT32F423TBU7,AT32F421K6U7-4,AT32F421F6P7,AT32F403A,AT32 L SERIES,AT32A403ACCU7,AT32F415CBT7,AT32F415R8T7,AT32F425F8P7,AT32A403A,AT32F437ZGT7,AT32F423R8T7,AT32F425C6U7,AT32A423T8U7,AT32F421K4U7-4,AT32A,AT32F437RCT7,AT32F423CCU7,AT32F402 系列,AT32F425 系列,AT32F402RCT7,AT32L021C8T7,AT32F403ARGT7,AT32WB415CCU7-7,AT32F415CCU7,AT32A403ACCT7,AT32F403AVET7,AT32F435RGT7,AT32F435VMT7,AT32F421C6T7,AT32A423VBT7,AT32L021K4U7-4,AT32L021K4T7,AT32F423TCU7,AT32F405RBT7-7,AT32F413KBU7-4,AT32F435ZCT7,AT32 A SERIES,AT32F423CCT7,AT32WB415,AT32L021F4P7,AT32L021G8U7,AT32F407VET7,AT32F407RGT7,AT32F403ACCU7,AT32L021K6U7,AT32F423CBU7,AT32F403A 系列,AT32A423RCT7-7,AT32F435VDT7,AT32F415CBU7,AT32L021K8U7-4,AT32A423VCT7,AT32L021F6U7,AT32A403AVET7,AT32 WB,AT32F413 系列,AT32F425K6U7-4,AT32F425C6T7,AT32F421G4U7,AT32F407 系列,AT32A403ARGT7,AT32A423KCU7-4,AT32F421F8P7,AT32F423CBT7,AT32F413RCT7,AT32F425R6T7-7,AT32F413,AT32F423V8T7,AT32F415,AT32家族,AT32F437VCT7,AT32F423KCU7-4,AT32F402CCT7,AT32F421K4T7,AT32F435CDU7,AT32F425C8U7,AT32F425R6T7,AT32F423RBT7,AT32A423 系列,AT32F423K8U7-4,AT32F421,AT32F402,AT32F421 系列,AT32F435VGT7,AT32F405,AT32A423RBT7,AT32L021C6T7,AT32F407,AT32F402CCU7,AT32F421C8T7,AT32F435CCT7,AT32F415 系列,AT32F403AVGT7,AT32F405RCT7,AT32F423R8T7-7,AT32F403ACCT7,AT32F435ZMT7,AT32A423V8T7,AT32F413RBT7,AT32F405RCT7-7,AT32F415C8T7,AT32F402RBT7-7,AT32F435,AT32F437,AT32F407VGT7,AT32F435CCU7,AT32L021G6U7,AT32,AT32F402RCT7-7,AT32F403ACEU7,AT32F415K8U7-4,AT32L021K4U7,AT32F415R8T7-7,AT32F437RDT7,AT32F423RCT7,AT32F437 系列,AT32F402KCU7-4,AT32F402RBT7,AT32F423,AT32F425,AT32F413CCT7,AT32A423RCT7,AT32F421K4U7,AT32F421K8U7-4,AT32L021F4U7,AT32F425C8T7,AT32F437RMT7,AT32A403AVGT7,AT32F421G6U7,AT32L021 系列,AT32F423KBU7-4,AT32F435ZDT7,AT32A423,电动车控制,车载系统,电机控制,MOTOR CONTROL,CAN BUS协议盒,人机界面,消费性应用,三轴手持稳定器,商务,微打印机,汽车中控,物联网,扫描枪,LED控制卡,物联网节点,新能源系统,智能扫地机,洗衣机,工业机器人,打印机,车载GPS追踪器,无人机,空调面板,BCM,电子白板,OBDII 诊断盒,车载多媒体,脚踢尾门控制,房舍管理系统,手持云台,汽车安全辅助,电子玩具,工业缝纫机,仪表控制,工业HMI,电竞键盘,车尾门控制,高速风筒,小尺寸仪表,安全系统,车载诊断,LED显示屏,游戏手柄,车身控制,工控,BMS,USB周边,商务应用,楼宇对讲机,伺服电机,多媒体信息系统,CONSUMER ELECTRONICS,汽车仪表,工业自动化,5G基站,条码枪,车载应用,无线通信模块,机器人,电动摩托车,ADAS,CONSUMER ELECTRONIC,电动滑板车,无线充电,马达控制,RF工业控制,电竞市场,舞台灯光,飞控应用,换电柜,电机,马达电机控制,电动车控制器,ADAS 360环视,电机应用,5G,PC周边,SMART HOME,串口服务器,消费,车尾箱控制,安防,通讯,车用通讯系统,车载,ADAS辅助驾驶,消费电子,IIOT,智能家电,新能源车,电动车窗,通讯与电源,IOT,光伏新能源,吸尘器,OBD,汽车尾箱控制,4G基站,工业物联网,扫地机器人,智能家居,电竞鼠标,游戏,空气净化扇,车载T-BOX,INDUSTRIAL AUTOMATION,工业控制,HMI,充电桩,音频设备,物联网网关,穿戴式应用,新能源车用,LED照明,车载影音,家用电器,电源,行车记录仪,消费性电子,辅助驾驶,GAMING,二维码扫描
MindMotion MM32H5480 Triumphs with “2024 Hardcore MCU Chip Award“
MindMotion Microelectronics, as a frontrunner in the domestic market for general-purpose 32-bit MCU products and solutions, proudly secured the “2024 Hardcore MCU Chip Award“ for its high-performance product, the MM32H5480.
【IC】灵动新推出32位MCU MM32F0120,主频高达72MHz,提供64KB Flash和8KB RAM
灵动微电子发布的MM32F0120,搭载Cortex M0内核,主频高达72MHz,提供64KB Flash和8KB RAM,最高支持48pin封装。适用于屏显控制、电动玩具、电源管理、马达控制、无线快充等多种应用场合。
【IC】“灵动·星”系列MM32高性能MCU产品搭载Star-MC1提供强劲内核动力,性能提升20%
“灵动·星”系列 MM32 高性能 MCU 产品,搭载安谋科技(Arm China)Star-MC1 内核性能,其1.5 DMIPS / MHz,提升 20% ,4.02 CoreMark / MHz,提升20% 。目前包含 4 个子系列: MM32F3,灵动·天枢 MM32F5,灵动·玉衡 MM32G5,灵动·天玑 MM32H5,为用户提供灵活、丰富的选择。
MindMotion(灵动微) MCU选型表
32位高性能,高性价比MCU,Core核心有M0、M0+、2XM0、M3、STAR-MC1,Flash存储容量范围 16KB~2048KB,RAM存储容量范围 2KB~128KB,工作电压:1.8~48V,CPU频率(MHz):48~180MHz,GPIO 端口数(个):6~86,LQFP/TSSOP/QFN等多种封装形式。
产品型号
|
品类
|
内核
|
管脚数(个)
|
工作温度(℃)
|
CPU频率(MHz)
|
工作电压(V)
|
GPIO 端口数(个)
|
Flash(KB)
|
SRAM (KB)
|
封装/外壳/尺寸
|
MM32F0163D7PV
|
32位MCU
|
M0
|
64
|
-40℃~105℃
|
96MHz
|
2.0~5.5V
|
57
|
128KB
|
16KB
|
LQFP64
|
选型表 - MindMotion 立即选型
MindMotion(灵动微)MM32系列32位MCU选型指南
公司介绍及产品应用领域 第二代M0产品 G系列产品 / 第二代M3产品 / 第二代M33产品 / 第二代电机专用MCU 第二代电机SOC产品 / AEC-Q100 / 第二代低功耗产品 第一代M0产品 第一代M3产品 / 第一代M33产品 / 第一代电机专用MCU / 第一代电机SOC产品 / 第一代低功耗产品
MINDMOTION - MCU,单片机,MM32G0163D4PV,MM32L0XX,MM32F0144C6PM,MM32F5230,MM32SPIN580C,MM32G0020,MM32G0140,MM32L073PF,MM32F0133C4Q,MM32SPIN080GN,MM32SPIN560CM,MM32SPIN023C,MM32F0133C4P,MM32F5287L8PV,MM32SPIN533AM,MM32F0162D7P,MM32F0121C6P,MM32SPIN0230,MM32F0163D4Q,MM32SPIN080C,MM32F0141C1T,MM32L062NT,MM32F0020B1N,MM32F0144C1TV,MM32F5330,MM32G0001,MM32G0120,MM32F0144C1TM,MM32F0163D7P,MM32SPIN030CN,MM32G0121C1TV,MM32SPIN07PF,MM32F0010A1TV,MM32SPIN05PFOP,MM32SPIN0230B1TV,MM32SPIN37PSD,MM32G0001A6T,MM32F3270,MM32F0121C4P,MM32F5277E9PV,MM32F5287L9PV,MM32F0121C4Q,MM32F5333D6PV,MM32SPIN0280DAPV,MM32F0163D6P,MM32F0121C4N,MM32SPIN080G,MM32F0144C4PM,MM32SPIN560,MM32F0144C4PV,MM32F5280,MM32SPIN06NT,MM32F0140,MM32SPIN560C,MM32F0020,MM32G5333D6QV,MM32F0162D4Q,MM32F0273D6P,MM32F0050C1TV,MM32SPIN0230B3NV,MM32SPIN06PF,MM32G0144C4QV,MM32SPIN0280,MM32L052NT,MM32F5270,MM32F0144C4P,MM32F5277E8PV,MM32F031C6T6,MM32F0130,MM32F0010,MM32F0020B1TV,MM32F5333D7PV,MM32G0144C4PV,MM32SPIN080CN,MM32F0144C4Q,MM32SPIN060G,MM32L0136C7P,MM32F0133C7P,MM32SPIN05NW,MM32F5331D3NV,MM32SPIN05NT,MM32F0040B1T,MM32G0001A6T1V,MM32SPIN06PT,MM32F0120,MM32F0162D6P,MM32F5331D3NM,MM32F003NW,MM32G0160,MM32SPIN27NF,MM32F0163D4QM,MM32SPIN05PF,MM32F031,MM32F3273G6P,MM32F0163D4QV,MM32L0136B6P,MM32G0001A1TV,MM32F0133C6P,MM32SPIN0280D7PV,MM32F5277E7PV,MM32F0144C6P,MM32SPIN222C,MM32F0144C6PV,MM32F0010A6T,MM32G0001A1T,MM32F3273G7P,MM32L0130,MM32G0001A1N,MM32SPIN05PT,MM32G0121C4PV,MM32F0010A1T,MM32F5233D7PV,MM32SPIN27PF,MM32F0010A1N,MM32G5330,MM32SPINEBK,MM32SPIN07,MM32F3273G8P,MM32SPIN160C,MM32SPIN06,MM32SPIN0230B1NV,MM32L0136C6P,MM32SPIN05,MM32F0040B1N,MM32L0020,MM32F0050,MM32SPIN0280D6PV,MM32SPIN533,MM32F031K6U6,MM32F3273G9P,MM32F0163D6PM,MM32SPIN040C,MM32G0020B1T,MM32F003,MM32SPIN37,MM32F0163D6PV,MM32G0020B1N,MM32F0273D8P,MM32F0160,MM32L0136C3T,MM32F0040,MM32G0001A1NV,MM32SPIN0280D6QV,MM32F0144C1T,MM32F103CBT6,MM32F5233D6PV,MM32F0144C4QM,MM32F3273E6P,MM32SPIN27PQ,MM32SPIN27PS,MM32SPIN27PT,MM32L0136C4N,MM32SPIN27,MM32F0020B1NV,MM32F0270,MM32G0121C4QV,MM32F031F6U6,MM32F0273D7P,MM32F003TW,MM32G0144C1TV,MM32F3273E7P,MM32G0163D6PV,MM32F0163D7PM,MM32F0141B1T,MM32SPIN030C,MM32F0163D7PV,MM32F0131C7P,MM32F103,MM32SPIN05TW,MM32F031Y6Y6,MM32F0141C4P,MM32F0141C4Q,MM32F0141C4N,MM32F031K6T6,MM32F0010A1NV,MM32F0131C6P,MM32SPIN422C,MM32SPIN0280D4PV,MM32F0020B1T,MM32L0020B1T,MM32F103RBT6,MM32L0020B1N,MM32F031F6P6,MM32F0121C1N,MM32F0050C1NV,MM32F5333D4QM,MM32G0001A6TV,MM32SPIN360C,MM32,MM32F5333D4QV,MM32F0141C6P,MM32F0141B4P,MM32F0131C4P,MM32F0131C4Q,MM32SPIN0230B3TV,MM32SPIN533A,MM32SPIN033A,MM32F5287L7PV,MM32F5233D4QV,安防,汽车,消费电子,厨电,个人护理,电动工具,车身电子,通信,智能家居,汽车电机,无线连接,手机周边,工业控制,数据通信,楼宇自动化,计量仪表,电机,泵类,小家电,工业能源,伺服电机,照明控制,汽车周边,汽车配件,低速交通工具,显示仪表,家电,电源,个人娱乐,健康,个人健康,电脑周边,大家电,计算机
【IC】灵动微电子高性能通用32位MCU产品MM32H5480荣获“2024年度硬核MCU芯片奖”
近日,第六届硬核芯生态大会在深圳举办,同期2024年度硬核中国芯获奖榜单正式发布。作为国内领先的本土通用32位MCU产品及解决方案供应商,MindMotion灵动微电子凭借高性能产品MM32H5480斩获“2024年度硬核MCU芯片奖”。
灵动微电子扎根张江造“芯”,打造本土32位MCU知名品牌
灵动微电子成立于2011年,2016年进军MCU市场,2019年积极向工业、大家电、汽车等领域发力,目前已涵盖消费电子、电机与电源、家电、汽车、计算机与通信、工业控制等应用领域,客户群体包括飞利浦、小米、汇川、海尔、海信、美的等,是中国本土领先的通用32位MCU 产品及解决方案供应商。
New Milestone! Following the Success of MM32G0001, MindMotion Launches the Next-Level, High-Value MCU – MM32F0120
MindMotion Microelectronics is excited to announce the official launch of its next-level MCU, the MM32F0120. In 2023, MindMotion‘s entry-level MCU, MM32G0001, made a huge impact with its cost-performance ratio, comparable to or even surpassing 8/16-bit MCUs, earning high praise in the market.
基于灵动微MCU的洗衣机整体解决方案,用强芯驱动洗衣机智能化
灵动微电子的MCU方案,以其专为洗衣机设计的高算力、高可靠性MCU产品,如SPIN0280和SPIN0230,结合行业领先的控制算法,为洗衣机提供了从低速重载到高速弱磁运行的全方位智能控制,确保了设备的高效能效和稳定运行,同时集成了多重保护功能,成为洗衣机智能化升级的强芯驱动。
电子商城
现货市场
服务

可定制显示屏的尺寸0.96”~15.6”,分辨率80*160~3840*2160,TN/IPS视角,支持RGB、MCU、SPI、MIPI、LVDS、HDMI接口,配套定制玻璃、背光、FPCA/PCBA。
最小起订量: 1000 提交需求>

拥有IC烧录机20余款,100余台设备,可以烧录各种封装的IC;可烧录MCU、FLASH、EMMC、NAND FLASH、EPROM等各类型芯片,支持WIFI/BT模组PCBA烧录、测试。
最小起订量: 1 提交需求>
登录 | 立即注册
提交评论