在現今的電子產業中,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功能開啟)
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)的功能。
評論
A597987579
2021年8月31日