I am designing a embedded system where a master microcontroller (or possibly a SoC) needs to communicate with several different sub modules with a microcontroller of their own. The sub modules should be hot swappable, uniquely identified, and the module type should be detected by the master. At least 16 sub modules must be supported. Each module needs a mechanism to notify the master of certain events.
Preferably I am looking for a bus based solution. I do not require a hight bandwidth (a few kbps is fine) and the latency is not critical.
For the sub-modules I have looked into a microcontroller in the EFM8 Laser bee family from Silicon Labs, where each chip contains a unique 128-bit id number for identification. But I am open for other suggestions.
I have looked into SMbus, and 1-Wire as alternatives for the communication bus. I have also looked at the LTC4300 Hot Swappable 2-Wire Bus Buffer, which I believe might be useful for SMBus?
I know that both SMbus and 1-wire have mechanisms for identification of slave devices, but I have still not looked into how I should implement the software.
My question is if there are any important issues with the solutions I have considered, and if there any other possible solutions I might have overlooked?