基于EVK1105和UC/OS-II操作系統的自主能量開發(三)
3.1 系統功能實現原理
本文引用地址:http://www.104case.com/article/201612/326327.htm該系統為實現自主能量采集以及多用戶播放器的功能,以主控制芯片AT32UC3A為核心,綜合運用液晶顯示、多通道控制電路、用戶接口、內存及外部存儲設備和電源等部分來實現系統功能。基本的系統硬件結構框圖如下:

圖2 系統硬件結構框圖
系統各個部分相互協調,以實現系統的總體功能,以下是系統各個組成部分的實現原理:
3.1.1 主控芯片功能
該系統的主控芯片為AT32UC3A,之所以采用該芯片作為該系統的主控芯片,因為該芯片有以下性能:
1、強大的音頻處理能力:AVR32微控制器的核心是AVR32 CPU內核,其特點是提供了一系列覆蓋面較廣、往往只在高端CPU和DSP上才有的指令。因為具備這樣的高性能,所以它不再需要定制音頻解碼器硬件,它能以稍高于20MHz的運算能力解碼立體聲MP3音頻流。由于其最高速度可達72MHz,因而其CPU還留有足夠的性能裕量來處理AAC和AAC+等“負荷較重”的音頻格式。而剩余的性能裕量還可以運行操作系統和完成必須的文件存儲和通信功能。
2、高性能的D/A轉換器:數字音頻信號在解壓之后,必須轉換為模擬音頻才能通過一組揚聲器播放出來。AVR32提供了一個Hi-Fi立體聲16位DAC用于立體聲輸出。因此,它只需要一個很小的外部功放來產生線路輸出、耳機輸出或外部揚聲器所需的輸出電平。
3、豐富的外部連接:雖然AVR32微控制器中的閃存和SRAM足以存儲用戶固件、解碼音頻和緩沖通信數據,但片上存儲器的大小并不足以緩沖幾秒以上的音頻內容。不過AVR32的可選存儲器范圍很寬,其中三種最受歡迎的就是SD/MMC卡、USB大容量存儲器和NAND閃存。AVR32可以任意組合這幾種存儲器用于存儲音頻內容。其中,SD卡接口支持高達2GB的高速大容量SD卡;USB主機接口能連接常規USB記憶棒,也可用于接入一個帶USB插頭的媒體播放器、相機或手機。
關于主控芯片及平臺的具體信息將在后文中介紹。
3.1.2 能量采集模塊
太陽能采集
目前的太陽能采集技術比較成熟,該系統中利用太陽能電池作為采集太陽能的裝置,并將其轉換成電能。簡要的工作原理圖如下:

圖3 太陽能采集原理圖
該部分的核心為充放電控制器,在陽光充足的情況下太陽能電池陣列吸收光能并產生電能,充放電控制器將該電能充入蓄電池組,同時為播放器提供必要的電能。在陽光不充足的情況下,充放電控制器則從蓄電池組提取能量供給播放器。
振動能量采集
當前振動能量采集技術有多種,該系統中利用最傳統的做法,即使用一塊懸掛的磁鐵,將線圈放置在一個變化的磁場中產生電磁感應,發電機則通過電磁感應來完成能量轉換。

圖4 震動能量采集原理圖
該部分核心仍為充放電控制器,振動能量轉換裝置轉換的能量通過充放電控制器存儲在蓄電池中或給播放器供電,若無振動情況下,則直接使用蓄電池給播放器供電。
3.1.3 播放器功能模塊
MP3解碼電路
音頻以數字信息的格式存儲在介質中,因此在播放歌曲的時候要利用音頻解碼電路進行轉化,將數字量轉化為模擬量并輸出,因此需要MP3解碼電路以實現這一功能。最常見的MP3音頻解碼電路由音頻解碼器,可變采樣率ADC和立體聲DAC,耳機放大電路構成。而AT32UC3A芯片集成的強大功能可以實現解碼電路的大部分功能,因此,只需要再加入一個很小的功放來產生線路輸出、耳機輸出或揚聲器所需要的電平。
多通道控制電路
該播放器設計有面向多用戶的功能(最多4用戶),該功能主要由多通道控制電路來實現。在該功能中,采用分時多緩沖技術:首先把時間分為很小的時間片段,時間段的個數等于通道個數,每個時間片段響應不同的歌曲情切,主控芯片根據請求讀取FLASH存儲器中的數據,并將其按請求順序放入內存,并送給解碼器,解碼得到的信號經4路高速控制開關選通4個音頻輸出口。因為時間間隙很小,人耳無法分辨,所以保證了歌曲播放的完整性。其簡要原理圖如下:

