「解密」Arduino 與 RISC-V 架構結合,實現完美嵌入式設計

前言:作為一名嵌入式系統開發人員一直在想方設法進一步縮短開發時間,特別是針對概念驗證和快速原型開發。雖然開發套件已成為捷徑之選,但設計人員需要找到一個平衡點,既兼顧外形尺寸和廣受支持的生態系統,又要考慮性能要求。Arduino Uno 開發板就是這種需要找到平衡點的很好例子。

什麼是 HiFive1?

HiFive1 開發套件基於一款集成 32 位 RISC-V(讀音“risk-five”)處理器內核的微控制器。該開發板可接受 Arduino 式盾板,從而大幅提升了其對嵌入式設計快速原型開發的實用性。

「解密」Arduino 与 RISC-V 架构结合,实现完美嵌入式设计

HiFive1 的核心是 RISC-V 處理器內核。這就需要 Arduino 開發板背後的開源概念,並將其一直擴展到處理器本身。

RISC-V 是開放式指令集架構 (ISA),基於兩個基礎:自 20 世紀 80 年代以來一直採用的精簡指令集計算 (RISC) 概念,以及開源原則。

因為 RISC-V ISA 是開源的,所以可自由地用於任何目的。任何人都可以設計、製造和銷售基於 RISC-V 的芯片和軟件,而無需支付版稅。

Arduino 式針座(包含注意事項)

HiFive1 開發套件複製了 Arduino 獨特的 I/O 針座佈局。它可以接受數以百計可用 Arduino 盾板中的多數類型,但有幾點需要注意。

首先,微控制器沒有模擬輸入引腳。HiFive1 開發套件的 Arduino 式針座只能進行數字 I/O、中斷和脈衝寬度調製 (PWM) 引腳分配。

Arduino Uno 開發板上 A0 至 A5 模擬引腳所用的物理針座位置在 HiFive1 開發板上標註為 D14 至 D19 數字 I/O 引腳。

如果有必要添加模擬功能,可使用眾多可用模數轉換器 (ADC)、數模轉換器 (DAC) 或組合 ADC/DAC Arduino 盾板中的一種。

另請注意:

  • 設計人員可將多達 9 個 PWM 發生器分配到 HiFive1 開發套件上的 Arduino 式針座引腳。

  • HiFive1 開發套件的所有 19 個 Arduino 式針座 I/O 引腳均可用作中斷輸入。

這就引出了第二個注意事項:迄今為止,只有以下兩款 Adafruit Arduino 盾板通過了 HiFive1 測試,因為只有針對這兩款盾板的 Adafruit 支持庫已移植到 HiFive1 庫:

  • Adafruit 的電阻式觸摸屏和 LED 顯示屏

  • Adafruit 的 BLE SPI Friend

接下來將詳細介紹 HiFive1 開發套件的核心,即微控制器。

「解密」Arduino 与 RISC-V 架构结合,实现完美嵌入式设计

該微控制器的中心是基於開源的 32 位 RISC-V ISA 的 CPU 內核。就 RISC-V 而言,核心是 RV32IMAC 處理器。

這意味著它使用的是基本 32 位 RISC-V 整數指令集 (RV32I),具有整數硬件乘除 (M) ;原子、實時指令 (A);以及對 16 位精簡 (C) 指令集的附加支持。另外還有 64 位和 128 位版本的 RISC-V ISA。該內核還包括 16 Kb 的指令緩存(在框圖中標記為“I $”)和 16 Kb 的暫存器 SRAM。

幾個標準外設包括定時器、PWM 信號發生器、實時時鐘、UART、QSPI 串行接口以及圍繞處理器內核的一個片上硬件調試模塊。

RISC-V 架構幕後有誰或者說有什麼?為什麼?

HiFive1 開發套件和微控制器實際上是開源 RISC-V 處理器架構的硬件演示工具,是一個假設論證:世界真的需要另一種處理器架構嗎?

RISC-V 項目始於加州大學伯克利分校,最終超越了大學研究的範疇,充分發揮了更多自願參與者和電子行業人士的想象力。

該項目的最終結果是開源代碼 RISC 處理器 ISA(指令集架構),與其他任何 32 位 RISC ISA 幾乎一樣。不同之處在於任何人都可以自由地將 RISC-V ISA 用於任何目的。

就 HiFive1 開發板而言,嵌入式系統開發人員需要的不僅僅是處理器或微控制器芯片。

對於 RISC-V,嵌入式開發人員需要工具、示例代碼、庫和軟件堆棧等形式的開發支持。這類支持來自圍繞成功的處理器架構和用戶而發展的生態系統。

總結

經濟實惠的 Arduino Uno 開發板外形小巧輕便,可訪問數百個 I/O 和外設盾板。HiFive1 開發套件利用這些現有盾板,通過緊密複製緊湊型 Arduino Uno 開發板的外形尺寸和獨特針座配置,將其與基於 RISC-V 的 32 位微控制器配接。

HiFive1 開發套件具有 16 Mb 板載閃存,可提供更高的代碼存儲能力。儘管它是一款新的架構,但嶄露頭角的開源 RISC-V 生態系統提供了一套擴展的軟件開發工具,包括編譯器、彙編器、調試器和 Arduino IDE 庫。

    • 開源 GNU MCU Eclipse:一系列基於 GNU 工具鏈的 Eclipse 多平臺嵌入式開發插件和工具。

    • Segger 的 Embedded Studio for RISC-V:一款用於嵌入式 C/C ++ 軟件開發的跨平臺 IDE 以及該公司的 J-Link 調試探測器。



分享到:


相關文章: