首頁(yè) > 評(píng)測(cè) > 【AT-START-F437測(cè)評(píng)】USB UAC HID聲卡

【AT-START-F437測(cè)評(píng)】USB UAC HID聲卡

  
  • 作者:
  • 來(lái)源:
  • [導(dǎo)讀]
  • # 前言 收到開發(fā)板快一個(gè)多月了,年前得了新冠又奈何項(xiàng)目太多就沒(méi)來(lái)得及評(píng)測(cè) 【AT-START-F437】,之前家里有塊 AT-START-F407 做一些應(yīng)用還是很不錯(cuò)的,這次有機(jī)會(huì)有幸申請(qǐng)了 F437,平時(shí)開發(fā)中經(jīng)常開發(fā)音頻類
# 前言
      收到開發(fā)板快一個(gè)多月了,年前得了新冠又奈何項(xiàng)目太多就沒(méi)來(lái)得及評(píng)測(cè) 【AT-START-F437】,之前家里有塊 AT-START-F407 做一些應(yīng)用還是很不錯(cuò)的,這次有機(jī)會(huì)有幸申請(qǐng)了 F437,平時(shí)開發(fā)中經(jīng)常開發(fā)音頻類產(chǎn)品,看到F437帶了USB 2.0 和 全雙工的 I2S 就覺(jué)得可以拿來(lái)做 【會(huì)議音響】、【USB聲卡】之類的產(chǎn)品,加上主頻能夠288Mhz,做一些3A算法應(yīng)該還是綽綽有余的。
# 正文
      USB UAC聲卡主要框架為:


硬件音頻輸出用的wm8978,板卡靚照:


由于軟件上使用了I2S雙工,根據(jù)文檔需要初始化I2S2為輸出,I2S2_EXT為錄音用,然后初始化對(duì)應(yīng)的DMA收發(fā)即可。



其中USB 聲卡最復(fù)雜的問(wèn)題是音頻同步的問(wèn)題,由于USB時(shí)鐘跟I2S的時(shí)鐘總是會(huì)有誤差的,這個(gè)誤差不僅限于時(shí)鐘,還有漂移和相位屬性誤差問(wèn)題,因此USB UAC提共了一個(gè)反饋的機(jī)制來(lái)控制采樣率問(wèn)題。感謝at32完善的bsp不需要去重新去編寫這個(gè)反饋機(jī)制。

HID功能
由于播放音頻的時(shí)候難免需要使用控制暫停,播放,音量+/-,因此修改了一下自帶的Audio_hid_desc里的Report,
然后封裝了一個(gè)函數(shù)來(lái)實(shí)現(xiàn)功能需求。





最后視頻來(lái)演示一下:


---


# 結(jié)束語(yǔ)
       寫這個(gè)評(píng)測(cè)的時(shí)候其實(shí)并不是打算做這個(gè)帖子來(lái)作為評(píng)測(cè)貼的,想著用這個(gè)性能做一些更高級(jí)點(diǎn)的應(yīng)用,本來(lái)打算做 SIP電話開源給大家的,標(biāo)題都想好了【AT-START-F437測(cè)評(píng)】原創(chuàng)開源FreeRTOS+POSIX+LWIP+SIP網(wǎng)絡(luò)電話,移植都完成了功能實(shí)現(xiàn)了,連接SIP服務(wù)器也很正常,但是就是語(yǔ)音流傳輸?shù)臅r(shí)候出現(xiàn)了斷斷續(xù)續(xù),一開始考慮到是否是丟包問(wèn)題,后面用網(wǎng)線直連也是斷續(xù)問(wèn)題,然后測(cè)試一直都這樣,然后把又折騰把軟件移植到了 之前的 STM32F4的開發(fā)板上,結(jié)果沒(méi)有出現(xiàn)問(wèn)題,下班吃完飯調(diào)到晚上深夜,幾個(gè)晚上排查大致感覺(jué)實(shí)在網(wǎng)絡(luò)發(fā)送的問(wèn)題,但也不太確定哪里的問(wèn)題.....
       閑話到此了,后續(xù)如果調(diào)通了,就單獨(dú)在開個(gè)分享貼子給大家。











  • 本文系21ic原創(chuàng),未經(jīng)許可禁止轉(zhuǎn)載!

網(wǎng)友評(píng)論

  • 聯(lián)系人:巧克力娃娃
  • 郵箱:board@21ic.com
  • 我要投稿
  • 歡迎入駐,開放投稿

熱門標(biāo)簽
項(xiàng)目外包 more+