基於Blackfin處理器的嵌入式數碼相框

如今的嵌入式應用已經無處不在,無論是消費電子、通信終端,還是系統設備、工業控制、汽車電子系統或航空航天,都無處不見嵌入式應用的身影。嵌入式已經走進了我們的生活,換句話說,以後我們的生活將會離不開嵌入式,未來發展前景十分可觀。現在,全球每年生產數十億顆微處理器,其中大部分都被廣泛應用於各類嵌入式系統。
目前,在嵌入式系統硬件平臺方面,各種微控制器以及數字信號處理器(DSP)產品,無論從品牌、功能特性方面,還是針對目標應用的成本、處理能力、功耗要求、集成度、開發週期、技術難度等具體要求,都可以精心選擇出最具綜合優勢的硬件核心平臺。而在嵌入式操作系統方面,無論是開放源代碼的Linux陣營的各種商業版本或免費版本,還是WinCE、vxWorks等“重量級”平臺,抑或針對特定應用優化的Windows Mobile、Symbian、Android等,也同樣可以方便地選擇一款最佳的操作系統軟件平臺。
嵌入式系統的設計過程實際上就是一個軟硬件聯合協同開發的過程。在進行軟硬件平臺選擇評估時,單純地離開硬件去評估操作系統或離開操作系統評估硬件平臺都有失偏頗,特別是對於很多非通用處理器來說尤其如此。當前很多嵌入式硬件平臺都提供有針對目標應用優化的操作系統及軟件模塊資源,一些商業化的操作系統也針對主流的硬件平臺進行了優化設計,而且提供了衆多的第三方優化操作系統版本。這些資源對於嵌入式系統設計來說具有重要的意義。爲此,本文介紹了一種獨特的嵌入式平臺核心處理器,即匯聚式處理器Blackfin及其主流配套操作系統和相關資源的應用與設計方法,這邊有問題或者乾貨的可以私我,這些年也存了不少乾貨,先簡單的介紹下嵌入式數碼相框集中設計方案:
1 硬件處理器Blackfin的選擇
本設計選用匯聚式處理器Blackfin來構建獨特的嵌入式硬件平臺。匯聚式處理器Blackfin是由ADI和Intel公司聯合開發的微信號架構(MSA),它集32位RISC型指令集、雙16位乘法累加(MAC)信號處理功能和通用型微控制器所具有的易用性於一體,這種匯聚式處理能力的組合使得Blackfin處理器能夠在旗號處理和控制應用中均發揮極佳的作用,並可在許多應用中免除增設單獨的異構處理器的必要,因而極大地簡化了硬件和軟件設計。Blackfin處理器非常適合於以會聚爲關鍵技術的嵌入式音頻、視頻、通信應用,包括多格式音頻、視頻、語言和圖像處理,多模式基帶和分組處理,控制處理和實時安全性處理等。正是這種獨特的系統架構所具有的設計靈活性和可擴展性爲Blackfin處理器贏得了廣泛的適應性,也使其廣泛應用於數字家庭娛樂、網絡和流媒體、汽車遠程信息處理和信息娛樂、數字無線電,以及移動電視終端。
Blackfin處理器在單內核產品中可提供高達756MHz的性能,以及低至0.8V的低功耗電壓。所有的Blackfin處理器均具有多個獨立的DMA控制器,這些控制器可支持自動數據傳輸,而且其所需的處理器內核開銷極少。此外,Blackfin處理器還具有豐富的存儲器配置,可以極大地方便嵌入式系統的應用開發。其中ADSP-BF51x系列處理器就同時具有NOR閃存、NAND閃存、鐵電存儲(FRAM)、SDRAM,同時還提供有支持Lockbox安全技術的一次性可編程存儲器。
Blackfin處理器架構完全符合SIMD標準,並帶有用於加速視頻和圖像處理的指令。該架構很適合於全信號處理/分析應用。由於Blackfin處理器具有最佳的代碼密度且只需進行極少(或者完全不需要進行)代碼優化處理,因而不會遇到其他傳統處理器所常見的性能空間障礙。


