2009年6月9日 星期二

如何做一個客製化 I2C Sensor 的 CompactRIO 模組 (簡敘)

最近越來越多機器人都在用 CompactRIO 在做開發,而其實現在也有很多小型,低耗電的 sensor 都是用 I2C 的通訊方式在溝通。真可惜 NI 沒有在 CompactRIO 上做個現成的 I2C 界面啊!  不過還好因為 I2C 是個序列的通訊協定,只需要兩個訊號來做溝通 (Clock & Data),一般來講我們可以用 CompactRIO 的一些現成 DIO module,將兩條 digital line 定義為 I2C 的 clock 和 data 訊號,再用 LabVIEW FPGA 寫 I2C 的編碼解碼邏輯就可以了。

什麼?! 你沒有寫過 LabVIEW FPGA? 還好 NI 在網路上有些現成的 I2C 範例,可以讓我們直接放在 FPGA 上。請參考以下聯結:

I2C Implementation in LabVIEW FPGA

I2C Bus Communication Example Using LabVIEW FPGA

所以到時候這個架構會長的像這樣:

image

如果我們想把 I2C Sensor 直接做進一個 CompactRIO 的模組的話,這樣也可以。好處是,模組的殼能夠保護 sensor,而且未來如果其他人有同款 I2C sensor 的需求的話,或許這個模組可以商品化,幫他人節省時間和麻煩。

Clock & Data 這兩條訊號也可以從 CompactRIO 背板上直接定義,這樣一來 sensor 就可以 lay 在一個電路板上,然後放在一個空殼裡面。架構如下:

image

剛好最近 NI 也有個 CompactRIO 模組設計競賽,有興趣的朋友們要趕快報名參加哦!

NI 產品設計創業競賽

沒有留言:

張貼留言