色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

Arduino玩家如何用ShieldBuddy開發(fā)板玩轉FPU

得捷電子DigiKey ? 來源:得捷電子DigiKey ? 作者: Clive Maxfield ? 2021-12-10 09:57 ? 次閱讀

許多業(yè)余愛好者、創(chuàng)客DIY愛好者都使用Arduino微機開發(fā)板來監(jiān)視和控制他們的項目。于是,越來越多的專業(yè)工程師也開始將這些開發(fā)板用作評估和原型開發(fā)平臺,以便加快開發(fā)速度,降低集成電路IC)、傳感器和外設評估方面的成本。如《使用Arduino BOB快速評估傳感器和外設》一文所述,這些工程師所在的團隊可能比較精簡,而且還深受產品上市時間(TTM) 日益縮短的制約。因此,他們必須承擔多個工程領域的工作,同時設法加快元器件評估并降低成本。

其中一種解決方案是將Arduino與傳感器和外設分線板 (BOB) 之類的開源硬件及庫和示例程序之類的開源軟件結合使用。盡管有多種Arduino開發(fā)板可以滿足一系列的處理和存儲器要求,但是使用浮點運算器 (FPU) 卻能更好地完成某些計算,從而避免減慢主處理器的速度。

在Arduino生態(tài)系統(tǒng)中,ShieldBuddy就已經解決了這一問題。 本文將介紹多種Arduino處理平臺選項,解釋為什么FPU功能對許多應用都很重要,然后介紹ShieldBuddy,這款開發(fā)板與Arduino開發(fā)板采用類似的物理封裝,但具有三個獨立的200MHz 32位處理器內核,并且每個內核都有各自的FPU。此外,本文還將介紹該開發(fā)板的編程模型,展示其基于Eclipse的編程環(huán)境及其對Arduino集成開發(fā)環(huán)境 (IDE) 的支持如何幫助DIY愛好者和設計人員快速入門。

適合新手和專業(yè)人士的Arduino

剛踏入Arduino領域的新手往往從Arduino Uno Rev3(圖1)入手,這款開發(fā)板基于16MHz 8位ATmega328P微控制器。該開發(fā)板只有32KB的閃存(程序),2KB的SRAM,14個數字輸入/輸出 (I/O) 引腳和6個模擬輸入引腳。其中6個數字引腳可以提供脈沖寬度調制 (PWM) 輸出,必要時模擬引腳也可用作數字I/O引腳。

Arduino Uno Rev3的排針封裝是連接擴展板這一龐大子板生態(tài)系統(tǒng)的基礎,包括14個數字I/O引腳、6個模擬輸入引腳,以及多個電源、接地和基準源引腳。

繼Uno Rev3之后,許多用戶都轉用Arduino Mega 2560 Rev3開發(fā)板(圖2)。這款開發(fā)板基于16MHz 8位ATmega2560微控制器。該開發(fā)板具有256KB的閃存和8KB的SRAM。此外,該板的排針封裝表明它與Uno支持相同的擴展板,不過,Mega配有更多排針,因此具有54個數字I/O引腳和16個模擬輸入引腳。其中15個數字引腳可以提供PWM輸出;同樣,必要時模擬引腳也可用作數字I/O引腳。

除了受限于8位數據路徑和16MHz的時鐘頻率之外,Arduino Uno和Arduino Mega微控制器均不具備FPU,因而任何涉及浮點數的計算都會顯著減慢這些處理器的速度。

如果用戶想要更強的處理能力,則可以升級使用Arduino Due(圖3)。這款開發(fā)板與Arduino Mega采用類似的物理封裝,但基于Atmel/Microchip Technology SAM3X8E的84MHz 32位Arm Cortex-M3處理器。該開發(fā)板具有512KB的閃存、96KB SRAM、54個數字I/O引腳、12個模擬輸入引腳,以及2個由數模轉換器DAC) 驅動的模擬輸出引腳。其中,只有12個數字引腳可以提供PWM輸出;同樣,必要時模擬引腳也可用作數字I/O引腳。不過,遺憾的是,與Arduino Uno和Mega一樣,Arduino Due的處理器也不具備FPU。

許多用戶(包括業(yè)余愛好者和專業(yè)人士)都喜歡Arduino Mega和Arduino Due開發(fā)板具有較多的引腳。但是,即使是Arduino Due的84MHz 32位處理器可能也難以執(zhí)行某些計算密集型任務。同樣,對于需要處理大量數據的大型程序,Due配備的512KB的閃存和96KB的SRAM仍顯不足。

