日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

Arduino環(huán)境中的FPGA:模塊支持預配置和定制IP

丫丫119 ? 來源:未知 ? 作者:肖冰 ? 2019-08-14 10:44 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

當固件在微控制器微處理器上的運行速度過慢時,現(xiàn)場可編程門陣列 (FPGA) 可解決實時嵌入式設計的硬件問題。同時,F(xiàn)PGA 還具有外設靈活性。然而,要使用 FPGA,設計工程師就需要學習全新的編程語言(通常為 Verilog 或 VHDL)以及全新的開發(fā)流程來生成 FPGA 比特流,而且可能需要投入大量資金用于購買 FPGA 開發(fā)板。

由于這些障礙,盡管 FPGA 是設計工具箱中非常有用的工具,但許多設計工程師都不愿意使用。為幫助他們克服這種心態(tài),一些供應商正在致力于縮短 FPGA 學習曲線。例如,Arduino推出了 ArduinoABX00022 MKR Vidor 4000FPGA 開發(fā)板(參見“通過 Arduino MKR Vidor 4000 快速輕松地應用 FPGA”)。Arduino MKR Vidor 4000 提供了另一種 FPGA 編程方法,與廣受歡迎的Arduino 集成開發(fā)環(huán)境(IDE) 無縫集成,并且可以使用專用 Arduino 庫擴展獲得 FPGA 級性能。

現(xiàn)在又推出新產(chǎn)品以替代早前的產(chǎn)品,其中就包括 Arduino MKR Vidor 4000 板。Alorium Technology則開發(fā)了一種稍微不同的方法來將 FPGA 性能添加到 Arduino 嵌入式開發(fā)環(huán)境中。這種方法既支持預配置 IP 塊進行 I/O 加速,也支持定制設計的 IP 塊。

本文首先簡要介紹 FPGA 的傳統(tǒng)使用方法,然后深入介紹 Alorium 的 Arduino 兼容型XLR8R22M08V5U0DI和 SnōSNOR20M16V3FPGA 模塊。本文將說明 Alorium 如何以全新的理念在 Arduino 環(huán)境中使用 FPGA,既支持預配置 IP,又能構建定制 IP,以及設計人員如何開始應用 FPGA 模塊。

如何加速 Arduino

現(xiàn)在,全球成千上萬的設計人員、工程師、開發(fā)人員、DIY 愛好者和創(chuàng)客都在使用 Arduino 開發(fā)板系列的不同版本,為各種各樣的應用開發(fā)嵌入式系統(tǒng)。由于 Arduino 板和 Arduino IDE 的使用和編程方法都非常簡單,因此深受歡迎。

隨著 Arduino 用戶不斷將最初的 Arduino 架構推進到更加復雜的應用領域,性能問題開始出現(xiàn)。一部分性能問題是最初的 Arduino 微控制器的 8 位架構過于簡單。另一部分問題是當 Arduino 的嵌入式微控制器不具備等效硬件塊時,Arduino 軟件系統(tǒng)只能通過軟件實現(xiàn)大量實時外設。

這一性能問題的一種解決方法是使用功能更強大的微控制器,但軟件在實時環(huán)境中能做的事情是有限的。一些高速實時外設必須在硬件中實現(xiàn)。此外,雖然也可以使用配備更多硬件外設的微控制器,但適用的外設組合則取決于具體的項目。

對此,微控制器制造商常在一個微處理器系列中提供數(shù)十個甚至上百個版本,以此解決對于不同外設組合的需求。然而,這種方法對于 Arduino 等板級產(chǎn)品并不可行,因為必須使用具有足夠 I/O 引腳的板載連接器來滿足所有需求。盡管現(xiàn)在市面上有很多版本的 Arduino 板,但仍然不足以滿足所有嵌入式項目的需求。

FPGA 可滿足各種外設組合需求

通過向嵌入式設計人員提供可編程硬件,F(xiàn)PGA 能夠滿足因項目而異的外設組合需求。為嵌入式微控制器板添加 FPGA 功能的一種簡單方法是,將 FPGA 添加到現(xiàn)有設計中。這也是 Arduino 在設計 Arduino MKR Vidor 4000 板時采用的方法。該板結合了Microchip Technology的基于 32 位Arm?Cortex?-M0+ 的ATSAMD21G18A-AUTSAMD21 低功耗微控制器與Intel的10CL016YU484C6GCyclone 10 FPGA。

