ARM Cortex-M0處理器是目前最小的ARM處理器。M0充分利用了ARM Thumb技術(shù)、多級流水線(xiàn)技術(shù)、低功耗優(yōu)化設計技術(shù)和最新的高密度硅閃存工藝,是目前市場(chǎng)上現有的最小、能耗最低、最節能的ARM處理器。該處理能耗非常低、門(mén)數量少、代碼占用空間小,使得MCU開(kāi)發(fā)人員能夠以8位處理器的價(jià)位,獲得32位處理器的性能。芯片制造商將M0產(chǎn)品針對某些特別應用而進(jìn)行開(kāi)發(fā)。分別有高集成32位微控制器、USB微控制器, CAN總線(xiàn)微控制器、帶USB口和CAN總線(xiàn)控制器等等,廣泛地應用在各個(gè)領(lǐng)域。
隨著(zhù)智能手機、移動(dòng)互聯(lián)網(wǎng)、云存儲技術(shù)的高速發(fā)展,人們的生活也隨之改變。從信息獲取到購物、娛樂(lè )、生活,衣食住行游購娛無(wú)一不包,其中一種簡(jiǎn)單易用的底座音箱也逐漸走入人們的生活。

設計一個(gè)高性?xún)r(jià)比的音箱,以M0為內核的USB微控制器作為這類(lèi)電路系統主控芯片的不錯選擇。
底座音響的音頻流程為:

以iPhone底座音響為例,音頻采用數字音頻方式傳輸可以保證音源不受外界的干擾而失真,告別傳統底座音箱音質(zhì)差易干擾等問(wèn)題。MCU獲取數字音頻必須通過(guò)USB,其USB傳輸的端點(diǎn)要求是:協(xié)議占用有3個(gè)USB端點(diǎn),另外2個(gè)控制端點(diǎn)和2個(gè)音頻端點(diǎn),這樣基本需要7個(gè)端點(diǎn)以上的USB接口才能滿(mǎn)足這類(lèi)方案的設計需要。而音頻解碼器是通過(guò)I2S方式來(lái)接收,這樣MCU必須同時(shí)具有I2S接口,而且還需通過(guò)I2C接口來(lái)控制。
除了音頻的傳輸,為了達到產(chǎn)品豐富的功能,可以根據人們的需要增加相應的功能。如液晶顯示屏幕、紅外遙控板、各類(lèi)的功能按鍵等等都是人們最基本的選擇,或者設計師可以展開(kāi)豐富的想象力,將底座音箱設計成遙控的汽車(chē)模型,可愛(ài)的娃娃,威猛變形金剛…這樣則對MCU提出更多的要求。芯片廠(chǎng)商或者已經(jīng)預料到在M0的應用上會(huì )面對各式各樣的類(lèi)型需求。那么M0為內核的MCU基本上都有準備了豐富的外設接口。如框圖:

以上除了可運行至72 MHz Cortex-M0內核, 還內建36K/68K字節的Flash存儲器,以及12K/20K字節 SRAM,4K字節用于存儲ISP引導代碼的ROM,保證系統的流暢運行。
USB 2.0全速設備控制器和收發(fā)器符合USB 2.0全速設備規范,支持控制/塊/中斷/等時(shí)傳輸類(lèi)型。USB設備控制器共有8個(gè)可配置的端點(diǎn)。每個(gè)端點(diǎn)可以配置為輸入或者輸出類(lèi)型。所有的操作包括控制傳輸、批量傳輸、中斷傳輸和同步傳輸都可以支持。端點(diǎn)控制模塊還可以用來(lái)管理數據序列同步,端點(diǎn)狀態(tài),當前起始地址,當前事務(wù)狀態(tài)和每個(gè)端點(diǎn)的數據緩存狀態(tài)。恰好滿(mǎn)足了底座音響基本7個(gè)配置端點(diǎn)的需求。
I2S控制器由I2S協(xié)議與外部音頻CODEC接口組成,兩個(gè)8字節的FIFO分別用于讀與寫(xiě)通道,可以處理8~32位字大小。DMA控制器處理數據在FIFO與內存之間的傳輸。
兩組I2C控制器,I2C為雙線(xiàn),雙向串行總線(xiàn),通過(guò)簡(jiǎn)單有效的連線(xiàn)方式實(shí)現器件間的數據交換。I2C標準是多主機總線(xiàn),包括沖突檢測和仲裁以防止在兩個(gè)或多個(gè)主機試圖同時(shí)控制總線(xiàn)時(shí)發(fā)生的數據損壞。這樣MCU在對音頻解碼器和加密芯片等外部設備作控制。
SPI接口可以外接如液晶顯示屏等需要SPI通訊的外部設備。集成了UART,PS/2,GPIO等接口更豐富了用戶(hù)的需求。
MUC集成的時(shí)鐘控制器為整個(gè)芯片提供時(shí)鐘源,包括系統時(shí)鐘和所有外圍設備時(shí)鐘。其中一個(gè)外部4~24 MHz高速晶振可以為USB等接口提供時(shí)鐘源,一個(gè)22.1184MHz內部時(shí)鐘可以應用到UART接口傳輸的時(shí)鐘。另外還有一個(gè)內部10 KHz低速振蕩器。因此,該MCU對于工作時(shí)鐘的設定,提供了很大的靈活性。
該控制器還通過(guò)單獨的時(shí)鐘關(guān)或開(kāi)、時(shí)鐘源選擇和分頻器來(lái)進(jìn)行功耗控制。CPU使能PWR_DOWN_EN位后,Cortex-M0內核執行WFI指令,芯片將進(jìn)入掉電模式。等喚醒中斷發(fā)生,將退出掉電模式。在掉電模式下,時(shí)鐘控制器關(guān)閉外部4~24 MHz高速晶振和內部22.1184 MHz高速振蕩器,以降低整個(gè)系統的功耗。
根據這個(gè)MCU的資源我們可以搭建起一個(gè)的底座音響基本的系統:

首先,協(xié)議認證。協(xié)議數據通過(guò)MCU的USB輸入后轉到I2C傳送到解碼芯片解密后再由USB送回到上位機認證,通過(guò)了認證就可以進(jìn)行下一步的音頻傳輸。
USB輸入的數字音頻數據PCM碼發(fā)送到NUC123 USB的512字節的SRAM中,通過(guò)PDMA1搬送到了系統的SRAM,再通過(guò)PDMA2把PCM碼搬動(dòng)到I2S的緩存中,再通過(guò)I2S傳輸到音頻解碼器進(jìn)行播放。系統SRAM達到20K字節,有足夠的空間做音頻同步或音頻數據的運算等等。由于系統集成有6通道的PDMA,極大提升了音頻同步傳輸的效率。
通過(guò)上位機指定的HID協(xié)議,用MCU的GPIO接口設計相關(guān)按鍵,將上位機指定命令字符發(fā)送到上位機,實(shí)現播放器控制等功能。
這樣一個(gè)低功耗的高性?xún)r(jià)比的底座音響平臺就搭建起來(lái)了,根據不同需要可以選擇不同的音頻解碼器、功放、箱體和喇叭,一個(gè)簡(jiǎn)單的底座音響就設計完成了。MCU還有很多空閑的接口,可以根據不同的要求,增加相關(guān)的功能,如藍牙通訊、液晶顯示、紅外遙控…這就需要消費者和設計師的想象力了。 |