2 uCLinux操作系統的選擇
嵌入式操作系統的選擇對於正在從事新的嵌入式開發項目來說,它與選擇嵌入式硬件微處理器同樣重要。對於Blackfin處理器來說,除了處理器本身的獨特性能特性優勢外,強大的嵌入式操作系統資源也是嵌入式系統設計的一個關健因素。Blackfin處理器支持包括VisualDSP自帶的操作系統內核(VDK)、ThreadX、uCLinux和Nucleas等操作系統,這一特性可避免將操作系統從其它處理器平臺移植到Blackfin平臺時,因更改操作系統而延長的終端產品開發週期。各種操作系統各自都具有不同的特性功能以及不同的價格、版權費用等條款。從特性上看,嵌入式操作系統有代碼緊湊、複雜度低的操作系統VDK,也有複雜而具有豐富特性的操作系統uClinux,同時具有可靠性極高的INTEGRI TY,以及專注於汽車市場需求的RTA-OSEK等。通過對各種操作系統的功能分析,本設計最終選擇了uCLinux操作系統來進行數碼相框的設計。圖1所示是其操作系統在Blackfin上的組織結構。



Linux是一種獲得廣泛應用的嵌入式操作系統,在所有主流的嵌入式系統中,Linux操作系統無論是其超強的網絡功能、可任意裁剪、完全免費和通用的Linux API特點,以及廣泛的開放資源,都使其成爲嵌入式應用中的重要力量。uClinux是針對微處理器應用的Linux系統,源碼完全開放,同時針對嵌入式應用的特點,uClinux對Linux的內核進行了修改和重新編譯,因而內核更小。uClinux也包含Linux常用的API,並保留了原來Linux操作系統具有的高穩定性、強大的網絡功能和卓越的文件系統支持功能。


uClinux操作系統可直接運行於Blackfin處理器。對於很多嵌入式應用來說,在與Blackfin處理器同等價位的方案中,很少有能支持Linu x的。事實上,在面向特定的嵌入式應用時(例如內存空間有限或需要實時確定性的高安全性應用),Linux仍然存在許多挑戰。而本設計的主要特點之一,是其所選擇的ADI公司的Blackfin處理器已在uClinux裏集成了大量的硬件驅動和應用例程,其中包括無線局域網驅動、音/視頻編解碼器驅動等,這些驅動可幫助客戶非常方便地將應用程序從原來的系統移植到Blackfin平臺上來。此外,ADI與Arcturus Networ ks公司還聯合推出了新型uCBF54x啓動開發工具套件和系統模塊。該開發套件提供的軟件包括開源uCliunx BSP(板級支持包)以及Arcturus語音與管理中間件,同時包含完整的SIP和RTP堆棧。因此可以說,Blackfin Linux已經成爲嵌入式系統領域最爲穩定的嵌入式Linux發行包之一。


3 軟件開發工具環境
隨着嵌入式系統產品應用越來越複雜、產品投放市場的時間越來越急迫,完善的開發環境也變得越來越重要。除了全系列優化的嵌入式操作系統外,具有完整的開發環境也是其嵌入式系統開發的重要因素之一。爲此,ADI也提供有能夠支持其他Blackfin處理器的ADI CROSSCO RE軟件與硬件工具,這些工具包括VisualDSP++集成開發與調試環境、仿真器,以及EZ-KIT Lite評估版硬件等。
此外,ADI也爲嵌入式系統開發提供了大量的系統服務程序,例如爲嵌入式系統提供了各種常見功能的軟件庫,這些服務程序實際上就是可用於任何系統的公用程序,它們既可在未安裝RTOS的獨立式環境下運行,又可用於VDK環境。利用這些系統服務程序可以便捷、高效地接入Blackfin處理器的硬件子系統,包括鎖相環路、直接內存存取、中斷控制器、標誌控制器和定時器等。所有的Blackfin處理器均可採用一套通用的AM,各種應用和設備驅動程序也均可使用這些系統服務整序。這些系統服務程序中包含的軟件都已經經過反覆測試,而且性能穩定可靠,設計時可以直接使用這些程序。此外,利用這些服務程序,也可以輕鬆整合這些模塊化軟件,實際上,這些服務程序都是與VisualDSP++集成開發環境一起提供的。希望這些對你有幫助,你要是想在嵌入式上有所發展卻又沒有方向,這邊也可以私我,互相交流學習共同進步
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章