盡管如今的微控制器能處理的數據量越來越大,但是從提高效率和降低延遲方面考慮,使用FPU可以更好地完成某些計算。

什么是FPU?為什么需要它?

要討論FPU為何有用,首先要說說計算機處理數字的原理。在計算機中,最簡單的數字表示法是整型(整數),而且使用整型數進行計算,運算成本較低。不過,整型數本質上范圍有限,因而無法表示較大的動態(tài)范圍。

對于工程師和科學家而言,這是個問題,因為他們常常需要在同一計算中使用極大和極小的數值。例如,物理學家可能需要同時使用光速 (300,000,000) 和牛頓引力常數(0.00000000006674) 來進行計算。同樣,在數字信號處理 (DSP) 等任務以及人工智能AI) 和機器學習 (ML) 應用中,工程師則要使用較大動態(tài)范圍的數值。

在這種情況下,解決方案就是使用浮點數表示法,即小數點的位置可根據數值的各個數字“浮動”,從而實現更高的數字“分辨率”。但問題在于,盡管32位浮點數所占內存與32位整型定點數相同,使用浮點數進行計算卻需要更多的計算資源。

如果處理器必須使用標準定點硬件進行浮點運算,那么必定會極大地影響該處理器的性能。在這種情況下,解決方案就是為處理器配備特殊的FPU,即可在很短的時鐘周期內完成復雜的浮點運算。

這正是ShieldBuddy的用武之地。

ShieldBuddy為Arduino生態(tài)系統(tǒng)引入FPU和高性能

目前,一款相對較新的兼容Arduino的開發(fā)板是Infineon Technologies的KITAURIXTC275ARDSBTOBO1,即ShieldBuddy(圖4)。這款嵌入式評估板主要面向Infineon的TC275T64F200WDCKXUMA1 TC275 AURIX TC2xx TriCore 32位微控制器。

ShieldBuddy與Arduino Mega和Arduino Due采用類似的物理封裝,可與許多應用擴展板兼容,但區(qū)別在于它配備的TC275具有三個獨立的200MHz 32位內核,并且每個內核都有各自的FPU。此外,ShieldBuddy具有4MB的閃存(分別是Arduino Due的8倍、Arduino Mega的16倍),以及500KB的RAM(分別是Arduino Due的5倍、Arduino Mega的62倍)。

有一點可明顯看出區(qū)別:Arduino Mega內核每微秒 (μs) 只能處理約16條8位指令;相比之下,TC275每個內核的周期時間為5ns,因而每個內核每微秒通常可執(zhí)行約150至200條32位指令。由于ShieldBuddy的每個處理器內核都有各自的FPU,因此該板進行浮點運算時,幾乎不會削弱性能。

使用ShieldBuddy進行開發(fā)

使用ShieldBuddy時,專業(yè)軟件開發(fā)人員也許希望借助Eclipse IDE,而業(yè)余愛好者和創(chuàng)客可能更偏好使用為人熟知的Arduino IDE。該板可支持這兩個選項。

Arduino的用戶都很清楚,每個草圖(程序)必須具有兩個標準函數:setup()(單次運行)和loop()(多次運行)。除此之外,用戶還可以創(chuàng)建自己的函數。

ShieldBuddy的三個內核分別稱作Core 0、Core1和Core 2。在使用Arduino IDE的情況下,大多數現有草圖都可以編譯,以便直接用于ShieldBuddy而無需修改。setup()和loop() 函數及其調用的所有用戶創(chuàng)建的函數經編譯后,均默認在Core0上運行。

創(chuàng)建新程序時,用戶可將這些函數命名為setup0() 和loop0() 以達到相同的效果。另外,用戶也可以創(chuàng)建setup1() 和loop1() 函數。這些函數及其調用的所有用戶創(chuàng)建的函數經編譯后,均會自動在Core 1上運行。同理,setup2()和loop2() 函數及其調用的所有用戶創(chuàng)建的函數經編譯后,均會自動在Core2上運行。

默認情況下,各個內核獨立運行,因此ShieldBuddy可以同時運行三個完全獨立的程序。盡管如此,各內核間也可使用共享存儲器等技術進行通信。此外,每個內核還都可以在其他內核中觸發(fā)軟中斷。

