[NXP i.MX 應用處理器教室] 如何在i.MX8M NANO 平台上實現UAC(USB Audio Class)的功能

在現今的電子產業中,USB的接口應用非常的廣泛。原因在於USB的相容性越來越高。USB的規格包羅萬象。USB不只傳送資料,還可以傳送影像,聲音。例如在手機領域中,很多手機將耳機的接口取消,只留上USB的接口。當使用者需有聲音放大輸出的話,就必須從USB的接口輸出。

USB音頻類,一個像USB這樣的通用數據接口,可以有很多種實現數字音頻數據傳輸的方式。不同的開發者可以根據自己的喜好和需求,定義任意的控制方式,傳輸模式,音頻格式等等參數。理論上,一個像USB這樣的通用數據接口,可以有很多種實現數字音頻數據傳輸的方式。不同的開發者可以根據自己的喜好和需求,定義任意的控制方式,傳輸模式,音頻格式等等參數。但是,從市場和工業開發考慮,定義一個被不同開發者認可,高質量的,並且被標準化的音頻傳輸機制是非常必要的。如此一來使可能在USB上連線的不同音頻設備保持最大的兼容性。標準化的傳輸機制,同樣可以使軟體驅動儘可能保持通用和簡潔。而USB音頻類(Audio Device Class)就是為了滿足以上要求而定義。而i.MX8產品也是有支援UAC(USB Audio Class)的功能,達到USB音頻類(Audio Device Class)讓使用者來運用。

以下將以為例,i.MX8M NANO實現UAC(USB Audio Class)的功能
一、系統方塊圖:Notebook當作UAC的HOST端,i.MX8M NANO當作UAC的Device端。聲音由Notebook撥放,在透過USB的接口由i.MX8M NANO平台上的喇叭輸出。
       
二、軟體環境用:
        1. 準備Linux kernel  imx_4.14.98_2.3.0
        2. 輸入指令:modprobe g_audio   (將UAC功能開啟)
             

        2. 輸入指令:arecord -l    (確認i.mx8m nano 所有的音源配置)
             
        3. 輸入指令:arecord -D plughw:4 | aplay -D plughw:0    (設定音源路徑:由USB輸入,Audio codec輸出)
             
        4. 將筆記型電腦透過USB接口與i.mx8m nano連接 (如下圖)
             
        5. 筆記型電腦的音源裝置,產生一組喇叭(AC interface)
            
        6. 由筆記型電腦撥放音樂,聲音即可透過USB 接口,由i.mx8m nano傳送到喇叭撥放出音樂

以上,即可在i.MX8M NANO 平台上實現UAC(USB Audio Class)的功能。

技術文檔

類型標題檔案
操作手冊User Guide

相關影片

如何在i.MX8M NANO 平台上實現UAC(USB Audio Class)的功能

在i.MX8M NANO 平台上實現UAC(USB Audio Class)的功能。藉由UAC的功能能讓擁有USB接口的電腦或筆記本將聲音(音樂)經由USB接口在i.MX8M NANO 平台播出。

★博文內容均由個人提供,與平台無關,如有違法或侵權,請與網站管理員聯繫。

★文明上網,請理性發言。內容一周內被舉報5次,發文人進小黑屋喔~

評論

A597987579

A597987579

2021年8月31日
陳先生你好。請問下如何將板子設定為UAC設備,我的板子arecord -l操作起來的顯示就是操作文檔HOST的顯示,沒有Linux USB