GMX Bus specification
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
docs
README.md

README.md

GMX

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:


General I/O Pins

  • UART: UART_RX and UART_TX
  • I2C: SDA and SCL
  • SPI: MISO, MOSI, SCLK and CS
  • GPIO: GPIO1, GPIO2, GPIO3, GPIO4, GPIO5, GPIO6

Power Pins

  • 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.

Module Control Pin

  • 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.

Programming / Debugging Pins

  • 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.

Alternate Functions

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

Master or Slave

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.

Physical connector

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.

Physical dimensions

The maximum dimensions for a GMX module are 28mmx45mm, like in the picture.