2009年8月13日 星期四

讓CompactRIO從A到A+

讓CompactRIO從A到A+ —

建立客製化CompactRIO模組CompactRIO平台的優勢

NI CompactRIO 為體積小、堅固耐用的工業級控制與擷取系統,具有即時作業系統與可重新組態的 FPGA,適用於獨立的嵌入式或分散式應用。在與外界通訊的部分,包含內建訊號處理功能的熱插拔工業級 I/O 模組,可直接連接至多種感測器,以滿足絕大多數量測與控制的需求。

讓您的 CompactRIO 系統更具彈性

然而,隨著系統複雜度增加與應用領域的多元化,現有的模組可能無法完全滿足使用者的需求,在這樣的情況下,使用者便可以量身訂做符合個別需求的模組,以結合 CompactRIO 這樣的絕佳平台。接下來的文章中,我們就以開發一個 GPS 訊號接收模組為例,分享我們從無到有的開發步驟,來讓讀者有更具體的認識:

Step 1. 硬體設計製作

為了製作客製化的模組,首先,開發者必須先取得 CompactRIO-9951 模組開發工具組 (MDK) 並簽署一份合約,工具組的內容包含一份使用手冊,手冊內詳細定義了硬體模組設計的細節,包括 PCB 尺寸機構圖、模組與 CompactRIO FPGA 連接的腳位定義、電源功率規範,以及 EEPROM 的通訊格式。本專案從 GPS 模組出發,根據手冊的資訊與規範,以電路設計與 PCB 佈線軟體 (如 NI Multisim 與 Ultiboard)設計並實現模組內部的 PCB 電路板,並將 GPS 模組所傳出之 TTL 數位訊號連接至 CompactRIO 背板的標準 15-pin DSUB 接頭。

clip_image002

圖 1. 電路設計與 PCB 佈線

Step 2. 驅動程式開發與功能驗證

硬體部份完成之後,開發與軟體溝通的驅動程式往往是最令人頭痛的。傳統上的作法得透過硬體描述語言,例如 VHDL 或 Verilog 等來實現,此種語法學習門檻不低並且需要耗費許多心力 debug。安裝 CompactRIO MDK後,在 LabVIEW 的環境下便不需撰寫底層的 VHDL 程式,只需透過 LabVIEW FPGA 建立與客製化模組溝通的軟體介面,藉此提供應用程式開發者簡便使用的應用程式介面 (API) 來控制硬體,例如硬體初始化、檢查 GPS 定位狀態、取得座標資料與停止等。

clip_image004

圖 2. 利用 LabVIEW FPGA 開發硬體驅動程式

Step 3. 應用程式撰寫

有了硬體與驅動程式後,便可將客製化模組整合到 CompactRIO 平台中。應用程式的部份可透過 LabVIEW、LabVIEW Real Time,以及 LabVIEW FPGA 撰寫 PC 端與 CompactRIO 端的程式。搭載了客製化 GPS 模組的 CompactRIO,可以作為使資料記錄器獨立運作,不間斷的同步記錄當前位置、時間、速度,以及其他模組的訊號 (如溫度、壓力、振動等);若需要可顯示與操縱的人機介面,還可以透過網路與 PC 或 Touch Panel 來傳遞資料,此系統非常適合應用於行車即時資訊或監控系統。

clip_image006

圖 3. CompactRIO 應用程式架構

強大的圖形化系統設計 (Graphical System Design )

客製化模組製作的過程,由設計、功能驗證、原型製作到佈署,都可以使用 NI 所提供的軟體以及圖形化程式語言 LabVIEW 加以完成。NI 虛擬儀控的概念,藉由軟體提供了定義硬體功能的彈性,而現在更進一步,我們可以透過客製化 CompactRIO 模組,為硬體平台提供更多的彈性。

clip_image008

圖 4. 客製化模組開發流程

clip_image010

圖 5. 客製化 GPS 模組

clip_image012

圖 6. CompactRIO 系統與 GPS 模組

<<延伸閱讀>>

Using Electronics Workbench EDA Tools to Design a Custom CompactRIO Module with Freescale MMA7260Q Acceleration Sensor à http://zone.ni.com/devzone/cda/tut/p/id/4539

沒有留言:

張貼留言