RM新时代网站-首页

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

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

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

開源、可重用的軟件堆棧支持CbM的實時處理和算法開發(fā)

星星科技指導員 ? 來源:ADI ? 作者:Travis Collins ? 2022-12-15 13:59 ? 次閱讀

CN0549 基于條件的簡介 監(jiān)控平臺

在本文中,我們將重點介紹軟件生態(tài)系統(tǒng)、數(shù)據(jù)分析工具和 軟件集成可用于CN0549的不同組件和 工程師和數(shù)據(jù)科學家如何利用它們進行應用程序開發(fā)。這是關(guān)于基于條件的兩部分系列文章中的第二篇 使用 CN0549開發(fā)平臺。新平臺旨在加速 定制CbM解決方案的開發(fā)流程,從原型到生產(chǎn)。第 1 部分重點介紹 MEMS 振動技術(shù)和捕獲高質(zhì)量振動數(shù)據(jù) 用于 CbM 應用。

生產(chǎn)之旅和操作方法 它更快!

構(gòu)建狀態(tài)監(jiān)測解決方案時,它們必須包含本地傳感器 處理、連接以及某種形式的軟件或固件來實現(xiàn)這一切 功能。CN0549通過提供可定制的產(chǎn)品來解決所有這些挑戰(zhàn) 硬件和軟件方面的選項,因此工程師和軟件 開發(fā)人員可以在使用通用應用程序的同時在其應用程序中進行設計權(quán)衡 工具和基礎(chǔ)設施。例如,如果您想選擇特定的微控制器FPGA進行處理,則更喜歡使用Python編碼,或者具有 您想要重復使用的常用傳感器。這使得CN0549成為一個功能強大的平臺 對于那些希望構(gòu)建優(yōu)化的CbM解決方案的人,其中處理,電源, 性能、軟件和數(shù)據(jù)分析可以根據(jù)他們的需求進行定制。

嵌入式系統(tǒng)開發(fā)流程

讓我們考慮一個嵌入式系統(tǒng)從概念到生產(chǎn)的通用開發(fā)流程。圖 1 提供了抽象流的頂級概述。

371715-fig-01.svg?h=270&hash=9EA6627A86EBC07A69CF623491330943&imgver=1

圖1.嵌入式系統(tǒng)開發(fā)流程。

圖 1 所示設計過程的第一步是數(shù)據(jù)研究 階段。在此階段,用戶將其需求映射到不同的硬件 以及其應用程序所需的軟件要求。從硬件的角度來看,這些可能是沖擊容限、模擬信號帶寬、 或測量范圍。在考慮軟件要求時, 采樣數(shù)、采樣率、頻譜、過采樣和數(shù)字 過濾是 CbM 應用的重要參數(shù)。該平臺非常 有用且靈活,允許研究人員使用不同的傳感器組合 并根據(jù)自己的應用需求調(diào)整數(shù)據(jù)采集參數(shù)。

數(shù)據(jù)研究階段之后是算法開發(fā)階段,其中 該系統(tǒng)的應用或使用已得到證明。這通常需要開發(fā) 在高級工具中建?;蛟O計算法,最終將移植到 嵌入式系統(tǒng)。但是,在優(yōu)化設計之前,必須對其進行驗證 使用真實數(shù)據(jù)和硬件在循環(huán)中,這確實是CN0549 之所以出色,是因為它不僅提供了與流行的高級的直接集成 分析工具,但它也允許硬件在環(huán)驗證。

一旦設計得到證明,優(yōu)化和獲得必要的工作 開始嵌入軟件組件。在嵌入式設計闡述中 階段,這可能需要重新實現(xiàn)某些算法或軟件層才能在FPGA或資源受限的微控制器中工作。非常小心 在將設計移植到原型上時,必須對其進行持續(xù)驗證,或者 接近生產(chǎn)硬件進行最終驗證。

最后,我們進入生產(chǎn)階段,這可能與 設計開始使用的原始開發(fā)環(huán)境,但盡管如此 仍然需要滿足相同的要求。由于最終系統(tǒng)可能有 遠離原始研究系統(tǒng)遷移,運行相同的代碼或 測試可能是不可能的或極其困難的。這可能會導致生產(chǎn) 測試問題和單元故障,可能需要額外的時間和金錢 投資補救。

通過最大化重用來降低風險

