Cortex-M0的USB接口在智能手機(jī)底座音響中的應(yīng)用
兩組I2C控制器,I2C為雙線(xiàn),雙向串行總線(xiàn),通過(guò)簡(jiǎn)單有效的連線(xiàn)方式實(shí)現(xiàn)器件間的數(shù)據(jù)交換。I2C標(biāo)準(zhǔn)是多主機(jī)總線(xiàn),包括沖突檢測(cè)和仲裁以防止在兩個(gè)或多個(gè)主機(jī)試圖同時(shí)控制總線(xiàn)時(shí)發(fā)生的數(shù)據(jù)損壞。這樣MCU在對(duì)音頻解碼器和加密芯片等外部設(shè)備作控制。SPI接口可以外接如液晶顯示屏等需要SPI通訊的外部設(shè)備。集成了UART,PS/2,GPIO等接口更豐富了用戶(hù)的需求。
MUC集成的時(shí)鐘控制器為整個(gè)芯片提供時(shí)鐘源,包括系統(tǒng)時(shí)鐘和所有外圍設(shè)備時(shí)鐘。其中一個(gè)外部 4~24 MHz 高速晶振可以為USB等接口提供時(shí)鐘源,一個(gè)22.1184MHz內(nèi)部時(shí)鐘可以應(yīng)用到UART接口傳輸?shù)臅r(shí)鐘。另外還有一個(gè)內(nèi)部 10 KHz 低速振蕩器。因此,該MCU對(duì)于工作時(shí)鐘的設(shè)定,提供了很大的靈活性。
該控制器還通過(guò)單獨(dú)的時(shí)鐘關(guān)或開(kāi)、時(shí)鐘源選擇和分頻器來(lái)進(jìn)行功耗控制。CPU使能PWR_DOWN_EN位后,Cortex-M0 內(nèi)核執(zhí)行WFI指令,芯片將進(jìn)入掉電模式。等喚醒中斷發(fā)生,將退出掉電模式。在掉電模式下,時(shí)鐘控制器關(guān)閉外部 4~24 MHz 高速晶振和內(nèi)部 22.1184 MHz 高速振蕩器,以降低整個(gè)系統(tǒng)的功耗。
根據(jù)這個(gè)MCU的資源我們可以搭建起一個(gè)的底座音響基本的系統(tǒng)。
首先,協(xié)議認(rèn)證。協(xié)議數(shù)據(jù)通過(guò)MCU的USB輸入后轉(zhuǎn)到I2C傳送到解碼芯片解密后再由USB送回到上位機(jī)認(rèn)證,通過(guò)了認(rèn)證就可以進(jìn)行下一步的音頻傳輸。
USB輸入的數(shù)字音頻數(shù)據(jù)PCM碼發(fā)送到NUC123 USB的512字節(jié)的SRAM中,通過(guò)PDMA1搬送到了系統(tǒng)的SRAM,再通過(guò)PDMA2把PCM碼搬動(dòng)到I2S的緩存中,再通過(guò)I2S傳輸?shù)揭纛l解碼器進(jìn)行播放。系統(tǒng)SRAM達(dá)到20K字節(jié),有足夠的空間做音頻同步或音頻數(shù)據(jù)的運(yùn)算等等。由于系統(tǒng)集成有6通道的PDMA,極大提升了音頻同步傳輸?shù)男?。通過(guò)上位機(jī)指定的HID協(xié)議,用MCU的GPIO接口設(shè)計(jì)相關(guān)按鍵,將上位機(jī)指定命令字符發(fā)送到上位機(jī),實(shí)現(xiàn)播放器控制等功能。
這樣一個(gè)低功耗的高性?xún)r(jià)比的底座音響平臺(tái)就搭建起來(lái)了,根據(jù)不同需要可以選擇不同的音頻解碼器、功放、箱體和喇叭,一個(gè)簡(jiǎn)單的底座音響就設(shè)計(jì)完成了。MCU還有很多空閑的接口,可以根據(jù)不同的要求,增加相關(guān)的功能,如藍(lán)牙通訊、液晶顯示、紅外遙控…這就需要消費(fèi)者和設(shè)計(jì)師的想象力了。
評(píng)論