Arduino 專為 MKR Vidor 4000 板向 Arduino IDE 中添加了幾個硬件 IP 塊。這些外設可由兩個主庫提供:VidorPeripherals和VidorGraphics。當 Arduino 草圖(Arduino 用來表示程序或代碼單元的名稱)中包含相關外設庫時,Arduino MKR Vidor 4000 上的 Intel Cyclone 10 FPGA 會自動構建這些硬件 IP 塊。目前的外設 IP 塊清單包括:

I2C 端口

SPI 端口

UART

高頻 PWM 控制器

高速定時器

高速正交解碼器

Adafruit Industries的Neopixel可尋址 RGB 智能 LED 控制器

其中一些外設(例如 I2C 和 SPI)已經(jīng)作為軟件 IP 塊用于早前的 Arduino 板。這些早期軟件實現(xiàn)與 Arduino MKR Vidor 4000 板的 FPGA 上實現(xiàn)的等效 IP 塊的區(qū)別在于,F(xiàn)PGA 版本的外設性能更好。例如,每個 I2C 和 SPI 實例化都是通過板上 FPGA 內(nèi)部的獨立可編程硬件塊實現(xiàn)的。因此,實例化若干個這樣的串行端口時沒有性能損失。

通過以 FPGA 硬件實現(xiàn)外設塊,并借助 Arduino 草圖編寫人員已經(jīng)熟悉的相同庫機制使其可用,Arduino MKR Vidor 4000 板簡化了 FPGA 的使用。無需學習 VHDL 或 Verilog 之類新的硬件描述語言 (HDL)。實際上,對于程序員而言,基于 FPGA 的外設與任何其他 C++ 對象并無二致。Arduino 計劃日后添加更多此類硬件 IP 塊外設。

然而,Arduino MKR Vidor 4000 板與通用的 FPGA 開發(fā)板仍有所不同,因為它不支持使用 HDL 代碼對板載 Cyclone 10 FPGA 直接編程。Arduino 正計劃使用 Intel 面向 FPGA 的Quartus HDL 開發(fā)工具,允許更多高級用戶通過 Arduino MKR Vidor 4000 板的 FPGA 來實現(xiàn)更多用途。

Alorium 邁出下一步

對于 Arduino 兼容型 XLR8R22M08V5U0DI 和 SNOR20M16V3 Snō FPGA 開發(fā)板,Alorium 已通過 OpenXLR8 方法和 Xcelerator Block (XB) 邁出了這一步(圖 1 和圖 2)。這兩款板基于 IntelMAX 10 FPGA 系列的不同版本構建,該系列集成有閃存配置存儲器。XLR8 結合了 Intel10M08SAU169C8GMAX 10 與 8 位 ATmega328 指令集兼容型微控制器。它的外形尺寸與最初的Arduino Uno開發(fā)板相同,因此與很多 Arduino Shield 和配件兼容。

圖 1:Alorium Technology 的 XLR8R22M08V5U0DI 開發(fā)板結合了 Intel MAX 10 FPGA 與 8 位 ATmega328 指令集兼容型微控制器,全部集成在一個 Arduino Uno 外形尺寸中。(圖片來源:Alorium Technology)

Alorium Snō FPGA 開發(fā)板的尺寸相對小得多,該模塊尺寸規(guī)格為 0.7 x 1.7 英寸,見圖 2。盡管 Snō FPGA 開發(fā)板的物理尺寸更小,但它集成了 Intel MAX 10 FPGA 的更高版本,配備的邏輯單元也多出一倍:10M16SAU169C8GMAX 10 FPGA 有 16K,而 XLR8 板上的 10M08 器件只有 8K。前者的 I/O 引腳也是后者的兩倍多(32 個,對比 XLR8 板的 14 個)。

