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

如何使用 RISC-V 進行嵌入式開發
比較不同品牌ARM開發板優缺點
使用Tftpd32工具數據互傳是一種什么體驗?SSD201/202D開發板演示,深圳觸覺智能嵌入式方案商

【北京迅為】《stm32mp157開發板嵌入式linux開發指南》第五章 Ubuntu使用apt-get下載

評論