To be absolutely clear, the EXI bus (which is actually more of a glorified SPI Bus
) is convenient because the PowerPC has direct access to it. It has no security, no interface, no API, no error checking...it is designed for simplicity and it does not require Starlet (the ARM security co-processor).
An EXI Bus transaction looks like this.
1) If writing, write the byte you want to send to some address (I can't be bothered to look at YAGCD)
2) Write a carefully tailored number to some other address, which tells the Wii which channel to use (i.e. controlling the slave select lines on the SPI bus), bus frequency, in or out, etc. (again, YAGCD)
3) If reading, read the byte from that first address.
That's all there is to it. It's nothing like e.g. Wifi which requires you to negotiate with a DHCP server for an IP address.
The USB Gecko has a CPLD chip which interfaces the EXI bus to an FTDI chip which provides an RS232 connection over USB. PowerPC -> EXI bus -> CPLD -> RS232 -> FTDI -> USB -> PC. This is why the data looks like a serial port to a PC, but on the Wii side it's just writing a couple bytes to a couple addresses.