首頁 > 評測 > 一板在手音頻不愁-Audio BoosterPack開發(fā)板評測

一板在手音頻不愁-Audio BoosterPack開發(fā)板評測

  • 作者:zhanzr
  • 來源:21ic
  • [導(dǎo)讀]
  • 配合上靈活的排針組合,這模塊可以說與任何開發(fā)板子相配合都能開始搞音頻錄制播放的開發(fā).而且售價(jià)也不高,29.99 US$的價(jià)格可以說比起同類板子便宜不少.想搞音頻錄制播放的同學(xué)們不妨搞一塊來玩玩. TI的原意是用此板子與其他TI的開發(fā)板子一起配合使用,其實(shí)這板子是非常通用的.后文的實(shí)驗(yàn)也會展示這一點(diǎn).

圖 SPI設(shè)定為半雙工即可,因?yàn)橹挥袑?/p>

圖 數(shù)據(jù)大小設(shè)定為16bit

分頻方面也要注意,DAC8311號稱最高可以接收50MHz的SPI數(shù)據(jù),但實(shí)際操作中我發(fā)現(xiàn)高了某些數(shù)據(jù)會丟失.這里用保險(xiǎn)一點(diǎn)的速率.

程序方面就是使用定時(shí)器做一個(gè)與采樣率同等頻率的中斷,在中斷中作標(biāo)記,之后在主循環(huán)中更新DAC數(shù)據(jù).關(guān)鍵代碼:

if(g_Tim6_Flag)

{

HAL_GPIO_WritePin(CS_GPIO_Port, CS_Pin, GPIO_PIN_RESET);

__NOP();

g_Sample16 = 32767 + *((__IO int16_t *)(AUDIO_FILE_ADDRESS + g_SampleCnt*sizeof(int16_t)));

g_SampleCnt ++;

if((g_SampleCnt*sizeof(int16_t))>AUDIO_FILE_SIZE)

{

g_SampleCnt = 0;

}

HAL_SPI_Transmit(&hspi1, (uint8_t*)&g_Sample16, 1, 1);

__NOP();

HAL_GPIO_WritePin(CS_GPIO_Port, CS_Pin, GPIO_PIN_SET);

g_Tim6_Flag = false;

}

資源方面與上節(jié)采用相同的資源即可.

與上節(jié)相同,測試工程與代碼在后面附件中供下載.

圖 通過板上DAC播放

接法方面注意按照CubeMX截圖中接,另外排針那里別忘記跳到最上面一行.

實(shí)驗(yàn)之三:PWM+LPF播放

 

圖 PWM播放音頻

這個(gè)程序利用Arduino Uno的板子的PWM來播放,聽起來這LPF效果還可以.原理方面就是PWM輸出再經(jīng)過LPF濾波,這個(gè)以前本人寫過多次,不熟的讀者可以翻翻以前的文章,再輔以代碼應(yīng)該能熟練掌握.

接法方面,還是差不多,注意別忘記跳線.其余接線看圖片應(yīng)該不難明白.程序方面還是打包供大家下載.

總結(jié)與參考

TI設(shè)計(jì)的這個(gè)板子很強(qiáng)大,自帶揚(yáng)聲器,自帶耳機(jī)麥克風(fēng)接口,自帶放大器,自帶駐極體信號調(diào)理,自帶LPF.基本上做音頻播放錄制實(shí)驗(yàn),這個(gè)擴(kuò)展模塊就夠了.

TI本身給的參考代碼,是基于自家的MSP430處理器的.本文的實(shí)驗(yàn)說明,這個(gè)板子非常靈活,基本上可以應(yīng)用于任何開發(fā)板.我想只要是能稱得上開發(fā)板子的,DAC,SPI,PWM這幾種接口應(yīng)該至少有一種吧,ADC那就更普遍了.所以這板子也可稱開發(fā)板子的音頻伴侶.售價(jià)也不貴,29.99美元,實(shí)在值的擁有.

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

網(wǎng)友評論

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

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