在設計過程中降低風險的最簡單方法之一是重用 每個階段都有盡可能多的硬件和軟件組件, CN0549提供了許多開箱即用的資源供開發(fā)人員利用 直接在開發(fā)流程的所有階段。CN0549解決方案提供 原理圖和電路板布局文件,一個開放的軟件堆棧,用于優(yōu)化 和功能齊全的環(huán)境,以及更高級別工具的集成選項 比如MATLAB和Python。最終用戶可以利用來自 ADI并選擇他們想要維護或更改的部分 從研究到生產(chǎn)。這也使最終用戶能夠?qū)W⒂谒惴ㄩ_發(fā)和系統(tǒng)集成,而不是使用ADI器件或接地進行原理圖輸入。 向上軟件開發(fā)。利用硬件模塊和重用軟件 ADI的設備驅(qū)動程序、HDL或應用固件等層可降低 構(gòu)建系統(tǒng)所需的開發(fā)時間,可以大大加快時間 到市場。?

軟件開發(fā)流程和流程

CN0549在開發(fā)過程中為工程師提供了無數(shù)選擇,允許 他們使用通用語言工作,包括 C 或 C++,同時使用數(shù)據(jù)分析 他們有經(jīng)驗的工具,如MATLAB或Python。這主要是 通過利用和構(gòu)建開放標準以及現(xiàn)有的 支持來自不同制造商的多個嵌入式平臺的解決方案。

CN0549 系統(tǒng)堆棧

圖 2 所示的系統(tǒng)堆棧提供了不同 組成CN0549系統(tǒng)的組件。在頂部的深藍色框中 左邊是傳感器和數(shù)據(jù)采集(DAQ)板,而淺藍色和 紫色框概述了用于數(shù)據(jù)處理的FPGA分區(qū)。該平臺直接支持英特爾DE10-Nano和Xilinx CoraZ7-07s,涵蓋 兩家主要的 FPGA 供應商。綠色框表示連接回 主機電腦。這提供了從硬件到高級的直接數(shù)據(jù)訪問 用于算法開發(fā)的數(shù)據(jù)分析工具。?

371715-fig-02.svg?h=270&hash=64A6B2B427A819FFB8CE3C600F4B5BA2&imgver=1

圖2.CN0549平臺的系統(tǒng)堆棧。

所有硬件描述語言(HDL)代碼都是開源的,允許 開發(fā)人員進行修改以將數(shù)字信號處理 (DSP) 插入 可編程邏輯(PL)內(nèi)的數(shù)據(jù)流,如圖2所示。這 可以是任何東西,從過濾器到狀態(tài)機,甚至是機器學習,以及 根據(jù)您的系統(tǒng)分區(qū),此步驟也可以在用戶中完成 空間或應用層。由于代碼是公開可用的,因此可能是 移植到來自不同制造商或不同處理器的其他 FPGA 系列取決于您的最終應用需求。

Arm 處理器內(nèi)部有兩個軟件選項。它們的使用將是 取決于用例,大多數(shù)開發(fā)人員都可能使用這兩種情況:?

Linux:為輸入中內(nèi)置的DAQ擴展板提供內(nèi)核內(nèi)驅(qū)動程序 內(nèi)核內(nèi)的輸出工業(yè) (IIO) 框架。這與完整的 嵌入式Linux發(fā)行版稱為Kuiper Linux,運行在Arm核心中 用戶空間,基于樹莓派操作系統(tǒng)。?

X No-OS:裸機項目提供的驅(qū)動程序與 Linux內(nèi)核,將與Xilinx或IntelSDK一起使用。這也可以 在實時操作系統(tǒng) (RTOS) 環(huán)境中實現(xiàn)為 另一種實現(xiàn)。

建議開發(fā)人員從Linux開始學習并開始開發(fā) 使用他們的系統(tǒng),因為它提供了最多的工具。Linux也 提供了大量的軟件包和驅(qū)動程序,從而營造出理想的開發(fā)環(huán)境。一旦系統(tǒng)設計穩(wěn)定并準備就緒 優(yōu)化,通常切換到No-OS并且僅提供以下軟件 必要。但是,這高度依賴于應用程序,許多將滿載 Linux 系統(tǒng),因為它們提供了靈活性。

就像用于可編程邏輯的HDL一樣,整個內(nèi)核源代碼Kuiper Linux 圖像和No-OS項目是完全開源的,允許最終用戶 根據(jù)需要修改任何組件。這些代碼庫也可以移植到 如果需要,不同的處理器系統(tǒng)或不同的運行時環(huán)境。

圖 2 的最后一個組件是與主機 PC 的連接,如 綠色框。運行系統(tǒng)時,可以配置設備,數(shù)據(jù) 流式傳輸?shù)街鳈C系統(tǒng)進行分析,開發(fā)人員將利用 MATLAB 或 TensorFlow 等標準工具在其主機上創(chuàng)建算法。 然后將這些算法最終轉(zhuǎn)移到嵌入式目標上,允許它們使用 它們的本地處理能力可實現(xiàn)更快的算法開發(fā)迭代。

訪問 CbM 數(shù)據(jù) — 入門

