最近越來越多機器人都在用 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
所以到時候這個架構會長的像這樣:
如果我們想把 I2C Sensor 直接做進一個 CompactRIO 的模組的話,這樣也可以。好處是,模組的殼能夠保護 sensor,而且未來如果其他人有同款 I2C sensor 的需求的話,或許這個模組可以商品化,幫他人節省時間和麻煩。
Clock & Data 這兩條訊號也可以從 CompactRIO 背板上直接定義,這樣一來 sensor 就可以 lay 在一個電路板上,然後放在一個空殼裡面。架構如下:
剛好最近 NI 也有個 CompactRIO 模組設計競賽,有興趣的朋友們要趕快報名參加哦!
沒有留言:
張貼留言