国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

3天內不再提示

Arduino玩家如何用ShieldBuddy開發板玩轉FPU

得捷電子DigiKey ? 來源:得捷電子DigiKey ? 作者: Clive Maxfield ? 2021-12-10 09:57 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

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

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

適合新手和專業人士的Arduino

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

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

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

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

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

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

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

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

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

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

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

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

這正是ShieldBuddy的用武之地。

ShieldBuddy為Arduino生態系統引入FPU和高性能

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

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

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

使用ShieldBuddy進行開發

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

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

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

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

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

結語

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

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

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

編輯:金巧

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

    關注

    27

    文章

    9418

    瀏覽量

    156341
  • Arduino
    +關注

    關注

    190

    文章

    6526

    瀏覽量

    196914

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

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

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    ESP32-C61迷你開發板來襲,Wi-Fi6+藍牙5.3+全接口引出!啟明云端樂鑫代理

    在物聯網開發領域,你是否一直在尋找一款連接穩定、體積小巧、上手簡單且功能全面的開發板?我們帶著WT993261-TINY開發板來了!本文我們就來了解一下這款開發板的核心亮點,來看看它如
    的頭像 發表于 01-20 18:18 ?383次閱讀
    ESP32-C61迷你<b class='flag-5'>開發板</b>來襲,Wi-Fi6+藍牙5.3+全接口引出!啟明云端樂鑫代理

    MCU 開發板大比拼:STM32、ESP32、Arduino、樹莓派誰更強?

    嵌入式開發板琳瑯滿目,STM32、ESP32、Arduino、RaspberryPi各有特色。新手容易糾結:到底哪塊適合我的項目?本文整理了一份開發板對比速查表,幫你快速理清思路。一
    的頭像 發表于 01-09 19:03 ?865次閱讀
    MCU <b class='flag-5'>開發板</b>大比拼:STM32、ESP32、<b class='flag-5'>Arduino</b>、樹莓派誰更強?

    ESP32-P4全功能開發板和ESP32-P4-TINY開發板該怎么選?看這篇就夠了!

    啟明云端基于樂鑫科技ESP32-P4芯片設計了多款開發板,這些開發板有什么區別?基于應用場景如何選擇?本期,我們聚焦兩款代表性產品:WT99P4C5-S1開發板與WT9932P4-TINY開發
    的頭像 發表于 12-09 18:02 ?889次閱讀
    ESP32-P4全功能<b class='flag-5'>開發板</b>和ESP32-P4-TINY<b class='flag-5'>開發板</b>該怎么選?看這篇就夠了!

    【迅為RK3568開發板NPU實戰】別再閑置你的NPU!手把手教你玩轉RKNN-Toolkit2 的使用

    【迅為RK3568開發板NPU實戰】別再閑置你的NPU!手把手教你玩轉RKNN-Toolkit2 的使用
    的頭像 發表于 11-11 14:21 ?1116次閱讀
    【迅為RK3568<b class='flag-5'>開發板</b>NPU實戰】別再閑置你的NPU!手把手教你<b class='flag-5'>玩轉</b>RKNN-Toolkit2 的使用

    STM32 Nucleo-144開發板技術解析與應用指南

    。 STMicroelectronics開發板支持多種連接選項,包括Arduino、ST Zio和Morpho,同時集成了開關模式電源(SMPS),可實現高效的電源管理。該非常適合用于測試不同的性能和功耗配置,因此成為探索想
    的頭像 發表于 10-17 14:40 ?1133次閱讀
    STM32 Nucleo-144<b class='flag-5'>開發板</b>技術解析與應用指南

    ?STM32 Nucleo-64開發板技術解析與應用指南

    STMicroelectronics -C051C8 STM32 Nucleo-64開發板通過由STM32微控制器為概念測試和原型創建提供了一種經濟實惠且靈活的途徑。該開發板支持ARDUINO
    的頭像 發表于 10-16 10:50 ?734次閱讀
    ?STM32 Nucleo-64<b class='flag-5'>開發板</b>技術解析與應用指南

    ?PIC32CZ CA70 Curiosity Ultra開發板用戶指南總結

    微控制器 (MCU)。該開發板集成編程器或調試器,無需額外硬件。PIC32CZ CA70開發板配備Arduino Uno R3兼容接口和Xplained Pro擴展兼容接口。此非常適
    的頭像 發表于 09-28 14:43 ?872次閱讀
    ?PIC32CZ CA70 Curiosity Ultra<b class='flag-5'>開發板</b>用戶指南總結

    【精選資料】開發板測評大賽作品合集!

    電子發燒友攜手16家生態廠商發起開發板測評大賽,設OpenHarmony、RISC-V、Rockchip三大賽道,共計21款、160+塊開發板,通過評測開發板性能、易用性及創新場景,促進技術共享、加速產品迭代、激發行業創造力,賦
    的頭像 發表于 09-23 08:09 ?1119次閱讀
    【精選資料】<b class='flag-5'>開發板</b>測評大賽作品合集!

    RK3506開發板Linux開發板極致性價比之選

    RK3506開發板Linux開發板極致性價比之選瑞芯微RK3506開發板,3核Cortex-A7@1.5GHz+Cortex-M0,Linux+RT-Thread系統支持,128MB超大
    的頭像 發表于 09-11 16:26 ?3453次閱讀
    RK3506<b class='flag-5'>開發板</b>Linux<b class='flag-5'>開發板</b>極致性價比之選

    何用Arduino Nano/UNO R3開發板給另一個Arduino IDE不能下載的Arduino Nano/UNO R3開發板重新燒錄引導程序bootlaoder

    本文介紹了如何用能夠Arduino IDE下載的Arduino Nano/UNO R3開發板給另一個Arduino IDE不能下載的
    的頭像 發表于 08-08 20:16 ?3570次閱讀
    如<b class='flag-5'>何用</b><b class='flag-5'>Arduino</b> Nano/UNO R3<b class='flag-5'>開發板</b>給另一個<b class='flag-5'>Arduino</b> IDE不能下載的<b class='flag-5'>Arduino</b> Nano/UNO R3<b class='flag-5'>開發板</b>重新燒錄引導程序bootlaoder

    ESP32開發板元件資料

    ESP32開發板元件
    發表于 07-21 14:47 ?15次下載

    有ARM,NPU,FPGA三種核心的開發板 — 米爾安路飛龍派開發板

    最近我發現一個有趣的開發板。這個開發板集合了ARM核心,NPU核心甚至還有FPGA核心。它就是米爾新出的YM90X開發板。它基于安路科技所打造的芯片上海安路信息科技于2021年在上交所科創
    的頭像 發表于 06-13 08:03 ?1709次閱讀
    有ARM,NPU,FPGA三種核心的<b class='flag-5'>開發板</b> — 米爾安路飛龍派<b class='flag-5'>開發板</b>

    【新品】遠距離圖傳數傳模塊開發板、藍牙模塊開發板、無線模塊開發板

    新品上市圖傳數傳模塊開發板藍牙模塊開發板國產無線模塊開發板部分型號參與送樣文末了解詳情↓↓↓EWT611-900NW20S遠距離圖傳數傳模塊開發板EWT611-900NW20S是一款入
    的頭像 發表于 06-12 19:33 ?1144次閱讀
    【新品】遠距離圖傳數傳模塊<b class='flag-5'>開發板</b>、藍牙模塊<b class='flag-5'>開發板</b>、無線模塊<b class='flag-5'>開發板</b>

    【免費試用】開發板評測大賽開啟!OH 、RISC-V、Rockchip頂級開發板等你試用~

    技術人的狂歡,開發者的盛宴!2025年最值得期待的硬核賽事——電子發燒友開發板評測大賽正式啟動!無論你是開源生態的探索者、芯片架構的極客,還是物聯網領域的創新達人,本次大賽三大賽
    的頭像 發表于 06-05 08:05 ?967次閱讀
    【免費試用】<b class='flag-5'>開發板</b>評測大賽開啟!OH 、RISC-V、Rockchip頂級<b class='flag-5'>開發板</b>等你試用~

    STM32開發板一般都會配置arduino接口,是不是基本上也都會支持arduino

    STM32開發板一般都會配置arduino接口,是不是基本上也都會支持arduino?這個在哪里可以查詢開發板是否支持
    發表于 03-07 06:33