使用 Arm 處理器和 PL 通常發(fā)生在更進一步的階段 針對部署優(yōu)化系統(tǒng)時的設計流程。因此 開發(fā)人員的常見入口點最初將涉及遠程連接到 工作站中的嵌入式系統(tǒng)。在嵌入式系統(tǒng)上運行Linux時,在工作站上遠程或本地運行代碼是相對的 由于基礎(chǔ)設施的設計方式,流程透明。這主要是 由于一個名為libIIO的開放庫。libIIO 是一個接口庫,允許 用于對構(gòu)建的不同設備驅(qū)動程序的簡化且一致的訪問模型 在內(nèi)核中的 Linux IIO 框架內(nèi)。這個庫是核心 使CbM平臺的使用如此靈活,并提供數(shù)據(jù)功能 流式傳輸和設備控制。

libIIO本身分為兩個主要部分:

libIIO 庫,它是用于訪問不同 IIO 驅(qū)動程序?qū)傩曰蚝瘮?shù)的 C 庫。這包括與ADC等設備之間的流數(shù)據(jù), DAC和傳感器。

稱為 iiod 的 IIO 守護進程,負責管理之間的訪問 libIIO 庫,或使用該庫和內(nèi)核接口的客戶端 實際驅(qū)動程序。

libIIO 和 iiod 本身是由不同的組件編寫的,允許 訪問所謂的后端驅(qū)動程序的不同方法。后端 允許來自本地和遠程用戶的libIIO控制和數(shù)據(jù)流,并且由于它們是 組件化的新后端可以添加到系統(tǒng)中。目前有 libIIO 支持的四個后端:

本地:允許訪問本地可訪問的硬件驅(qū)動程序 到同一臺機器上。

USB:利用libusb,該后端允許遠程控制驅(qū)動程序 通過 USB 鏈接。

串行:為通過串行連接的電路板提供更通用的接口 連接。UART是最常見的用途。

網(wǎng)絡:最常用的遠程后端,基于 IP 進行訪問 跨網(wǎng)絡的驅(qū)動程序。

圖 3 提供了 libIIO 組件的系統(tǒng)級概述 被使用以及它們?nèi)绾芜m應整個系統(tǒng)。在圖表的左側(cè)是 嵌入式系統(tǒng),安裝了 libIIO 庫并運行 IIOD 守護進程。 從嵌入式系統(tǒng),用戶可以訪問本地后端,甚至 網(wǎng)絡后端。在他們的代碼中,他們可以通過 單行更改以解決任一后端。目標無其他更改 代碼是必需的。

371715-fig-03.svg?h=270&hash=DF5092DDCD6D35D74190659DB21AD80C&imgver=1

圖3.libIIO系統(tǒng)概述使用網(wǎng)絡后端。

圖 3 的左側(cè)表示可能正在運行的遠程主機 任何操作系統(tǒng)。有適用于Windows,macOS,Linux的官方軟件包, 和 BSD。在圖中使用了網(wǎng)絡或基于 IP 的后端,但這 也可以是串行、USB 或 PCIe 連接。從用戶的角度來看,libIIO 可以從 C 庫本身或許多可用的綁定中利用 其他語言包括:Python,C#,Rust,MATLAB和Node.js。提供 對于需要與不同接口的用戶來說,這是一個重要的選擇 來自其應用程序的驅(qū)動程序。

pYYBAGOat-GAeBvwAAD0-ChBmPg877.jpg?h=270&hash=2FD6E4D43D266304520210A278B29005&imgver=1

圖4.libIIO 遠程與本地示例。

應用程序和工具

開始使用新設備時,通常不建議直接使用 libIIO。因此,存在許多構(gòu)建在 libIIO,通過命令為任何IIO設備提供基本可配置性 行和 GUI 格式。這些分別是IIO工具和IIO示波器。

IIO 工具是一組命令行工具,與 libIIO 一起提供,并且 對于通過腳本編寫的低級調(diào)試和自動任務非常有用。例如 對于實驗室測試,以不同的采樣率設置平臺可能很有用 模式并收集一些數(shù)據(jù)。這可以通過幾行 bash 或 通過利用IIO工具的批處理腳本。圖 5 顯示了一個簡單的示例 可以在本地或遠程運行以修改采樣率并更改輸入 ADC的共模。該示例使用了一個名為 iio_attr 的 IIO 工具,該工具 允許用戶輕松更新設備配置。

poYBAGOat-KAZ6fcAABXRdZl9H0212.jpg?h=270&hash=216C8098B3BA8FB398CAE9F00ACA5624&imgver=1

圖5.IIO工具iio_attr部分的示例用法。

