基于EVK1105和UC/OS-II操作系統(tǒng)的自主能量開發(fā)(三)
3.1 系統(tǒng)功能實現(xiàn)原理
本文引用地址:http://m.butianyuan.cn/article/201612/326327.htm該系統(tǒng)為實現(xiàn)自主能量采集以及多用戶播放器的功能,以主控制芯片AT32UC3A為核心,綜合運用液晶顯示、多通道控制電路、用戶接口、內(nèi)存及外部存儲設(shè)備和電源等部分來實現(xiàn)系統(tǒng)功能?;镜南到y(tǒng)硬件結(jié)構(gòu)框圖如下:
圖2 系統(tǒng)硬件結(jié)構(gòu)框圖
系統(tǒng)各個部分相互協(xié)調(diào),以實現(xiàn)系統(tǒng)的總體功能,以下是系統(tǒng)各個組成部分的實現(xiàn)原理:
3.1.1 主控芯片功能
該系統(tǒng)的主控芯片為AT32UC3A,之所以采用該芯片作為該系統(tǒng)的主控芯片,因為該芯片有以下性能:
1、強大的音頻處理能力:AVR32微控制器的核心是AVR32 CPU內(nèi)核,其特點是提供了一系列覆蓋面較廣、往往只在高端CPU和DSP上才有的指令。因為具備這樣的高性能,所以它不再需要定制音頻解碼器硬件,它能以稍高于20MHz的運算能力解碼立體聲MP3音頻流。由于其最高速度可達(dá)72MHz,因而其CPU還留有足夠的性能裕量來處理AAC和AAC+等“負(fù)荷較重”的音頻格式。而剩余的性能裕量還可以運行操作系統(tǒng)和完成必須的文件存儲和通信功能。
2、高性能的D/A轉(zhuǎn)換器:數(shù)字音頻信號在解壓之后,必須轉(zhuǎn)換為模擬音頻才能通過一組揚聲器播放出來。AVR32提供了一個Hi-Fi立體聲16位DAC用于立體聲輸出。因此,它只需要一個很小的外部功放來產(chǎn)生線路輸出、耳機輸出或外部揚聲器所需的輸出電平。
3、豐富的外部連接:雖然AVR32微控制器中的閃存和SRAM足以存儲用戶固件、解碼音頻和緩沖通信數(shù)據(jù),但片上存儲器的大小并不足以緩沖幾秒以上的音頻內(nèi)容。不過AVR32的可選存儲器范圍很寬,其中三種最受歡迎的就是SD/MMC卡、USB大容量存儲器和NAND閃存。AVR32可以任意組合這幾種存儲器用于存儲音頻內(nèi)容。其中,SD卡接口支持高達(dá)2GB的高速大容量SD卡;USB主機接口能連接常規(guī)USB記憶棒,也可用于接入一個帶USB插頭的媒體播放器、相機或手機。
關(guān)于主控芯片及平臺的具體信息將在后文中介紹。
3.1.2 能量采集模塊
太陽能采集
目前的太陽能采集技術(shù)比較成熟,該系統(tǒng)中利用太陽能電池作為采集太陽能的裝置,并將其轉(zhuǎn)換成電能。簡要的工作原理圖如下:
圖3 太陽能采集原理圖
該部分的核心為充放電控制器,在陽光充足的情況下太陽能電池陣列吸收光能并產(chǎn)生電能,充放電控制器將該電能充入蓄電池組,同時為播放器提供必要的電能。在陽光不充足的情況下,充放電控制器則從蓄電池組提取能量供給播放器。
振動能量采集
當(dāng)前振動能量采集技術(shù)有多種,該系統(tǒng)中利用最傳統(tǒng)的做法,即使用一塊懸掛的磁鐵,將線圈放置在一個變化的磁場中產(chǎn)生電磁感應(yīng),發(fā)電機則通過電磁感應(yīng)來完成能量轉(zhuǎn)換。
圖4 震動能量采集原理圖
該部分核心仍為充放電控制器,振動能量轉(zhuǎn)換裝置轉(zhuǎn)換的能量通過充放電控制器存儲在蓄電池中或給播放器供電,若無振動情況下,則直接使用蓄電池給播放器供電。
3.1.3 播放器功能模塊
MP3解碼電路
音頻以數(shù)字信息的格式存儲在介質(zhì)中,因此在播放歌曲的時候要利用音頻解碼電路進(jìn)行轉(zhuǎn)化,將數(shù)字量轉(zhuǎn)化為模擬量并輸出,因此需要MP3解碼電路以實現(xiàn)這一功能。最常見的MP3音頻解碼電路由音頻解碼器,可變采樣率ADC和立體聲DAC,耳機放大電路構(gòu)成。而AT32UC3A芯片集成的強大功能可以實現(xiàn)解碼電路的大部分功能,因此,只需要再加入一個很小的功放來產(chǎn)生線路輸出、耳機輸出或揚聲器所需要的電平。
多通道控制電路
該播放器設(shè)計有面向多用戶的功能(最多4用戶),該功能主要由多通道控制電路來實現(xiàn)。在該功能中,采用分時多緩沖技術(shù):首先把時間分為很小的時間片段,時間段的個數(shù)等于通道個數(shù),每個時間片段響應(yīng)不同的歌曲情切,主控芯片根據(jù)請求讀取FLASH存儲器中的數(shù)據(jù),并將其按請求順序放入內(nèi)存,并送給解碼器,解碼得到的信號經(jīng)4路高速控制開關(guān)選通4個音頻輸出口。因為時間間隙很小,人耳無法分辨,所以保證了歌曲播放的完整性。其簡要原理圖如下:
圖5 多通道控制原理圖
儲存單元
該系統(tǒng)的儲存單元主要有外部存儲器接口、SRAM內(nèi)存、FLASH存儲和USB接口。
外部存儲器接口
考慮到硬件平臺內(nèi)置存儲空間較小的問題,并結(jié)合主控芯片AT32UC3A的外部接口特點,該系統(tǒng)采用外部存儲器來儲存歌曲,該存儲器可以是高速大容量的SD卡或USB記憶棒。
SRAM內(nèi)存
該部分作為系統(tǒng)的內(nèi)存,用于處理和運算,保證系統(tǒng)的正常運行。
FLASH存儲
FLASH存儲設(shè)備用于存放系統(tǒng)的控制程序。
USB通信接口
系統(tǒng)提供USB通信接口以方便系統(tǒng)與外部設(shè)備的互聯(lián),該USB接口可以用于下載歌曲等操作。
3.1.4 電源管理
該部分主要包括四個部分:電池、充放電控制器、太陽能能量采集電路和振動能量采集電路,在充放電控制器的控制下,實現(xiàn)個部分的協(xié)調(diào)供電,同時利用AT32UC3A芯片的電源管理,使系統(tǒng)實現(xiàn)最低功耗。
3.2 硬件平臺選用及資源配置
3.2.1 硬件平臺選擇
該系統(tǒng)選用EVK1105作為平臺進(jìn)行相關(guān)的研發(fā)和制作工作,理由如下:
1、其主控芯片強大的音頻處理功能
EVK1105硬件平臺采用了AVR高性能32位微控制器AVR32,而AVR32微控制器的核心是AVR32 CPU內(nèi)核,其特點是提供了一系列覆蓋面較廣、往往只在高端CPU和DSP上才有的指令。因為具備這樣的高性能,所以它不再需要定制音頻解碼器硬件,它能以稍高于20MHz的運算能力解碼立體聲MP3音頻流。由于其最高速度可達(dá)72MHz,因而其CPU還留有足夠的性能裕量來處理AAC和AAC+等“負(fù)荷較重”的音頻格式,同時UC3A器件還可處理兩個音頻接口。在高質(zhì)量立體聲輸出方面,該芯片集成了一個內(nèi)置FIR和Comb濾波器的立體聲16位比特流音頻DAC;至于4聲道或全環(huán)繞聲,則可利用IIS接口來連接外部音頻編解碼器。兩個接口均由利用AVR32 外設(shè) DMA 控制器的驅(qū)動器提供支持,能夠大幅減少 CPU 開銷。而剩余的性能裕量還可以運行操作系統(tǒng)和完成必須的文件存儲和通信功能,這大大的增強了系統(tǒng)性能和穩(wěn)定性。2、良好的存儲器選擇范圍
雖然AVR32微控制器中的閃存和SRAM足以存儲用戶固件、解碼音頻和緩沖通信數(shù)據(jù),但片上存儲器的大小并不足以緩沖幾秒以上的音頻內(nèi)容。但是AVR32的可選存儲器范圍很寬,其中三種最受歡迎的就是SD/MMC卡、USB大容量存儲器和NAND閃存。AVR32可以任意組合這幾種存儲器用于存儲音頻內(nèi)容。其中,SD卡接口支持高達(dá)2GB的高速大容量SD卡;USB主機接口能連接常規(guī)USB記憶棒,也可用于接入一個帶USB插頭的媒體播放器、相機或手機。NAND閃存接口最多可支持兩塊芯片,而且能提供對單層(SLC)和多層單元(MLC)ECC的硬件支持,這便為音樂文件的存儲提供了海量的空間。
3、非常低的功耗
AVR32系列的功耗不到2.0mW/MHz,因而只需兩塊AA電池,就能持續(xù)150小時的音頻播放。而在只有實時時鐘運行的待機模式下,同樣的電池可維持9年多的時間。
4、豐富的外部接口
EVK1105還提供了大量的外設(shè)和接口,比如高保真音頻接口、10/100以太網(wǎng)口、無線模塊接口、外聯(lián)接口、麥克風(fēng)、數(shù)模轉(zhuǎn)換和液晶顯示器。這大大的簡化了電路的設(shè)計,提高了系統(tǒng)的穩(wěn)定性。
因此,我們決定使用EVK1105作為本音樂播放器的硬件平臺。
3.2.2 EVK1105的詳細(xì)功能
EVK1105的硬件平臺結(jié)構(gòu)如下:
圖6 EVK1105平臺
EVK1105硬件平臺資源介紹及其配置:
CPU:AT32UC3A0512主要特性如下
高性能,低功耗AVR32UC 32位微控制器
精簡單周期RISC指令集,含DSP指令集
“讀-改-寫”三步操作和位元處理操作
1.49 DMIPS/MHz性能表現(xiàn)
在FLASH中66 MHz下,高達(dá)91 DMIPS的運行速度(1等待狀態(tài))
在FLASH中33 MHz下,高達(dá)49 DMIPS的運行速度(0等待狀態(tài))
內(nèi)存保護(hù)單元
多層次總線系統(tǒng)
通過為提高性能而設(shè)的獨立總線上,實現(xiàn)高性能數(shù)據(jù)傳輸
15個外設(shè)DMA通道,提高外設(shè)通信速度
512K Bytes
單周期訪問速度高達(dá)33 MHz
預(yù)取緩沖,優(yōu)化了指令執(zhí)行效率,達(dá)到最高速度
4ms頁面編程時間和8ms整片擦除時間
100,000次寫周期,15年數(shù)據(jù)保存能力
FLASH安全鎖定和用戶自定義配置區(qū)
64K Bytes
兼容SDRAM/SRAM存儲器總線(16位數(shù)據(jù)總線和24位地址總線)
自動向量低延時中斷服務(wù),帶可編程優(yōu)先級
電源時鐘管理,含內(nèi)部RC時鐘和1個32KHz晶振
兩個多用途振蕩器和雙鎖相環(huán)(PLL),允許獨立CPU頻率,不受USB頻率影響
看門狗定時器,實時時鐘定時器
Device 2.0全速,以及On-The-Go(OTG)低速和全速
通過專用的DMA通道實現(xiàn)靈活的端點配置和管理
片上收發(fā)器,含上拉電阻
802.3以太網(wǎng)媒體訪問控制器
支持媒體獨立接口(MII)和簡化MII(RMII)
3個外部時鐘輸入,PWM,接收和多種計時能力
內(nèi)部高速FLASH
獨立波特率發(fā)生器,支持SPI,IrDA和ISO7816接口
支持硬件握手操作,RS485接口和調(diào)制解調(diào)線路
內(nèi)部高速SRAM,全速單周期訪問
支持I2S協(xié)議和通用基于框架協(xié)議
外部存儲器接口,用于AT32UC3A0擴展
中斷控制器
采樣速率最高可達(dá)50 KHz
Nexus Class 2+,運行控制,非強加數(shù)據(jù)和程序跟蹤
系統(tǒng)功能
通用串行總線
10/100 Mbps的以太網(wǎng)MAC接口
1個三通道16位定時/計數(shù)器(TC)
1個7通道16位脈寬調(diào)制控制器(PWM)
4個通用 同步/異步 接收/發(fā)送器(USART)
2個主/從串行外設(shè)接口(SPI),帶片選信號
1個同步串行協(xié)議控制器
1個主/從2-wire接口(TWI),兼容400kbit/s I2C
1個8通道10位模數(shù)轉(zhuǎn)換器
16位立體聲比特流
片上調(diào)試系統(tǒng)(JTAG接口)
100腳 TQFP(69 GPIO引腳),144腳 LQFP(109 GPIO引腳)
5V輸入容差I(lǐng)/Os
3.3V單電源供電或1.8V-3.3V雙電源供電
外部設(shè)備和接口:
高保真音頻接口
該音頻接口作為本播放器的耳機的插口。
電壓選擇接口
為硬件平臺提供強大的能量支持。
USB接口
與PC通信,作為下載音樂文件的接口。無線模塊接口
該接口支持IEE802.15.4™/Zigbee® 和藍(lán)牙,作為無線收聽音樂和控制播放器的接口。利用該接口用戶可以隨時對播放器的播放狀態(tài)進(jìn)行調(diào)整,并且該無線通信是雙向的,因此,用戶可以不用去尋找播放器,而只在耳機上就可以對播放器進(jìn)行控制。
五向觸摸按鍵
按鍵直接對音樂播放器進(jìn)行控制
LED燈
顯示音樂播放器當(dāng)前的用戶數(shù)目,使用戶可以實時的了解當(dāng)前的用戶數(shù)量。
2寸QVGA液晶顯示器
用于顯示播放器的播放狀態(tài),如歌曲、音量和歌詞等信息,使用戶可以實時了解到系統(tǒng)的狀態(tài),并根據(jù)自己的喜好和需要對系統(tǒng)狀態(tài)進(jìn)行調(diào)整。
數(shù)模轉(zhuǎn)換
為實現(xiàn)高品質(zhì)音樂享受提供保證。
綜上所述,基于EVK1105強大的音頻處理功能,豐富的外部結(jié)構(gòu),較低的功耗以及良好的外部存儲器擴展,該系統(tǒng)采用這個平臺進(jìn)行相關(guān)的開發(fā)和制作。
3.3系統(tǒng)軟件架構(gòu)
結(jié)合UC/OS-II實時操作系統(tǒng)的特點,該音樂播放器的軟件架構(gòu)采用分層設(shè)計,整個軟件體系突出系統(tǒng)裁剪便捷化、軟件平臺重用性最大化的特點。該音樂播放器的軟件架構(gòu)總共有四層:系統(tǒng)引導(dǎo)層、UC/OS操作系統(tǒng)層、動態(tài)加載專用驅(qū)動層和多任務(wù)應(yīng)用層。
圖7 音樂播放器軟件架構(gòu)
系統(tǒng)引導(dǎo)層
系統(tǒng)引導(dǎo)層是系統(tǒng)加電之后運行的第一段目標(biāo)碼。首先完成基本硬件的初始化,然后初初始化關(guān)鍵外圍硬件,最后為內(nèi)核設(shè)置啟動參數(shù)并加載內(nèi)核。
(2)UC/OS-II操作系統(tǒng)層
UC/OS-II操作系統(tǒng)層是UC/OS-II操作系統(tǒng)內(nèi)核,通過裁剪,實現(xiàn)最小功能集。本層主要包括硬件驅(qū)動、進(jìn)程控制管理、內(nèi)存管理、文件系統(tǒng)和系統(tǒng)調(diào)用接口。其中,進(jìn)程控制管理包括進(jìn)程通信和進(jìn)程調(diào)度。
(3)動態(tài)加載專用驅(qū)動層
動態(tài)加載式專用驅(qū)動層圍繞該音樂播放器專用硬件,采用加載方式實現(xiàn)驅(qū)動設(shè)計,并構(gòu)成音樂播放器專用硬件加載式驅(qū)動層,該層主要包括無線接口驅(qū)動、LCD 驅(qū)動、鍵盤驅(qū)動、麥克風(fēng)驅(qū)動、音頻接口驅(qū)動、USB驅(qū)動和外部存儲接口驅(qū)動。
(4)多任務(wù)應(yīng)用層
多任務(wù)應(yīng)用層是該音樂播放器專用功能的應(yīng)用層實現(xiàn)。該層采用1個進(jìn)程運行多個線程的機制實現(xiàn)多任務(wù)操作進(jìn)程之間采用消息隊列通信機制。與專用硬件加載驅(qū)動層呼應(yīng),該層主要包括無線接口任務(wù)、界面顯示任務(wù)、按鍵輸入任務(wù)、麥克風(fēng)處理任務(wù)、音頻接口任務(wù)、USB數(shù)據(jù)拷貝任務(wù)和電源管理任務(wù)。多線程與消息隊列通信機制不僅實現(xiàn)了多任務(wù)處理。同時方便了該音樂播放器功能擴充,為設(shè)備演進(jìn)打下了良好基礎(chǔ)。
3.4系統(tǒng)軟件流程
系統(tǒng)的軟件流程圖如下:
圖8 程序運行流程圖
EVK1105上電后,開始初始化,然后初始化UC/OS-II操作系統(tǒng),完成初始化后系統(tǒng)創(chuàng)建各項任務(wù),并創(chuàng)建一個優(yōu)先級最高的監(jiān)視任務(wù),最后啟動操作系統(tǒng),系統(tǒng)按照優(yōu)先級調(diào)度運行各項任務(wù),并一直監(jiān)視各項任務(wù)的運行情況,直到關(guān)機鍵被按下。
3.4 系統(tǒng)預(yù)計實現(xiàn)結(jié)果
1、太陽能和振動能可以提供整個系統(tǒng)所需的絕大部分能量,實現(xiàn)真正意義上的環(huán)保和自主供能。
2、根據(jù)太陽能電池板的特性,實現(xiàn)太陽能的最大轉(zhuǎn)換,提高太陽能供電比重。
3、多用戶播放功能,在UC/OS-II實時操作系統(tǒng)的控制下,可以隨時增加或刪減收聽的用戶的數(shù)目,最多可以同時為4個用戶播放音樂,并將當(dāng)前的用戶數(shù)量用LED燈的方式顯示出來。
4、借助EVK1105上的無線接口,是每個用戶都可以無線收聽音樂,擺脫耳機線的束縛,更加自由的享受音樂的美妙。同時,借助耳機上的按鍵實現(xiàn)音樂播放器的防丟失功能。
5、利用具有DSP指令的AT32UC3A系列CPU,實現(xiàn)高品質(zhì)的音樂播放。
6、借助AT32UC3A上的USB等高速接口,實現(xiàn)音樂文件的海量存儲。
四、創(chuàng)新點
該系統(tǒng)在功能上和系統(tǒng)設(shè)計上主要有以下幾點創(chuàng)新:
振動能量采集
雖然如今已有一些振動能量采集的方案,但是大多局限于微型傳感器的使用,該系統(tǒng)將采集到的振動能量用于音樂播放器,使得能量的采集手段更加豐富。
輔助尋找功能
針對便攜式產(chǎn)品不易尋找的特點,該系統(tǒng)加入輔助尋找,系統(tǒng)各部分可以進(jìn)行聲音應(yīng)答,為用戶提供的方便。
多用戶播放功能
該功能使得單個音樂播放器不再局限于只為單個用戶播放歌曲的現(xiàn)狀,而是可以同時為多個用戶提供不同的音樂。
評論