圖5 多通道控制原理圖
儲存單元
該系統的儲存單元主要有外部存儲器接口、SRAM內存、FLASH存儲和USB接口。
外部存儲器接口
考慮到硬件平臺內置存儲空間較小的問題,并結合主控芯片AT32UC3A的外部接口特點,該系統采用外部存儲器來儲存歌曲,該存儲器可以是高速大容量的SD卡或USB記憶棒。
SRAM內存
該部分作為系統的內存,用于處理和運算,保證系統的正常運行。
FLASH存儲
FLASH存儲設備用于存放系統的控制程序。
USB通信接口
系統提供USB通信接口以方便系統與外部設備的互聯,該USB接口可以用于下載歌曲等操作。
3.1.4 電源管理
該部分主要包括四個部分:電池、充放電控制器、太陽能能量采集電路和振動能量采集電路,在充放電控制器的控制下,實現個部分的協調供電,同時利用AT32UC3A芯片的電源管理,使系統實現最低功耗。
3.2 硬件平臺選用及資源配置
3.2.1 硬件平臺選擇
該系統選用EVK1105作為平臺進行相關的研發和制作工作,理由如下:
1、其主控芯片強大的音頻處理功能
EVK1105硬件平臺采用了AVR高性能32位微控制器AVR32,而AVR32微控制器的核心是AVR32 CPU內核,其特點是提供了一系列覆蓋面較廣、往往只在高端CPU和DSP上才有的指令。因為具備這樣的高性能,所以它不再需要定制音頻解碼器硬件,它能以稍高于20MHz的運算能力解碼立體聲MP3音頻流。由于其最高速度可達72MHz,因而其CPU還留有足夠的性能裕量來處理AAC和AAC+等“負荷較重”的音頻格式,同時UC3A器件還可處理兩個音頻接口。在高質量立體聲輸出方面,該芯片集成了一個內置FIR和Comb濾波器的立體聲16位比特流音頻DAC;至于4聲道或全環繞聲,則可利用IIS接口來連接外部音頻編解碼器。兩個接口均由利用AVR32 外設 DMA 控制器的驅動器提供支持,能夠大幅減少 CPU 開銷。而剩余的性能裕量還可以運行操作系統和完成必須的文件存儲和通信功能,這大大的增強了系統性能和穩定性。2、良好的存儲器選擇范圍
雖然AVR32微控制器中的閃存和SRAM足以存儲用戶固件、解碼音頻和緩沖通信數據,但片上存儲器的大小并不足以緩沖幾秒以上的音頻內容。但是AVR32的可選存儲器范圍很寬,其中三種最受歡迎的就是SD/MMC卡、USB大容量存儲器和NAND閃存。AVR32可以任意組合這幾種存儲器用于存儲音頻內容。其中,SD卡接口支持高達2GB的高速大容量SD卡;USB主機接口能連接常規USB記憶棒,也可用于接入一個帶USB插頭的媒體播放器、相機或手機。NAND閃存接口最多可支持兩塊芯片,而且能提供對單層(SLC)和多層單元(MLC)ECC的硬件支持,這便為音樂文件的存儲提供了海量的空間。
3、非常低的功耗
AVR32系列的功耗不到2.0mW/MHz,因而只需兩塊AA電池,就能持續150小時的音頻播放。而在只有實時時鐘運行的待機模式下,同樣的電池可維持9年多的時間。
4、豐富的外部接口
EVK1105還提供了大量的外設和接口,比如高保真音頻接口、10/100以太網口、無線模塊接口、外聯接口、麥克風、數模轉換和液晶顯示器。這大大的簡化了電路的設計,提高了系統的穩定性。
因此,我們決定使用EVK1105作為本音樂播放器的硬件平臺。
3.2.2 EVK1105的詳細功能
EVK1105的硬件平臺結構如下:

