作者:Steve Leibson
Arduino 和 Raspberry Pi 開發(fā)板是顛覆嵌入式系統(tǒng)開發(fā)方式的登峰造極之作。從前,嵌入式系統(tǒng)的開發(fā)從硬件開始。項目步驟一般如下:
1. 規(guī)范系統(tǒng)要求,包括粗略估計處理速度和 I/O 要求。
2. 選擇符合功率、性能和價格要求的適當(dāng)微控制器或微處理器。
3. 連接硬件原型。
4. 調(diào)試硬件原型。如有必要,編寫少量驅(qū)動程序代碼來調(diào)動線路。
5. 硬件運行后,開始執(zhí)行代碼。
6. 調(diào)試代碼。
7. 發(fā)貨!
現(xiàn)在沒那么簡單了。首先,有數(shù)以千計的處理器和微控制器可供選擇,而它們來自眾多供應(yīng)商。沒有人可以把所有這些替代方案都記在腦中。
其次,上述第三項(連接硬件原型)提出了一個實際問題,因為三十年前全球已發(fā)展到采用表面貼裝技術(shù)的階段。對于電氣工程,上世紀(jì) 70 年代普遍使用的原型開發(fā)技術(shù)手工布線甚至繞接技術(shù),類似于手工鍛造技術(shù)。現(xiàn)今已很少用到此類技術(shù)。您確實需要設(shè)計、制造和焊接原型印刷電路板,如果有更好(更快、更低成本)的替代選項,誰會花時間那樣做呢?
這種情況為開發(fā)板創(chuàng)造了機會,直接繞過上面的一至四步。目前市場上最知名的兩種開發(fā)板是 Arduino Uno(及其眾多型號)和 Raspberry Pi。Raspberry Pi 的最新型號是 Raspberry Pi 3 Model B+。雖然人們經(jīng)常將 Arduino 開發(fā)板與 Raspberry Pi 開發(fā)板相提并論,但兩者截然不同。
Arduino 是一家開源計算機硬件與軟件公司的名稱、一個開源社區(qū)項目、設(shè)計和制造 Arduino 開發(fā)板的用戶社區(qū)、一種集成開發(fā)環(huán)境 (IDE) 以及實際 Arduino 微控制器板本身。(Arduino 這個名字出自意大利伊夫雷亞的一家酒吧,Arduino 項目的一些最初創(chuàng)始人過去常在那里會面。)
最初的 Arduino 開發(fā)板基于 Atmel 的 AVR 微控制器。在使用 Arduino IDE 開發(fā)代碼后,Arduino IDE 隨后會編譯代碼,并將代碼下載到板載微控制器的閃存中。Arduino IDE 支持 C 和 C++ 語言,具備其獨有的特殊代碼結(jié)構(gòu)規(guī)則。由于 Arduino 概念得到了極大發(fā)展,較新的 Arduino 型號已升級到基于 32 位 Arm? Cortex?-M0 的微控制器,以實現(xiàn)更高性能(圖 1)。
Arduino 開發(fā)板是作為入門級微處理器開發(fā)板,用于控制相對簡單的嵌入式系統(tǒng),因此其 I/O 功能非常簡單。除了一些帶有簡單數(shù)字 I/O 和模擬輸入引腳的 0.1 英寸針座外,Arduino Uno 開發(fā)板還有一個 USB 端口以及一些可以閃爍的板載 LED。就這么簡單。I/O 引腳由軟件控制,因此在發(fā)揮這些引腳的性能時不會有太多阻礙。
圖 1:Arduino Uno 是一款基于 8 位 Atmel 微控制器的入門級開發(fā)板,具有一些簡單的 I/O 功能,可作為不需要高性能的嵌入式設(shè)計的開發(fā)平臺。(圖片來源:Arduino)
升級到 Raspberry Pi
如果嵌入式設(shè)計需要更高性能,那么可以考慮從 Arduino 升級到 Raspberry Pi 3 B+ 開發(fā)板(圖 2)。以下是該開發(fā)板的重要特性:
- Broadcom BCM2837B0,1.4 GHz Cortex?-A53 (Arm?v8) 64 位 SoC
- 1 GB LPDDR2 SDRAM
- 2.4 GHz 和 5 GHz IEEE 802.11.b/g/n/ac 無線 LAN,藍(lán)牙 4.2,BLE
- USB 2.0 千兆位以太網(wǎng)(最大吞吐量 300 Mbps)
- 擴展型 40 引腳 GPIO 針座
- 全尺寸 HDMI
- 四個 USB 2.0 端口
- 擴展型 40 引腳 GPIO 針座
- CSI 攝像頭端口,用于連接 Raspberry Pi 攝像頭
- DSI 顯示端口,用于連接 Raspberry Pi 觸摸屏顯示器
- 4 極立體聲輸出和復(fù)合視頻端口
- Micro SD 端口,用于加載操作系統(tǒng)和存儲數(shù)據(jù)
- 5 V/2.5 A 直流電源輸入
- 以太網(wǎng)供電 (PoE) 支持(需要獨立的 PoE HAT)
圖 2:Raspberry Pi 3 Model B+ 是一款出色的嵌入式硬件開發(fā)平臺,具有四核 64 位 Arm 應(yīng)用處理器、1 GB SDRAM 以及豐富的 I/O 功能。(圖片來源:Raspberry Pi)
有了如此多的處理能力、存儲器和 I/O 功能,您可以做很多事情。Raspberry Pi 3 B+ 開發(fā)板可運行 Linux,且該產(chǎn)品具有龐大的支持社區(qū)。Raspberry Pi 3 Model B+ 價格低廉,成為許多嵌入式開發(fā)項目的絕佳硬件平臺。
當(dāng)您覺得需要提速時,該怎么辦?
如果 Raspberry Pi 3 Model B+ 滿足您對嵌入式系統(tǒng)設(shè)計的所有要求,則無需再尋找其他產(chǎn)品。既然這款開發(fā)板價格低廉,功能又極其強大,那么何必多此一舉呢?但是,如果您的嵌入式系統(tǒng)需要的特殊 I/O 功能超出 Raspberry Pi Model 3 B+ 的大量 I/O 資源,該怎么辦?
這種情況就是您需要 FPGA 的高性能功能的一個例子,F(xiàn)PGA 擅長讓您僅使用軟件即可定義出新型高速接口。無需額外布線。此外,您還可以使用 Trenz Electronic 的 TE0726-03M 開發(fā)板 ZynqBerry(圖 3),獲得已內(nèi)置于 Raspberry Pi Model 2 外形尺寸中的 FPGA 功能。
圖 3:Trenz 的 TE0726-03M ZynqBerry 開發(fā)板采用 Raspberry Pi Model 2 外形尺寸封裝了一個 Xilinx 的 Zynq Z-7010 SoC,適合需要額外 I/O 性能的嵌入式設(shè)計。(圖片來源:Trenz Electronic)
ZynqBerry 基于 Xilinx 的 Zynq Z-7010 SoC,融合了雙核 Arm? Cortex?-A9 32 位微處理器和 FPGA。以此打造的器件與單個處理器(或甚至以 1.4 GHz 運行的四個處理器)相比,能夠處理更多的高性能任務(wù)。您可以使用可下載的 Xilinx Vivado 工具套件對 Trenz ZynqBerry 進(jìn)行編程,該套件可為 Zynq SoC 的軟件(處理器)和硬件 (FPGA) 端提供 IDE。
更喜歡 Arduino 的外形尺寸?
但如果您更喜歡 Arduino Uno 的外形尺寸呢?Trenz Electronic 的 TE0723-03M ArduZynq 也可滿足您的這一需求(圖 4)。
圖 4:對于需要更多處理器和 I/O 性能的 Arduino 項目,Trenz Electronic 的 TE0723-03M ArduZynq 將 Xilinx Zynq SoC 置于 Arduino 開發(fā)板外形尺寸中。(圖片來源:Trenz Electronic)
與 Trenz ZynqBerry 一樣,您可以使用可下載的 Xilinx Vivado 工具套件對 Trenz ArduZynq 進(jìn)行編程。
像 Arduino Uno 和 Raspberry Pi 這樣的開發(fā)板可以簡化許多嵌入式開發(fā)選擇,但無法應(yīng)對所有嵌入式設(shè)計挑戰(zhàn)。當(dāng)您的需求超出這些開發(fā)板的功能時,無需更改開發(fā)板的外形尺寸。您只需在組合中添加一點 FPGA。
關(guān)于作者
Steve Leibson 是 HP 和 Cadnetix 的系統(tǒng)工程師、《EDN》和《Microprocessor Report》雜志主編以及 Xilinx 和 Cadence 的技術(shù)博主,并擔(dān)任過兩集“The Next Wave with Leonard Nimoy”的技術(shù)專家。33 年來,他一直致力于幫助設(shè)計工程師們開發(fā)出更好、更快、更可靠的系統(tǒng)。
編輯:hfy
-
微控制器
+關(guān)注
關(guān)注
48文章
7596瀏覽量
151738 -
FPGA
+關(guān)注
關(guān)注
1630文章
21776瀏覽量
604678 -
led
+關(guān)注
關(guān)注
242文章
23322瀏覽量
661915 -
嵌入式系統(tǒng)
+關(guān)注
關(guān)注
41文章
3610瀏覽量
129603 -
Arduino
+關(guān)注
關(guān)注
188文章
6474瀏覽量
187435
發(fā)布評論請先 登錄
相關(guān)推薦
評論