Hi folks,
I am attempting to implement an SMBus device (slave) over I2C on the F28027.
When a device generates an alert it raises a signal to the host (master) over an-out-of-band shared wired-AND GPIO line - #SMBALERT
When the host see's this line asserted it broadcasts an Alert Response to address 0x0Ch, which effectively acts as a second general call address with the special function that slaves that have asserted the alert respond with their own addresses.
I am wondering if it is possible to implement this, as the Alert Response address is effectively a third own-address (the first two being the device's own address and the general call address)
I had considered using the free data format to bit-bang the SMBus protocols and manage the addressing within the program instead of the hardware, but I believe that the constraint that
"the direction of the data must be constant throughout the transfer"
prevents the ability to match the SMBus protocols as the follow a scheme such as the following (where upper case = master & lower case = slave):
START - - ADDRESS - - W - - DATA BYTE - - ack - - REPEAT START - - ADDRESS - - R - - ack - - data byte - - NACK - - STOP
with the problem arising where a read is always preceded by an addressing.
Is there any other option to implement this on the F28027??
Many thanks.