2014年1月8日 星期三

NXT Interfaces

NXT 的界面有螢幕、按鍵、USB、馬達界面 A/B/C、感應器界面 1/2/3/4、電源、還有無線的藍牙。

螢幕、按鍵就不多談了。電源除了提供電力外,裡面還有一個小開關,告知是接電池還是可充電模組。

USB 2.0
馬達界面亦稱輸出界面,不是 Power Functions 的四條線 (9V, C1, C2, GND),而有六條線 -- M0, M1, GND, 4.3V, T0, T1。
  • M0 跟 M1 類似 Power Functions 的 C1 及 C2,讓馬達正轉、反轉、煞車、或空轉。 
  • T0 跟 T1 -- TACH 訊號,接到 NXT 主處理器
  • MA0 跟 MA1 也可以用來提供 800 mA 電力給其它週邊,免去另外的電源。需注意 A 在煞車時仍供電,B & C 則沒有。

感應器界面亦稱輸入界面,跟馬達一樣是六條線 -- Analog, GND, GND, 4.3V, SCL, SDA
  • 感應器界面跟馬達界面插座相同,訊號也點類似,兩者誤插並不會怎樣,只是不會動作。
  • Analog 是類比輸入,接到 NXT 附屬處理器 ATmega48。
  • SCL 跟 SDA 是 I2C 界面 (9600 bit/s),在 Port 4 還可以作為 1 Mbit/s 的 RS-485 界面 (P-Net)
  • 麵包板接頭
  • Arduino shield with NXT socket -- 讓 Arduino 用 NXT 的感應器
  • RC Sensor for Mindstorms NXT 或 NXT sensor building kid
藍牙:Bluetooth® V2.0 with EDR,支援 Serial Port Profile (SPP)
  • Bluetooth Class II Device (10 公尺),SPP 可視為 Wireless serial port
  • 由接收模式轉換程傳送模式需要 30 ms
  • NXT 主處理器是 ARM7,透過 UART 接到藍牙晶片,用在 stream 模式跟 command 模式,由硬體訊號區別。steam 模式的格式跟 NXT Communication Protocol 是一致的。
    • 藍牙晶片是 CSR BlueCore™ 4 Version 2,內建有 16-bit 處理器,執行藍牙堆疊軟體 -- BlueLab v3.2,並含有 VM 可執行使用者程式。
    • SPI 只用來更新 BlueCore 韌體,跟 NXT 螢幕共用。
  • Linux 用藍牙跟 NXT 通訊的程式 

參考:
  1. NXT 電路圖
  2. What's Inside the NXT Brick
延伸閱讀
  • EV3 吃 NXT 的馬達跟 Sensor,NXT 吃 EV3 的馬達,但不吃 EV3 Sensor
  • http://python-ev3.org/DcmDriver.html -- 有 EV3 硬體界面的說明及偵測方式
  • Support for Mindstorms EV3 stuff
    • Sensor 的 Analog 在 pin 6,Digital 是基於 UART,可能還需要能改變 baud rate。UART 程式參考 EV3 原始碼中的 d_uart_mod.c

沒有留言:

張貼留言

SIP header Via

所有 SIP 訊息 都要有 Via,縮寫 v。一開始的 UAC 和後續途經的每個 proxy 都會疊加一個 Via 放傳送的位址,依序作為回應的路徑。 格式 sent-protocol sent-by [ ;branch= branch ][ ; 參數 ...] s...