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