但是,用戶最常見的入口點是GUI應用程序IIO 示波器,通常稱為 OSC。與IIO工具一樣,OSC旨在 是通用的,以允許控制任何IIO驅(qū)動程序,并且由于它基于libIIO,因此它可以 可以遠程運行或在開發(fā)板本身上運行。但是,它還包含一個插件系統(tǒng) 可以為特定驅(qū)動程序或組合添加專用選項卡 司機。圖 6 顯示了基于 CN0540 的插件選項卡自動加載 板,包括控件和監(jiān)視選項卡。這些選項卡提供了一個簡單的 用于訪問CN0540的ADC、DAC和控制的低級功能的接口 引腳,以及數(shù)據(jù)采集板和測試點的基本圖 監(jiān)測。如果您想了解其他可用的默認選項卡和插件,ADI公司Wiki上提供了更多OSC文檔。

pYYBAGOat-SASdJLAACIVWebZWM311.jpg?h=270&hash=C6E2E5F6A7FFA3F40706DF427C22F03E&imgver=1

圖6.CN0540 IIO 示波器插件選項卡。

OSC 的最后一個重要方面是捕獲窗口。捕獲窗口 為從ADC或任何基于libIIO的緩沖器收集的數(shù)據(jù)提供繪圖功能。圖7顯示了在頻域模式下使用的捕獲窗口, 其中繪制了數(shù)據(jù)的光譜信息。其他情節(jié),包括時間 域圖、相關(guān)性圖和星座圖可用。這對于 抽查設備、調(diào)試或在評估過程中。劇情 包括標記、峰值檢測、諧波檢測甚至相位估計等常見實用程序。由于 OSC 也是開源的,因此可以通過 任何人都可以添加更多插件或繪圖,甚至修改現(xiàn)有功能。

poYBAGOat-aAH7_SAAGBcoqtcBw499.jpg?h=270&hash=92A6B6ACA99AFCBD35EB660B3BA88FDB&imgver=1

圖7.頻域模式下的IIO示波器捕獲窗口。

算法開發(fā)環(huán)境集成

到目前為止,我們已經(jīng)介紹了大多數(shù)工程師在以下情況下開始的核心低級工具 首先使用CN0549。首先了解這些很重要,以便開發(fā)人員可以了解系統(tǒng)的靈活性和不同的選擇或 他們可以使用的接口。但是,在建立基線系統(tǒng)并 運行時,開發(fā)人員將希望使用 MATLAB 或 Python 等工具將數(shù)據(jù)快速移動到算法開發(fā)中。這些程序可以導入 來自硬件的數(shù)據(jù)。必要時可以設計額外的控制邏輯。

在機器學習開發(fā)周期的上下文中,通常有一個 開發(fā)人員將遵循的通用流程,獨立于他們所需的軟件 用于處理數(shù)據(jù)的環(huán)境。中概述了此過程的示例 圖 8,其中收集數(shù)據(jù),分為測試和訓練,開發(fā)模型或算法,最后部署模型以在現(xiàn)場進行推理。 對于實際服務,此整個過程會不斷執(zhí)行以引入新的 學習生產(chǎn)模型。TensorFlow、PyTorch或MATLAB等工具。 機器學習工具箱在工作時考慮了此過程。這個過程使 感覺,但通常是收集、組織和復雜任務的努力 可以忽略或完全忽略數(shù)據(jù)的管理。為了簡化 這項任務,一個相關(guān)的軟件生態(tài)系統(tǒng)就是用這些工具設計的,并且 牢記包。

371715-fig-08.svg?h=270&hash=09A091902C5EFB94BFF3878C9FF863BA&imgver=1

圖8.機器學習模型開發(fā)流程。

Python 集成 — 連接到 Python 分析工具

首先,從 Python 開始,可以使用 CN0549 的設備特定類 通過模塊PyADI-IIO。配置設備的簡單示例 采樣速率和以太網(wǎng)拉取緩沖器如圖6所示。有 沒有復雜的寄存器序列、模糊的存儲器控制調(diào)用或隨機位 記住。這是由驅(qū)動程序,libIIO和PyADI-IIO為您管理的。 電路板本身,遠程在工作站上,甚至在云中。

poYBAGOat-iAQlH2AABbNmb4um0346.jpg?h=270&hash=2325A639E92F5CD4B707335805F3BA81&imgver=1

圖9.PyADI-IIO示例。

PyADI-IIO可通過pip和conda安裝,將控制旋鈕公開為: 易于使用和記錄的屬性。它還提供通常可消化的類型(如 NumPy 數(shù)組或本機類型)的數(shù)據(jù),并將處理 數(shù)據(jù)流(如果可用)。這使得PyADI-IIO易于添加到諸如 Jupyter Notebook,并輕松地將數(shù)據(jù)輸入機器學習管道,而無需 不得不求助于不同的工具或復雜的數(shù)據(jù)轉(zhuǎn)換 - 允許開發(fā)人員 專注于他們的算法,而不是一些困難的 API 或數(shù)據(jù)對話。

