The serial input/output port (SIOP) is a simplified version of the serial peripheral interface (SPI) that appears on numerous Motorola microcontrollers ranging from other 68HC05 devices to members of the highly-integrated 68300 family. The SIOP supports master (processor initiated) and slave (externally initiated) mode transfers.
A bi-directional shift register, dividers that derive the shift clock from the internal MCU clock, and three shared pins with associated control logic comprise the SIOP.
Depending on the device, three or four registers control the SIOP. All SIOP implementations have a data register (SDR) from which received data is read and to which data for transmission is written. The SIOP status register (SSR) reports transfer completion (via the SPIF bit) and data collisions (via the DCOL bit) if SDR is read or written before SPIF is set.
The SIOP control register (SCR) enables the SIOP and configures it for master or slave mode. Baud rate is implementation dependent and, on some devices, may be fixed at some fraction of the internal MCU clock. Other devices have one or more rate control bits resident either in SCR or a mask option register (MOR) that permit alternative SIOP baud rates to be selected.