圖 2:與 XLR8 開發(fā)板一樣,Alorium Technology 的 Snō FPGA 開發(fā)板也結合了 8 位 ATmega328 指令集兼容型微控制器與 Intel MAX 10 FPGA — 該開發(fā)板采用的是 10M16SAU169C8G FPGA。不過,Snō FPGA 開發(fā)板的尺寸規(guī)格小得多。(圖片來源:Alorium Technology)

Alorium 還提供了SNOMAKRR10分線板,可將 Snō FPGA 模塊轉換為稍大的 Arduino 外形尺寸板,配備 USB 端口和來自 FPGA 的附加 I/O 分線引腳。Snō FPGA 模塊的一些引腳連到與 Arduino 兼容的 SnōMAKR 分線板擴展排針,而其他引腳連到 USB 連接器對面、沿開發(fā)板邊緣分布的一排附加針座(圖 3)。

圖 3:Alorium 的 SNOMAKRR10 分線板可以將該公司的 Snō FPGA 開發(fā)板轉換為與 Arduino 兼容的外形尺寸,配備 USB 端口和板載穩(wěn)壓器,因而使用 USB 電纜就能直接為開發(fā)板供電。(圖片來源:Alorium Technology)

XLR8 和 Snō FPGA 開發(fā)板都在一個芯片 — IntelMAX 10FPGA 中實現(xiàn) 8 位微控制器及其硬件外設。圖 4 圖解說明了實現(xiàn)方法。

圖 4:XLR8 和 Snō FPGA 開發(fā)板都在 MAX 10 FPGA 中以軟內(nèi)核方式實現(xiàn)AtmelAVR 兼容型微控制器。(圖片來源:Alorium Technology)

AVR 兼容型微控制器內(nèi)核(圖 4 左下部分)與最初 Arduino 開發(fā)板中使用的 AtmelATmega3288 位 AVR 微控制器相同。然而,Alorium 的 AVR 微控制器是以 FPGA 中的軟內(nèi)核方式實現(xiàn),而不是另載于獨立芯片之上。

圖 4 中,該微控制器內(nèi)核上方共有五個 Alorium XB(XB1 至 XB5)。XB 是通過 FPGA 的片上資源實現(xiàn)的 IP 塊。AVR 微控制器可通過可尋址寄存器接口與這些片上 XB 進行通信。XLR8 和 Snō 開發(fā)板隨附了預安裝的 XB(也在 GitHub 中提供),它們相當于 Arduino 開發(fā)人員經(jīng)常需要使用的外設,包括:

正交解碼

伺服電機控制

NeoPixel RGB LED 控制

12 位增強型 ADC

浮點數(shù)學

請注意,上面列出的最后一種 XB 其實并不是 I/O 外設塊,而是浮點數(shù)學加速器。XB 可以是任何類型的硬件加速器,而不只局限于 I/O。

選取任何塊

XLR8 和 Snō FPGA 開發(fā)板都可現(xiàn)場更新,方法是選擇不同的 XB(或多個同類 XB),使用 Alorium 的 OpenXLR8 開發(fā)流程在 FPGA 中實例化。開發(fā)人員也可以使用 Alorium 的 OpenXLR8 流程構建定制 Xcelerator Block(圖 5)。

圖 5:通過 Alorium 的 OpenXLR8 開發(fā)流程,設計人員可以使用 Intel 的 Quartus Prime 設計工具構建新的硬件塊,并將其添加到 Arduino IDE。(圖片來源:Alorium Technology)

目前,要構建定制的 XB,設計人員必須具備 Verilog 或 VHDL 硬件描述語言的應用知識,并且熟悉 Intel Quartus FPGA 工具套件 — 尤其是 Quartus Prime Lite Edition 17.1 版和 Mentor Graphics 的 ModelSim 仿真工具。HDL 對于 FPGA 開發(fā)必不可少,因為它允許設計人員以一種標準的、定義完善的方式來表達多個任務的并行執(zhí)行。C 和 C++ 等高級語言 (HLL) 實質上是順序語言。

