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

圖2數(shù)碼相框的設計方案框圖
基于Blackfin處理器BF52x開發(fā)的嵌入式數(shù)碼相框的功能十分齊全,因此,,設計時可以根據(jù)產(chǎn)品的開發(fā)周期和成本要求進行取舍,。圖3所示是一種基于Blackfin處理器BF52x設計的、功能相對比較簡單的數(shù)碼像框的硬件結構圖,。

圖3 簡單的數(shù)碼像框的硬件結構圖
由于Blackfin處理器BF52x,自身就帶有NOR閃存,、NAND閃存、鐵電存儲(FRAM),、SDRAM等存儲器,,因此,在需要進一步外擴存儲器時,,完全可以利用其自身固有的應用程序,,另外,,如果希望使該數(shù)碼像框同時帶有音頻功能,也可以很容易的將NI公司LabVIEW圖形化數(shù)據(jù)流開發(fā)環(huán)境擴展到高性能,、低功耗的Blackfin處理器,,再通過音頻和視頻DAC、ADC以及編解碼器等集成I/O,將存儲單元中的圖像文件中的音頻數(shù)據(jù)轉(zhuǎn)換為模擬信號,,然后通過音頻系統(tǒng)還原成聲音輸出,。至于USB接口和圖片數(shù)據(jù)文件的輸出顯示,無論是硬件還是軟件驅(qū)動程序,,目前都十分成熟而且簡單,。
5 結束語
本文利用ADI公司的匯聚式處理器Blackfin作為嵌入式系統(tǒng)的硬件平臺,并采用uClinux為操作系統(tǒng),,同時采用ADI針對目標應用在uClinux操作系統(tǒng)中集成的大量硬件驅(qū)動(包括WiFi驅(qū)動,、音/視頻編解碼器的驅(qū)動等)程序,給出了一種具有互聯(lián)網(wǎng)WiFi無線連接,、電子部件發(fā)送,、RSS新聞閱讀、即時照片分享,、全觸摸操作等功能的嵌入式電子數(shù)碼相框的設計方案,。事實上,由于本系統(tǒng)缺少存儲器管理單元(MMU),,內(nèi)存管理仍是嵌入式處理器需要進一步解決的問題之一,,這樣,在BF52x平臺上移植Linux應用就仍然必須修改由于內(nèi)存管理模式不同而帶來的問題,,而且工作量較大,。這一點仍然是今后需要解決的一個技術問題。