MATLAB 集成 — 連接到 MATLAB

在MATLAB方面,提供了對CN0549及其組件的支持 通過ADI公司傳感器工具箱。這個工具箱,就像PyADI-IIO一樣,有 針對不同部件的設備特定類,并將它們實現(xiàn)為 MATLAB 系統(tǒng) 對象 (MSO)。MSO是MathWorks作者可以交互的標準化方式 到硬件和不同的軟件組件,并提供高級功能 協(xié)助代碼生成、Simulink 支持和常規(guī)狀態(tài)管理。許多 MATLAB 用戶可能會利用 MATLAB 的功能,這些功能被實現(xiàn)為 不知情的 MSO,例如示波器或信號發(fā)生器。在圖 10 中,我們 使用CN0532接口和DSP頻譜分析儀示波器,兩者都有 作為 MSO 實施。同樣,與PyADI-IIO一樣,有一個友好的界面用于 傳統(tǒng)的 MATLAB 用戶。

pYYBAGOat-mAPsC8AAEuCVNfWhc828.jpg?h=270&hash=FB73B1173610BDD2C348D92E06665A4C&imgver=1

圖 10.帶示波器的傳感器工具箱流式處理示例。

除了硬件連接之外,傳感器工具箱還與 用于 HDL 和 C/C++的代碼生成工具。這些是開發(fā)的絕佳工具, 模擬和部署 IP,即使對于那些不熟悉 HDL 設計的人也是如此 或工具,但了解 MATLAB 和 Simulink。

使用TensorFlow的分類示例

CN0549套件提供了幾個來自基本數(shù)據(jù)流的示例 到機器學習分類示例。時序機器學習 數(shù)據(jù),如來自CN0532的振動數(shù)據(jù),可以從幾個不同的數(shù)據(jù)中獲取 觀點。這可能包括支持向量機 (SVM)、長期短期 存儲器 (LSTM) 模型,甚至是自動編碼器(如果數(shù)據(jù)直接解釋) 作為時間序列。但是,在許多情況下,轉(zhuǎn)換 時間序列問題轉(zhuǎn)化為圖像處理問題并利用豐富的 在該應用領(lǐng)域開發(fā)的知識和工具。

讓我們看看 Python 中的這種方法。在提供的示例之一中 PyADI-IIO,通過將CN0532安裝到一個 擺動風扇。這是在風扇的不同設置下完成的(睡眠、常規(guī)、 過敏原),在每種模式下,捕獲了 409,600 個樣本。檢查時 圖11中的這些數(shù)據(jù),過敏原病例的時域很容易識別 但另外兩種情況更難區(qū)分。這些可能可以通過檢查識別,但讓算法識別這些情況可能是錯誤的 在時域中容易。

371715-fig-11.svg?h=270&hash=01FE04F1AA35EA3982EFE6BA8D49F787&imgver=1

圖 11.時間序列中的風扇振動數(shù)據(jù)。

為了幫助更好地區(qū)分用例,數(shù)據(jù)被轉(zhuǎn)換為 頻域圖和頻譜圖用于繪制不同頻率隨時間變化的濃度。圖 12 所示的頻譜圖有很多 數(shù)據(jù)差異更明顯,并且在整個時間維度上保持一致 與圖 11 相比。這些頻譜圖實際上是圖像,現(xiàn)在 可以使用傳統(tǒng)的圖像分類技術(shù)進行處理。

371715-fig-12.svg?h=270&hash=47852566D770059AD88A6B0882EF323B&imgver=1

圖 12.捕獲的振動數(shù)據(jù)的頻譜圖。

將數(shù)據(jù)集拆分為訓練集和測試集,頻譜圖為 饋送到具有三個密集層的僅中性網(wǎng)絡 (NN) 模型和 較小的卷積神經(jīng)網(wǎng)絡 (CNN) 模型。兩者都是在 TensorFlow,能夠在100%的測試驗證中輕松收斂到接近100% 時代。CNN在大約一半的時間內(nèi)收斂,大約1%的可調(diào)諧 參數(shù),使其成為迄今為止更高效的設計。培訓趨同 圖 13 提供了精度與紀元的關(guān)系圖,以概述 CNN 的快速收斂。

371715-fig-13.svg?h=270&hash=1656180A6A0EF0CD3C9EF6C28460379B&imgver=1

圖 13.CNN 隨時間推移的振動頻譜圖訓練精度。

所有 Python 腳本、筆記本和數(shù)據(jù)集都可用于此示例 在 GitHub 上的 PyADI-IIO 源代碼樹下。由于提供了數(shù)據(jù)集,因此 甚至可以在沒有CN0549的情況下使用TensorFlow的示例演示 硬件。但是,使用硬件,訓練好的模型可用于 實時推理。

