開發(fā)板 - 用來進行嵌入式系統(tǒng)開發(fā)的電路板
開發(fā)板(demoboard)是用來進行嵌入式系統(tǒng)開發(fā)的電路板,包括中央處理器、存儲器、輸入設(shè)備、輸出設(shè)備、數(shù)據(jù)通路/總線和外部資源接口等一系列硬件組件。開發(fā)板一般由嵌入式系統(tǒng)開發(fā)者根據(jù)開發(fā)需求自己訂制,也可由用戶自行研究設(shè)計。

概述
在一般的嵌入式系統(tǒng)開發(fā)過程中,硬件一般被分成兩個平臺,一個是開發(fā)平臺(host),一個是目標平臺(target)即開發(fā)板。在此描述的開發(fā)平臺指的是使用計算機,通過傳輸?shù)慕缑妫绱冢≧S-232)、USB、并口、或者網(wǎng)絡(luò)(Ethernet)與目標平臺連接。
開發(fā)板一般由嵌入式系統(tǒng)開發(fā)者根據(jù)開發(fā)需求自己訂制,也可由用戶自行研究設(shè)計。
開發(fā)板是為初學者了解和學習系統(tǒng)的硬件和軟件,同時部分開發(fā)板也提供的基礎(chǔ)集成開發(fā)環(huán)境和軟件源代碼和硬件原理圖等。常見的開發(fā)板有51、ARM、FPGA、DSP開發(fā)板。
選型要求
嵌入式系統(tǒng)開發(fā),要先選定滿足自己開發(fā)所需型號CPU、FPGA、DSP,其次根據(jù)選定型號的CPU、FPGA、DSP等選擇支持選定芯片的開發(fā)板范圍。再次,優(yōu)選開發(fā)板提供的開發(fā)環(huán)境及技術(shù)支持的能力和水平。
最后還要考慮開發(fā)板板子除了集成CPU、FPGA、DSP等之外,還需要較完善輸入及輸出的界面,如鍵盤和LCD,程序下載接口、內(nèi)存(RAM)、FlashROM、電源模塊等。同時為了開發(fā)初期的調(diào)試方便,還會引出幾個特殊的引腳,如JTAG接口、USB和串口等,以供外接的調(diào)試模塊所使用。
開發(fā)移植
當硬件及規(guī)格選定完成后,接下來就是進入最開始的系統(tǒng)開發(fā)與建立開放環(huán)境。如果項目所使用的嵌入式操作系統(tǒng)不是自己開發(fā),而是向其他廠商購買的話,大都提供集成式開發(fā)環(huán)境(IDE)與仿真器(Emulator)讓開發(fā)者可以加速整個開發(fā)的過程。
當你拿到的是系統(tǒng)廠商已經(jīng)移植好的操作系統(tǒng),并且確定有給予充分的相關(guān)資料之后,就可以針對自己的目標平臺做集成的動作。
選定操作系統(tǒng)之后,通常都會指定開發(fā)平臺上所使用的各項開發(fā)工具,例如編譯器、連接器等。開發(fā)時需要設(shè)置的編譯參數(shù)會依據(jù)每個環(huán)境不同而有所差異。這個部分必須依據(jù)硬件規(guī)格與指示說明編譯出一個可以運行的映像文件,然后通過燒錄工具燒錄到目標平臺上。
開發(fā)板品牌
神舟王開發(fā)板
神舟王開發(fā)板是ARM技術(shù)論壇開發(fā)的一款基于STM32F103ZET的開發(fā)板,適合工業(yè)生產(chǎn),產(chǎn)品評估,開發(fā)學習。采用底板+核心班(四層)的扣板方式,底板尺寸為132mm*188mm,核心板尺寸為69mm*59mm。底板設(shè)計為可以搭配不同型號的處理器核心板。
開發(fā)板分類
單片機
1)51系列單片機
51單片機目前已有多種型號,8031/8051/8751是Intel公司早期的產(chǎn)品,而ATMEL公司的AT89C51、AT89S52則更實用。ATMEL公司的51系列還有AT89C2051、AT89C1051等品種,這些芯片是在AT89C51的基礎(chǔ)上將一些功能精簡掉后形成的精簡版。而市場上目前供貨比較足的芯片還要算ATMEL的51、52芯片,HYUNDAI的GMS97系列,WINBOND的78e52,78e58,77e58等。
2)PIC系列單片機
在全球都可以看到PIC單片機從電腦的外設(shè)、家電控制、電訊通信、智能儀器、汽車電子到金融電子各個領(lǐng)域的廣泛應用。
PIC系列單片機又分:基本級系列,如PIC16C5X,適用于各種對成本要求嚴格的家電產(chǎn)品選用;中級系列,如PIC12C6XX,該級產(chǎn)品其性能很高,如內(nèi)部帶有A/D變換器、E2PROM數(shù)據(jù)存儲器、比較器輸出、PWM輸出、I2C和SPI等接口;PIC中級系列產(chǎn)品適用于各種高、中和低檔的電子產(chǎn)品的設(shè)計中。
高級系列,如PIC17CXX具有豐富的I/O控制功能,并可外接擴展EPROM和RAM,適用于高、中檔的電子設(shè)備中使用。
3)AVR系列單片機
AVR單片機是1997年由ATMEL公司研發(fā)出的增強型內(nèi)置Flash的RISC - ReducedInstructionSetCPU精簡指令集高速8位單片機。AVR的單片機可以廣泛應用于計算機外部設(shè)備、工業(yè)實時控制、儀器儀表、通訊設(shè)備、家用電器等各個領(lǐng)域。
CPLD/FPGA
CPLD - Complex Programmable Logic Device復雜可編程邏輯器件,是從PAL和GAL器件發(fā)展出來的器件,相對而言規(guī)模大,結(jié)構(gòu)復雜,屬于大規(guī)模集成電路范圍。是一種用戶根據(jù)各自需要而自行構(gòu)造邏輯功能的數(shù)字集成電路。
其基本設(shè)計方法是借助集成開發(fā)軟件平臺,用原理圖、硬件描述語言等方法,生成相應的目標文件,通過下載電纜(“在系統(tǒng)”編程)將代碼傳送到目標芯片中,實現(xiàn)設(shè)計的數(shù)字系統(tǒng)。
許多公司如今都開發(fā)出了CPLD可編程邏輯器件。比較典型的就是Altera、Lattice、Xilinx世界三大權(quán)威公司的產(chǎn)品,這里給出常用芯片:Altera EPM7128S - PLCC84、Lattice LC4128V - TQFP100、Xilinx XC95108 - PLCC84。
FPGA是英文Field-Programmable Gate Array的縮寫,即現(xiàn)場可編程門陣列,它是在PAL、GAL、CPLD等可編程器件的基礎(chǔ)上進一步發(fā)展的產(chǎn)物。它是作為專用集成電路(ASIC)領(lǐng)域中的一種半定制電路而出現(xiàn)的,既解決了定制電路的不足,又克服了原有可編程器件門電路數(shù)有限的缺點。
目前FPGA的品種很多,有XILINX的XC系列、TI公司的TPC系列、ALTERA公司的FIEX系列等。
DSP
DSP(digital signal processor)是一種獨特的微處理器,是以數(shù)字信號來處理大量信息的器件。其工作原理是接收模擬信號,轉(zhuǎn)換為0或1的數(shù)字信號,再對數(shù)字信號進行修改、刪除、強化,并在其他系統(tǒng)芯片中把數(shù)字數(shù)據(jù)解譯回模擬數(shù)據(jù)或?qū)嶋H環(huán)境格式。
它不僅具有可編程性,而且其實時運行速度可達每秒數(shù)以千萬條復雜指令程序,遠遠超過通用微處理器,是數(shù)字化電子世界中日益重要的電腦芯片。它的強大數(shù)據(jù)處理能力和高運行速度,是最值得稱道的兩大特色。
目前主流的DSP芯片主要有TI公司的TI2000系列、TI5000系列、TI6000系列以及ADI公司的ADIDSP系列。
ARM
ARM即Advanced RISCMachines的縮寫是對一類微處理器的通稱。ARM同時還是微處理器行業(yè)的一家知名企業(yè),設(shè)計了大量高性能、廉價、耗能低的RISC處理器、相關(guān)技術(shù)及軟件。技術(shù)具有性能高、成本低和能耗省的特點。適用于多種領(lǐng)域,比如嵌入控制、消費/教育類多媒體、DSP和移動式應用等。
目前ARM的主流分以下幾類:ARM7TDMI應用于Game Boy Advance,Nintendo DS,iPod
ARM9TDMI Armadillo,GP32,GP2X(第一顆內(nèi)核),Tapwave Zodiac(Motorolai.MX1);GP2X(第二顆內(nèi)核)ARM9E Nintendo DS,NokiaN-GageConexant 802.11 chips;ST Micro STR91xFARM11 Nokia N93,Zune,Nokia N800,NOKIA E72Cortex Texas Instruments OMAP3; Broadcomis a user;Luminary Micro微控制器家族
MIPS
MIPS是世界上很流行的一種RISC處理器。MIPS的意思是“無內(nèi)部互鎖流水級的微處理器” - Microprocessor without interlocked piped stages,其機制是盡量利用軟件辦法避免流水線中的數(shù)據(jù)相關(guān)問題。
MIPS最早是在80年代初期由斯坦福 - Stanford大學Hennessy教授領(lǐng)導的研究小組研制出來的。MIPS公司的R系列就是在此基礎(chǔ)上開發(fā)的RISC工業(yè)產(chǎn)品的微處理器。這些系列產(chǎn)品為很多計算機公司采用構(gòu)成各種工作站和計算機系統(tǒng)。
可以說,MIPS是賣的最好的RISCCPU,從任何地方,如Sony,Nintendo的游戲機,Cisco的路由器和SGI超級計算機,都可以看見MIPS產(chǎn)品在銷售。和英特爾相比,MIPS的授權(quán)費用比較低,也就為除英特爾外的大多數(shù)芯片廠商所采用。
之后,MIPS公司發(fā)生戰(zhàn)略變化,開始以嵌入式系統(tǒng)為重心,陸續(xù)開發(fā)了高性能、低功耗的32位處理器內(nèi)核(core)MIPS324Kc與高性能64位處理器內(nèi)核MIPS645Kc。2000年,MIPS公司發(fā)布了針對MIPS324Kc的版本以及64位MIPS6420Kc處理器內(nèi)核。
MIPS324KcTM處理器是采用MIPS技術(shù)特定為片上系統(tǒng) - System-On-a-Chip而設(shè)計的高性能、低電壓32位MIPSRISC內(nèi)核。MIPS6420Kc的浮點能力強,可以組成不同的系統(tǒng),從一個處理器的Octane工作站到64個處理器的Origin2000服務器;這種CPU更適合圖形工作站使用。
MIPS最新的R12000芯片已經(jīng)在SGI的服務器中得到應用,目前其主頻最大可達400MHz。
MIPSK系列微處理器是目前僅次于ARM的用得最多的處理器之一(1999年以前MIPS是世界上用得最多的處理器),其應用領(lǐng)域覆蓋游戲機、路由器、激光打印機、掌上電腦等各個方面。
MIPS除了在手機中應用的比例極小外,在一般數(shù)字消費性、網(wǎng)絡(luò)語音、個人娛樂、通信與商務應用市場有著相當不錯的成績。而其應用最為廣泛的應屬家庭視聽電器(包含機頂盒)、網(wǎng)通產(chǎn)品以及汽車電子等方面。
PPC
PowerPC是一種精簡指令集(RISC)架構(gòu)的中央處理器(CPU),其基本的設(shè)計源自IBM(國際商用機器公司)的POWER(Performance Optimized With Enhanced RISC);《IBMConnect電子報》2007年8月號譯為“增強RISC性能優(yōu)化”)架構(gòu)。
二十世紀九十年代,IBM - 國際商用機器公司、Apple(蘋果公司)和Motorola(摩托羅拉)公司開發(fā)PowerPC芯片成功,并制造出基于PowerPC的多處理器計算機。PowerPC架構(gòu)的特點是可伸縮性好、方便靈活。
PowerPC處理器有廣泛的實現(xiàn)范圍,包括從諸如Power4那樣的高端服務器CPU到嵌入式CPU市場(任天堂Gamecube使用了PowerPC)。PowerPC處理器有非常強的嵌入式表現(xiàn),因為它具有優(yōu)異的性能、較低的能量損耗以及較低的散熱量。
除了象串行和以太網(wǎng)控制器那樣的集成I/O,該嵌入式處理器與“臺式機”CPU存在非常顯著的區(qū)別。例如,4xx系列PowerPC處理器缺乏浮點運算,并且還使用一個受軟件控制的TLB進行內(nèi)存管理,而不是象臺式機芯片中那樣采用反轉(zhuǎn)頁表。
構(gòu)成部分
嵌入式微處理器
嵌入式系統(tǒng)硬件層的核心是嵌入式微處理器,嵌入式微處理器與通用CPU最大的不同在于嵌入式微處理器大多工作在為特定用戶群所專用設(shè)計的系統(tǒng)中,它將通用CPU許多由板卡完成的任務集成在芯片內(nèi)部,從而有利于嵌入式系統(tǒng)在設(shè)計時趨于小型化,同時還具有很高的效率和可靠性。
嵌入式微處理器的體系結(jié)構(gòu)可以采用馮·諾依曼體系或哈佛體系結(jié)構(gòu);指令系統(tǒng)可以選用精簡指令系統(tǒng)(Complex Instruction Set Computer,CISC)。
RISC計算機在通道中只包含最有用的指令,確保數(shù)據(jù)通道快速執(zhí)行每一條指令,從而提高了執(zhí)行效率并使CPU硬件結(jié)構(gòu)設(shè)計變得更為簡單。
嵌入式微處理器有各種不同的體系,即使在同一體系中也可能具有不同的時鐘頻率和數(shù)據(jù)總線寬度,或集成了不同的外設(shè)和接口。據(jù)不完全統(tǒng)計,目前全世界嵌入式微處理器已經(jīng)超過1000多種,體系結(jié)構(gòu)有30多個系列,其中主流的體系有ARM、MIPS、PowerPC、X86和SH等。
但與全球PC市場不同的是,沒有一種嵌入式微處理器可以主導市場,僅以32位的產(chǎn)品而言,就有100種以上的嵌入式微處理器。嵌入式微處理器的選擇是根據(jù)具體的應用而決定的。
存儲器
嵌入式系統(tǒng)需要存儲器來存放和執(zhí)行代碼。嵌入式系統(tǒng)的存儲器包含Cache、主存和輔助存儲器。
Cache是一種容量小、速度快的存儲器陣列它位于主存和嵌入式微處理器內(nèi)核之間,存放的是最近一段時間微處理器使用最多的程序代碼和數(shù)據(jù)。
在需要進行數(shù)據(jù)讀取操作時,微處理器盡可能的從Cache中讀取數(shù)據(jù),而不是從主存中讀取,這樣就大大改善了系統(tǒng)的性能,提高了微處理器和主存之間的數(shù)據(jù)傳輸速率。Cache的主要目標就是:減小存儲器(如主存和輔助存儲器)給微處理器內(nèi)核造成的存儲器訪問瓶頸,使處理速度更快,實時性更強。
在嵌入式系統(tǒng)中Cache全部集成在嵌入式微處理器內(nèi),可分為數(shù)據(jù)Cache、指令Cache或混合Cache,Cache的大小依不同處理器而定。一般中高檔的嵌入式微處理器才會把Cache集成進去。
主存是嵌入式微處理器能直接訪問的寄存器,用來存放系統(tǒng)和用戶的程序及數(shù)據(jù)。
它可以位于微處理器的內(nèi)部或外部,其容量為256KB~1GB,根據(jù)具體的應用而定,一般片內(nèi)存儲器容量小,速度快,片外存儲器容量大。
常用作主存的存儲器有:ROM類NORFlash、EPROM和PROM等。RAM類SRAM、DRAM和SDRAM等。其中NORFlash憑借其可擦寫次數(shù)多、存儲速度快、存儲容量大、價格便宜等優(yōu)點,在嵌入式領(lǐng)域內(nèi)得到了廣泛應用。
輔助存儲器
輔助存儲器用來存放大數(shù)據(jù)量的程序代碼或信息,它的容量大、但讀取速度與主存相比就慢的很多,用來長期保存用戶的信息。
嵌入式系統(tǒng)中常用的外存有:硬盤、NANDFlash、CF卡、MMC和SD卡等。
通用接口
嵌入式系統(tǒng)和外界交互需要一定形式的通用設(shè)備接口,如A/D、D/A、I/O等,外設(shè)通過和片外其他設(shè)備的或傳感器的連接來實現(xiàn)微處理器的輸入/輸出功能。每個外設(shè)通常都只有單一的功能,它可以在芯片外也可以內(nèi)置芯片中。外設(shè)的種類很多,可從一個簡單的串行通信設(shè)備到非常復雜的802.11無線設(shè)備。
目前嵌入式系統(tǒng)中常用的通用設(shè)備接口有A/D(模/數(shù)轉(zhuǎn)換接口)、D/A(數(shù)/模轉(zhuǎn)換接口),I/O接口有RS-232接口(串行通信接口)、Ethernet(以太網(wǎng)接口)、USB(通用串行總線接口)、音頻接口、VGA視頻輸出接口、I2C(現(xiàn)場總線)、SPI(串行外圍設(shè)備接口)和IrDA(紅外線接口)等。
硬件驅(qū)動
大部分嵌入式硬件都需要某種類型的軟件進行初始化和管理。直接與一個硬件互相作用并控制這一硬件的軟件稱為設(shè)備驅(qū)動程序(device driver)。所有需要軟件的嵌入式系統(tǒng),在它們的系統(tǒng)軟件層都需要設(shè)備驅(qū)動程序軟件。
設(shè)備驅(qū)動程序是初始化硬件的軟件庫,它們管理著高層軟件對硬件的訪問,它是硬件與操作系統(tǒng)、中間件和應用層之間聯(lián)絡(luò)的紐帶。
具體來說,這類驅(qū)動程序包括主處理器體系結(jié)構(gòu)專用的功能性驅(qū)動程序、存儲器和存儲器管理驅(qū)動程序、總線初始化和事務驅(qū)動程序、還有電路板層和主CPU層次的I/O初始化和控制驅(qū)動程序(如用于網(wǎng)絡(luò)、圖形、輸入設(shè)備、存儲設(shè)備、調(diào)試I/O等)。
設(shè)備驅(qū)動程序通常劃分為體系結(jié)構(gòu)專用(architecture-specific)設(shè)備驅(qū)動程序和通用(generic)設(shè)備驅(qū)動程序。體系結(jié)構(gòu)專用設(shè)備驅(qū)動程序管理嵌入到主處理器(體系結(jié)構(gòu))中的硬件。
體系結(jié)構(gòu)專用驅(qū)動程序負責初始化主處理器內(nèi)部的組件,這類驅(qū)動程序的具體事例包括片上存儲器、集成的存儲器管理器(MMU)和浮點硬件的驅(qū)動程序。通用設(shè)備驅(qū)動程序管理電路板上的硬件以及沒有集成到主處理器中的硬件。
在一個通用設(shè)備驅(qū)動程序中,通常包含一部分體系結(jié)構(gòu)專用的源代碼,因為主處理器是中央控制單元,要訪問電路板上的任何組件通常都要經(jīng)過主處理器。
然而,通用驅(qū)動程序也可以管理不被特定的處理器所專用的板級硬件,這就意味著一個通用驅(qū)動程序可以配置應用到許多體系結(jié)構(gòu)中去,只要該結(jié)構(gòu)中包含該驅(qū)動程序?qū)挠布?/p>
通用驅(qū)動程序包含初始化和管理對電路板上剩余主要組件進行訪問的代碼,這些主要組件包括板級總線(I2C、PCI、PCMCIA等)、片外存儲器(控制器、2級以上高速緩存、閃存等)和片外I/O(以太網(wǎng)、RS-232、顯示器、鼠標等)。
現(xiàn)狀和趨勢
信息時代,數(shù)字時代使得嵌入式產(chǎn)品獲得了巨大的發(fā)展契機,為嵌入式市場展現(xiàn)了美好的前景,同時也對嵌入式生產(chǎn)廠商提出了新的挑戰(zhàn),從中我們可以看出未來嵌入式系統(tǒng)的幾大發(fā)展趨勢:
1.嵌入式開發(fā)是一項系統(tǒng)工程,因此要求嵌入式系統(tǒng)廠商不僅要提供嵌入式軟硬件系統(tǒng)本身,同時還需要提供強大的硬件開發(fā)工具和軟件包支持。
目前很多廠商已經(jīng)充分考慮到這一點,在主推系統(tǒng)的同時,將開發(fā)環(huán)境也作為重點推廣。比如三星在推廣Arm7,Arm9芯片的同時還提供開發(fā)板和版及支持包(BSP),而WindowCE在主推系統(tǒng)時也提供EmbeddedVC++作為開發(fā)工具,還有Vxworks的Tonado開發(fā)環(huán)境,DeltaOS的Limda編譯環(huán)境等等都是這一趨勢的典型體現(xiàn)。當然,這也是市場競爭的結(jié)果。
2.網(wǎng)絡(luò)化、信息化的要求隨著因特網(wǎng)技術(shù)的成熟、帶寬的提高日益提高,使得以往單一功能的設(shè)備如電話、手機、冰箱、微波爐等功能不再單一,結(jié)構(gòu)更加復雜。
這就要求芯片設(shè)計廠商在芯片上集成更多的功能,為了滿足應用功能的升級,設(shè)計師們一方面采用更強大的嵌入式處理器如32位、64位RISC芯片或信號處理器DSP增強處理能力,同時增加功能接口,如USB,擴展總線類型,如CANBUS,加強對多媒體、圖形等的處理,逐步實施片上系統(tǒng)(SOC)的概念。
軟件方面采用實時多任務編程技術(shù)和交叉開發(fā)工具技術(shù)來控制功能復雜性,簡化應用程序設(shè)計、保障軟件質(zhì)量和縮短開發(fā)周期。如HP
3.網(wǎng)絡(luò)互聯(lián)成為必然趨勢。
未來的嵌入式設(shè)備為了適應網(wǎng)絡(luò)發(fā)展的要求,必然要求硬件上提供各種網(wǎng)絡(luò)通信接口。
傳統(tǒng)的單片機對于網(wǎng)絡(luò)支持不足,而新一代的嵌入式處理器已經(jīng)開始內(nèi)嵌網(wǎng)絡(luò)接口,除了支持TCP/IP協(xié)議,還有的支持IEEE1394、USB、CAN、Bluetooth或IrDA通信接口中的一種或者幾種,同時也需要提供相應的通信組網(wǎng)協(xié)議軟件和物理層驅(qū)動軟件。
軟件方面系統(tǒng)系統(tǒng)內(nèi)核支持網(wǎng)絡(luò)模塊,甚至可以在設(shè)備上嵌入Web瀏覽器,真正實現(xiàn)隨時隨地用各種設(shè)備上網(wǎng)。
4.精簡系統(tǒng)內(nèi)核、算法,降低功耗和軟硬件成本。
未來的嵌入式產(chǎn)品是軟硬件緊密結(jié)合的設(shè)備,為了減低功耗和成本,需要設(shè)計者盡量精簡系統(tǒng)內(nèi)核,只保留和系統(tǒng)功能緊密相關(guān)的軟硬件,利用最低的資源實現(xiàn)最適當?shù)墓δ?,這就要求設(shè)計者選用最佳的編程模型和不斷改進算法,優(yōu)化編譯器性能。因此,既要軟件人員有豐富的硬件知識,又需要發(fā)展先進嵌入式軟件技術(shù),如Java、Web和WAP等。
5.提供友好的多媒體人機界面
嵌入式設(shè)備能與用戶親密接觸,最重要的因素就是它能提供非常友好的用戶界面。圖像界面,靈活的控制方式,使得人們感覺嵌入式設(shè)備就象是一個熟悉的老朋友。
這方面的要求使得嵌入式軟件設(shè)計者要在圖形界面,多媒體技術(shù)上痛下苦功。手寫文字輸入、語音撥號上網(wǎng)、收發(fā)電子郵件以及彩色圖形、圖像都會使使用者獲得自由的感受。目前一些先進的PDA在顯示屏幕上已實現(xiàn)漢字寫入、短消息語音發(fā)布,但一般的嵌入式設(shè)備距離這個要求還有很長的路要走