HLL 編譯器獲取 HLL 源代碼,將其轉換成一長串機器指令序列,通常一次只能執(zhí)行一個指令。這也是 FPGA 比處理器快得多的原因所在 — FPGA 能夠同時執(zhí)行數(shù)千個任務,只要 FPGA 足夠大。有一些 HLL 編譯器能夠將 C 或 C++ 編寫的代碼轉換為 HDL,然后由常規(guī)的 FPGA 工具處理,但目前 Alorium 的 OpenXLR8 設計流程并不包括這些 HLL 編譯器。

然而,一旦使用 HDL 和 FPGA 開發(fā)工具設計并調(diào)試了 XB,即可像任何其他 Arduino 庫塊一樣在 Arduino IDE 中使用。目前,Alorium 也在為 Arduino IDE 庫開發(fā)更多的 XB。

總結

在構建各自的 FPGA 開發(fā)板方面,Arduino 和 Alorium Technology 公司都認識到設計人員越來越多地需要這些經(jīng)濟實惠的開發(fā)板提供更多的嵌入式性能。盡管兩家公司采取的策略雖有所不同,但最終目標卻別無二致:努力讓更多嵌入式開發(fā)人員更方便地使用 FPGA。在最基礎的層面上,Arduino 和 Alorium 的方法讓硬件設計就像選取塊并運行腳本一樣簡單。

目前,完整的設計流程尚不夠簡單。Arduino 尚未向 HDL 開發(fā)人員開放完整的 FPGA 開發(fā)流程。雖然 Alorium 的設計流程確實包括 HDL 設計,但要求開發(fā)人員必須具備 Verilog 或 VHSL FPGA 設計語言和工具的知識。