邊緣到云:遷移到嵌入式解決方案

創(chuàng)建模型后,可以部署該模型以用于推理目的或決策 制作。使用CN0549,可以將其放置在數(shù)據(jù)所在的遠程PC上 從CN0540流式傳輸或直接在嵌入式處理器上運行。取決于 在實現(xiàn)中,將模型放置在處理器中將需要更多 工程工作,但能效可以提高一個數(shù)量級,并且將 能夠?qū)崟r操作。幸運的是,在過去的幾年里,有 用于部署的工具和軟件的巨大發(fā)展增長 機器學習模型。

利用 FPGA

Xilinx 和英特爾都擁有高級綜合 (HLS) 工具來轉(zhuǎn)換高級 語言轉(zhuǎn)換為在 FPGA 上運行的 HDL 代碼。這些通常會與 TensorFlow、PyTorch 或 Caffe 等 Python 框架有助于將模型轉(zhuǎn)換為 IP 核,允許工程師將 IP 部署到 DE10-Nano、Cora Z7-07S,或自定義系統(tǒng)。然后,這些IP核將被縫合到開放中 ADI提供的HDL參考設計。圖 14 顯示了一個帶注釋的屏幕截圖 來自 Vivado 的 Cora Z7-07S CN0540,專注于數(shù)據(jù)路徑。在 設計,來自CN0540的數(shù)據(jù)通過SPI引腳讀取,以及24位樣本 由 SPI 引擎解釋,并傳遞到 DMA 控制器到內(nèi)存中。 任何 DSP 或機器學習模型都可以直接插入到此管道中 在數(shù)據(jù)路徑中。

poYBAGOat-qAeblpAAB1ECpd1es672.jpg?h=270&hash=903D1CD19881F01670FE70F25C503B66&imgver=1

圖 14.Cora Z7-07S HDL 參考設計數(shù)據(jù)路徑顯示在 Vivado 2019.1 中。

利用微處理器

而不是將算法轉(zhuǎn)換為HDL層,它們可以是 直接在 Arm 核心中運行。取決于數(shù)據(jù)速率和復雜性 算法,這是一個合理的開發(fā)路徑,通常更多 簡單。為 Arm 核心開發(fā) C 代碼甚至 Python 將比HDL花費更少的開發(fā)資源和時間,并且 通常更容易維護。

像 MATLAB Embedded Coder 這樣的工具甚至可以簡化這個過程,并自動將 MATLAB 轉(zhuǎn)換為 Arm 內(nèi)核的可嵌入和優(yōu)化的 C 代碼。 或者,TensorFlow具有可嵌入的TensorFlow Lite等工具。 他們的 Python 庫的 C 版本,允許向 嵌入式目標。

智能決策拓撲

基于狀態(tài)的監(jiān)控不是一刀切的硬件和 軟件,這就是CN0549設計靈活的原因。當我們 考慮諸如CbM的異常檢測等問題,通??梢越鉀Q 從兩個時間尺度:一個我們需要立即做出反應,例如在 與安全相關(guān)的場景,或長期時間尺度上與維護或設備更換更相關(guān)的場景。兩者都需要不同的算法,處理 權(quán)力和方法。

在理想情況下,作為機器操作員,我們將擁有一個大型數(shù)據(jù)湖 訓練我們的模型,并且兩者都處理短期檢測而不會造成麻煩 事件,以及從正在運行的設備連續(xù)傳輸數(shù)據(jù)以備將來使用 維護預測。但是,對于大多數(shù)運營商來說,情況可能并非如此。 數(shù)據(jù)湖更像是干涸的河床。對某些人來說也可能很困難 考慮到安全問題,執(zhí)行數(shù)據(jù)收集的現(xiàn)成解決方案, 物理位置、網(wǎng)絡或拓撲要求。這些困難 推動對更多定制解決方案的需求。

CN0549是一個具有多種連接選項的獨立系統(tǒng)。因為它運行 標準 Linux、以太網(wǎng)和 Wi-Fi 等傳統(tǒng)網(wǎng)絡堆棧無法正常工作 盒子,如果需要,甚至可以連接蜂窩調(diào)制解調(diào)器。在實踐中 在應用中,有一些典型的拓撲結(jié)構(gòu)非常突出,如圖 15 所示。

371715-fig-15.svg?h=270&hash=7CF702C821F9804DEB319C2016CC794D&imgver=1

圖 15.CbM 網(wǎng)絡拓撲。