結語

事實證明,Arduino的開源理念取得了巨大的成功,隨之衍生的硬件和軟件生態(tài)系統(tǒng)也得以發(fā)展,包含了數百種擴展板、數千個庫和應用程序。

盡管早期的Arduino開發(fā)板(例如16MHz 8位ArduinoUno和Arduino Mega)具有一定的局限性,但較新的產品(例如84MHz 32位Arduino Due)功能明顯就更強大。即便如此,許多用戶仍需要更多的程序存儲空間(閃存)、更多的數據存儲空間(SRAM) 和更強的處理能力,而這些都絕非任何傳統(tǒng) Arduino 所能提供。

ShieldBuddy具有4MB的閃存、500KB的SRAM和三個獨立的200MHz 32位處理器內核,而且每個內核都有各自的FPU,將Arduino理念提升到一個全新的層次,因而追求極致的DIY愛好者和專業(yè)工程師都對它興趣濃厚。

編輯:金巧

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

    關注

    27

    文章

    8741

    瀏覽量

    147702
  • Arduino
    +關注

    關注

    188

    文章

    6477

    瀏覽量

    187549

原文標題:Arduino玩家如何玩轉FPU?用ShieldBuddy開發(fā)板,就能行!

文章出處:【微信號:得捷電子DigiKey,微信公眾號:得捷電子DigiKey】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    [迅為RK3568開發(fā)板]非科班也能玩轉Android應用,體驗QT跨平臺能力

    [迅為RK3568開發(fā)板]非科班也能玩轉Android應用,體驗QT跨平臺能力
    的頭像 發(fā)表于 12-18 16:41 ?406次閱讀
    [迅為RK3568<b class='flag-5'>開發(fā)板</b>]非科班也能<b class='flag-5'>玩轉</b>Android應用,體驗QT跨平臺能力

    何用OpenCV進行手勢識別--基于米爾全志T527開發(fā)板

    本文將介紹基于米爾電子MYD-LT527開發(fā)板(米爾基于全志T527開發(fā)板)的OpenCV手勢識別方案測試。摘自優(yōu)秀創(chuàng)作者-小火苗米爾基于全志T527開發(fā)板一、軟件環(huán)境安裝1.安裝OpenCVsudoapt-getinstall
    的頭像 發(fā)表于 12-13 08:04 ?809次閱讀
    如<b class='flag-5'>何用</b>OpenCV進行手勢識別--基于米爾全志T527<b class='flag-5'>開發(fā)板</b>

    Arduino Nano Matter開發(fā)板正式上市

    Silicon Labs(芯科科技)和Arduino在近日共同宣布Arduino Nano Matter開發(fā)板現已正式上市。這是延續(xù)今年3 月芯科科技和Arduino釋出
    的頭像 發(fā)表于 12-10 13:50 ?281次閱讀

    玩轉RK3588開發(fā)板基于connector-split 功能實現多屏聯(lián)動

    玩轉RK3588開發(fā)板基于connector-split 功能實現多屏聯(lián)動
    的頭像 發(fā)表于 12-02 16:05 ?388次閱讀
    <b class='flag-5'>玩轉</b>RK3588<b class='flag-5'>開發(fā)板</b>基于connector-split 功能實現多屏聯(lián)動

    基于Arduino的串口通信項目

    基于Arduino的串口通信項目涉及多個方面,包括硬件連接、軟件編程、串口參數配置等。 一、硬件準備 Arduino開發(fā)板 :確保你有一塊Arduino
    的頭像 發(fā)表于 11-22 09:24 ?791次閱讀

    正點原子fpga開發(fā)板不同型號

    正點原子作為國內領先的FPGA開發(fā)板供應商,其產品線覆蓋了從入門級到高端應用的各個領域。這些開發(fā)板不僅適用于學術研究,還廣泛應用于工業(yè)控制、通信、圖像處理等多個領域。 1. 入門級開發(fā)板 1.1
    的頭像 發(fā)表于 11-13 09:30 ?1114次閱讀

    NXP FRDM-MCXC444開發(fā)板在RT-Thread環(huán)境下的上手過程

    NXP FRDM-MCXC444開發(fā)板是一款基于MCX C444 MCU的高性能開發(fā)板,它集成了豐富的硬件資源和接口,支持快速原型設計。本文將為讀者提供一份詳細的RT-Thread上手指南,幫助大家輕松玩轉這款
    的頭像 發(fā)表于 10-12 11:51 ?448次閱讀
    NXP FRDM-MCXC444<b class='flag-5'>開發(fā)板</b>在RT-Thread環(huán)境下的上手過程

    51開發(fā)板芯片資料

    51開發(fā)板芯片資料
    發(fā)表于 09-18 09:29 ?1次下載

    RISC-V有沒有類似Arduino那樣的開發(fā)板

    使用ARduino開發(fā),由于有第三方提供的庫支持,在開發(fā)上非常方便。RISC-V有沒有在Arduino IDE上可以使用的開發(fā)板
    發(fā)表于 06-23 12:32

    使用AURIX Development Studio在ShieldBuddy TC275上進行調試報錯的原因?

    我正試圖使用 AURIX Development studio v 1.9.20 快速掌握 ShieldBuddy (TC275),當我嘗試調試默認的 \"Hello World
    發(fā)表于 05-27 07:32

    SiliconLabs攜手Arduino演示基于MGM240模塊的新型Nano Matter開發(fā)板

    Arduino Nano Matter開發(fā)板,從而將Matter協(xié)議引入Arduino生態(tài)系統(tǒng),為廣大的開發(fā)人員提供一個快速涉足Matter互聯(lián)互通設計的絕佳途徑。
    的頭像 發(fā)表于 04-11 17:35 ?689次閱讀
    SiliconLabs攜手<b class='flag-5'>Arduino</b>演示基于MGM240模塊的新型Nano Matter<b class='flag-5'>開發(fā)板</b>

    何用Arduino開發(fā)STM32G070?

    何用Arduino開發(fā)STM32G070,各位大神有相關教程嗎。我如何在Arduino開發(fā)板管理器中添加STM32G070
    發(fā)表于 04-07 08:22

    fpga開發(fā)板是什么?fpga開發(fā)板有哪些?

    FPGA開發(fā)板是一種基于FPGA(現場可編程門陣列)技術的開發(fā)平臺,它允許工程師通過編程來定義和配置FPGA芯片上的邏輯電路,以實現各種數字電路和邏輯功能。FPGA開發(fā)板通常包括FPGA芯片、時鐘模塊、電源模塊、輸入輸出接口等組
    的頭像 發(fā)表于 03-14 18:20 ?2113次閱讀

    fpga開發(fā)板使用教程

    FPGA開發(fā)板的使用教程主要包括以下幾個關鍵步驟。
    的頭像 發(fā)表于 03-14 15:50 ?1217次閱讀

    fpga開發(fā)板與linux開發(fā)板區(qū)別

    FPGA開發(fā)板與Linux開發(fā)板是兩種不同的硬件開發(fā)平臺,各自具有不同的特點和應用場景。在以下的文章中,我將詳細介紹FPGA開發(fā)板和Linux開發(fā)板
    的頭像 發(fā)表于 02-01 17:09 ?2380次閱讀
    主站蜘蛛池模板: 最近最新的日本字幕MV| 强行撕开衣服捏胸黄文| 娇妻让壮男弄的流白浆| 秋霞午夜一级理论片久久| 伊人久久影院| 国产三级91| 日日啪在线影院百度| 伊人久综合| 亲胸吻胸添奶头GIF动态图免费| 国产av在线看的| 青青青久久| 国产永久免费视频| 天天躁躁水汪汪人碰人| 草莓视频在线看免费高清观看| 老司机试看午夜| 亚洲欧美日韩精品自拍| 国产区在线不卡视频观看| 最近最新中文字幕MV高清在线| 日本学生VIDEOVIDEOS更新| 成人免费视频在线| 日本浴室日产在线系列| 黑人巨茎vide抽搐| 在线视频 国产 日韩 欧美| 美国色情三级欧美三级纸匠情挑| 中文字幕绝色少妇性| 免费高清毛片| 99精品在线免费| 男女XX00上下抽搐动态图| 2019伊人查蕉在线观看| 美国特级成人毛片| 国产久久热99视频| 亚洲精品一区二区在线看片| 久久www成人看片| 最美白嫩的极品美女ASSPICS| 爽爽窝窝午夜精品一区二区| 国产在线午夜| 擦擦擦在线视频观看| 一本色道久久综合亚洲精品蜜桃冫 | 蜜桃视频无码区在线观看| 国产在线精品亚洲| 大学生第一次破女在线观看|