基于Blackfin處理器的嵌入式數(shù)碼相框設(shè)計(jì)[圖]
摘要:介紹了匯聚式處理器Blackfin的基本功能,給出了以Blackfin為嵌入式系統(tǒng)硬件平臺(tái),并采用uClinux操作系統(tǒng)和其中集成的大量硬件驅(qū)動(dòng)程序來(lái)設(shè)計(jì)具有互聯(lián)網(wǎng)WiFi無(wú)線連接、電子郵件發(fā)送、RSS新聞閱讀、即時(shí)照片分享、全觸摸操作等功能的嵌入式數(shù)碼相框的設(shè)計(jì)方案。
本文引用地址:http://www.ex-cimer.com/article/149687.htm當(dāng)今的嵌入式應(yīng)用已經(jīng)無(wú)處不在,無(wú)論是消費(fèi)電子、通信終端,還是系統(tǒng)設(shè)備、工業(yè)控制、汽車電子系統(tǒng)或航空航天,都無(wú)處不見(jiàn)嵌入式應(yīng)用的身影?,F(xiàn)在,全球每年生產(chǎn)數(shù)十億顆微處理器,其中大部分都被廣泛應(yīng)用于各類嵌入式系統(tǒng)。
目前,在嵌入式系統(tǒng)硬件平臺(tái)方面,各種微控制器以及數(shù)字信號(hào)處理器(DSP)產(chǎn)品,無(wú)論從品牌、功能特性方面,還是針對(duì)目標(biāo)應(yīng)用的成本、處理能力、功耗要求、集成度、開(kāi)發(fā)周期、技術(shù)難度等具體要求,都可以精心選擇出最具綜合優(yōu)勢(shì)的硬件核心平臺(tái)。而在嵌入式操作系統(tǒng)方面,無(wú)論是開(kāi)放源代碼的Linux陣營(yíng)的各種商業(yè)版本或免費(fèi)版本,還是WinCE、vxWorks等“重量級(jí)”平臺(tái),抑或針對(duì)特定應(yīng)用優(yōu)化的Windows Mobile、Symbian、Android等,也同樣可以方便地選擇一款最佳的操作系統(tǒng)軟件平臺(tái)。
嵌入式系統(tǒng)的設(shè)計(jì)過(guò)程實(shí)際上就是一個(gè)軟硬件聯(lián)合協(xié)同開(kāi)發(fā)的過(guò)程。在進(jìn)行軟硬件平臺(tái)選擇評(píng)估時(shí),單純地離開(kāi)硬件去評(píng)估操作系統(tǒng)或離開(kāi)操作系統(tǒng)評(píng)估硬件平臺(tái)都有失偏頗,特別是對(duì)于很多非通用處理器來(lái)說(shuō)尤其如此。當(dāng)前很多嵌入式硬件平臺(tái)都提供有針對(duì)目標(biāo)應(yīng)用優(yōu)化的操作系統(tǒng)及軟件模塊資源,一些商業(yè)化的操作系統(tǒng)也針對(duì)主流的硬件平臺(tái)進(jìn)行了優(yōu)化設(shè)計(jì),而且提供了眾多的第三方優(yōu)化操作系統(tǒng)版本。這些資源對(duì)于嵌入式系統(tǒng)設(shè)計(jì)來(lái)說(shuō)具有重要的意義。為此,本文介紹了一種獨(dú)特的嵌入式平臺(tái)核心處理器,即匯聚式處理器Blackfin及其主流配套操作系統(tǒng)和相關(guān)資源的應(yīng)用與設(shè)計(jì)方法,給出了用其設(shè)計(jì)嵌入式數(shù)碼相框的設(shè)計(jì)方案。
1 硬件處理器Blackfin的選擇
本設(shè)計(jì)選用匯聚式處理器Blackfin來(lái)構(gòu)建獨(dú)特的嵌入式硬件平臺(tái)。匯聚式處理器Blackfin是由ADI和Intel公司聯(lián)合開(kāi)發(fā)的微信號(hào)架構(gòu)(MSA),它集32位RISC型指令集、雙16位乘法累加(MAC)信號(hào)處理功能和通用型微控制器所具有的易用性于一體,這種匯聚式處理能力的組合使得Blackfin處理器能夠在旗號(hào)處理和控制應(yīng)用中均發(fā)揮極佳的作用,并可在許多應(yīng)用中免除增設(shè)單獨(dú)的異構(gòu)處理器的必要,因而極大地簡(jiǎn)化了硬件和軟件設(shè)計(jì)。Blackfin處理器非常適合于以會(huì)聚為關(guān)鍵技術(shù)的嵌入式音頻、視頻、通信應(yīng)用,包括多格式音頻、視頻、語(yǔ)言和圖像處理,多模式基帶和分組處理,控制處理和實(shí)時(shí)安全性處理等。正是這種獨(dú)特的系統(tǒng)架構(gòu)所具有的設(shè)計(jì)靈活性和可擴(kuò)展性為Blackfin處理器贏得了廣泛的適應(yīng)性,也使其廣泛應(yīng)用于數(shù)字家庭娛樂(lè)、網(wǎng)絡(luò)和流媒體、汽車遠(yuǎn)程信息處理和信息娛樂(lè)、數(shù)字無(wú)線電,以及移動(dòng)電視終端。
Blackfin處理器在單內(nèi)核產(chǎn)品中可提供高達(dá)756MHz的性能,以及低至0.8V的低功耗電壓。所有的Blackfin處理器均具有多個(gè)獨(dú)立的DMA控制器,這些控制器可支持自動(dòng)數(shù)據(jù)傳輸,而且其所需的處理器內(nèi)核開(kāi)銷極少。此外,Blackfin處理器還具有豐富的存儲(chǔ)器配置,可以極大地方便嵌入式系統(tǒng)的應(yīng)用開(kāi)發(fā)。其中ADSP-BF51x系列處理器就同時(shí)具有NOR閃存、NAND閃存、鐵電存儲(chǔ)(FRAM)、SDRAM,同時(shí)還提供有支持Lockbox安全技術(shù)的一次性可編程存儲(chǔ)器。
Blackfin處理器架構(gòu)完全符合SIMD標(biāo)準(zhǔn),并帶有用于加速視頻和圖像處理的指令。該架構(gòu)很適合于全信號(hào)處理/分析應(yīng)用。由于Blackfin處理器具有最佳的代碼密度且只需進(jìn)行極少(或者完全不需要進(jìn)行)代碼優(yōu)化處理,因而不會(huì)遇到其他傳統(tǒng)處理器所常見(jiàn)的性能空間障礙。
2 uCLinux操作系統(tǒng)的選擇
嵌入式操作系統(tǒng)的選擇對(duì)于正在從事新的嵌入式開(kāi)發(fā)項(xiàng)目來(lái)說(shuō),它與選擇嵌入式硬件微處理器同樣重要。對(duì)于Blackfin處理器來(lái)說(shuō),除了處理器本身的獨(dú)特性能特性優(yōu)勢(shì)外,強(qiáng)大的嵌入式操作系統(tǒng)資源也是嵌入式系統(tǒng)設(shè)計(jì)的一個(gè)關(guān)健因素。Blackfin處理器支持包括VisualDSP自帶的操作系統(tǒng)內(nèi)核(VDK)、ThreadX、uCLinux和Nucleas等操作系統(tǒng),這一特性可避免將操作系統(tǒng)從其它處理器平臺(tái)移植到Blackfin平臺(tái)時(shí),因更改操作系統(tǒng)而延長(zhǎng)的終端產(chǎn)品開(kāi)發(fā)周期。各種操作系統(tǒng)各自都具有不同的特性功能以及不同的價(jià)格、版權(quán)費(fèi)用等條款。從特性上看,嵌入式操作系統(tǒng)有代碼緊湊、復(fù)雜度低的操作系統(tǒng)VDK,也有復(fù)雜而具有豐富特性的操作系統(tǒng)uClinux,同時(shí)具有可靠性極高的INTEGRITY,以及專注于汽車市場(chǎng)需求的RTA-OSEK等。通過(guò)對(duì)各種操作系統(tǒng)的功能分析,本設(shè)計(jì)最終選擇了uCLinux操作系統(tǒng)來(lái)進(jìn)行數(shù)碼相框的設(shè)計(jì)。圖1所示是其操作系統(tǒng)在Blackfin上的組織結(jié)構(gòu)。
圖1 操作系統(tǒng)在Blackfin上的組織結(jié)構(gòu)
Linux是一種獲得廣泛應(yīng)用的嵌入式操作系統(tǒng),在所有主流的嵌入式系統(tǒng)中,Linux操作系統(tǒng)無(wú)論是其超強(qiáng)的網(wǎng)絡(luò)功能、可任意裁剪、完全免費(fèi)和通用的Linux API特點(diǎn),以及廣泛的開(kāi)放資源,都使其成為嵌入式應(yīng)用中的重要力量。uClinux是針對(duì)微處理器應(yīng)用的Linux系統(tǒng),源碼完全開(kāi)放,同時(shí)針對(duì)嵌入式應(yīng)用的特點(diǎn),uClinux對(duì)Linux的內(nèi)核進(jìn)行了修改和重新編譯,因而內(nèi)核更小。uClinux也包含Linux常用的API,并保留了原來(lái)Linux操作系統(tǒng)具有的高穩(wěn)定性、強(qiáng)大的網(wǎng)絡(luò)功能和卓越的文件系統(tǒng)支持功能。
uClinux操作系統(tǒng)可直接運(yùn)行于Blackfin處理器。對(duì)于很多嵌入式應(yīng)用來(lái)說(shuō),在與Blackfin處理器同等價(jià)位的方案中,很少有能支持Linux的。事實(shí)上,在面向特定的嵌入式應(yīng)用時(shí)(例如內(nèi)存空間有限或需要實(shí)時(shí)確定性的高安全性應(yīng)用),Linux仍然存在許多挑戰(zhàn)。而本設(shè)計(jì)的主要特點(diǎn)之一,是其所選擇的ADI公司的Blackfin處理器已在uClinux里集成了大量的硬件驅(qū)動(dòng)和應(yīng)用例程,其中包括無(wú)線局域網(wǎng)驅(qū)動(dòng)、音/視頻編解碼器驅(qū)動(dòng)等,這些驅(qū)動(dòng)可幫助客戶非常方便地將應(yīng)用程序從原來(lái)的系統(tǒng)移植到Blackfin平臺(tái)上來(lái)。此外,ADI與Arcturus Networ ks公司還聯(lián)合推出了新型uCBF54x啟動(dòng)開(kāi)發(fā)工具套件和系統(tǒng)模塊。該開(kāi)發(fā)套件提供的軟件包括開(kāi)源uCliunx BSP(板級(jí)支持包)以及Arcturus語(yǔ)音與管理中間件,同時(shí)包含完整的SIP和RTP堆棧。因此可以說(shuō),Blackfin Linux已經(jīng)成為嵌入式系統(tǒng)領(lǐng)域最為穩(wěn)定的嵌入式Linux發(fā)行包之一。
3 軟件開(kāi)發(fā)工具環(huán)境
隨著嵌入式系統(tǒng)產(chǎn)品應(yīng)用越來(lái)越復(fù)雜、產(chǎn)品投放市場(chǎng)的時(shí)間越來(lái)越急迫,完善的開(kāi)發(fā)環(huán)境也變得越來(lái)越重要。除了全系列優(yōu)化的嵌入式操作系統(tǒng)外,具有完整的開(kāi)發(fā)環(huán)境也是其嵌入式系統(tǒng)開(kāi)發(fā)的重要因素之一。為此,ADI也提供有能夠支持其他Blackfin處理器的ADI CROSSCO RE軟件與硬件工具,這些工具包括VisualDSP++集成開(kāi)發(fā)與調(diào)試環(huán)境、仿真器,以及EZ-KIT Lite評(píng)估版硬件等。
此外,ADI也為嵌入式系統(tǒng)開(kāi)發(fā)提供了大量的系統(tǒng)服務(wù)程序,例如為嵌入式系統(tǒng)提供了各種常見(jiàn)功能的軟件庫(kù),這些服務(wù)程序?qū)嶋H上就是可用于任何系統(tǒng)的公用程序,它們既可在未安裝RTOS的獨(dú)立式環(huán)境下運(yùn)行,又可用于VDK環(huán)境。利用這些系統(tǒng)服務(wù)程序可以便捷、高效地接入Blackfin處理器的硬件子系統(tǒng),包括鎖相環(huán)路、直接內(nèi)存存取、中斷控制器、標(biāo)志控制器和定時(shí)器等。所有的Blackfin處理器均可采用一套通用的AM,各種應(yīng)用和設(shè)備驅(qū)動(dòng)程序也均可使用這些系統(tǒng)服務(wù)整序。這些系統(tǒng)服務(wù)程序中包含的軟件都已經(jīng)經(jīng)過(guò)反復(fù)測(cè)試,而且性能穩(wěn)定可靠,設(shè)計(jì)時(shí)可以直接使用這些程序。此外,利用這些服務(wù)程序,也可以輕松整合這些模塊化軟件,實(shí)際上,這些服務(wù)程序都是與VisualDSP++集成開(kāi)發(fā)環(huán)境一起提供的。
為了改進(jìn)應(yīng)用開(kāi)發(fā)環(huán)境,設(shè)計(jì)時(shí)可以用美國(guó)國(guó)家儀器有限公司(NI)與ADI聯(lián)合推出的專用于ADI Blackfin處理器的LabVIEW嵌入式模塊,來(lái)將LabVIEW圖形化數(shù)據(jù)流的開(kāi)發(fā)環(huán)境擴(kuò)展到高性能、低功耗的Blackfin處理器,以便通過(guò)無(wú)縫地將其集成到ADI VisualDSP++開(kāi)發(fā)和調(diào)試環(huán)境來(lái)快速地開(kāi)發(fā)嵌入式系統(tǒng)。使用NI LabVIEW嵌入式技術(shù)可以一步到位完成系統(tǒng)建模的硬件在線測(cè)試和原型設(shè)計(jì)。這一圖形化的軟件包括140多種Blackfin特有的、經(jīng)過(guò)優(yōu)化的數(shù)學(xué)、分析和信號(hào)處理函數(shù),比如音頻和視頻DAC、ADC以及編解碼器等集成I/O。
4 嵌入式數(shù)碼相框的設(shè)計(jì)
圖2所示是一種基于Blackfin處理器BF52x開(kāi)發(fā)的嵌入式數(shù)碼相框的功能圖,該產(chǎn)品具有互聯(lián)網(wǎng)WiFi無(wú)線連接、電子郵件發(fā)送、RSS新聞閱讀、即時(shí)照片分享、全觸摸操作等功能特性。本設(shè)計(jì)采用uClinux嵌入式操作系統(tǒng)。作為一款典型的消費(fèi)電子產(chǎn)品,Blackfin可以直接運(yùn)行于uClinux,這使得該設(shè)計(jì)能夠有效地降低整體成本,并可十分方便地將以往的設(shè)計(jì)軟件移植到新的系統(tǒng)中。事實(shí)上,在與BF52x處理器相近價(jià)格的同類解決方案中,目前還很少有支持Linux的處理器。
相關(guān)推薦
技術(shù)專區(qū)
- FPGA
- DSP
- MCU
- 示波器
- 步進(jìn)電機(jī)
- Zigbee
- LabVIEW
- Arduino
- RFID
- NFC
- STM32
- Protel
- GPS
- MSP430
- Multisim
- 濾波器
- CAN總線
- 開(kāi)關(guān)電源
- 單片機(jī)
- PCB
- USB
- ARM
- CPLD
- 連接器
- MEMS
- CMOS
- MIPS
- EMC
- EDA
- ROM
- 陀螺儀
- VHDL
- 比較器
- Verilog
- 穩(wěn)壓電源
- RAM
- AVR
- 傳感器
- 可控硅
- IGBT
- 嵌入式開(kāi)發(fā)
- 逆變器
- Quartus
- RS-232
- Cyclone
- 電位器
- 電機(jī)控制
- 藍(lán)牙
- PLC
- PWM
- 汽車電子
- 轉(zhuǎn)換器
- 電源管理
- 信號(hào)放大器
評(píng)論