那曲檬骨新材料有限公司

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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

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

Arduino玩家如何用ShieldBuddy開(kāi)發(fā)板玩轉(zhuǎn)FPU

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

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

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

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

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

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

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

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

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

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

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

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

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

要討論FPU為何有用,首先要說(shuō)說(shuō)計(jì)算機(jī)處理數(shù)字的原理。在計(jì)算機(jī)中,最簡(jiǎn)單的數(shù)字表示法是整型(整數(shù)),而且使用整型數(shù)進(jìn)行計(jì)算,運(yùn)算成本較低。不過(guò),整型數(shù)本質(zhì)上范圍有限,因而無(wú)法表示較大的動(dòng)態(tài)范圍。

對(duì)于工程師和科學(xué)家而言,這是個(gè)問(wèn)題,因?yàn)樗麄兂3P枰谕挥?jì)算中使用極大和極小的數(shù)值。例如,物理學(xué)家可能需要同時(shí)使用光速 (300,000,000) 和牛頓引力常數(shù)(0.00000000006674) 來(lái)進(jìn)行計(jì)算。同樣,在數(shù)字信號(hào)處理 (DSP) 等任務(wù)以及人工智能AI) 和機(jī)器學(xué)習(xí) (ML) 應(yīng)用中,工程師則要使用較大動(dòng)態(tài)范圍的數(shù)值。

在這種情況下,解決方案就是使用浮點(diǎn)數(shù)表示法,即小數(shù)點(diǎn)的位置可根據(jù)數(shù)值的各個(gè)數(shù)字“浮動(dòng)”,從而實(shí)現(xiàn)更高的數(shù)字“分辨率”。但問(wèn)題在于,盡管32位浮點(diǎn)數(shù)所占內(nèi)存與32位整型定點(diǎn)數(shù)相同,使用浮點(diǎn)數(shù)進(jìn)行計(jì)算卻需要更多的計(jì)算資源。

如果處理器必須使用標(biāo)準(zhǔn)定點(diǎn)硬件進(jìn)行浮點(diǎn)運(yùn)算,那么必定會(huì)極大地影響該處理器的性能。在這種情況下,解決方案就是為處理器配備特殊的FPU,即可在很短的時(shí)鐘周期內(nèi)完成復(fù)雜的浮點(diǎn)運(yùn)算。

這正是ShieldBuddy的用武之地。

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

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

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

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

使用ShieldBuddy進(jìn)行開(kāi)發(fā)

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

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

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

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

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

結(jié)語(yǔ)

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

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

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

編輯:金巧

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

    關(guān)注

    27

    文章

    8745

    瀏覽量

    148054
  • Arduino
    +關(guān)注

    關(guān)注

    188

    文章

    6477

    瀏覽量

    187827

原文標(biāo)題:Arduino玩家如何玩轉(zhuǎn)FPU?用ShieldBuddy開(kāi)發(fā)板,就能行!

文章出處:【微信號(hào):得捷電子DigiKey,微信公眾號(hào):得捷電子DigiKey】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    [迅為RK3568開(kāi)發(fā)板]非科班也能玩轉(zhuǎn)Android應(yīng)用,體驗(yàn)QT跨平臺(tái)能力

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

    何用OpenCV進(jìn)行手勢(shì)識(shí)別--基于米爾全志T527開(kāi)發(fā)板

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

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

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

    玩轉(zhuǎn)RK3588開(kāi)發(fā)板基于connector-split 功能實(shí)現(xiàn)多屏聯(lián)動(dòng)

    玩轉(zhuǎn)RK3588開(kāi)發(fā)板基于connector-split 功能實(shí)現(xiàn)多屏聯(lián)動(dòng)
    的頭像 發(fā)表于 12-02 16:05 ?415次閱讀
    <b class='flag-5'>玩轉(zhuǎn)</b>RK3588<b class='flag-5'>開(kāi)發(fā)板</b>基于connector-split 功能實(shí)現(xiàn)多屏聯(lián)動(dòng)

    基于Arduino的串口通信項(xiàng)目

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

    【迅為】瑞芯微RK3588開(kāi)發(fā)板RK3568開(kāi)發(fā)板區(qū)別及優(yōu)勢(shì)

    RK3568開(kāi)發(fā)板
    的頭像 發(fā)表于 11-18 14:19 ?584次閱讀
    【迅為】瑞芯微RK3588<b class='flag-5'>開(kāi)發(fā)板</b>RK3568<b class='flag-5'>開(kāi)發(fā)板</b>區(qū)別及優(yōu)勢(shì)

    正點(diǎn)原子fpga開(kāi)發(fā)板不同型號(hào)

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

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

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

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

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

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

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

    使用AURIX Development Studio在ShieldBuddy TC275上進(jìn)行調(diào)試報(bào)錯(cuò)的原因?

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

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

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

    何用Arduino開(kāi)發(fā)STM32G070?

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

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

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

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

    FPGA開(kāi)發(fā)板的使用教程主要包括以下幾個(gè)關(guān)鍵步驟。
    的頭像 發(fā)表于 03-14 15:50 ?1256次閱讀
    百家乐官网学院教学视频| 威尼斯人娱乐场送1688元礼金领取lrm| 八大胜百家乐官网现金网| 视频百家乐是真是假| 百家乐官网手机版| 百家乐大小点桌子| 真人百家乐官网现金游戏| 正品百家乐玩法| 百家乐官网软件编辑原理| 全讯网3344111.com| 百家乐官网规则以及玩法 | 澳门百家乐大揭密| 澳门赌百家乐官网打法| 大发888打不开| 百家乐筹码防伪定制| 玩百家乐官网优博娱乐城| 大发888扑克| 百家乐庄闲必赢| 真钱百家乐官网开户试玩| 大发888zhldu| 百家乐发牌盒子| 在线玩百家乐官网的玩法技巧和规则 | 大发888真坑阿| 百家乐长龙太阳城| 百家乐官网一般的庄闲比例是多少| 456棋牌官网| 香港百家乐赌城| 足球百家乐官网系统| 真人百家乐官网888| 大发888备用网址大全| 百家乐娱乐城备用网址| 百家乐官网连跳趋势| 新世纪娱乐| 百家乐开户过的路纸| 百家乐连线游戏下载| 网上百家乐官网大转轮| 安溪县| 大发888官方下载 银行| 百家乐打水套利| 百家乐官网起步多少| 杭州太阳城假日酒店|