[LabVIEW]myRIO_建立自己的嵌入式系統(1)

「為了保有FPGA的優點,並針對系統效能(複雜度)進行提升的應用程式,發展出來的嵌入式系統研發架構,為可重新配置的輸入與輸出(Reconfigurable I/O;RIO),主要是結合處理器(Processor)的優點(可彈性的實現複雜系統應用)與FPGA的優點(平行化設計與高速的輸入輸出配置),先透過FPGA針對輸出輸入進行平行化的規劃與前處理,在將結果傳制處理器進行複雜的處理、操作、與應用。」 -摘自  生醫訊號系統實作  蕭子健、張家齊

我的專題是以myRIO作為主體架構,因此我只會分享有關myRIO的實驗設計,其餘的RIO就不詳述了。

主要的系統架構如下圖:





FPGA:規劃對應的I/O接腳以及簡單的初步處理。

RT Process:Real-Time Host ,在處理器中進行運算,設計系統使用的介面以及高階的處理計算。(在我的專題中指的是myRIO)

Remote Host:遠端主機,設計控制與顯示的人機介面,可以透過網路互動。

myRIO Framework Setting
圖中所顯示的配置並不是myRIO打開專案後最初預設的樣子,上面提到的三個主系統架構都要自己去創vi。

可以從圖中發現上述三主架構各自對應的處理器為:

My Computer →Remote Host.vi

myRIO-1900→RT Process.vi

FPGA Target →FPGA.vi

而其中RT Process以及FPGA可以視作都是在myRIO所上執行的。


1.什麼是FPGA?


最籠統來說,FPGAs 即為可再程式化的晶片。透過預先建立的邏輯區塊與可程式化路由資源,不需更改麵包板或焊錫部分,即可設定這些晶片以建置客制硬體功能。使用者可於軟體中開發數位運算系統 (Computing task) 並將之編譯為組態檔案或位元流 (Bitstream),可包含元件接線的相關資訊。此外,FPGA 完全為可重設性質,當使用者重新編譯不同的電路設定時,可立刻擁有不同的特性。在過去,工程師必須深入了解數位硬體設計,才能夠使用 FPGA 技術。然而,高階設計工具的新技術可針對圖形化程式區或 C 程式碼,轉換為數位硬體電路,即變更了 FPGA 程式設計的規則。

FPGA 整合了 ASIC 與處理器架構系統的最佳部分,使 FPGA 晶片可應用於所有產業。FPGA 具有硬體時脈的速度與可靠性,且其僅需少量即可進行作業;可降低客制化 ASIC 設計的費用。可重新程式設計的晶片,具有與軟體相同的彈性,卻不受限於處理核心的數量。與處理器不同的是,FPGA 為實際的平行架構,因此不同的處理作業並不需要佔用相同資源。每個獨立的處理作業均將指派至專屬的晶片區塊,不需影響其他邏輯區塊即可自動產生功能。因此,當新增其他處理作業時,應用某部分的效能亦不會受到影響。




2.FPGA的優點



效能 – 透過硬體的平行機制,FPGA 可突破依序執行 (Sequential execution) 的固定運算,並於每時脈循環完成更多作業,以超越數位訊號處理器 (DSP) 的計算功能。BDTI 為著名的分析公司,並於某些應用中使用 DSP 解決方案,以計算 FPGA 的處理效能2。於硬體層級控制 I/O 可縮短回應時間並特定化某些功能,以更符合應用需求。
上市時間 – 針對上市時間而言,FPGA 技術具有彈性與快速原型製作的功能。使用者不需進行客制化 ASIC 設計的冗長建構過程,即可於硬體中測試或驗證某個觀念3。並僅需數個小時即可建置其他變更作業,或替換 FPGA 設計。現成的 (COTS) 硬體亦可搭配使用不同種類的 I/O,並連接至使用者設定的 FPGA 晶片。高階軟體工具正不斷提升其適用性,縮短了抽象層 (Layer of abstraction) 的學習時間,並針對進階控制與訊號處理使用 IP cores (預先建立的函式)。 

成本 – 客制化 ASIC 設計的非重置研發 (NRE) 費用,遠遠超過 FPGA 架構硬體解決方案的費用。ASIC 的大型初始投資,可簡單認列於 OEM 每年所出貨的數千組晶片,但是許多末端使用者更需要客制硬體功能,以用於開發過程中的數百組系統。而可程式化晶片的特性,即代表低成本的架構作業,或組裝作業的長前置時間。由於系統需求隨時在變化,因此若與 ASIC 的龐大修改費用相較,FPGA 設計的成本實在微不足道。 

可靠性 – 正如軟體工具提供程式設計的環境,FPGA 電路亦為程式執行的「堅強」建置方式。處理器架構的系統往往具有多個抽象層,以協助多重處理程序之間的作業排程與資源分享。驅動層 (Driver layer) 控制硬體資源,而作業系統則管理記憶體與處理器頻寬。針對任何現有的處理器核心來說,每次僅可執行 1 組指令碼;而處理器架構的系統則可連續處理重要作業。FPGA 不需使用作業系統,並將產生問題的機會降至最低,以平行執行功能與專屬精密硬體執行作業。 

長期維護 – 如稍早所提,FPGA 晶片為即時升級 (Field-upgradable) 特性,不需如 ASIC 重新設計的時間與費用。舉例來說,數位通訊協定的規格可隨時間而改變,而 ASIC 架構的介面卻可能產生維護與向下相容的問題。FPGA 具有可重設性質,可隨時因應未來的需要而進行修改。當產品或系統趨於成熟時,不需耗時重新設計或修改機板配置,即可提升相關功能。






留言

熱門文章