基于STM32F4和CPLD的高品質(zhì)立體聲USB數(shù)字音頻接口設(shè)計
發(fā)布時間:2020-12-27 08:16
在高品質(zhì)音頻系統(tǒng)應(yīng)用中,USB協(xié)議被廣泛用于設(shè)計數(shù)字音頻輸入接口。目前專用USB數(shù)字音頻芯片較少,這阻礙了USB數(shù)字音頻接口的推廣使用。本文基于STM32F4系列芯片開發(fā)了符合USB Audio Devices Class 2.0規(guī)范的音頻輸入接口,使用CPLD實現(xiàn)了同時支持PCM和DSD數(shù)據(jù)的數(shù)字音頻輸出接口。依據(jù)設(shè)計方案制作了硬件實物,通過實驗驗證了設(shè)計的正確性和可行性。設(shè)計解決了通用芯片在數(shù)字音頻接口領(lǐng)域應(yīng)用的難點,也可作為其他開發(fā)平臺的設(shè)計參考。
【文章來源】:電子產(chǎn)品世界. 2020年10期
【文章頁數(shù)】:5 頁
【部分圖文】:
基于ADC 2.0規(guī)范的音頻接口邏輯架構(gòu)
硬件連接框圖
基于上述原理設(shè)計的播放處理狀態(tài)機(jī)的UML狀態(tài)圖如圖3所示,整個播放過程在播放監(jiān)控狀態(tài)中運(yùn)行,在PlayGuard_IDLE狀態(tài)中程序接收相關(guān)的參數(shù)設(shè)置信號為播放做準(zhǔn)備。PlayGuard_PLAYING是一個組合狀態(tài),其自身負(fù)責(zé)與USB底層模塊通信進(jìn)行數(shù)據(jù)傳輸,其子狀態(tài)負(fù)責(zé)處理特定播放模式。音頻數(shù)據(jù)的流轉(zhuǎn)是程序的核心算法。音頻數(shù)據(jù)通過OUT傳輸寫入程序緩沖區(qū),數(shù)據(jù)由播放子狀態(tài)處理并寫入FIFO中。程序?qū)MA傳輸設(shè)置為雙緩沖模式,在DMA完成事件中,從FIFO讀出1組數(shù)據(jù),對雙緩沖區(qū)進(jìn)行交替填充。在IN傳輸完成事件中,計算當(dāng)前FIFO區(qū)數(shù)據(jù)長度,據(jù)此反饋數(shù)據(jù)傳輸率給主機(jī),完成對數(shù)據(jù)長度的追蹤控制。
本文編號:2941401
【文章來源】:電子產(chǎn)品世界. 2020年10期
【文章頁數(shù)】:5 頁
【部分圖文】:
基于ADC 2.0規(guī)范的音頻接口邏輯架構(gòu)
硬件連接框圖
基于上述原理設(shè)計的播放處理狀態(tài)機(jī)的UML狀態(tài)圖如圖3所示,整個播放過程在播放監(jiān)控狀態(tài)中運(yùn)行,在PlayGuard_IDLE狀態(tài)中程序接收相關(guān)的參數(shù)設(shè)置信號為播放做準(zhǔn)備。PlayGuard_PLAYING是一個組合狀態(tài),其自身負(fù)責(zé)與USB底層模塊通信進(jìn)行數(shù)據(jù)傳輸,其子狀態(tài)負(fù)責(zé)處理特定播放模式。音頻數(shù)據(jù)的流轉(zhuǎn)是程序的核心算法。音頻數(shù)據(jù)通過OUT傳輸寫入程序緩沖區(qū),數(shù)據(jù)由播放子狀態(tài)處理并寫入FIFO中。程序?qū)MA傳輸設(shè)置為雙緩沖模式,在DMA完成事件中,從FIFO讀出1組數(shù)據(jù),對雙緩沖區(qū)進(jìn)行交替填充。在IN傳輸完成事件中,計算當(dāng)前FIFO區(qū)數(shù)據(jù)長度,據(jù)此反饋數(shù)據(jù)傳輸率給主機(jī),完成對數(shù)據(jù)長度的追蹤控制。
本文編號:2941401
本文鏈接:http://www.sikaile.net/kejilunwen/jisuanjikexuelunwen/2941401.html
最近更新
教材專著