不過,這些產(chǎn)品已將大門開啟,至少在理論上可以利用 C 和 C++ 硬件編譯器等其他 FPGA 開發(fā)方式。屆時,將可以通過使用 Alorium Technology 和 Arduino 開發(fā)的簡單方法將這些功能添加到 Arduino IDE 中,充分發(fā)揮 FPGA 的性能。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • FPGA
    +關注

    關注

    1664

    文章

    22519

    瀏覽量

    639749
  • Arduino
    +關注

    關注

    190

    文章

    6527

    瀏覽量

    197538
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    Modbus轉Ethernet/IP網(wǎng)關模塊與匯川PLC通訊在網(wǎng)關配置軟件配置

    通過Modbus轉Ethernet/IP網(wǎng)關模塊XD-MDEP100,實現(xiàn)匯川PLC與多種品牌Modbus設備的無縫通信,提高系統(tǒng)效率和穩(wěn)定性。配置軟件GWModbusBuilder完成網(wǎng)關與PLC通訊設置,
    的頭像 發(fā)表于 07-16 09:16 ?2825次閱讀
    Modbus轉Ethernet/<b class='flag-5'>IP</b>網(wǎng)關<b class='flag-5'>模塊</b>與匯川PLC通訊在網(wǎng)關<b class='flag-5'>配置</b>軟件<b class='flag-5'>中</b>的<b class='flag-5'>配置</b>

    采用LabVIEW FPGA模塊和可重新配置I/O設備開發(fā)測量與控制應用

    FPGA技術的靈活性整合到測量和控制系統(tǒng)當中。您可以使用LabVIEW 這一專門為測量和自動化控制應用開發(fā)所設計的圖形化開發(fā)環(huán)境,對嵌入在NI R 系列RIO 設備FPGA 進行
    發(fā)表于 07-23 08:15

    使用FPGAIP Core實現(xiàn)定制緩沖管理

    本帖最后由 eehome 于 2013-1-5 09:45 編輯 在通信網(wǎng)絡系統(tǒng),流量管理的核心是緩存管理、隊列管理和調(diào)度程序。本文結合使用FPGAIP Core闡述緩存管理的結構
    發(fā)表于 11-09 18:43

    求助: Arduino 連接網(wǎng)絡模塊怎么PING上位機IP?

    求助 Arduino 連接網(wǎng)絡模塊怎么PING上位機IP? 網(wǎng)上都是介紹設置好后上位機電腦PING Arduino 終端,但我想Arduino
    發(fā)表于 06-14 09:13

    如何使用FPGAIP Core實現(xiàn)定制緩沖管理?

    如何使用FPGAIP Core實現(xiàn)定制緩沖管理?
    發(fā)表于 04-29 06:01

    如何在Arduino IDE上配置好NodeMCU的開發(fā)環(huán)境

    0. 環(huán)境與預備工作Arduino IDE + NodeMCU + PIR模塊 + Firefox已經(jīng)在Arduino IDE上配置好Nod
    發(fā)表于 11-01 09:17

    Arduino-IDE配置ESP32開發(fā)環(huán)境的正確方式

    Arduino-IDE配置ESP32-CAM開發(fā)環(huán)境踩過的那些坑Arduino-IDE配置ESP32開發(fā)
    發(fā)表于 01-25 07:40

    怎樣去安裝和配置Arduino IDE開發(fā)環(huán)境

    目錄一、安裝和配置Arduino IDE開發(fā)環(huán)境1.Arduino 簡介2.軟件安裝及配置二、編譯及燒錄1、
    發(fā)表于 01-26 07:39

    FPGAIP核的生成

    FPGAIP核的生成,簡單介紹Quartus II生成IP核的基本操作,簡單實用挺不錯的資料
    發(fā)表于 11-30 17:36 ?12次下載

    工業(yè)環(huán)境的Raspberry PI和Arduino

    Raspberry PI和Arduino板是快速電子成型和家庭DIY應用中非常有名的設備,不過他們在工業(yè)環(huán)境的功能性和靈活性在很大程度上還有待評估。Raspberry PI和Arduino
    發(fā)表于 06-23 11:32 ?4927次閱讀

    FPGA VI不同的Xilinx內(nèi)核生成器IP設計實現(xiàn)與子模板說明

    。 使用Xilinx內(nèi)核生成器IP函數(shù)實現(xiàn)FPGA VI不同的Xilinx內(nèi)核生成器IP。LabVIEW使用IP集成節(jié)點實現(xiàn)上述函數(shù)。函數(shù)
    發(fā)表于 11-18 05:54 ?1948次閱讀

    Achronix宣布為其eFPGA IP解決方案推出定制單元塊

    Achronix 今日宣布為其eFPGA IP解決方案推出Speedcore custom blocks定制單元塊。Achronix Speedcore eFGPA嵌入式FPGA可加速
    發(fā)表于 01-22 16:42 ?1198次閱讀

    如何使用Arduino ESP8266開發(fā)板配置標準的Arduino開發(fā)環(huán)境

    在本教程我們將展示如何配置標準Arduino IDE使用Arduino ESP8266 IDE。Arduino IDE可 以直接加載ESP
    發(fā)表于 01-23 13:59 ?48次下載
    如何使用<b class='flag-5'>Arduino</b> ESP8266開發(fā)板<b class='flag-5'>配置</b>標準的<b class='flag-5'>Arduino</b>開發(fā)<b class='flag-5'>環(huán)境</b>

    Arduino IDE配置STM32開發(fā)環(huán)境和程序燒錄

    Arduino IDE配置STM32開發(fā)環(huán)境和燒錄前言:最近在制作3D打印機,自己畫了一塊STM32F446的3D打印機板子(RUMBA32),但是在Arduino編譯Marlin固件
    發(fā)表于 12-24 19:30 ?9次下載
    <b class='flag-5'>Arduino</b> IDE<b class='flag-5'>配置</b>STM32開發(fā)<b class='flag-5'>環(huán)境</b>和程序燒錄

    FPGA-串口通信模塊(含IP核)

    ARTIX-xlinx 版本FPGA 串口通信模塊(含IP核)
    發(fā)表于 06-20 11:07 ?16次下載
    闽清县| 毕节市| 梅河口市| 永兴县| 甘泉县| 平泉县| 永修县| 郧西县| 杭州市| 泸水县| 开封县| 若羌县| 灵台县| 安远县| 南陵县| 黔江区| 云南省| 和政县| 香河县| 古交市| 咸阳市| 大英县| 通山县| 克山县| 嘉义县| 武陟县| 安图县| 聂荣县| 吉安市| 武胜县| 本溪市| 鹰潭市| 温泉县| 和田市| 元氏县| 克山县| 灌南县| 柯坪县| 阿图什市| 澄城县| 平谷区|