Startup Shutdown Synchronization Protocol (SSSP)

SSSP defines signal handling during the startup phase until all AMiRo modules are fully initialized, and during the shutdown phase so that the system turns off in a controlled and safe manner or restarts, if requested.
The complexity of the protocol is quite low and designed in a way that modules which do not implement SSSP will not compromise system operation.

Version History

Version 2.0 (draft)

  • Redefinition of signal properties, causing incompatibility with version 1.x.
  • Introduced a further optional clock signal C that can be used for system synchronization during operation phase instead of S.
  • Due to multiple usage of the parameter T, it was divided into two individual ones D and T.
  • Introduced an additional optional step during the startup phase, which allows to rearrange module IDs if desired.

Version 1.4

  • Optimized stage 3 of the startup phase (module stack initialization).
    The procedure can now be aborted by any module and instead of the master, the final module terminates the stage.
  • Removed the constraint that the largest possible module ID (e.g. 255 for 8-bit addressing) was reserved.
    Thus, only a value of 0 is reserved, which indicates unavailable module IDs and can be used as broadcast address in any case (IDs may or may not be available).

Version 1.3

  • Introduced the Operation Phase and the additional parameter F.
    The new phase allows for precise temporal synchronization of all modules.

Version 1.2

  • Introduced the parameter T for adjustable delays.
    Before, T was predefined as one millisecond.

Version 1.1

  • Introduced the module stack initialization (stage 3 of the startup sequence).
    This feature allows to dynamically count the number of modules and use the order of the stack as hierarchy for later communication.
  • Introduced the disambiguation procedure in the shutdown phase (stage 2.2).
    This way it is now possible to trigger all shutdown/restart procedures from any module.

Version 1.0

Initial version of SSSP.