圖6 EVK1105平臺
EVK1105硬件平臺資源介紹及其配置:
CPU:AT32UC3A0512主要特性如下
高性能,低功耗AVR32UC 32位微控制器
精簡單周期RISC指令集,含DSP指令集
“讀-改-寫”三步操作和位元處理操作
1.49 DMIPS/MHz性能表現
在FLASH中66 MHz下,高達91 DMIPS的運行速度(1等待狀態)
在FLASH中33 MHz下,高達49 DMIPS的運行速度(0等待狀態)
內存保護單元
多層次總線系統
通過為提高性能而設的獨立總線上,實現高性能數據傳輸
15個外設DMA通道,提高外設通信速度
512K Bytes
單周期訪問速度高達33 MHz
預取緩沖,優化了指令執行效率,達到最高速度
4ms頁面編程時間和8ms整片擦除時間
100,000次寫周期,15年數據保存能力
FLASH安全鎖定和用戶自定義配置區
64K Bytes
兼容SDRAM/SRAM存儲器總線(16位數據總線和24位地址總線)
自動向量低延時中斷服務,帶可編程優先級
電源時鐘管理,含內部RC時鐘和1個32KHz晶振
兩個多用途振蕩器和雙鎖相環(PLL),允許獨立CPU頻率,不受USB頻率影響
看門狗定時器,實時時鐘定時器
Device 2.0全速,以及On-The-Go(OTG)低速和全速
通過專用的DMA通道實現靈活的端點配置和管理
片上收發器,含上拉電阻
802.3以太網媒體訪問控制器
支持媒體獨立接口(MII)和簡化MII(RMII)
3個外部時鐘輸入,PWM,接收和多種計時能力
內部高速FLASH
獨立波特率發生器,支持SPI,IrDA和ISO7816接口
支持硬件握手操作,RS485接口和調制解調線路
內部高速SRAM,全速單周期訪問
支持I2S協議和通用基于框架協議
外部存儲器接口,用于AT32UC3A0擴展
中斷控制器
采樣速率最高可達50 KHz
Nexus Class 2+,運行控制,非強加數據和程序跟蹤
系統功能
通用串行總線
10/100 Mbps的以太網MAC接口
1個三通道16位定時/計數器(TC)
1個7通道16位脈寬調制控制器(PWM)
4個通用 同步/異步 接收/發送器(USART)
2個主/從串行外設接口(SPI),帶片選信號
1個同步串行協議控制器
1個主/從2-wire接口(TWI),兼容400kbit/s I2C
1個8通道10位模數轉換器
16位立體聲比特流
片上調試系統(JTAG接口)
100腳 TQFP(69 GPIO引腳),144腳 LQFP(109 GPIO引腳)
5V輸入容差I/Os
3.3V單電源供電或1.8V-3.3V雙電源供電
外部設備和接口:
高保真音頻接口
該音頻接口作為本播放器的耳機的插口。
電壓選擇接口
為硬件平臺提供強大的能量支持。
USB接口
與PC通信,作為下載音樂文件的接口。無線模塊接口
該接口支持IEE802.15.4™/Zigbee® 和藍牙,作為無線收聽音樂和控制播放器的接口。利用該接口用戶可以隨時對播放器的播放狀態進行調整,并且該無線通信是雙向的,因此,用戶可以不用去尋找播放器,而只在耳機上就可以對播放器進行控制。
五向觸摸按鍵
按鍵直接對音樂播放器進行控制
LED燈
顯示音樂播放器當前的用戶數目,使用戶可以實時的了解當前的用戶數量。
2寸QVGA液晶顯示器
用于顯示播放器的播放狀態,如歌曲、音量和歌詞等信息,使用戶可以實時了解到系統的狀態,并根據自己的喜好和需要對系統狀態進行調整。
數模轉換
為實現高品質音樂享受提供保證。
綜上所述,基于EVK1105強大的音頻處理功能,豐富的外部結構,較低的功耗以及良好的外部存儲器擴展,該系統采用這個平臺進行相關的開發和制作。
3.3系統軟件架構
結合UC/OS-II實時操作系統的特點,該音樂播放器的軟件架構采用分層設計,整個軟件體系突出系統裁剪便捷化、軟件平臺重用性最大化的特點。該音樂播放器的軟件架構總共有四層:系統引導層、UC/OS操作系統層、動態加載專用驅動層和多任務應用層。