圖 15 所示的最左側(cè)配置是脫機收集案例, 這可能發(fā)生在遠程站點或連接到互聯(lián)網(wǎng)的地方 不可能。在這種情況下,大型存儲介質(zhì)將與平臺共存 并按計劃手動收集?;蛘撸渌麅蓚€選項 將數(shù)據(jù)流式傳輸?shù)焦步K結(jié)點。圖 15 的中間配置為 一個隔離的網(wǎng)絡,可能只是組織內(nèi)部的網(wǎng)絡,或者只是一個 遠程位置中集中收集數(shù)據(jù)的平臺集群。這可能會 出于安全考慮或只是缺乏連接而必需。的設置 CN0549對于任何這些配置都很容易,并且可以針對 終端部署的特定需求。

最終配置是直接云選項,其中每個平臺都直接 訪問互聯(lián)網(wǎng)并將測量推送到云端。由于 CN0549 運行 在Linux上,該平臺可以利用不同云供應商(如Microsoft)的API。 Azure IoT 或 Amazon IoT Greengrass 從 Python 等語言輕松創(chuàng)建 開始為新連接的設備構(gòu)建數(shù)據(jù)湖的簡單途徑。

當云和本地進程之間存在一致的連接時, 正如我們在需要或可以之間討論的那樣,可以拆分不同的算法 在本地運行以及可以在云中運行的內(nèi)容。這將有自然的權(quán)衡 在對算法復雜性、延遲的處理能力要求之間 事件,以及可發(fā)送到云的內(nèi)容的帶寬限制。然而 由于它非常靈活,因此可以輕松探索這些因素。

結(jié)論

CN0549 CbM平臺提供系統(tǒng)靈活性和多種軟件 為設計人員開發(fā)應用程序時提供的資源。深入了解 軟件堆棧已經(jīng)提供了關(guān)于如何不同的討論 組件可用于 CbM 和預測性維護 (PdM) 開發(fā)。由于軟件、HDL、原理圖和集成的開放性 借助數(shù)據(jù)科學工具,設計人員可以利用他們所需的組件 整個堆棧的終端系統(tǒng)。綜上所述,此狀態(tài)監(jiān)測 Design 提供了一個易于使用的開箱即用解決方案,并配有開源 軟件和硬件,提供靈活性并允許設計人員實現(xiàn) 在更短的時間內(nèi)獲得更好的定制結(jié)果。

審核編輯:郭婷

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

    關(guān)注

    2550

    文章

    51035

    瀏覽量

    753063
  • FPGA
    +關(guān)注

    關(guān)注

    1629

    文章

    21729

    瀏覽量

    602977
  • python
    +關(guān)注

    關(guān)注

    56

    文章

    4792

    瀏覽量

    84627
