AV.Link uses a single wire in an open collector configuration. It is passively pulled up to 3 or 3.3 V, and may be pulled down by any device on the bus. Total bus capacitance is a maximum of 7300 pF, and signal transitions are correspondingly slow: 333 bit/s, with 50 μsfall time and 250 μs rise time. Each bit transferred begins with a falling edge. The duration of the low period determines the value. Data bits are 2.4±0.35 ms long, with 1 bits having a low period of 0.6±0.2 ms, and 0 bits having a low period of 1.5±0.2 ms. Receivers observe the data line at 1.05±0.2 ms after the falling edge to determine the bit's value. Every message begins with a special start bit, 4.5±0.2 ms long, with a low period of 3.7±0.2 ms. A transmitter must listen to the bus as it transmits; the receiver may hold it low, turning a transmitted 1 bit into a 0 bit. This is done, for example, to acknowledge a transmission. If a receiver detects an error in the received data, it holds the bus low for 3.6±0.24 ms; this causes the transmitter to abort the message and retry from the beginning. A message consists of a start bit, followed by a series of data bytes. Each byte is actually transmitted as 10 bits:
An end-of-message bit is 0 to indicate that more bytes are being transmitted, or 1 to indicate not, and
An acknowledge bit is transmitted as 1, but overwritten to a 0 bit by the receiver to acknowledge receipt.
* For broadcast messages, the acknowledge bit is inverted: it is overwritten to 0 if any receiver rejects the message.
Each message begins with an address byte specifying the 4-bit initiator and recipient addresses. If two initiators begin transmitting at the same time, one of them will transmit a 0 bit while the other transmits a 1 bit, and the latter will observe the conflict and cease transmitting until the bus is idle again. An address byte sent with EOM=1 is a simple "ping" to check if the addressed device exists and is powered on. Otherwise, it is followed by an opcode byte, and parameters as required by the opcode. When a device is powered on, it chooses an address and sends a ping to see if that address is claimed by another device. If no acknowledge is received, the address is free and may be kept. Otherwise, the device tries another address.