SBOSA15A september 2022 – may 2023 TMP1827
PRODUCTION DATA
The command is used by the host to identify the 64-bit address of each of the devices on the bus after the system is powered up (see Figure 9-21). Additionally, this command may be run by the host to discover any new devices that may be added to the system later. When there is a single device bus, the host can skip the command and instead use the SKIPADDR or OVD_SKIPADDR commands to access the device.
As shown in right side flow of Figure 9-21, when the fast arbitration mode is enabled by setting ARB_MODE bits as '11b' in the device configuration-2 register, the devices check the bus for the transmitted bit. If the device reads a bit value other than what they had transmitted, they no longer respond to the command until the next bus reset. A device that wins the bus continues until the 64th bit, sets the ARB_DONE bit in its status register to '1b' and stops responding to the next SEARCHADDR command. The arbitration function allows the host a fast discovery of the devices without having to go through the complicated, memory intensive and longer discovery method using traditional SEARCHADDR command. At the same time, if the host has an issue on the bus, then it can simply perform a broadcast write to disable and enable the arbitration mode to restart the fast arbitration mode.
The device also features an optimized arbitration mode which is enabled by setting ARB_MODE bits as '10b'. The devices check the transmitted bit, and if the devices detect a logic '0' when they send a logic '1', they do not participate in the SEARCHADDR command until the next SEARCHADDR command is sent. The device that is able to send all 64 bits successfully, wins the bus and sets the ARB_DONE bit in its status register to '1b' and stops responding to next SEARCHADDR command. As a result of the optimized arbitration mode, the host does not have to manage the complex memory structure to identify devices on the bus and can still use the legacy software search algorithm.
The host must top searching for devices when it receives "FFFFFFFFh". The host must disable the arbitration mode bits to clear the ARB_DONE status and enable only when it wants to search for new devices added to the existing bus.