在硬件平臺方面微控制器以及數字信號處理器(DSP)產品無論從品牌、成本、功能特性方面選擇數以千計,您完全可以針對您的目標應用對成本、處理能力、功耗要求、集成度、開發周期、技術難度等具體要求,精心選擇出最具綜合優勢的硬件核心平臺。
當今的嵌入式應用已經無處不在,全球每年生產數十億顆微處理器,其中大部分被廣泛應用于各類嵌入式系統,從消費電子、通信終端及系統設備、工業控制、汽車電子系統到航空航天,無處不能看到嵌入式應用的身影。
而在嵌入式操作系統方面,您同樣不再會有桌面應用中幾乎無可選擇的尷尬,無論是開放源代碼的Linux陣營的各種商業版本或免費版本,還是WinCE、vxWorks等“重量級”平臺,抑或針對特定應用優化的如Windows Mobile、Symbian、Android等,您同樣可以為您的目標應用選擇一款最佳的操作系統軟件平臺。
嵌入式系統設計過程是軟硬件聯合協同開發的過程,在進行軟硬件平臺選擇評估時,單純地離開硬件去評估操作系統或離開操作系統評估硬件平臺都有失偏頗,特別是對于很多非通用處理器來說尤其如此。當前很多嵌入式硬件平臺都提供了針對目標應用優化的操作系統及軟件模塊資源,一些商業化的操作系統也針對主流的硬件平臺進行了優化設計,提供第三方優化操作系統版本,這些資源對于嵌入式系統設計來說具有重要的意義。本文將介紹一種獨特的嵌入式平臺核心處理器——匯聚式處理器Blackfin以及其主流的配套操作系統及相關資源。
基于Blackfin構建獨特的嵌入式平臺
匯聚式處理器Blackfin 基于由 ADI 和 Intel 公司聯合開發的微信號架構(MSA),它將一個 32 位 RISC 型指令集和雙 16 位乘法累加(MAC)信號處理功能與通用型微控制器所具有的易用性組合在一起。這種匯聚式處理能力的組合使得Blackfin處理器能夠在信號處理和控制處理應用中均發揮極佳的作用 —— 在許多應用中免除了增設單獨的異構處理器的必要,極大地簡化了硬件和軟件設計。Blackfin處理器非常適合于滿足會聚能力起關鍵作用的嵌入式音頻、視頻和通信應用的計算要求和功耗約束條件,包括多格式音頻、視頻、語言和圖像處理,多模式基帶和分組處理,控制處理和實時安全性。正是這種獨特的系統架構、所具有的設計靈活性和可擴展性為Blackfin處理器贏得了廣泛的適應性,例如數字家庭娛樂、網絡和流媒體、汽車遠程信息處理和信息娛樂、數字無線電,以及移動電視終端。
目前,Blackfin 處理器在單內核產品中可提供高達 756MHz 的性能,還提供了低至 0.8V 的業界領先的功耗性能,對于滿足當今及未來的信號處理應用而言,這種高性能與低功耗的組合特征是必不可少的。Blackfin 處理器都為嵌入式系統設計提供了十分重要的特性及性能優勢,包括:同時實現各種應用的高性能信號處理和高效控制處理能力;可確保產品開發時間最小化的易用型混合 16/32 位指令集架構和開發工具套件;豐富的嵌入式系統設計的軟件模塊資源和內置硬件資源(存儲器、PWM單元、廣泛的接口等);實現器件功耗模式與終端系統要求相適應的動態電源管理能力。所有的 Blackfin 處理器均具有多個獨立的 DMA 控制器,這些控制器支持自動數據傳輸,而所需的處理器內核開銷極少。此外,Blackfin處理器具有豐富的存儲器配置,可以極大地方便嵌入式系統的應用開發。以ADSP-BF51x系列為例,該處理器同時具有NOR閃存、NAND閃存、鐵電存儲(FRAM)、SDRAM,還提供了支持Lockbox安全技術的一次性可編程存儲器。
Blackfin 處理器架構還完全符合 SIMD 標準,并包括用于加速視頻和圖像處理的指令。該架構很適合于全信號處理/分析能力。 由于具有最佳代碼密度且只需進行極少(或者完全不需要進行)代碼優化處理,因此可縮短產品的 面市時間,而不會遇到其他傳統處理器所常見的性能空間障礙。如今,在許多過去需要同時采用一個高性能信號處理器和一個單獨的高效控制處理器的應用中,只需采用一個 Blackfin 處理器即可。這種好處極大地縮減了開發時間和成本,并最終加快了終端產品的面市進程。此外,由于只需采用一組開發工具,因而減少了系統設計工程師的初期費用和學習時間。
操作系統在Blackfin上的組織結構廣泛優化的操作系統資源
除了硬件平臺之外,嵌入式操作系統的選擇對于正在從事新的嵌入式開發項目的工程師來說同樣重要。對于Blackfin處理器來說,除了處理器本身的獨特性能特性優勢外,強大的嵌入式操作系統資源是該處理器獲得廣泛應用的另一個關鍵因素。Blackfin處理器支持包括VisualDSP自帶的操作系統內核(VDK)、ThreadX、uCLinux和Nucleas等獲得業界廣泛應用的操作系統,避免了工程師在從其它處理器平臺移植到Blackfin平臺時因更改操作系統而延長終端產品開發周期。這些操作系統各自具有不同的特性和功能以及具有不同的價格、版權費用條款。從特性上看,有代碼非常緊湊、復雜度低的操作系統(VDK),有復雜、具有豐富特性的操作系統(如uClinux),具有極高可靠性的INTEGRITY,專注于汽車市場需求的RTA-OSEK,等等 。下面將對以下幾類操作系統進行簡要介紹。
Blackfin處理器支持的主要操作系統及第三方供應商列表。
1. ThreadX
Express Logic公司的ThreadX是優秀的硬實時嵌入式操作系統,具有代碼規模小、實時性強、可靠性高、方便使用等特點,廣泛應用于汽車電子、消費電子、工業自動化、網絡解決方案、軍事與航空航天等領域中。Express Logic公司作為全球重要的嵌入式操作系統提供商具有強大的產品研發能力,從而保證了該操作系統的持續升級。最新的ThreadX V5.2版本在小型化的ThreadX 5.1框架基礎上進一步提升了系統速度性能,并引入了友好的開發特性,例如動態事件過濾、擴展的事件跟蹤、SMP增強特性以及降低對全局存儲器的需求。
Express Logic公司與ADI公司建立了深入的合作關系,針對ADSP-BF534、ADSP-BF536和ADSP-BF537處理器提供了優化的實時操作系統,針對Blackfin雙內核處理器ADSP-BF561開發了增強版的ThreadX實時操作系統(ThreadX SMP RTOS),該產品大大簡化了開發商管理在雙內核SMP嵌入式處理器上的編程任務,為Blackfin處理器的雙內核提供負載平衡,縮短了雙內核平臺的開發過程(ThreadX SMP版本是消費電子應用中第一個真正的多處理器開發環境)。ThreadX實時操作系統可為Blackfin用戶提供實時、多線程應用,Express Logic的picokernel結構使該產品具有很高的性能和極小的代碼規模,最小采用4KB的獨立文件構建所有系統服務。針對Blackfin處理器優化的ThreadX還與ADI公司的VisualDSP++集成開發環境(IDE)的無縫集成,進一步優化了嵌入式系統開發環境。
2. uClinux
Linux是一種獲得廣泛應用的嵌入式操作系統,在所有主流的嵌入式系統中,嵌入式Linux無疑具有非常重要的地位。無論是其超強的網絡功能,可任意裁剪以適應小巧的嵌入式系統,完全免費、通用的Linux API的特點,以及全球擁有數千萬的愛好者所產生的廣泛開放資源,都使其成為嵌入式應用中的重要力量。uClinux是針對微處理器應用的Linux系統,完全開放源碼,并針對嵌入式應用的特點對Linux的內核進行了修改和重新編譯,內核更小。uClinux包含Linux常用的API,保留了原來Linux操作系統具有的高穩定性、強大的網絡功能和卓越的文件系統支持功能等優點。
uClinux操作系統可直接運行于Blackfin處理器,對于很多嵌入式應用來說,在與Blackfin處理器同等價位的方案中很少有能支持Linux的。然而,在面向特定的嵌入式應用時,例如內存空間有限或需要實時確定性以及高安全性能的應用,Linux仍存在許多挑戰。工具鏈的改善、不斷演變的標準化努力等,都有助于提升Linux對于所有嵌入式應用的價值。為此,ADI公司在uClinux里集成了大量硬件驅動和應用例程,包括無線局域網驅動、音/視頻編解碼器驅動等,從而將幫助客戶非常方便地從原來的系統移植到Blackfin平臺上來。此外,ADI還與全球領先企業建立了廣泛的合作關系,為基于Linux的Blackfin嵌入式系統應用開發提供了大量的優化的操作系統應用資源。ADI與公認的uClinux先驅Arcturus Networks公司聯合推出的新型uCBF54x啟動開發工具套件和系統模塊就是這樣的一個范例。該開發套件可以加快具有多通道語音、mini PBX或IP視頻能力的嵌入式媒體設備的開發過程,提供的軟件包括開源uClinux BSP(板級支持包)以及Arcturus語音與管理中間件,包括完整的SIP和RTP堆棧。經過多年積累,Blackfin Linux已經成為嵌入式系統領域最為穩定的嵌入式Linux發行包之一。
3. μC/OSII
μC/OSII作為一個源碼公開的嵌入式實時操作系統,可以支持64個任務,同時支持信號量、消息隊列、郵箱等多種常用的進程間通信方式。該操作系統程序可讀性強、移植性好、可裁剪,并已在通信、電子、自動化等領域的嵌入式設備中獲得了大量的應用。μC/OSII是Blackfin所支持的RTOS之一,在高速的Blackfin處理器上有很強的硬實時性能,操作系統中斷響應時間約為110周期(600MHz下約0.18us),同樣針對Blackfin處理器的主要目標應用集成了大量硬件驅動模塊和各種庫資源。
如果上述的操作系統都不能滿足您的目標應用需求,那么您可以采用隨VisualDSP自帶的操作系統內核(VDK)。VDK是一個小而健壯的內核,支持當前所有的Blackfin處理器以及未來可能出現的新Blackfin處理器產品,基于VDK的嵌入式系統開發能滿足在不同Blackfin處理器之間的API兼容性。更重要的是,使用VDK不需要支付任何額外的成本,無須支付許可證費用或使用費,它是作為VisualDSP 的一部分提供的,會隨著VisualDSP 的升級而升級。VDK很好地整合到了VisualDSP中,在項目的靜態設置(如線程創建和信號量)管理非常方便,提供了很多的便利功能,包括線程、優先級、信號量、消息傳遞、關鍵域和禁止調度域等完善的軟件開發工具環境
隨著嵌入式處理應用越來越復雜、投放市場的時間越來越急迫,完善的開發環境變得越來越重要。除了上述全系列優化的嵌入式操作系統外,具有完整的開發環境是其受廣泛歡迎的重要原因之一。ADI提供業界一流的工具、初學套件與支持,包括熟知的、能夠支持其他Blackfin處理器的ADI CROSSCORE軟件與硬件工具,這些工具包括獲獎的VisualDSP++集成開發與調試環境、仿真器,以及EZ-KIT Lite評估版硬件。
此外,ADI還為嵌入式系統開發提供了大量的系統服務程序,即為嵌入式系統提供各種常見功能的軟件庫,這些服務程序實際上是可用于任何系統的公用程序,既可在未安裝RTOS的獨立式環境下運行,又可用于VDK環境。利用這些系統服務程序,用戶可以便捷、高效地接入Blackfin處理器的硬件子系統,具體而言包括鎖相環路、直接內存存取、中斷控制器、標志控制器和定時器等等。所有Blackfin處理器均采用一套通用的API,各種應用和設備驅動程序均可使用這些系統服務程序。系統服務程序中包含的軟件都經過反復測試、穩定可靠的,用戶可以輕松直接使用這些程序。利用服務程序,用戶可以輕松整合這些模塊化軟件。服務程序將負責管理硬件資源,因此,將不同開發人員編寫的兩個程序塊整合起來變得輕而易舉。這些服務程序都與VisualDSP++集成開發環境一起提供。
為改進應用開發環境,美國國家儀器有限公司(NI)與ADI聯合推出了專用于ADI Blackfin處理器的LabVIEW嵌入式模塊,將LabVIEW圖形化數據流的開發環境擴展到高性能、低功耗的Blackfin處理器,通過無縫地集成到ADI VisualDSP++開發和調試環境,極大地方便進行快速的嵌入式系統開發。使用NI LabVIEW嵌入式技術可以一步到位完成系統建模的硬件在環測試和原型設計,幫助沒有嵌入式編程經驗的工程師克服嵌入式開發過程中遇到的傳統挑戰,可以花更少的時間在細節的了解和傳統低層工具的語法上,從而可以把更多的時間用于設計優化。這一圖形化的軟件包括140多種Blackfin特有的、經過優化的數學、分析和信號處理函數,如音頻和視頻DAC、ADC和編解碼器等集成I/O。
盡管有優化的操作系統可供選擇以及提供無縫集成的完善開發工具環境,但即使對于一個經驗豐富的設計工程師來說,嵌入式系統設計依然是一個極具挑戰性的工作。為幫助企業更快地利用Blackfin處理器完成優化的產品設計,加快產品面市時間并降低設計成本,ADI還與眾多本地技術提供商建立了緊密的合作關系,通過他們為企業提供更具針對性、貼身的技術支持。這些第三方機構除了提供針對特定應用的完整參考設計外,還提供相應的仿真器、集成開發環境,以及嵌入式開發培訓等服務。這些機構包括:嵌入式開發工具和培訓提供商深圳英蓓特(提供ADSP開發工具 Embest EmLink仿真器 Embest BDT集成開發環境);針對多種應用的嵌入式Linux開發平臺及OEM板級硬件方案的華恒科技(HHBF531-StartKit,uCLinux下全套開發工具集硬件驅動、協議棧等);提供嵌入式數字媒體開發工具的上海德景(DUITEK_BF_DEMO評估板);等等。
應用案例——數碼相框設計
數碼相框方案結構圖
上圖是上海世勤電子科技有限公司基于Blackfin處理器BF52x系列開發的數碼相框產品方案結構圖,該產品具有互聯網WiFi無線連接、電子郵件發送、RSS新聞閱讀、即時照片分享、全觸摸操作等領先的性能特性。該方案采用了uClinux嵌入式操作系統。作為一款典型的消費電子產品,滿足產品高性能要求的低成本實現方案是選擇的關鍵,Blackfin可以直接運行于uClinux使得方案有效地降低了整體實現成本,而且極大地方便了將公司以往的設計軟件移植到新的系統中。事實上,在與BF52x處理器相近價格的同類解決方案中,很少有支持Linux的處理器。
正如前面所述,ADI針對目標應用在uClinux操作系統中集成了大量的硬件驅動,包括WiFi驅動、音/視頻編解碼器的驅動等,ADI的Blackfin Linux內核/平臺發行包內提供了大量移植完整的應用,為開發工作帶來了很大便利。ADI還提供了非常豐富的例程和資料,進一步簡化了客戶的系統設計,縮短了產品研發周期。此外,由于缺少存儲器管理單元(MMU),內存管理歷來是嵌入式處理器的重點問題之一,在BF52x平臺上移植Linux應用必須修改由于內存管理模式不同而帶來的問題,工作量較大。ADI公司開辟的“EngineerZone”DSP技術支持論壇(ez.analog.com)讓世勤電子的工程師可以24小時通過網絡利用到ADI全球工程師的智慧,快速而圓滿地幫助解決了所有的技術難題。
評論
查看更多