环球电气之家-午夜精彩视频-中国专业电气电子产品行业服务网站!

產品分類

當前位置: 首頁 > 工業電氣產品 > 端子與連接器 > 線路板連接器 > FFC連接器

類型分類:
科普知識
數據分類:
FFC連接器

借助 ShieldBuddy 應對計算密集型項目難題

發布日期:2022-04-17 點擊率:35

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

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

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

適合新手和專業人士的 Arduino

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

Arduino Uno Rev3 開發板圖片圖 1:Arduino Uno Rev3 開發板基于 16 MHz 8 位 ATmega328P 微控制器。(圖片來源:Arduino.cc)

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

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

Arduino Mega 2560 Rev3 開發板的圖片圖 2:Arduino Mega 2560 Rev3 開發板基于 16 MHz 8 位 ATmega2560 微控制器。該板的排針封裝表明它與 Arduino Uno 支持相同的擴展板,不過,它配有更多排針,因此共有 54 個數字 I/O 引腳和 16 個模擬輸入引腳。(圖片來源:Arduino)

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

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

Arduino Due 開發板的圖片圖 3:Arduino Due 開發板基于 Atmel SAM3X8E 的 84 MHz 32 位 Arm Cortex-M3 處理器,排針封裝與 Arduino Mega 相同。(圖片來源:Arduino.cc)

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

配備 Infineon TC275 32 位多核處理器的 ShieldBuddy TC275 圖片圖 4:ShieldBuddy TC275 配備板載 Infineon TC275 32 位多核處理器,且與 Arduino Mega 和 Arduino Due 采用相同的封裝,因而可與市面上供應的許多應用擴展板兼容。 (圖片來源:Hitex.com)

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

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

使用 ShieldBuddy 進行開發

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

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

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

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

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

結語

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

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

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

推薦閱讀:

  1. 向絕對初學者教授電子知識

  2. 通過 Arduino MKR Vidor 4000 快速輕松地應用 FPGA

  3. 借助易用型 Arduino 入門套件,開啟創客世界大門

下一篇: PLC、DCS、FCS三大控

上一篇: 安裝醒目的工業燈塔,

推薦產品

更多
主站蜘蛛池模板: 河北码上网络科技|邯郸小程序开发|邯郸微信开发|邯郸网站建设 | 派克防爆伺服电机品牌|国产防爆伺服电机|高低温伺服电机|杭州摩森机电科技有限公司 | 数控车床-立式加工中心-多功能机床-小型车床-山东临沂金星机床有限公司 | 柔性输送线|柔性链板|齿形链-上海赫勒输送设备有限公司首页[输送机] | 硅PU球场、篮球场地面施工「水性、环保、弹性」硅PU材料生产厂家-广东中星体育公司 | 风淋室生产厂家报价_传递窗|送风口|臭氧机|FFU-山东盛之源净化设备 | 南京技嘉环保科技有限公司-杀菌除臭剂|污水|垃圾|厕所|橡胶厂|化工厂|铸造厂除臭剂 | bng防爆挠性连接管-定做金属防爆挠性管-依客思防爆科技 | 南京展台搭建-南京展会设计-南京展览设计公司-南京展厅展示设计-南京汇雅展览工程有限公司 | 家乐事净水器官网-净水器厂家「官方」 | 洁净化验室净化工程_成都实验室装修设计施工_四川华锐净化公司 | 北京律师咨询_知名专业北京律师事务所_免费法律咨询 | 六维力传感器_六分量力传感器_模腔压力传感器-南京数智微传感科技有限公司 | 右手官网|右手工业设计|外观设计公司|工业设计公司|产品创新设计|医疗产品结构设计|EMC产品结构设计 | 济南铝方通-济南铝方通价格-济南方通厂家-山东鲁方通建材有限公司 | 润东方环保空调,冷风机,厂房车间降温设备-20年深圳环保空调生产厂家 | 中央空调温控器_风机盘管温控器_智能_液晶_三速开关面板-中央空调温控器厂家 | TYPE-C厂家|TYPE-C接口|TYPE-C防水母座|TYPE-C贴片-深圳步步精 | 深圳昂为官网-气体分析仪,沼气分析仪,动态配气仪,气体传感器厂家 | 517瓜水果特产网|一个专注特产好物的网站 | 翰墨AI智能写作助手官网_人工智能问答在线AI写作免费一键生成 | 广域铭岛Geega(际嘉)工业互联网平台-以数字科技引领行业跃迁 | 编织人生 - 权威手工编织网站,编织爱好者学习毛衣编织的门户网站,织毛衣就上编织人生网-编织人生 | 天津试验仪器-电液伺服万能材料试验机,恒温恒湿标准养护箱,水泥恒应力压力试验机-天津鑫高伟业科技有限公司 | 酶联免疫分析仪-多管旋涡混合仪|混合器-莱普特科学仪器(北京)有限公司 | 干洗加盟网-洗衣店品牌排行-干洗设备价格-干洗连锁加盟指南 | 煤棒机_增碳剂颗粒机_活性炭颗粒机_木炭粉成型机-巩义市老城振华机械厂 | 路斯特伺服驱动器维修,伦茨伺服驱动器维修|万骏自动化百科 | 兰州UPS电源,兰州山特UPS-兰州万胜商贸| 苏州西朗门业-欧盟CE|莱茵UL双认证的快速卷帘门品牌厂家 | 浴室柜-浴室镜厂家-YINAISI · 意大利设计师品牌 | 咿耐斯 |-浙江台州市丰源卫浴有限公司 | 大流量卧式砂磨机_强力分散机_双行星双动力混合机_同心双轴搅拌机-莱州市龙跃化工机械有限公司 | 手持式浮游菌采样器-全排二级生物安全柜-浙江孚夏医疗科技有限公司 | 变色龙云 - 打包app_原生app_在线制作平台_短链接_ip查询 | 山东锐智科电检测仪器有限公司_超声波测厚仪,涂层测厚仪,里氏硬度计,电火花检漏仪,地下管线探测仪 | 电子万能试验机_液压拉力试验机_冲击疲劳试验机_材料试验机厂家-济南众标仪器设备有限公司 | 动环监控_机房环境监控_DCIM_机房漏水检测-斯特纽 | 高博医疗集团上海阿特蒙医院| 液氮罐_液氮容器_自增压液氮罐_杜瓦瓶_班德液氮罐厂家 | 送料机_高速冲床送料机_NC伺服滚轮送料机厂家-东莞市久谐自动化设备有限公司 | 板式换网器_柱式换网器_自动换网器-郑州海科熔体泵有限公司 |