The MRBus computer interface is essentially a serial-to-serial protocol converter. One side, obviously, plugs into the MRBus. The other side is a standard RS-232 type connection that will plug into a PC (or anything else that talks serial). It also converts the raw binary on the MRBus side to human-readable ASCII, so that anybody with a PC and a terminal emulator can talk to the bus, no special software required.
There's not really that much to discuss on the MRB-CI - the hardware is quite simple. The only complexity is in the internal software. It's a basic debugging tool, and can be operated from any PC with a terminal program (Hyperterm on Windows works just fine). Just plug the bus in one side and the computer in the other, set up your terminal program for the right serial port at 115200 bps, 8-N-1, no flow control, and you're in business. If you have any bus traffic at all, it should start spewing strings of text onto the screen. These are the raw packets as seen on the bus, converted to human-readable hex numbers.
To send a packet to the bus, enter a colon ':'. This will put the interface into packet entry mode, and allow you to key in a set of hex pairs. Fortunately, the interface takes care of some of the nasties of packet composition - it fills in the length and checksum after you've finished entry. When you're done composing your packet, enter a semicolon ';'. If you've made a mistake, sorry, backspace doesn't work yet, just hit enter without a semicolon and start over. I'll be fixing that in future versions, but for now it would take actual effort to fix that could be better spent on something else. So, to send a packet that was (where ?? are the checksum bytes):
FE 21 ?? ?? 07 44 00
you'd actually type in the source, the destination, the type, and the data bytes. The checksum and length are calculated when you hit semicolon and enter. Example of what you'd enter:
:FE->21 44 00;
I'm not a user interface designer, and it shows.
Schematics
Version 0.9 Final MRB-CI schematic | [jpg] |
Firmware
Version 0.9 Essentially complete as a basic diagnostic tool, except sometimes it seems to suffer from bus->computer buffer overruns. Included is the pc-iface.c source file, the two MRBus source files, the C2C compiler project, and a precompiled .HEX binary. | [src] - [hex] |
Photos