SMBus Alert - это дополнительный сигнал с линией прерывания для устройств, которые хотят передать мастеру сообщение. SMBA - это сигнал "проводной-AND", как и сигналы SCL и SDA. SMBA используется вместе с адресом общего вызова SMBus. Сообщения, вызываемые по шине SMBus, имеют длину 2 байта.
Работающий только в режиме ведомого устройства может сигнализировать хосту через SMBA, что он хочет поговорить, установив бит ALERT в регистре I2C_CR1. Хост обрабатывает прерывание и одновременно обращается ко всем устройствам SMBA через Alert Response Address (известный как ARA, имеющий значение 0001 100X). Только устройство(а), которое(ые) подало(и) низкий уровень SMBA, подтверждает(ют) обращение Alert Response Address. Этот статус идентифицируется с помощью флага SMBALERT Status в регистре I2C_SR1. Хост выполняет модифицированную операцию приема байта. 7-битный адрес устройства, предоставленный ведомым передающим устройством, помещается в 7 старших битов байта. Восьмой бит может быть нулем или единицей.
Если более одного устройства подают низкий уровень SMBA, устройство с наивысшим приоритетом (наименьшим адресом) получает право на обмен данными через стандартный арбитраж во время передачи адреса ведомого устройства. После подтверждения адреса ведомого устройство должно отключить свою подтяжку SMBA. Если по завершении передачи сообщения хост все еще видит низкий уровень SMBA, он знает, что нужно снова считать ARA.
Хост, который не реализует сигнал SMBA, может периодически обращаться к ARA.
Более подробную информацию о режиме оповещения SMBus см. в спецификации SMBus ver. 2.0 (http://smbus.org/specs/)