The GMX ( Gimasi Module eXchange ) bus has been developed for the Tuino family to easily bring on the platform different RF modules.
It's a very simple bus that essentially exposes different communication buses. The idea was to standardize the layout of the GPIO pins.
Here the layout:
- UART: UART_RX and UART_TX
- I2C: SDA and SCL
- SPI: MISO, MOSI, SCLK and CS
- GPIO: GPIO1, GPIO2, GPIO3, GPIO4, GPIO5, GPIO6
- 3.3V
- GND
- 5V
The standard power supply for GMX modules is 3.3V and all signal levels are 3.3V. The 5V is not compulsory and has been added only for legacy chips that need the 5V voltage, this to avoid the adding a step-up converter on the module.
- gmxRESET
- gmxINT
- gmxCONNECT
- IDENT_1Wire
gmxRESET: Reset signal to the GMX Module ( active LOW )
gmxINT: Interrupt pin to signal to the host processor (active LOW ). Usually used when an RX frame is received by the module.
IDENT_1Wire: One-Wire connection to the onboard EEPROM/PROM - usually a DS28EC20. This is currently optional, it's functionality has not yet been implemented. It will allow the host processor to identify the functionalities of the inserted module.
gmxCONNECT: Presence pin. On the module should be pulled UP to VCC (3.3V), the host processor will identify the presence of a module on the bus via this pin.
- SWDIO, SWCLK, SWO/V
Standard programming/debugging SWD pins. Not all modules will have these pins connected only those that have a programmable MCU on board.
The standard GMX bus specification has alternate functions for the GPIO pins layout. Again standardizing the layout of additional functionalities.
- GPIO1 => ADC1 / DAC1
- GPIO2 => ADC2 / DAC2
- GPIO3 => UART2_RX
- GPIO4 => UART2_TX
- GPIO5 => USB_DM
- GPIO6 => USB_DP
GMX Modules are mainly Slave devices connected to a host MCU. But it is also possible to have a Master module, ie. having the main MCU on the module and driving through the GMX bus a peripheral board. In Master mode some of the pin direction get's reversed:
- gmxRESET becomes output. Reset to the peripheral board.
- SPI CS becomes output. Can be used as SPI CS, as well as other GPIO pins present on the bus.
- gmxInt becomes input. Interrput from the peripheral board.
The GMX bus is based on a standard 2x12 pin 0.05" or 1.27 mm pitch connector.
Click here for an example of the female connector on Digikey
And here an example of the male connector.
The maximum dimensions for a GMX module are 28mmx45mm, like in the picture.