收藏 人收藏

    評論

    相關(guān)推薦

    開源、重復使用的軟件堆棧助力實現(xiàn)實時處理CbM算法開發(fā)

    CN0549狀態(tài)監(jiān)控平臺簡介 在本文中,我們將重點介紹CN0549的不同組件可用的軟件生態(tài)系統(tǒng)、數(shù)據(jù)分析工具和軟件集成,以及工程師和數(shù)據(jù)專家如何使用它們進行應用開發(fā)。我們分兩部分來介紹
    的頭像 發(fā)表于 04-08 14:29 ?1.6w次閱讀
    <b class='flag-5'>開源</b>、<b class='flag-5'>可</b>重復使用的<b class='flag-5'>軟件</b><b class='flag-5'>堆棧</b>助力實現(xiàn)<b class='flag-5'>實時處理</b>和<b class='flag-5'>CbM</b><b class='flag-5'>算法</b><b class='flag-5'>開發(fā)</b>

    開源重用軟件堆棧支持CbM實時處理算法開發(fā)

      最終配置是直接云選項,每個平臺直接訪問互聯(lián)網(wǎng)并將測量推送到云端。由于 CN0549 在 Linux 上運行,因此該平臺可以通過 Python 等語言輕松利用 Microsoft Azure IoT 或 Amazon IoT Greengrass 等不同云供應商的 API——為開始為新連接的設備構(gòu)建數(shù)據(jù)湖創(chuàng)造了一條簡單的途徑。
    的頭像 發(fā)表于 08-16 09:40 ?1786次閱讀
    <b class='flag-5'>開源</b>、<b class='flag-5'>可</b><b class='flag-5'>重用</b>的<b class='flag-5'>軟件</b><b class='flag-5'>堆棧</b><b class='flag-5'>支持</b><b class='flag-5'>CbM</b>的<b class='flag-5'>實時處理</b>和<b class='flag-5'>算法</b><b class='flag-5'>開發(fā)</b>

    重用機床編碼技術(shù)及重構(gòu)算法研究

    重用機床編碼技術(shù)及重構(gòu)算法研究摘要:在產(chǎn)品開發(fā)過程中80%的設計工作是在重用的基礎(chǔ)上進行的。設計重用
    發(fā)表于 05-17 11:58

    請問Labview如何能夠實時處理

    在做FX-LMS算法中,Labview如何能夠實時處理。
    發(fā)表于 11-20 17:00

    如何使用XC4VLXl5實現(xiàn)紅外圖像的實時處理

    本文基于這種算法理論基礎(chǔ),使用xilinx公司規(guī)模較大的XC4VLXl5系列FPGA,實現(xiàn)了紅外圖像的實時處理。
    發(fā)表于 04-29 06:54

    請問怎樣去設計一種音/視頻實時處理系統(tǒng)?

    怎樣去設計音/視頻實時處理系統(tǒng)的硬件部分?怎樣去設計音/視頻實時處理系統(tǒng)的軟件部分?
    發(fā)表于 06-02 07:22

    經(jīng)典C語言接口與實現(xiàn):創(chuàng)建重用軟件的技術(shù)

    C語言接口與實現(xiàn)(創(chuàng)建重用軟件的技術(shù))概念清晰、內(nèi)容新穎、實例詳盡,是一本有關(guān)設計、實現(xiàn)和有效使用C語言庫函數(shù),掌握創(chuàng)建重用C語言
    發(fā)表于 09-25 06:42

    重用機床編碼技術(shù)及重構(gòu)算法研究

    重用機床編碼技術(shù)及重構(gòu)算法研究:摘要:在產(chǎn)品開發(fā)過程中80%的設計工作是在重用的基礎(chǔ)上進行的。設計重用
    發(fā)表于 05-16 15:31 ?14次下載

    一種基于實時處理的數(shù)字濾波器快速算法

    本文介紹了一種基于實時處理的數(shù)字信號處理算法。該算法首先將長序列分成一個個較短序列,然后通過循環(huán)卷積求線性卷積,并且對最后的循環(huán)卷積作了有效改進,使數(shù)字濾波器
    發(fā)表于 08-05 11:15 ?16次下載

    基于DSP人工混響算法實時處理系統(tǒng)

    提出了基于定點DSP 的人工混響算法實時處理系統(tǒng)。討論了DSP芯片TMS320VC5509與音頻編解碼芯片TLV320AIC23的硬件接口和軟件設計,并在此基礎(chǔ)上論述人工混響算法
    發(fā)表于 07-27 16:22 ?46次下載

    基于FPGA的小波圖像實時處理方法

    基于FPGA的小波圖像實時處理方法,下來看看
    發(fā)表于 09-22 13:06 ?33次下載

    AN-304:單芯片“滑尺”處理日志、反日志進行實時處理

    AN-304:單芯片“滑尺”處理日志、反日志進行實時處理
    發(fā)表于 04-28 14:13 ?9次下載
    AN-304:單芯片“滑尺”<b class='flag-5'>可</b><b class='flag-5'>處理</b>日志、反日志進行<b class='flag-5'>實時處理</b>

    支持CN0549 CbM平臺的實時處理算法開發(fā)

      CN0549 CbM 平臺在開發(fā)應用程序時為設計人員提供系統(tǒng)靈活性和大量軟件資源。圍繞如何利用不同的組件進行 CbM 和預測性維護 (PdM)
    的頭像 發(fā)表于 07-01 15:05 ?1036次閱讀
    <b class='flag-5'>支持</b>CN0549 <b class='flag-5'>CbM</b>平臺的<b class='flag-5'>實時處理</b>和<b class='flag-5'>算法</b><b class='flag-5'>開發(fā)</b>

    開源、重用軟件堆棧支持CbM實時處理算法開發(fā)

      當云和本地進程之間存在一致的連接時,可以將不同的算法拆分為我們已經(jīng)討論過的需要或可以在本地運行的內(nèi)容以及可以在云中運行的內(nèi)容。這將在算法復雜性的處理能力要求、事件延遲以及可以發(fā)送到云的帶寬限制之間進行自然權(quán)衡。但是,由于它非
    的頭像 發(fā)表于 07-10 14:31 ?1166次閱讀
    <b class='flag-5'>開源</b>、<b class='flag-5'>可</b><b class='flag-5'>重用</b>的<b class='flag-5'>軟件</b><b class='flag-5'>堆棧</b><b class='flag-5'>支持</b><b class='flag-5'>CbM</b>的<b class='flag-5'>實時處理</b>和<b class='flag-5'>算法</b><b class='flag-5'>開發(fā)</b>

    實時處理如何驅(qū)動高性能電源系統(tǒng)?

    實時處理如何驅(qū)動高性能電源系統(tǒng)? 實時處理是一種在實時環(huán)境中對來自外部傳感器和設備的數(shù)據(jù)進行即時處理和響應的技術(shù)。在電源系統(tǒng)中,實時處理可以
    的頭像 發(fā)表于 11-24 14:26 ?500次閱讀
    RM新时代网站-首页