The project was originally intended as an entry to the 2021 hackaday Designlab contest, but university was kicking my ass so I could not make it presentable in time.
This is a proposed MIDI transport with support for MIDI 2.0. These specifications may not be final.
- 4-wire flat ribbon-cable
- MicroMatch or WR-MM connector
- Outermost pins of the connector is connected to an RC filter
- Selectable end-termination on every module
- CAN FD controller and transceiver
End termination can be enabled on a module with a DPDT switch, or with jumpers. And the terminated position should be clearly marked on the PCB. Split termination is preferred to minimize EMR.
- Bus speed is 1MHz: TSEG1 = 600ns, TSEG2 = 300ns, Sync = 100ns.
- 11-bit standard ID, where every device on the bus should have a unique ID
- MIDI messages are sent over the bus using the UMP format
The ID field of the CAN frame contains the ID of the transmitting device for arbitration purposes. These IDs should be randomly generated. Also, the device should generate a new ID if it receives a frame with its own ID.