holds the SCL line low, and waits for the receiver to raise the
SDA line as an ACKnowledge that the byte has been received.
WRITING TO REGISTERS VIA THE SMBus INTERFACE
To write a data value to a register in the LMH0041, the host
writes three bytes to the LMH0041, the first byte is the device
address—the device address is a 7 bit value, and if writing to
the LMH0041 the last bit (LSB) is set to ‘0’ to signify that the
operation is a write. The second byte written is the register
address, and the third byte written is the data to be written into
the addressed register. If additional data writes are performed, the register address is automatically incremented. At
the end of the write cycle the host places the bus in the STOP
state.
READING FROM REGISTERS VIA THE SMBus
INTERFACE
To read the data value from a register, first the host writes the
device address with the LSB set to a ‘0’ denoting a write, then
the register address is written to the device. The host then
reasserts the START condition, and writes the device address
once again, but this time with the LSB set to a ‘1’ denoting a
read, and following this the LMH0041 will drive the SDA line
with the data from the addressed register. The host indicates
that it has finished reading the data by asserting a ‘1’ for the
ACK bit. After reading the last byte, the host will assert a ‘0’
for NACK to indicate to the LMH0041 that it does not require
any more data.
General Purpose I/O Pins (GPIO)
The LMH0041 has three pins which can be configured to provide direct access to certain register values via a dedicated
pin. For example if a particular application required fast action
to the condition of the deserializer losing it’s input signal, the
PCLK detect status bit could be routed directly to an external
pin where it might generate an interrupt for the host processor.
GPIO pins can be configured to be in Tri-State (High
Impedance) mode, the buffers can be disabled, and when
used as inputs can be configured with a pullup resistor, a
pulldown resistor or no input pin biasing at all.
Each of the GPIO pins has a register to control it. For each of
these registers, the upper 4 bits are used to define what function is desired of the GPIO pin with options being slightly
different for each of the three GPIO pins. The pins can be
used to monitor the status of various internal states of the
LMH0040 device, to serve as an input from some external
stimulus, and for output to control some external function.
GPIO0 Functions
Allow for the output of a signal programmed by the SMBus
Allow the monitoring of an external signal via the SMBus
Monitor the status of the signal on input 0
GPIO1 Functions
Monitor Power On Reset
Allow for the output of a signal programmed by the SMBus
Allow the monitoring of an external signal via the SMBus
Monitor the status of the signal on input 1
Monitor Lock condition of the input clock recovery PLL
GPIO2 Functions
Allow for the output of a signal programmed by the SMBus
Allow the monitoring of an external signal via the SMBus
Provides a constant clock signal
LVDS TX Clock at 1/20 full rate
CDR Clock at 1/20 full rate
Bits 2 and 3 are used to determine the status of the internal
pullup/pulldown resistors on the device—they are loaded according to the following truth table:
00: pullup and pulldown disabled
01: pulldown enabled
10: pullup enabled
11: reserved
Bit 1 is used to enable or disable the input buffer. If the GPIO
pin is to be used as an output pin, then this bit must be set to
a ‘0’ disabling the output.
The LSB is used to switch the output between normal output
state and high impedance mode. If the GPIO is to be used as
an input pin, this bit must be set to ‘0’ placing the output in
high Z mode.
As an example, if you wanted to use the GPIO0 pin to monitor
the status of the input signal on input 0, you would load register 02h with the value 0010 0001b
Potential Applications for GPIO Pins
In addition to being useful debug tools while bringing an
LMH0041 design up, there are other practical uses to which
the GPIO pins can be put:
PROGRAMMING SEVERAL LMH0041S WITH UNIQUE
ADDRESSES
If there were to be a design using a large number of LMH0041
devices all supported by a single host, it might be desirable
to have them all share a single SMBus connection, but not
have to use separate CS lines from the host. In this case we
can buss all of the SCK and SDA pins together, connect the
CS line for the first device to GND (always selected) then
connect the CS line for each successive part in the chain to
the previous LMH0041. On initial power up, program GPIO0
to be 1, which will de-select all but the first LMH0041—now
reprogram the address, using this reprogrammed address,
drive GPIO to 0, enabling the second LMH0041, which can
then have its address reprogrammed, and so on down the
chain until each LMH0041 has a unique address, and all have
their CS lines held low.
AUTOMATIC SWITCHING TO SECONDARY INPUT IF THE
SIGNAL ON THE PRIMARY INPUT IS LOST
By setting GPIO0 to monitor the status of input0 when there
is a signal present on input 0, the GPIO0 pin will go low when
there is no signal present on the Input0 pin, if this signal is
inverted and then used to drive the RX_MUX_SEL then if the
input on Input0 is lost, the device will automatically switch to
Input1.
Another possible use of the GPIO pins is to provide access to
external signals such as the CD output from an equalizer or
the LOCK output from the LMH0041 itself via the SMBus,
helping to minimize the number of connections between the
LMH0041 and the FPGA.
PCB Layout Recommendations
In almost all applications, the inputs to the LMH0041 will be
driven by the output of an equalizer such as the LMH0044.
You should follow the recommendations on the equalizer
datasheet for the interface between the input connector and
the equalizer—the LMH0041 will be placed between the
equalizer and the FPGA. If the LMH0041 is too close to the
equalizer, then there is a risk of crosstalk between the high
speed digital outputs of the LMH0041 and the equalizer inputs. Conversely, if too far away then the interconnect between the equalizer and the LMH0041 may either pick up
www.national.com 8
LMH0341, LMH0041, LMH0071, LMH0051