概述 開發板(demoboard)是用來進行
嵌入式系統開發 的電路板,包括
中央處理器 、
存儲器 、輸入設備、
輸出設備 、
數據通路 /匯流排和
外部 資源接口等一系列硬體組件。在一般的嵌入式系統開發過程中,硬體一般被分成兩個平台,一個是開發平台(host),一個是目標平台(target)即開發板。在此描述的開發平台指的是使用計算機,通過傳輸的界面,例如串口(
RS-232 )、USB、並口、或者網路(Ethernet)與目標平台連線。
開發板一般由嵌入式系統開發者根據開發需求自己訂製,也可由用戶自行研究設計。開發板是為初學者了解和學習系統的硬體和軟體,同時部分開發板也提供的基礎集成開發環境和軟體原始碼和硬體原理圖等。常見的開發板有51、ARM、FPGA、DSP開發板。
選型要求 嵌入式系統開發 ,要先選定滿足自己開發所需型號CPU、FPGA、DSP,其次根據選定型號的CPU、FPGA、DSP等選擇支持選定晶片的開發板範圍。再次,優選開發板提供的開發環境及技術支持的能力和水平。最後還要考慮開發板板子除了集成CPU、FPGA、DSP等之外,還需要較完善輸入及輸出的界面,如鍵盤和LCD,程式下載接口、記憶體(RAM)、FlashROM、電源模組等。同時為了開發初期的調試方便,還會引出幾個特殊的
引腳 ,如
JTAG接口 、USB和串口等,以供外接的調試模組所使用。
開發移植 當硬體及規格選定完成後,接下來就是進入最開始的系統開發與建立開發環境。如果項目所使用的嵌入式作業系統不是自己開發,而是向其他廠商購買的話,大都提供集成式開發環境(IDE)與
仿真器 (Emulator)讓開發者可以加速整個開發的過程。當你拿到的是系統廠商已經移植好的作業系統,並且確定有給予充分的相關資料之後,就可以針對自己的目標平台做集成的動作。
選定作業系統之後,通常都會指定開發平台上所使用的各項開發工具,例如
編譯器 、
連線器 等。開發時需要設定的編譯參數會依據每個環境不同而有所差異。這個部分必須依據硬體規格與指示說明編譯出一個可以運行的
映像檔案 ,然後通過
燒錄 工具燒錄到目標平台上。
杜絕廣告
開發板分類 單片機 1)51系列單片機
51
單片機 目前已有多種型號, 8031/8051/8751是Intel公司早期的產品,而 ATMEL 公司的AT89C51、AT89S52則更實用。
ATMEL公司 的51系列還有AT89C2051、AT89C1051等品種,這些晶片是在AT89C51的基礎上將一些功能精簡掉後形成的精簡版。而市場上目前供貨比較足的晶片還要算ATMEL 的51、52 晶片, HYUNDAI 的GMS97 系列,WINBOND 的78e52,78e58,77e58 等。
在全球都可以看到
PIC單片機 從電腦的外設、家電控制、電訊通信、智慧型儀器、汽車電子到金融電子各個領域的廣泛套用。PIC系列單片機又分:基本級系列,如PIC16C5X,適用於各種對成本要求嚴格的家電產品選用;中級系列,如PIC12C6XX,該級產品其性能很高,如內部帶有A/D變換器、E2PROM數據
存儲器 、
比較器 輸出、PWM輸出、I2C和SPI等接口;PIC中級系列產品適用於各種高、中和低檔的電子產品的設計中。高級系列,如PIC17CXX 具有豐富的I/O控制功能,並可外接擴展EPROM和RAM,適用於高、中檔的
電子設備 中使用。
3)AVR系列單片機
AVR單片機 是1997年由ATMEL公司研發出的增強型內置Flash的RISC(Reduced Instruction Set CPU)
精簡指令集 高速8位單片機。AVR的單片機可以廣泛套用於計算機外部設備、工業實時控制、儀器儀表、通訊設備、家用電器等各個領域。
4)ARM開發板
ARM開發板是以ARM核心晶片的嵌入式開發版,包括ARM7,ARM9,ARM11,Cortex-M,Cortex-A,Cortex-R三個系列的核心而成的開發板,主要特點是速度快,庫檔案統一,並且有利於進行開發。目前包括ATMEL,NXP,ST,Freescale等晶片都推出了基於ARM核心的晶片,和相應的開發板。
ARM9開發板 CPLD/FPGA CPLD(Complex Programmable Logic Device)複雜
可程式邏輯器件 ,是從PAL和GAL器件發展出來的器件,相對而言規模大,結構複雜,屬於
大規模積體電路 範圍。是一種用戶根據各自需要而自行構造邏輯功能的
數字積體電路 。其基本設計方法是藉助集成開發軟體平台,用原理圖、硬體描述語言等方法,生成相應的目標檔案,通過下載電纜(“在系統”編程)將代碼傳送到目標晶片中,實現設計的
數字系統 。
許多公司如今都開發出了CPLD可程式邏輯器件。比較典型的就是Altera、Lattice、Xilinx世界三大權威公司的產品,這裡給出常用晶片: Altera EPM7128S(PLCC84)、Lattice LC4128V (TQFP100)、Xilinx XC95108 (PLCC84)
FPGA 是英文Field-Programmable Gate Array的縮寫,即現場可程式門陣列,它是在PAL、GAL、CPLD等可程式器件的基礎上進一步發展的產物。它是作為
專用積體電路 (
ASIC )領域中的一種半定製電路而出現的,既解決了定製電路的不足,又克服了原有可程式器件門電路數有限的缺點。
目前FPGA的品種很多,有XILINX的XC系列、TI公司的TPC系列、ALTERA公司的FIEX系列等。
DSP DSP(digital signal processor)是一種獨特的
微處理器 ,是以
數位訊號 來處理大量信息的器件。其工作原理是接收
模擬信號 ,轉換為0或1的數位訊號,再對數位訊號進行修改、刪除、強化,並在其他
系統晶片 中把
數字數據 解譯回模擬數據或實際環境格式。它不僅具有可程式性,而且其實時運行速度可達每秒數以千萬條複雜指令程式,遠遠超過
通用微處理器 ,是數位化電子世界中日益重要的
電腦晶片 。它的強大數據處理能力和高運行速度,是最值得稱道的兩大特色。
目前主流的DSP晶片主要有TI公司的TI 2000系列、TI 5000系列、TI6000系列以及ADI公司的ADI DSP系列。
ARM ARM 即Advanced RISCMachines的縮寫是對一類
微處理器 的通稱. ARM同時還是微處理器行業的一家知名企業,設計了大量高性能、廉價、耗能低的RISC處理器、相關技術及軟體。技術具有性能高、成本低和能耗省的特點。適用於多種領域,比如嵌入控制、消費/教育類多媒體、DSP和移動式套用等。
目前ARM的主流分以下幾類:
Cortex Texas Instruments OMAP3;
Broadcom is a user;Luminary Micro[3] 微控制器家族
MIPS MIPS是世界上很流行的一種RISC處理器。MIPS的意思是“無內部互鎖流水級的
微處理器 ”(Microprocessor without interlocked piped stages),其機制是儘量利用軟體辦法避免流水線中的數據相關問題。
MIPS最早是在80年代初期由
斯坦福 (Stanford)大學Hennessy教授領導的研究小組研製出來的。
MIPS公司 的R系列就是在此基礎上開發的RISC工業產品的微處理器。這些系列產品為很多計算機公司採用構成各種工作站和計算機系統。
可以說,MIPS是賣的最好的RISC CPU,從任何地方,如Sony, Nintendo的遊戲機,Cisco的
路由器 和SGI
超級計算機 ,都可以看見MIPS產品在銷售。和
英特爾 相比,MIPS的授權費用比較低,也就為除英特爾外的大多數晶片廠商所採用。之後,MIPS公司發生戰略變化,開始以
嵌入式系統 為重心,陸續開發了高性能、低功耗的
32位處理器 核心 (core)MIPS324Kc與高性能
64位處理器 核心MIPS64 5Kc。2000年,MIPS公司發布了針對MIPS32 4Kc的版本以及64位MIPS 64 20Kc處理器核心。
MIPS32 4KcTM 處理器是採用MIPS技術特定為
片上系統 (System-On-a-Chip)而設計的高性能、低電壓 32位MIPS RISC 核心。
MIPS 64 20Kc的浮點能力強,可以組成不同的系統,從一個處理器的Octane
工作站 到64個處理器的Origin 2000伺服器;這種CPU更適合
圖形工作站 使用。MIPS最新的R12000晶片已經在SGI的伺服器中得到套用,目前其主頻最大可達400MHz。
MIPS K系列
微處理器 是目前僅次於ARM的用得最多的處理器之一(1999年以前MIPS是世界上用得最多的處理器),其套用領域覆蓋遊戲機、路由器、雷射印表機、掌上電腦等各個方面。 MIPS除了在手機中套用的比例極小外,在一般數字消費性、網路語音、個人娛樂、通信與商務套用市場有著相當不錯的成績。而其套用最為廣泛的應屬家庭視聽電器(包含機頂盒)、網通產品以及汽車電子等方面。
PPC PowerPC 是一種
精簡指令集 (RISC)架構的
中央處理器 (
CPU ),其基本的設計源自IBM(國際商用機器公司)的POWER(Performance Optimized With Enhanced RISC;《IBM Connect 電子報》2007年8月號譯為“增強RISC性能最佳化”)架構。二十世紀九十年代,IBM(
國際商用機器公司 )、Apple(
蘋果公司 )和Motorola(
摩托羅拉 )公司開發PowerPC晶片成功,並製造出基於PowerPC的
多處理器計算機 。PowerPC架構的特點是可伸縮性好、方便靈活。
PowerPC 處理器有廣泛的實現範圍,包括從諸如 Power4 那樣的高端伺服器 CPU 到嵌入式 CPU 市場(任天堂 Gamecube 使用了 PowerPC)。PowerPC 處理器有非常強的嵌入式表現,因為它具有優異的性能、較低的能量損耗以及較低的散熱量。除了象
串列 和
乙太網控制器 那樣的集成 I/O,該
嵌入式處理器 與“台式機”CPU 存在非常顯著的區別。例如,4xx 系列 PowerPC 處理器缺乏
浮點運算 ,並且還使用一個受軟體控制的 TLB 進行
記憶體管理 ,而不是象台式機晶片中那樣採用反轉
頁表 。
構成部分 嵌入式微處理器 嵌入式系統 硬體層的核心是嵌入式微處理器,嵌入式微處理器與通用CPU最大的不同在於嵌入式微處理器大多工作在為特定用戶群所專用設計的系統中,它將通用CPU許多由
板卡 完成的任務集成在晶片內部,從而有利於嵌入式系統在設計時趨於小型化,同時還具有很高的效率和可靠性。
嵌入式微處理器 的
體系結構 可以採用
馮·諾依曼 體系或
哈佛體系結構 ;
指令系統 可以選用精簡指令系統(Reduced Instruction Set Computer,RISC)和複雜指令系統CISC(Complex Instruction Set Computer,
CISC )。RISC計算機在通道中只包含最有用的指令,確保數據通道快速執行每一條指令,從而提高了執行效率並使CPU硬體結構設計變得更為簡單。
嵌入式微處理器有各種不同的體系,即使在同一體系中也可能具有不同的
時鐘頻率 和
數據匯流排寬度 ,或集成了不同的外設和接口。據不完全統計,目前全世界嵌入式微處理器已經超過1000多種,體系結構有30多個系列,其中主流的體系有ARM、MIPS、PowerPC、X86和SH等。但與全球PC市場不同的是,沒有一種
嵌入式微處理器 可以主導市場,僅以32位的產品而言,就有100種以上的嵌入式微處理器。嵌入式微處理器的選擇是根據具體的套用而決定的。
存儲器 Cache是一種容量小、速度快的
存儲器 陣列它位於主存和
嵌入式微處理器 核心之間,存放的是最近一段時間微處理器使用最多的程式代碼和數據。在需要進行數據讀取操作時,
微處理器 儘可能的從Cache中讀取數據,而不是從主存中讀取,這樣就大大改善了系統的性能,提高了微處理器和主存之間的
數據傳輸速率 。Cache的主要目標就是:減小存儲器(如主存和輔助存儲器)給微處理器核心造成的存儲器訪問瓶頸,使處理速度更快,實時性更強。在嵌入式系統中Cache全部集成在嵌入式微處理器內,可分為數據Cache、指令Cache或混合Cache,Cache的大小依不同處理器而定。一般中高檔的嵌入式微處理器才會把Cache集成進去。
主存是
嵌入式微處理器 能直接訪問的
暫存器 ,用來存放系統和用戶的程式及數據。它可以位於
微處理器 的內部或外部,其容量為256KB~1GB,根據具體的套用而定,一般片
記憶體儲器 容量小,速度快,片
外存儲器 容量大。常用作主存的
存儲器 有:ROM類 NOR Flash、EPROM和PROM等。RAM類 SRAM、DRAM和SDRAM等。其中NOR Flash 憑藉其可擦寫次數多、存儲速度快、存儲容量大、價格便宜等優點,在嵌入式領域內得到了廣泛套用。
輔助存儲器 輔助存儲器用來存放大數據量的程式代碼或信息,它的容量大、但讀取速度與主存相比就慢的很多,用來長期保存用戶的信息。
嵌入式系統 中常用的外存有:硬碟、NAND Flash、CF卡、MMC和SD卡等。
通用接口 嵌入式系統 和外界互動需要一定形式的通用設備接口,如A/D、D/A、I/O等,外設通過和片外其他設備的或感測器的連線來實現
微處理器 的輸入/輸出功能。每個外設通常都只有單一的功能,它可以在晶片外也可以內置晶片中。外設的種類很多,可從一個簡單的串列通信設備到非常複雜的802.11無線設備。
硬體驅動 大部分嵌入式硬體都需要某種類型的軟體進行初始化和管理。直接與一個硬體互相作用並控制這一硬體的軟體稱為
設備驅動程式 (device driver)。所有需要軟體的
嵌入式系統 ,在它們的系統軟體層都需要設備驅動程式軟體。設備驅動程式是初始化硬體的軟體庫,它們管理著高層軟體對硬體的訪問,它是硬體與作業系統、
中間件 和
套用層 之間聯絡的紐帶。具體來說,這類驅動程式包括主處理器體系結構專用的功能性驅動程式、
存儲器 和
存儲器管理 驅動程式、匯流排初始化和事務驅動程式、還有電路板層和主CPU層次的I/O初始化和控制驅動程式(如用於網路、圖形、輸入設備、存儲設備、調試I/O等)。
設備驅動程式通常劃分為體系結構專用(architecture-specific)設備驅動程式和通用(generic)設備驅動程式。
體系結構 專用設備
驅動程式管理 嵌入到主處理器(體系結構)中的硬體。體系結構專用驅動程式負責初始化主處理器內部的組件,這類驅動程式的具體事例包括片上存儲器、集成的存儲器管理器(MMU)和浮點硬體的驅動程式。通用設備驅動程式管理電路板上的硬體以及沒有集成到主處理器中的硬體。在一個通用設備驅動程式中,通常包含一部分體系結構專用的
原始碼 ,因為主處理器是中央
控制單元 ,要訪問電路板上的任何組件通常都要經過主處理器。然而,通用
驅動程式 也可以管理不被特定的處理器所專用的板級硬體,這就意味著一個通用驅動程式可以配置套用到許多體系結構中去,只要該結構中包含該驅動程式對應的硬體。通用驅動程式包含初始化和管理對電路板上剩餘主要組件進行訪問的代碼,這些主要組件包括板級匯流排(I2C、PCI、PCMCIA等)、片
外存儲器 (控制器、2級以上高速快取、快閃記憶體等)和片外I/O(
乙太網 、RS-232、顯示器、滑鼠等)。
現狀和趨勢 資訊時代,數字時代使得
嵌入式產品 獲得了巨大的發展契機,為嵌入式市場展現了美好的前景,同時也對嵌入式生產廠商提出了新的挑戰,從中我們可以看出未來
嵌入式系統 的幾大發展趨勢:
1.
嵌入式開發 是一項系統工程,因此要求嵌入式系統廠商不僅要提供嵌入式軟硬體系統本身,同時還需要提供強大的硬體開發工具和軟體包支持。
目前很多廠商已經充分考慮到這一點,在主推系統的同時,將開發環境也作為重點推廣。比如三星在推廣Arm7,Arm9晶片的同時還提供開發板和版及支持包(BSP),而WindowCE在主推系統時也提供Embedded VC++作為開發工具,還有Vxworks的Tonado開發環境,DeltaOS的Limda編譯環境等等都是這一趨勢的典型體現。當然,這也是市場競爭的結果。
2.
網路化 、信息化的要求隨著網際網路技術的成熟、頻寬的提高日益提高,使得以往單一功能的設備如電話、手機、冰櫃、微波爐等功能不再單一,結構更加複雜。
這就要求晶片設計廠商在晶片上集成更多的功能,為了滿足套用功能的升級,設計師們一方面採用更強大的嵌入式處理器如32位、64位RISC晶片或信號處理器DSP增強處理能力,同時增加功能接口,如USB,
擴展匯流排 類型,如CAN BUS,加強對多媒體、圖形等的處理,逐步實施片上系統(SOC)的概念。軟體方面採用實時多任務
編程技術 和交叉開發工具技術來控制功能複雜性,簡化應用程式設計、保障
軟體質量 和縮短開發周期。如HP
未來的
嵌入式設備 為了適應
網路發展 的要求,必然要求硬體上提供各種網路通信接口。傳統的
單片機 對於網路支持不足,而新一代的嵌入式處理器已經開始內嵌網路接口,除了支持TCP/IP協定,還有的支持IEEE1394、USB、CAN、Bluetooth或IrDA
通信接口 中的一種或者幾種,同時也需要提供相應的通信組網協定軟體和
物理層 驅動軟體。軟體方面系統系統
核心 支持網路模組,甚至可以在設備上嵌入
Web瀏覽器 ,真正實現隨時隨地用各種設備上網。
4.精簡系統核心、算法,降低功耗和軟硬體成本。
未來的
嵌入式產品 是軟硬體緊密結合的設備,為了減低功耗和成本,需要設計者儘量精簡系統核心,只保留和系統功能緊密相關的軟硬體,利用最低的資源實現最適當的功能,這就要求設計者選用最佳的編程模型和不斷改進算法,最佳化
編譯器 性能。因此,既要軟體人員有豐富的硬體知識,又需要發展先進嵌入式軟體技術,如Java、Web和WAP等。
5.提供友好的多媒體人機界面
嵌入式設備能與用戶親密接觸,最重要的因素就是它能提供非常友好的用戶界面。圖像界面,靈活的控制方式,使得人們感覺嵌入式設備就象是一個熟悉的老朋友。這方面的要求使得嵌入式軟體設計者要在圖形界面,多媒體技術上痛下苦功。手寫文字輸入、語音撥接、收發電子郵件以及彩色圖形、圖像都會使使用者獲得自由的感受。目前一些先進的PDA在顯示螢幕上已實現漢字寫入、短訊息語音發布,但一般的嵌入式設備距離這個要求還有很長的路要走。