圖7 音樂播放器軟件架構
系統引導層
系統引導層是系統加電之后運行的第一段目標碼。首先完成基本硬件的初始化,然后初初始化關鍵外圍硬件,最后為內核設置啟動參數并加載內核。
(2)UC/OS-II操作系統層
UC/OS-II操作系統層是UC/OS-II操作系統內核,通過裁剪,實現最小功能集。本層主要包括硬件驅動、進程控制管理、內存管理、文件系統和系統調用接口。其中,進程控制管理包括進程通信和進程調度。
(3)動態加載專用驅動層
動態加載式專用驅動層圍繞該音樂播放器專用硬件,采用加載方式實現驅動設計,并構成音樂播放器專用硬件加載式驅動層,該層主要包括無線接口驅動、LCD 驅動、鍵盤驅動、麥克風驅動、音頻接口驅動、USB驅動和外部存儲接口驅動。
(4)多任務應用層
多任務應用層是該音樂播放器專用功能的應用層實現。該層采用1個進程運行多個線程的機制實現多任務操作進程之間采用消息隊列通信機制。與專用硬件加載驅動層呼應,該層主要包括無線接口任務、界面顯示任務、按鍵輸入任務、麥克風處理任務、音頻接口任務、USB數據拷貝任務和電源管理任務。多線程與消息隊列通信機制不僅實現了多任務處理。同時方便了該音樂播放器功能擴充,為設備演進打下了良好基礎。
3.4系統軟件流程
系統的軟件流程圖如下:

圖8 程序運行流程圖
EVK1105上電后,開始初始化,然后初始化UC/OS-II操作系統,完成初始化后系統創建各項任務,并創建一個優先級最高的監視任務,最后啟動操作系統,系統按照優先級調度運行各項任務,并一直監視各項任務的運行情況,直到關機鍵被按下。
3.4 系統預計實現結果
1、太陽能和振動能可以提供整個系統所需的絕大部分能量,實現真正意義上的環保和自主供能。
2、根據太陽能電池板的特性,實現太陽能的最大轉換,提高太陽能供電比重。
3、多用戶播放功能,在UC/OS-II實時操作系統的控制下,可以隨時增加或刪減收聽的用戶的數目,最多可以同時為4個用戶播放音樂,并將當前的用戶數量用LED燈的方式顯示出來。
4、借助EVK1105上的無線接口,是每個用戶都可以無線收聽音樂,擺脫耳機線的束縛,更加自由的享受音樂的美妙。同時,借助耳機上的按鍵實現音樂播放器的防丟失功能。
5、利用具有DSP指令的AT32UC3A系列CPU,實現高品質的音樂播放。
6、借助AT32UC3A上的USB等高速接口,實現音樂文件的海量存儲。
四、創新點
該系統在功能上和系統設計上主要有以下幾點創新:
振動能量采集
雖然如今已有一些振動能量采集的方案,但是大多局限于微型傳感器的使用,該系統將采集到的振動能量用于音樂播放器,使得能量的采集手段更加豐富。
輔助尋找功能
針對便攜式產品不易尋找的特點,該系統加入輔助尋找,系統各部分可以進行聲音應答,為用戶提供的方便。
多用戶播放功能
該功能使得單個音樂播放器不再局限于只為單個用戶播放歌曲的現狀,而是可以同時為多個用戶提供不同的音樂。
評論