Cortex-M0 ARM MCU USB CAN I2S I2C 新唐

借力Cortex-M0 MCU豐富周邊 USB底座音響輕鬆打造

2013-10-28
安謀國際Cortex-M0處理器具備低功耗、省電的特性,可望替USB底座音響發揮更多的使用彈性。透過智慧型手機連結音響USB接口,再將數位音訊資料傳輸至處理器,使用者便能藉由音響播放出個人隨選的音樂。
安謀國際(ARM)Cortex-M0處理器是目前最小的ARM處理器。Cortex-M0充分利用ARM Thumb技術、多種高速通訊元件、低功耗優化設計技術和最新的高密度矽快閃記憶體製程,為目前市場上產品中功耗最低、最節能的ARM處理器。該處理器低功耗、低閘數、精簡程式碼特性,使得微控制器(MCU)開發人員能夠以8位元處理器的價位,獲得32位元處理器的性能。晶片製造商將Cortex-M0產品針對某些特別應用而進行開發,分別有高整合32位元微控制器、通用序列匯流排(USB)微控制器、控制器區域網路(CAN)匯流排微控制器等,廣泛應用在各個領域。

隨著智慧型手機、行動聯網、雲端儲存技術的高速發展,人們的生活也隨之改變。影響層面從資訊獲取到購物、娛樂、生活,幾乎是食衣住行育樂無所不包,其中一種簡單操作的手機底座音響也逐漸走入人們的生活。然而,如果要設計一個高性價比的音響,以Cortex-M0做為USB微控制器這類電路系統核心晶片會是不錯的選擇。底座音響的音訊流程如圖1,以iPhone底座音響為例,音訊採用數位音訊方式進行傳輸,可以保證音源不受外界的干擾而失真,解決傳統底座音響音質差且易干擾等問題。

圖1 手機底座音響音訊傳送流程圖

底座音響的音訊傳輸流程

MCU獲取數位音訊必須通過USB接口,其USB傳輸端點的要求是至少要有三個USB端點,兩個控制端點和兩個音訊端點,這樣基本需要七個端點以上的USB介面才能滿足這類方案的設計需要。而音訊解碼器是通過內部整合電路聲音(I2S)方式來接收,所以MCU必須同時具有I2S介面,還須通過內部整合電路(I2C)介面來控制。

除音訊的傳輸外,為達到產品豐富的功能,設計師可以根據人們的需要增加相應的功能,如液晶顯示螢幕、紅外線遙控器、各類功能按鍵等都是人們最基本的選擇。然而,設計師或許可以展現豐富的想像力,將底座音響設計成遙控的汽車模型,或是其他不同形狀,如此一來則須要對MCU提出更多的要求。晶片製造廠商或許已經預料到在Cortex-M0的應用上會面對各式各樣類型的需求,因此以Cortex-M0為核心的MCU基本上都具備豐富的周邊介面。

圖2顯示的MCU除可運行至72MHz Cortex-M0核心,還內建36K/68K位元組的Flash記憶體,以及12K/20K位元組靜態隨機存取記憶體(SRAM),4K位元組用於儲存系統內編程功能(ISP)引導代碼的唯讀存儲記憶體(ROM),保證系統得以流暢運行。

圖2 Cortex-M0 MCU架構圖

底座音響配置規格介紹

第二代通用序列匯流排(USB 2.0)全速設備控制器和收發器符合USB 2.0全速設備規範,支援控制/塊/中斷/等時傳輸類型。USB設備控制器共有八個可配置的端點,每個端點可以配置為輸入或者輸出類型。所有的操作包括控制傳輸、批量傳輸、中斷傳輸和同步傳輸都可以支援。端點控制模組還可以用來管理資料序列同步、端點狀態、當前起始位址、當前事務狀態和每個端點的資料緩存狀態,恰好滿足底座音響基本七個配置端點的需求。

I2S控制器由I2S協定與外部音訊Codec介面組成,兩個8位元組的先進先出(FIFO)分別用於讀與寫通道,可以處理8~32位元大小。直接記憶體存取(DMA)控制器處理資料在FIFO與記憶體之間的傳輸。

兩組I2C控制器,I2C為雙線,雙向串列匯流排,透過簡單有效的連線方式實現器件間的資料交換。I2C標準為多主機匯流排,包括衝突檢測和仲裁,以防止在兩個或多個主機試圖同時控制匯流排時發生的資料損壞。這樣MCU對音訊解碼器和加密晶片等外部設備便能進行控制。

串列周邊介面(SPI)可以外接如液晶顯示螢幕等需要SPI通訊的外部設備。整合通用異步收發器(UART)、PS/2、通用型輸入輸出(GPIO)等介面更豐富使用者的需求。

MCU開關控制原理

圖2顯示的MCU整合的時脈控制器為整個晶片提供時脈來源,包括系統時脈和所有周邊設備時脈。其中一個外部4M~24MHz高速晶振可以為USB等介面提供時脈來源,一個22.1184MHz內部時脈可以應用到UART介面傳輸的時脈。另外還有一個內部10kHz低速振盪器。因此,該MCU對於工作時脈的設定,提供很大的靈活度。

該控制器還透過單獨的時脈關或開、時脈來源選擇和分頻器來進行功耗控制。中央處理器(CPU)使能PWR_DOWN_EN位後,Cortex-M0核心執行WFI指令,晶片將進入斷電模式。等喚醒中斷發生,將退出斷電模式。在斷電模式下,時脈控制器關閉外部4M~24MHz高速晶振和內部22.1184MHz高速振盪器,以降低整個系統的功耗,根據這個MCU的資源可以搭建出底座音響基本的系統圖(圖3)。

圖3 底座音響基本的系統圖

音訊資料認證機制

首先,先進行協定認證,協定資料通過MCU的USB輸入後,轉到I2C傳送到解碼晶片解密後,再由USB送回到手機認證,接著通過認證後就可以進行下一步的音頻傳輸。

USB輸入的數位音訊資料脈衝編碼調變(PCM)碼發送到NUC123 USB的512位元組的SRAM中,通過PDMA1傳送到系統的SRAM,再通過PDMA2把PCM碼搬動到I2S的緩存中,再通過I2S傳輸到音訊解碼器進行播放。系統SRAM達到20K位元組,有足夠的空間做音訊同步或音訊資料的運算等,由於系統整合有六通道的PDMA,因此大幅提升音訊同步傳輸的效率。

通過手機指定的HID協定,用MCU的GPIO介面設計相關按鍵,將手機指定的命令回傳到手機,就能實現播放機控制等功能。這樣一個低功耗的高性價比的底座音響平台就搭建起來了,根據不同需要可以選擇不同的音訊解碼器、擴音機、箱體和喇叭,一個簡單的底座音響就設計完成。MCU還有很多彈性的介面,可以根據不同的要求,增加相關的功能,如藍牙通訊、液晶顯示、紅外線遙控等,這就需要消費者和設計師的想像力了。

(本文作者為新唐科技技術應用服務處處長)

本站使用cookie及相關技術分析來改善使用者體驗。瞭解更多

我知道了!