HDQ and 1-Wire Protocols
7-186
7.15.1.1
Receive and Transmit Operation
The receive and the transmit operations are performed with respect to the tim-
ing that is specified in the HDQ protocol. This is done to keep the hardware
interface section compatible between the two devices. In essence the 1-Wire
mode runs at slower speeds than the capabilities of the mode. The differences
between the protocol at the hardware layer are described in the following
subsections.
HDQ Mode (Default)
In HDQ mode, the firmware does not require the host to create an initialization
pulse to the slave. However, the slave can be reset using an initialization pulse
(also referred to as a break pulse). The pulse is created by setting the appropri-
ate bit in the control and status register. The slave does not respond with a
presence pulse, as it does in the 1-Wire protocol.
In a typical write to the slave, two bytes of data are sent to the slave. This is
the command/address byte followed by the data that must be written. In a
typical read, one command/address byte is sent to the slave, and the slave
returns a byte of data.
The master implementation is a byte engine. The sending of the ID, command/
address, and data is the responsibility of the firmware. The master engine
provides for only one data TX register.
HDQ is a return-to-1 protocol. This means that after a data byte (either
command/a write data for writes, or just command/address for reads)
is sent to the slave, the host pulls the line high. This is accomplished in the
OMAP5910 device by setting the line to high (with an external pullup). The
slave pulls the line low to initiate a transaction. This is the case when a read
happens and the slave must send the read data back to the host.
If the host initiates a read and data is not received in a specified interval (the
slave does not pull the line low within this time), a time-out status bit is set. This
indicates that a read was not successfully completed. On successful comple-
tion, the time-out bit is cleared. The bit remains set or cleared until the next
transaction by the host.
An interrupt condition indicates either a TX complete, RX complete, or time-out
condition. The read of the interrupt status register clears all the interrupt condi-
tions. Only one interrupt signal is sent to the microcontroller and only an overall
mask bit exists for the enabling and disabling of the interrupt. Each of the inter-
rupt conditions cannot be individually masked.
The following sequence must be performed by the programmer for the reads
and writes to the slave: