The MAX9257 serializer pairs with the MAX9258 deserializer to form a complete digital video serial link. The
MAX9257/MAX9258 feature programmable parallel data
width, parallel clock frequency range, spread spectrum,
and preemphasis. An integrated control channel transfers data bidirectionally at power-up during video blanking over the same differential pair used for video data.
This feature eliminates the need for external CAN or LIN
interface for diagnostics or programming. The clock is
recovered from input serial data at MAX9258, hence
eliminating the need for an external reference clock.
The MAX9257 serializes 10, 12, 14, 16, and 18 bits with
the addition of two encoding bits for AC-coupling. The
MAX9258 deserializer links with the MAX9257 to deserialize a maximum of 20 (data + encoding) bits per
pixel/parallel clock period for a maximum serial-data
rate of 840Mbps. The word length can be adjusted to
accommodate a higher pixel/parallel clock frequency.
The pixel clock can vary from 5MHz to 70MHz, depending on the serial-word length. Enabling parity adds two
parity bits to the serial word. The encoding bits reduce
ISI and allow AC-coupling.
The MAX9258 receives programming instructions from
the electronic control unit (ECU) during the control
channel and transmits to the MAX9257 over the serial
video link. The instructions can program or update the
MAX9257, MAX9258, or an external peripheral device,
such as a camera. The MAX9257 communicates with
the peripheral device with I2C or UART.
The MAX9257/MAX9258 operate from a +3.3V core
supply and feature separate supplies for interfacing to
+1.8V to +3.3V logic levels. These devices are available in 40-lead TQFN or 48-pin LQFP packages. These
devices are specified over the -40°C to +105°C temperature range.
Applications
Automotive Cameras
Industrial Cameras
Navigation Systems Display
In-Vehicle Entertainment Systems
Features
♦ 10/12/14/16/18-Bit Programmable Parallel Data
Width
♦ MAX9258 Does Not Require Reference Clock
♦ Parity Protection for Video and Control Channels
Fully Programmable Serializer/Deserializer
with UART/I2C Control Channel
ABSOLUTE MAXIMUM RATINGS
Stresses beyond those listed under “Absolute Maximum Ratings” may cause permanent damage to the device. These are stress ratings only, and functional
operation of the device at these or any other conditions beyond those indicated in the operational sections of the specifications is not implied. Exposure to
absolute maximum rating conditions for extended periods may affect device reliability.
VCC_ to GND .........................................................-0.5V to +4.0V
Any Ground to Any Ground...................................-0.5V to +0.5V
SDI+, SDI-, SDO+, SDO- to GND..........................-0.5V to +4.0V
Fully Programmable Serializer/Deserializer
with UART/I2C Control Channel
MAX9257 Pin Description
PIN
TQFNLQFP
1, 182, 21V
2, 11,
19, 34
3–84–9
910GND
1011V
1215DIN15/GPIO7
1316HSYNC_INHorizontal SYNC Input. HSYNC_IN is internally pulled down to ground.
1417VSYNC_INVertical SYNC Input. VSYNC_IN is internally pulled down to ground.
1518PCLK_IN
1619SCL/TX
1720SDA/RX
20, 3323, 40V
2126GPIO8General Purpose Input/Output
2227GPIO9General Purpose Input/Output
2328V
2429GND
2530GND
2631SDO-Serial LVDS Inverting Output
2732SDO+Serial LVDS Noninverting Output
2833V
3, 14,
22, 41
NAMEFUNCTION
Single-Ended Input/Output Buffer Supply Voltage. Bypass V
CCIO
GNDDigital Supply Ground
DIN[9:14]/
GPIO[1:6]
FPLL
CCFPLL
CC
CCSPLL
SPLL
LVDS
CCLVDS
0.001µF capacitors in parallel as close as possible to the device with the smallest value
capacitor closest to V
Data Input/General Purpose Input/Output. When a serial-data word is less than 18 bits
word length, DIN_ not programmed as data inputs becomes GPIO (Table 22). DIN[9:14]
are internally pulled down to ground.
Filter PLL Ground
Filter PLL Supply Voltage. Bypass V
in parallel as close as possible to the device with the smallest value capacitor closest to
V
Data Input/General Purpose Input/Output. When a serial-data word is less than 18 bits
word length, DIN_ not programmed as data input becomes GPIO (Table 22). DIN15 is
internally pulled down to ground.
Parallel Clock Input. PCLK_IN latches data and sync inputs and provides the PLL reference
clock. PCLK_IN is internally pulled down to ground.
O p en- D r ai n C ontr ol C hannel Outp ut. S C L/TX b ecom es S C L outp ut w hen U ART- to- I
acti ve. S C L/TX b ecom es TX outp ut w hen U ART- to- I
Open-Drain Control Channel Input/Output. SDA/RX becomes bidirectional SDA when
UART-to-I2C is active. SDA/RX becomes RX input when UART-to-I2C is bypassed. SDA
output requires a pullup to V
Digital Supply Voltage. Bypass VCC to ground with 0.1µF and 0.001µF capacitors in p ar al l el
as cl ose as p ossi b l e to the d evi ce w i th the sm al l est val ue cap aci tor cl osest to V
Spread PLL Supply Voltage. Bypass V
capacitors in parallel as close as possible to the device with the smallest value capacitor
closest to V
SPLL Ground
LVDS Ground
LVDS Supply Voltage. Bypass V
parallel as close as possible to the device with the smallest value capacitor closest to
V
——EPExposed Pad for Thin QFN Package Only. Connect EP to ground.
35, 38,
39, 42–46
1, 12, 13
24, 25,
36, 37, 48
NAMEFUNCTION
Remote Power-Up/Power-Down Select Input. Connect REM to ground for power-up to
follow VCC. Connect REM high to VCC through 10kΩ resistor for remote power-up. REM is
internally pulled down to GND.
DIN[0:7]Data Inputs. DIN[0:7] are internally pulled down to ground.
Data Input/General Purpose Input/Output. When a serial-data word is less than 18 bits
word length, DIN_ not programmed as data input becomes GPIO (Table 22). DIN8 is
internally pulled down to ground.
N.C.No Connection. Not internally connected.
PINNAMEFUNCTION
1, 12, 13, 24,
25, 36,
37
2V
3, 14GNDDigital Supply Ground
4PD
5V
6SDI-Serial LVDS Inverting Input
7SDI+Serial LVDS Noninverting Input
8GND
9GND
10V
11ERROR
15RXLVCMOS/LVTTL Control Channel UART Output
N.C.No Connection. Not internally connected.
CC
CCLVDS
LVDS
PLL
CCPLL
Digital Supply Voltage. Bypass VCC to GND with 0.1µF and 0.001µF capacitors in parallel as close
as possible to the device with the smallest value capacitor closest V
LVCMOS/LVTTL Power-Down Input. Drive PD high to power up the device and enable all outputs.
Drive PD low to put all outputs in high impedance and reduce supply current. PD is internally pulled
down to ground.
LVDS Supply Voltage. Bypass V
as close as possible to the device with the smallest value capacitor closest to V
LVDS Supply Ground
PLL Supply Ground
PLL Supply Voltage. Bypass V
close to the device as possible with the smallest value capacitor closest to V
Active-Low, Open-Drain Error Output. ERROR asserts low to indicate a data transfer error was
detected (parity, PRBS, or UART control channel error). ERROR is high to indicate no error detected.
ERROR resets when the error registers are read for parity, control channel errors, and when PRBS
enable bit is reset for PRBS errors. Pull up to V
NOTE: PCLK_OUT PROGRAMMED FOR RISING LATCHING EDGE.
+25mV
-25mV
PARALLEL WORD N-1PARALLEL WORD N
t
SPD1
INPUT TEMPLATE FOR LVDS SERIAL
- V
V
SDI+
SDI-
+100mV
0V
-100mV
t
JT
t
S
t
S
t
JT
1.0UI0.75UI0.50UI0.25UI0.0UI
NOTE: UI IS ONE SERIAL BIT. TIME INPUT IS MEASURED DIFFERENTIALLY (V
10
0.8V
(SDO+) - (SDO-)
0.2V
OD(+)
0.2 x | V
OD(+)
t
R1A
+ V
OD(+)
0.8 x | V
|0.2 x | V
OD(-)
t
F2
OD(+)
+ V
|0.8 x | V
OD(-)
0.2V
OD(-)
0.8V
OD(-)
t
R1B
0.2V
0.8V
OD(-)
OD(-)
SDI+
- V
).
SDI-
0.8V
OD(+)
OD(+)
0.2V
OD(+)
t
F1B
+ V
|
OD(-)
+ V
OD(-)
|
t
R2
OD(+)
t
F1A
MAX9257/MAX9258
Detailed Description
The MAX9257 serializer pairs with the MAX9258 deserializer to form a complete digital video serial link. The
electronic control unit (ECU) programs the registers in
the MAX9257, MAX9258, and peripheral devices, such
as a camera, during the control channel phase that
occurs at startup or during the vertical blanking time.
All control channel communication is half-duplex. The
UART communication between the MAX9258 and the
MAX9257 is encoded to allow transmission through ACcoupling capacitors. The MAX9257 communicates to
the peripheral device through UART or I2C.
The MAX9257/MAX9258 DC-balanced serializer and
deserializer operate from a 5MHz-to-70MHz parallel
clock frequency, and are capable of serializing and
deserializing programmable 10, 12, 14, 16, and 18 bits
parallel data during the video phase. The MAX9257/
MAX9258 have two phases of operation: video and
control channel (Figures 19 and 20). During the video
phase, the MAX9257 accepts parallel video data and
transmits serial encoded data over the LVDS link. The
MAX9258 accepts the encoded serial LVDS data and
converts it back to parallel output data. The MAX9257
has dedicated inputs for HSYNC and VSYNC. The
selected VSYNC edge causes the MAX9257/MAX9258
to enter the control channel phase. Nonactive VSYNC
edge can be asserted after eight pixel clock cycles.
The video data are coded using two overhead bits
(EN0 and EN1) resulting in a serial-word length of N+2
bits. The MAX9257/MAX9258 feature programmable
Fully Programmable Serializer/Deserializer
with UART/I2C Control Channel
Figure 17. Serial Link with I2C Camera Programming Interface (Base Mode)
Figure 18. Serial Link with UART Camera Programming Interface (Bypass Mode)
CAMERAECU
VIDEO DATA
MAX9258
MAX9257
VIDEO DATA
PIXEL CLOCK
HSYNC_OUT
VSYNC_OUT
PD
CCEN
ERROR
LOCK
RX
TX
DESERIALIZER
UARTUART
VIDEO DATA
PIXEL CLOCK
HSYNC_OUT
VSYNC_OUT
PD
CCEN
ERROR
LOCK
RX
TX
MAX9258
DESERIALIZER
UARTUART
PIXEL CLOCK
SERIALIZER
100Ω100Ω
UART-
2
C
TO-I
MAX9257
SERIALIZER
100Ω100Ω
UART
HSYNC_IN
VSYNC_IN
GPIO
SDA
SCL
VIDEO DATA
PIXEL CLOCK
HSYNC_IN
VSYNC_IN
GPIO
RX
TX
I2C
CAMERAECU
UART
parity encoding that adds two parity bits to the serial
word. Bit 0 (EN0) is the LSB that is serialized first without parity enabled. The parity bits are serialized first
when parity is enabled.
The ECU programs the MAX9258, MAX9257, and
peripheral devices at startup and during the control
channel phase. In a digital video system, the control
channel phase occurs during the vertical blanking time
and synchronizes to the VSYNC signal. The programmable active edge of VSYNC initiates the control channel
phase. Nonactive edge of VSYNC can transition at any
time after 8 x t
T
if MAX9257 spread is not enabled and
0.5/f
SSM
when enabled. At the end of video phase, the
MAX9258 drives CCEN high to indicate to the ECU that
the control channel is open. Programmable timers and
ECU signal activity determine how long the control
channel stays open. The timers are reset by ECU signal
activity. ECU programming must not exceed the vertical
blanking time to avoid loss of video data.
After the control channel phase closes, the MAX9257
sends a 546 or 1090 word pattern as handshaking
(HSK) to synchronize the MAX9258’s internal clock
recovery circuit to the MAX9257’s transmitted data.
Following the handshaking, the control channel is
closed and the video phase begins. The serial LVDS
data is recovered and parallel data is valid on the programmed edge of the recovered pixel clock.
Fully Programmable Serializer/Deserializer
with UART/I2C Control Channel
Table 1. MAX9257 Power-Up Default Register Map (see the
MAX9257 Register Table
)
REGISTER NAME
REG00x000xB5
REG10x010x1F
REG20x020xA0
REG30x030xA0
REGISTER
ADDRESS (hex)
REG40x04
REG50x050xFAMAX9257 address = 1111 1010
REG60x060xFFEnd frame = 1111 1111
REG70x070xF8MAX9258 address = 1111 1000
REG80x080x00
REG90x090x00
REG100x0A0x00
POWER-UP VALUE
(hex)
1) REM = 0, 0x28
2) REM = 1, 0x30
PRATE = 10, 20MHz to 40MHz
SRATE = 11, 400Mbps to 840Mbps
PAREN = 0, parity disabled
PWIDTH = 101, parallel data width = 18
SPREAD = 000, spread = off
Reserved = 11111
STODIV = 1010, STO clock is pixel clock divided by 1024
STOCNT = 0000, STO counter counts to 1
ETODIV = 1010, ETO clock is pixel clock divided by 1024
ETOCNT = 0000, ETO counter counts to 1
VEDGE = 0, VSYNC active edge is falling
Reserved = 0
CKEDGE = 1, pixel clock active edge is rising
PD: 1) If REM = 0, PD = 0
2) If REM = 1, PD = 1
SEREN: 1) If REM = 0, SEREN = 1
2) If REM = 1, SEREN = 0
BYPFPLL = 0, filter PLL is active
Reserved = 0
PRBSEN = 0, PRBS test disabled
INTMODE = 0, interface with peripheral is UART
INTEN = 0, interface with peripheral is disabled
FAST = 0, UART bit rate = DC to 4.25Mbps
CTO = 000, never come back
BITRATE = 00, base mode bit rate = 95kbps to 400kbps
PRATE = 10, 20MHz to 40MHz
SRATE = 11, 400Mbps to 840Mbps
PAREN = 0, parity disabled
PWIDTH = 101, parallel data width = 18
SPREAD = 00, spread spectrum = off
AER = 0, error count is reset by reading error registers
Reserved = 0 0000
STODIV = 1010, STO clock is pixel clock divided by 1024
STOCNT = 0000, STO counter counts to 1
ETODIV = 1010, ETO clock is pixel clock divided by 1024
ETOCNT = 0000, ETO counter counts to 1
VEDGE = 0, VSYNC active edge is falling
HEDGE = 0, HSYNC active edge is falling
CKEDGE = 1, pixel clock active edge is rising
Reserved = 0000
PRBSEN = 0, PRBS test disabled
INTMODE = 0, interface with peripheral is UART
INTEN = 0, interface with peripheral is disabled
FAST = 0, UART bit rate = DC to 4.25Mbps
CTO = 000, never come back
BITRATE = 00, base mode bit rate = 95kbps to 400kbps
MAX9257/MAX9258
Tables 1 and 2 show the default power-up values for
the MAX9257/MAX9258 registers. Tables 3 and 4 show
the input and output supply references.
Parallel-Word Width
The parallel-word width is made up of the video data
bits, HYSNC, and VSYNC. The video data bits are programmable from 8 to 16 depending on the pixel clock,
serial-data rate, and parity. Table 16 shows the parallelword width.
Serial-Word Length
The serial-word length is made up of the parallel-word
width, encoding bits, and parity bits. Tables 5–9 show
the serial video format and serial-word lengths without
parity. Tables 10–13 show with parity bits included.
LVDS Serial Data
Serial LVDS data is transmitted least significant bit (LSB)
to most significant bit (MSB) as shown in Tables 5
through 13. The ECU at startup can program the parallel
word width, serial frequency range, parity, spread-spectrum, and pixel clock frequency range
REG100x0A0x00Parity errors video (8 LSBs) = read only
REG110x0B0x00Parity errors video (8 MSBs) = read only
REG120x0C0x00PRBS bit errors = read only
REG130x0D0x00
REGISTER
ADDRESS (hex)
POWER-UP VALUE
(hex)
POWER-UP DEFAULT SETTINGS
PATHRLO = 0001 0000
parity threshold = 16
PATHRHI = 0000 0000,
parity threshold = 16
Reserved = 000
Parity error, communication with MAX9258 = read only
Frame error, communication with MAX9258 = read only
Parity error, communication with MAX9257 = read only
Frame error, communication with MAX9257 = read only
2
C error, communication with peripheral = read only
The MAX9257/MAX9258 each have registers that can
be configured at startup. Depending on the word
length, the MAX9257 multiplies PCLK_IN (pixel clock)
by 12, 14, 16, 18, or 20 using an internal PLL to generate the serial clock. Use Table 20 for proper selection
of available PCLK frequency and serial-data ranges.
Parallel data is serialized using the serial-clock and
serialized bits are transmitted at the MAX9257 LVDS
outputs. The MAX9257/MAX9258 support a wide range
for PCLK_IN (Table 14). If the pixel clock frequency
needs to change to a frequency outside the programmed range, the ECU must program both the
MAX9257 and the MAX9258 in the same control channel session.
Serial-Data Rate Range
The word length and pixel clock is limited by the maximum serial-data rate of 840Mbps. The following formula
shows the relation between word length, pixel clock,
and serial clock:
Serial-word length x pixel clock = serial-data rate
≤
840Mbps
For example, if PCLK_IN is 70MHz, the serial-word
length has to be 12 bits including DC balance bits if
parity is not enabled to keep the serial-data rate under
840Mbps. If the serial-word length is 20 bits, the maximum PCLK_IN frequency is 42MHz. The serial-data
rate can vary from 60Mbps to 840Mbps and can be
programmed at power-up (Table 15). Use Table 20 for
proper selection of available PCLK frequency and serial
data ranges. Operating in the incorrect range for either
the serial-data rate or PCLK_IN can result in excessive
current dissipation and failure of the MAX9258 to lock
to the MAX9257.
LVDS Common-Mode Bias
The output common-mode bias is 1.2V at the LVDS
inputs on the MAX9258 and LVDS outputs on the
MAX9257. No external resistors are required to provide
bias for AC-coupling the LVDS inputs and outputs.
LVDS Termination
Terminate the LVDS link at both ends with the characteristic impedance of the transmission line (typically
100Ω differential). The LVDS inputs and outputs are
high impedance to GND and differentially.
Spread-Spectrum Selection
The MAX9257/MAX9258 each have spread-spectrum
options. Both should not be turned on at the same time.
When the MAX9257 is programmed for spread spectrum,
the MAX9258 tracks and passes the spread to its clock
and data outputs. The MAX9257/MAX9258 are both
center spread (Figure 21). The control channel does
not use spread spectrum, but has slower transition
times.
MAX9258 Spread Spectrum
The MAX9258 features a programmable spread-spectrum clock and data outputs for reduced EMI. The single-ended data outputs are programmable for no
spread, ±2%, or ±4% (see the
Typical Operating
Characteristics
) around the recovered pixel clock frequency. The output spread is programmed in register
REG1[7:6]. Table 17 shows the spread options, and
Table 18 shows the various modulation rates.
MAX9257 Spread Spectrum
The MAX9257 features programmable spread spectrum
for the LVDS outputs. Table 19 shows various spread
options, and Table 20 shows the various modulation
rates. Only one device (the MAX9257 or the MAX9258)
should be programmed for spread spectrum at a time. If
the MAX9257 is programmed for spread, the MAX9258
Fully Programmable Serializer/Deserializer
with UART/I2C Control Channel
Table 14. MAX9257 Pixel Clock Range
(PCLK_IN)
Table 15. Serial-Data Rate Range
Table 16. Parallel-Word Width
FREQUENCY (MHz)PRATE (REG0[7:6])
5–1000
10–2001
20–4010
40–7011
SERIAL-DATA RATE (Mbps)SRATE (REG0[5:4])
60–10000
100–20001
200–40010
400–84011
PARALLEL-WORD WIDTHPWIDTH (REG0[2:0])
10000
12001
14010
16011
181XX
tracks and passes the spread to the data and clock outputs. The PRATE range of 00 and 01 (5MHz ≤ PCLK ≤
20MHz) supports all the spread options. The PRATE
range of 10 and 11 (20MHz ≤ PCLK ≤ 70MHz) requires
that the spread be 2% or less.
Pixel Clock Jitter Filter
The MAX9257 has a PLL to filter high-frequency pixel
clock jitter on PCLK_IN. The FPLL can be bypassed by
writing 1 to REG4[2]. The FPLL improves the
MAX9258’s data recovery by filtering out the high-frequency components from the pixel clock that the
MAX9258 cannot track. The 3db bandwidth of the FPLL
is 100kHz (typ).
LVDS Output Preemphasis (SDO±)
The MAX9257 features programmable preemphasis
where extra current is added when the LVDS outputs
transition on the serial link. Preemphasis provides additional current to the normal drive current. For example,
20% preemphasis provides 20% greater current than
the normal drive current. Current is boosted only on the
transitions and returns to the normal drive current after
switching. Select the preemphasis level to optimize the
eye diagram. Preemphasis boosts the high-frequency
content of the LVDS outputs to enable driving greater
cable lengths. The amount of preemphasis is programmed in REG12[7:5] (Table 21).
VSYNC, HSYNC, and Pixel Clock Polarity
PCLK: The MAX9257 is programmable to latch data on
either rising or falling edge of PCLK. The polarity of
PCLKOUT at the MAX9258 can be independent of the
MAX9257 PCLK active edge. The polarity of PCLK can
be programmed using REG4[5] of the MAX9257 and
the MAX9258.
VSYNC: The MAX9257 and the MAX9258 enter control
channel on the falling edge of VSYNC. The default register settings are VSYNC active falling edge for both the
MAX9257 and the MAX9258. If the VSYNC active edge
is programmed for rising edge at the MAX9257, the
MAX9258 VSYNC active edge must also be programmed for rising edge to reproduce VSYNC rising
edge at the MAX9258 output. However, matching the
polarity of the VSYNC active edge between the
MAX9257 and the MAX9258 is not a requirement for
proper operation.
HSYNC: HSYNC active-edge polarity is programmable
for the MAX9258.
General Purpose I/Os (GPIOs)
The MAX9257 has up to 10 GPIOs available. GPIO8
and GPIO9 are always available while GPIO[0:7] are
available depending on the parallel-word width (Table
22). If GPIOs are not available, the corresponding GPIO
bits are not used.
Figure 21. Simplified Modulation Profile for the MAX9257/MAX9258
Table 17. MAX9258 Spread
Table 18. MAX9258 Modulation Rate
Table 19. MAX9257 LVDS Output Spread
FREQUENCY
1/f
SSM
(MAX)
f
SPREAD
f
PCLK_IN
f
(MIN)
SPREAD
TIME
PRATE (REG1[7:6])SPREAD (%)
00Off
01±2
10Off
11±4
PRATE
(REG1[7:6])
00PCLK/31216 to 32
01PCLK/52019.2 to 38.5
10PCLK/104019.2 to 38.5
11PCLK/124832 to 56
MODULATION RATEf
RANGE (kHz)
SSM
REG1[7:5]SPREAD (%)
000Off
001±1.5
010±1.75
011±2
100Off
101±3
110±3.5
111±4
MAX9257/MAX9258
A GPIO can be programmed to drive an LVCMOS logic
level or to read a logic input. The register bit that sets
the output level when the GPIO is programmed as an
output stores the input level when the GPIO is programmed as an input.
Open-Drain Outputs (LOCK,
ERROR
)
LOCK and ERROR are open-drain outputs that require
a pullup resistor to an external supply. ERROR asserts
low when an error occurs and LOCK is high impedance
when the MAX9258 is locked to the MAX9257 and
remains high under the locked condition. When the
devices are in shutdown, the channel is not locked and
LOCK goes high impedance, is pulled high, and should
be ignored. ERROR is high impedance at shutdown
and remains high. In choosing pullup resistors, there is
a tradeoff between power dissipation and speed; 10kΩ
pullup should be sufficient.
Fully Programmable Serializer/Deserializer
with UART/I2C Control Channel
Table 20. MAX9257 Modulation Rate
SERIAL-WORD
LENGTH
12
14
16
18
20
SRATEPRATE
111140–70PCLK/272814.7 to 25.7
111033.3–40PCLK/173619.2 to 23.0
101020–33.3PCLK/161212.4 to 20.7
100116.6–20PCLK/99216.7 to 20.2
010110–16.6PCLK/11169.0 to 14.9
01008.3–10PCLK/74411.2 to 13.4
00005–8.3PCLK/8685.8 to 9.6
111140–60PCLK/230417.4 to 26.0
111028.6–40PCLK/172816.6 to 23.1
101020–28.6PCLK/144013.9 to 19.9
100114.3–20PCLK/100814.2 to 19.8
010110–14.3PCLK/10089.9 to 14.2
01007.1–10PCLK/7209.9 to 13.9
00005–7.1PCLK/7206.9 to 9.9
111140–52.5PCLK/196820.3 to 26.7
111025–40PCLK/164015.2 to 24.4
101020–25PCLK/131215.2 to 19.1
100112.5–20PCLK/98412.7 to 20.3
010110–12.5PCLK/82012.2 to 15.2
01006.25–10PCLK/6569.5 to 15.2
00005–6.25PCLK/6567.6 to 9.5
111140–46.6PCLK/184021.7 to 25.3
111022.2–40PCLK/147215.1 to 27.2
101020–22.2PCLK/110418.1 to 20.1
100111.1–20PCLK/92012.1 to 21.7
010110–11.1PCLK/73613.6 to 15.1
01005.6–10PCLK/7367.6 to 13.6
00005–5.6PCLK/5529.1 to 10.1
111140–42PCLK/163224.5 to 25.7
111020–40PCLK/163212.3 to 24.5
100110–20PCLK/10209.8 to 19.6
01005–10PCLK/8166.1 to 12.3
PCLK RANGE
(MHz)
MODULATION RATEf
RANGE (kHz)
SSM
The LOCK and ERROR outputs can be wired in an
AND configuration if you have multiple serializers and
deserializers, or a single serializer fanned out to multiple deserializers through a repeater. For such situations, wire the multiple LOCK outputs together and use
a single pullup resistor to pull up all the lines high.
LOCK is high if all the devices are locked. Do the same
thing for ERROR; ERROR is low if any MAX9258 reports
errors.
Base Mode and Bypass Mode (Basics)
In the control channel phase, there are two modes: base
and bypass. In base mode, ECU always communicates
using the MAX9257/MAX9258 UART protocol and communication with a peripheral device is performed in I2C
by the MAX9257. Packets not addressed to the
MAX9257 or the MAX9258 get converted to I2C and
passed to the peripheral device. Similarly, I2C packets
from the peripheral device get converted to UART packets in the reverse direction. ECU can disable communication to the peripheral device by writing a 0 to INTEN
(REG8[6] in the MAX9257 and REG7[6] in the MAX9258).
Base mode is the default mode. Bypass mode is entered
by writing a 0 to INTMODE and 1 to INTEN (Table 23).
Bypass mode is exited if there is no activity from ECU in
the control channel for the duration of CTO. When CTO
times out, INTEN reverts back to 0 and MAX9257/
MAX9258 revert back to base mode. To permanently
stay in bypass mode, ECU can lock the CTO timer or
program CTO to be longer than ETO and STO.
Timers
The MAX9257/MAX9258 feature three different timers.
The start timeout (STO) and end timeout (ETO) control
the duration of the control channel. The come-back
timeout (CTO) controls the duration of bypass mode.
STO Timer
The STO (start timeout) timer closes the control channel if
the ECU does not start using the control channel within
the STO timeout period. The STO timer is configured by
Base mode,
communication
with peripheral is
not enabled
Base mode,
communication
with peripheral is
enabled (I
Bypass mode,
communication
with MAX9257/
MAX9258 is not
enabled,
communication
with peripheral is
enabled (UART)
2
C)
REG2[7:4]STODIV
00XX16
010016
010132
011064
0111128
1000256
1001512
10101024
10112048
11004096
11018192
111016,384
111132,768
MAX9257/MAX9258
register REG2 for both the MAX9257 and the MAX9258.
The four bits of REG2[7:4] select the divide ratio (STODIV)
for the STO clock as a function of the pixel clock (Table
24). The timeout period is determined by counter bits
REG2[3:0] that increment once every STO clock period.
Write to REG2[3:0] to determine the counter end time.
The STO counter counts to the programmed STOCNT +
1. The ECU must begin communicating before STO times
out, otherwise, the control channel closes (Figure 22). The
STO timeout period is given by:
For example:
If the pixel clock frequency is set to 16MHz, STODIV is
set to 1010 (STODIV = 1024), and STOCNT is set to
1001 (STOCNT = 9), the STO timer counts with
15.625kHz STO clock (16MHz/1024) internally until it
reaches 10 and timer expires. The t
STO
is equal to tTx
1024 x 10 = 640µs.
The default value for STODIV is 1024 while the default
value for STOCNT is 0. That means the STO timeout
period is equal 1024 pixel clock cycles. Activity from
the ECU on the control channel shuts off the STO timer
and starts the ETO timer.
ETO Timer
The ETO (end timeout) timer closes the control channel
if the ECU stops communicating for the ETO timeout
period. Configure register REG3[7:4] for both the
MAX9257 and the MAX9258 to select the divide ratio
(ETODIV) for the ETO clock as a function of the pixel
clock (Table 25). The timeout period is determined by
Fully Programmable Serializer/Deserializer
with UART/I2C Control Channel
Table 25. ETO Clock Divide Ratio
Figure 22. Control Channel Closing Due to STO Timeout
VSYNC_IN
T1
SDI/O±
CCEN
TX
RX
DOUT_
T1 = TIME TO ENTER CONTROL CHANNEL
T2 = STO TIMEOUT PERIOD
T3 = CONTROL CHANNEL EXIT TIME DUE TO STO
HSK = HANDSHAKING BETWEEN THE MAX9257 AND THE MAX9258
VIDEO
⎛
⎞
t
STO
1
=
⎜
f
⎝
CLK
STODIVSTOCNT
×× +
⎟
⎠
1()
T2
FROZEN
REG3[7:4]ETODIV
00XX16
010016
010132
011064
0111128
1000256
1001512
10101024
10112048
11004096
11018192
111016,384
111132,768
T3
HSK
VIDEO
counter bits REG3[3:0] that increment once every ETO
clock period. Write to REG3[3:0] to determine the
counter end time. The ETO counter counts to the programmed ETOCNT + 1. Any ECU activity resets the
ETO timer. When the ECU stops transmitting data for
the ETO timeout period, the control channel closes
(Figure 23).
For example:
If the pixel clock frequency is set to 16MHz, ETODIV is
set to 1010 (ETODIV = 1024), and ETOCNT is set to
1001 (ETOCNT = 9), the ETO timer counts with the
15.625kHz ETO clock (16MHz/1024) internally until it
reaches 10 and timer expires. The t
ETO
is equal to tTx
1024 x 10 = 640µs.
The default value for ETODIV is 1024 while the default
value for ETOCNT is 0. That means the ETO timeout
period is equal to 1,024 pixel clock cycles.
Closing the Control Channel
After the MAX9257 detects the active VSYNC edge, it
sends three synchronization words. Once the MAX9258
sees the active VSYNC transition and detects three synchronization words, it enters the control channel phase
and CCEN goes high. There is a brief delay of T1
between the VSYNC transition and CCEN transitioning
high. The ECU is allowed to communicate when CCEN
is high.
If the ECU does not communicate while CCEN is high
(Figure 22), the link remains silent and STO starts
counting towards its preset timeout counter value. If
STO times out (T2), CCEN transitions low and the control channel closes.
If the ECU communicates while CCEN is high and
before STO expires (Figure 23), the STO timer is turned
off and ETO timer is enabled. The ETO counter (ETOCNT+1) is reset to 0 whenever activity from ECU (base
mode) or ECU and Camera (bypass mode) is detected.
As long as there is activity from ECU (base mode) or
ECU and Camera (bypass mode) on the link, the channel does not close and the ETO counter resets. After
the ECU (base mode) or ECU and Camera (bypass
mode) ceases link activity, ETO times out (T4), CCEN
transitions low, and the control channel closes.
Another way to close the control channel in base mode
is for the ECU to send an end frame (EF) to close the
control channel without waiting for ETO to time out.
Whenever EF is received by both the MAX9257/
MAX9258, control channel closes immediately and
CCEN goes low. A synchronization frame must precede
EF. End frame cannot be used in bypass mode. The
control channel must close by EF to report errors back
to the ECU.
Figure 23. Control Channel Closing Due to ETO Timeout
VSYNC_IN
T1
SDI/O±
CCEN
TX
RX
DOUT_
T1 = TIME TO ENTER CONTROL CHANNEL
T4 = ETO TIMEOUT PERIOD
T5 = CONTROL CHANNEL EXIT TIME DUE TO ETO
HSK = HANDSHAKING BETWEEN MAX9257 AND MAX9258
VIDEO
ECU
ACTIVITY
⎛
⎞
t
ETO
1
=
⎜
f
⎝
CLK
ETODIVETOCNT
×× +
⎟
⎠
1()
T5
HSK
T4 (BASE MODE)
T4 (BYPASS MODE)
FROZEN
VIDEO
MAX9257/MAX9258
After the control channel closes, there is a brief handshake period (T3 in Figure 22 and T5 in Figure 23)
between the MAX9257 and the MAX9258. The
MAX9258 sends a special lock frame to the MAX9257
to indicate if PLL is still locked. The MAX9258 sends the
lock frame if the number of decoding errors didn’t
exceed a threshold in the last LVDS video phase session. The MAX9258 features a proprietary VCO lock
that prevents frequency drift while in the control channel for extended periods of time. If MAX9257 receives
the lock frame, it understands that the MAX9258 is in a
locked state and sends a short training sequence. If the
lock frame is not received by the MAX9257, it assumes
that the MAX9258 is not locked and sends a long training sequence. After the short or long training sequence
is complete, the MAX9257 sends three special synchronization words before entering the video phase.
Training sequence is used to resynchronize the
MAX9257/MAX9258 before the video phase starts.
The MAX9257/MAX9258 control channel duration is
independent of VSYNC. The control channel does not
close when VSYNC deasserts, which allows the use of
a VSYNC interrupt signal on VSYNC_IN. The control
channel must be closed by STO, ETO, or EF. If the control channel does not close before video data becomes
available, video data can be lost.
STO/ETO Timer Programming
STO and ETO can be programmed given the values of
T2, T4, and maximum values of T1, T3, and T5 (Figures
22, 23):
tT= pixel clock period, t
UCLK
= UART period
When spread spectrum is not enabled in MAX9257:
max(T1) = 2.5µs + (3 x tT) + (4 x t
UCLK
)
When spread spectrum is enabled in MAX9257:
max(T1) = 2.5µs + (1400 x tT) + (4 x t
UCLK
)
T2 = t
STO
T4 = t
ETO
When pixel clock frequency range (PRATE) is 00 or 01:
When pixel clock frequency range (PRATE) is 10 or 11:
CTO Timer
The CTO (come-back timeout) timer temporarily or permanently blocks programming to the MAX9257/
MAX9258 registers. CTO keeps the MAX9257/ MAX9258
in bypass mode for the CTO timeout period (Table 26).
Bypass mode can only be exited when the CTO timer
expires. The CTO timer uses the UART bit times for its
counter. Note that STO and ETO timers use the pixel
clock while CTO uses the UART bit times. The UART
period t
UCLK
synchronizes with the UART bit times,
which synchronize every time the SYNC frame is sent.
When the CTO timer times out, INTEN bit in both
devices is set to 0 and the MAX9257/MAX9258 revert
back to base mode. If communication with the
MAX9257/MAX9258 is not needed after initial programming is complete, CTO may be set to 000 (never come
back). In this case, CTO never expires and the
MAX9257/MAX9258 stay in bypass mode until they are
powered down. This prevents accidental programming
of the MAX9257/MAX9258 while ECU communicates
with the peripheral using a different UART protocol from
the MAX9257/MAX9258 UART protocol.
Fully Programmable Serializer/Deserializer
with UART/I2C Control Channel
Table 26. CTO Counter Timeout Period
⎛
t
⎛
max()) ()
T
3
max()) ()
T
5
STO
=
⎜
⎜
⎝
8
⎝
⎛
t
⎛
ETO
=
⎜
⎜
⎝
8
⎝
⎞
⎞
54620
×+ ×
+
⎟
⎟
⎠
⎠
⎞
⎞
⎟
⎠
×+ ×
+
54620
⎟
⎠
tt
TUCLK
tt
TUCLK
MAX9257 REG2[7:4]
MAX9258 REG3[7:4]
000
00116
01032
01148
10064
10180
11096
111112
⎛
t
⎛
max()) ()
T
3
max()) ()
T
5
STO
=
⎜
⎜
⎝
8
⎝
⎛
t
⎛
ETO
=
⎜
⎜
⎝
8
⎝
COUNTER USING UART BIT
TIMES
Never come back
(lockout)
⎞
109020
+
109020
+
tt
×+ ×
TUCLK
⎟
⎠
⎞
tt
×+ ×
TUCLK
⎟
⎠
⎞
⎟
⎠
⎞
⎟
⎠
Assuming a UART bit rate of 2Mbps, REG2[7:4],
REG3[7:4] = 100 (Table 26), CTO = 64, CTO timeout
calculated as:
t
CTO
= (0.5µs) × 64 = 32µs
Link Power-Up
The MAX9258 powers up when the power-down input
PD goes high. After approximately 130µs, CCEN goes
high, indicating the control channel is available. This
delay is required because the analog circuitry has to
fully wake up. There are two ways to power up the
MAX9257. The MAX9257 powers up according to the
state of REM. ECU powers up MAX9257 remotely (ECU
sends command to power up) when REM is pulled to
VCC. The MAX9257 powers up according to the supply
voltage when REM is grounded.
Powering the MAX9257 with Serialization Enabled
(REM = Ground at Power-Up)
When REM is grounded, the MAX9257 fully powers up
when power is applied. The power-down bit PD
(REG4[4]) is disabled and serialization bit SEREN
(REG4[3]) is enabled. If PCLK_IN is not running, the
MAX9257 stays in the control channel. After PCLK_IN is
applied, the control channel times out due to STO, ETO,
or EF. The MAX9257 starts the handshaking after the
MAX9257 locks to PCLK after 32,768 clock cycles. If
PCLK_IN is running, serialization starts automatically
after PLL of the MAX9257 locks to PCLK_IN with default
values in the registers.
Remote Power-Up of the MAX9257
(REM = Pulled Up to VCC)
When REM is pulled up to VCC, the MAX9257 wakes up
in a low power state, drawing less than 100µA supply
current. To wake-up the MAX9257, the ECU first transmits a dummy frame 0xDB and then waits at least
100µs to allow the MAX9257’s internal analog circuitry
to fully power up. Then the ECU configures the
MAX9257 registers, including a write to disable the PD
bit (REG4[4]) so that the MAX9257 does not return
back to the low power state. Every packet needs to
start with a synchronization frame (see the
UART
section). If the PD bit is not disabled within 70ms after
transmitting the dummy frame, the MAX9257 returns to
the low power state and the whole power-up sequence
needs to be repeated. After configuration is complete,
the ECU also needs to enable the SEREN bit to start the
video phase.
At initial power-up with REM pulled to VCC, default value
of SEREN bit is 0, so STO and ETO timers are not active.
Control channel is enabled as long as SEREN is 0.
This allows the control channel to be used for extensive
programming at initial power-up without the channel
timing out. UART, parity, framing and packet errors in
the control channel communications are reported if end
frame is used to close control channel (see the
MAX9258 Error Checking and Reporting
section). For
faster identification of errors, verify every write command by reading back the registers before enabling
serialization.
Link Power-Down
When the control channel is open, the ECU writes to the
PD bit to power down the MAX9257. In this case, to
power up the MAX9257 again, the power-up sequence
explained in the
Remote Power-Up of the MAX9257 (REM
= Pulled Up to VCC)
section needs to be repeated. The
MAX9258 has a PD input that powers down the device.
MAX9258 Error Checking and Reporting
The MAX9258 has an open-drain ERROR output. This
output indicates various error conditions encountered
during the operation of the system. When an error condition is detected and needs to be reported, ERROR
asserts low. ERROR indicates three error conditions:
UART, video parity, and PRBS errors.
UART Errors
During control channel communication in base mode,
the MAX9257/MAX9258 record UART frame, parity, and
packet errors. I2C errors are also recorded by
MAX9257 when I2C interface is enabled. If ECU closes
the control channel by using end frame (EF), the
MAX9257 sends a special internal UART frame back to
the MAX9258 called error frame. The MAX9257 UART
and I2C errors are reset at the next control channel. The
MAX9258 receives the error frame and records the
error status in its UART error register (REG13). ECU
must use end frame to the close control channel for the
MAX9257 to report back UART and I2C errors to the
MAX9258. Whenever one of the bits in the UART error
register is 1, ERROR asserts low. The UART error register is reset when ECU reads it, and ERROR deasserts
high immediately if UART errors were the only reason
that ERROR was asserted low. If the MAX9258 is not
locked (LOCK = low), UART error is not reported.
Video Parity Errors
When video parity check is enabled (REG0[3] in both
devices), the MAX9258 counts the number of video parity errors by checking recovered video words. Value of
this counter is reflected in PAERRHI (8 MSB bits,
REG11) and PAERRLO (8 LSB bits, REG10). If the number of detected parity errors is greater than or equal to
the parity error threshold PATHRHI (REG9) and
PATHRLO (REG8), then ERROR asserts low. In this
case, ERROR deasserts high after next video phase
starts if video parity errors were the only reason that
ERROR was asserted low. To report parity errors in
bypass mode, program autoerror reset (AER) to 1
(REG1[5] = 1).
Autoerror Reset
The default method to reset errors is to read the respective error registers in the MAX9258 (registers 10, 11, and
13). If errors were present before the next control channel, the error count gets incremented to the previous
number. By setting the autoerror reset (AER) bit to 1, the
error registers reset when the control channel ends.
Setting AER to 1 does not reset PRBS errors.
PRBS Errors
During the PRBS test, the MAX9258 checks received
PRBS data words by comparing them to internally generated PRBS data. Detected errors are counted in the PRBS
error register (REG12) in the MAX9258. Whenever the
number of detected PRBS errors is more than 0, ERROR
asserts low. The PRBS error register is reset when ECU
writes a 0 to PRBSEN register (REG4[0]). In this case,
ERROR deasserts high immediately if PRBS errors were
the only reason that ERROR was asserted low.
Short Synchronization Pattern
The short synchronization pattern is part of the handshaking procedure between the MAX9257 and MAX9258 after
the control channel phase. It is used to resynchronize the
MAX9258’s clock and data recovery circuit to the
MAX9257 before the video phase begins. The MAX9257
transmits the short synchronization pattern when it
receives the lock frame from the MAX9258. The length of
short synchronization pattern is dependant on the PRATE
range. When PRATE is 00 or 01, the short synchronization pattern consists of 546 words and when PRATE is 10
or 11, the short synchronization pattern consists of 1090
words. Every word is one pixel clock period.
Long Synchronization Pattern
At power-up or when the MAX9257 does not receive a
lock frame from the MAX9258, the MAX9257 transmits a
long synchronization pattern. The long synchronization
pattern consists of 17,410 words. Every word is one
pixel clock period. When REM is high, if synchronization is not achieved after 62 attempts, the MAX9257
resets SEREN to 0 so that the control channel stays
open to allow troubleshooting. When REM is low, the
MAX9257/MAX9258 continuously tries to reestablish the
connection.
Lock Verification (Handshaking)
At the end of every vertical blanking time, the MAX9257
verifies that the MAX9258 did not lose lock. The
MAX9258 handshakes with the MAX9257 to indicate
lock status. The handshaking occurs after the channel
closes (Figures 22 and 23). If the number of decoding
errors in a time window did not exceed a certain threshold during the last video phase, the MAX9258 sends
back the lock frame that indicates lock. If the MAX9257
receives the lock frame, the MAX9257 transmits a short
synchronization pattern. The MAX9258 features a proprietary VCO mechanism that prevents frequency drift
while in the control channel. This allows for successful
resynchronization after extended use of control channel. If the number of decoding errors in a time window
exceeds a certain threshold, the MAX9258 loses lock,
LOCK goes low, and the lock frame is not sent. The
MAX9258 also loses lock if handshaking is not successful. If the MAX9257 does not receive the lock
frame, it transmits a long synchronization pattern before
the start of next video phase. When REM = 1, if the lock
frame is not received by the MAX9257 after 62 consecutive attempts to synchronize, SEREN is disabled so
that the control channel opens permanently for troubleshooting.
Link Status (LOCK and CCEN)
The LOCK output indicates whether the MAX9258 is
locked to the MAX9257. LOCK is an open-drain output
that needs to be pulled up to V
CC
. LOCK asserts low to
indicate that the MAX9258 is not locked to the
MAX9257 and high when it is. In the control channel
phase, LOCK stays high if LOCK is high in the video
phase. While in the control channel phase, the
MAX9258 PLL frequency is held constant, PCLK output
is active and data outputs are frozen at their last valid
value before entering the control channel. CCEN output
indicates whether the MAX9257/MAX9258 are in the
control channel phase or video phase. CCEN goes high
when the MAX9257/MAX9258 are in the control channel
phase (Table 27). Only at initial power-up, CCEN goes
high before communication in the control channel is
ready (see the
Fully Programmable Serializer/Deserializer
with UART/I2C Control Channel
Table 27. Link Status
LOCKCCENINDICATION
10LVDS channel active
11Control channel active
0XPLL loss of lock
Control Channel
Overview of Control Channel Operation
The control channel is used by the ECU to program
registers in the MAX9257, MAX9258, and peripheral
devices (such as a camera) during vertical blanking,
after power-up, or when serialization is disabled.
Control channel communication is half-duplex UART.
The peripheral interface on the MAX9257 can be programmed to be I2C or UART. Operation of the control
channel is synchronized with the VSYNC input after the
ECU starts serialization of video data. Programmable
timers, ECU signal activity, and end frame determine
how long the control channel stays open. The control
channel remains open as long as there is signal activity
from the ECU. When the control channel closes, the
LVDS serial link is reestablished. Once serialization is
enabled, the programming of registers (including the
control channel overhead time) must be completed
within the vertical blanking time to avoid loss of video
data. VSYNC can deassert while control channel
remains open after eight pixel clock cycles.
The control channel phase begins on the transition of
the programmed active edge of VSYNC_IN. In video
applications, the VSYNC signal of the peripheral device
is connected to VSYNC_IN on the MAX9257. In other
applications, a different signal can be used to trigger
the control channel phase. When the MAX9257/
MAX9258 detect the VSYNC_IN transition, the LVDS
video phase disables and the control channel phase is
enabled.
The control channel operates in two modes: base and
bypass. In base mode, the ECU issues UART commands in a specified format to program the
MAX9257/MAX9258 registers. GPIO on the MAX9257
are also programmed in base mode. UART commands
are translated to I2C and output to peripheral devices
connected to the MAX9257 when not addressed to
either the MAX9257 or the MAX9258.
In bypass mode, programming of the MAX9257/
MAX9258 registers are temporarily or permanently
blocked depending on the programmed value of CTO.
Blocking prevents unintentional programming of the
MAX9257/MAX9258 registers when the ECU communicates with the peripheral using a UART protocol different than the one specified to program the MAX9257/
MAX9258. When the control channel is open, the
MAX9258 continues outputting the pixel clock while
HSYNC and video data are held at the last value. If
spread is enabled on the MAX9258, the pixel clock is
spread.
Control Channel Overhead
Control channel overhead consists of lock frame, short
synchronization sequence, and error frame. The lock
frame is transmitted between the MAX9257 and the
MAX9258 without action by the ECU. The error frame is
only sent in response to end frame. When MAX9257
spread spectrum is enabled, the control channel is
entered after spread reaches center frequency. The overhead from VSYNC falling edge to control channel enable
accounts for a maximum of 1400 pixel clock cycles.
Base Mode (Details)
Base mode allows the ECU to communicate with the
MAX9257/MAX9258 in UART and a peripheral device in
I2C. UART programming of the peripheral device is not
possible in base mode. UART packets from the ECU
need to follow a certain protocol to program the
MAX9257 and the MAX9258 (Figures 28 and 29).
Packets not addressed to the MAX9257/MAX9258 get
converted to I2C by the MAX9257 and pass to the
peripheral device. The MAX9257 receives I
2
C packets
from the peripheral device and converts them to UART
packets to send back to the ECU. To disable communication to the peripheral device, write a 0 to INTEN
(REG8[6] in the MAX9257 and REG7[6] in the MAX9258.
In base mode, the STO/ETO timers and the EF command
are used to control the duration of the control channel.
STO and ETO count up and expire when they reach their
programmed value. STO and ETO are not enabled at the
same time. STO is enabled after CCEN goes high. If there
is activity from the ECU before STO times out, STO is disabled and ETO is enabled. The ECU must begin a transaction within an STO timeout or else the channel closes.
The ECU can close the channel by allowing ETO to timeout. Activity from the ECU resets the ETO timer. Another
way to close the control channel is by sending an end
frame (EF). EF closes the channel within 2 to 3 bit times
after being received by the MAX9257/MAX9258. The
default value of EF is 0xFF, but can be programmed to
any other value besides the MAX9257 and the MAX9258
device addresses. The control channel must be closed
with EF for control channel errors to be reported.
Program STO to be longer than the time the ECU takes
to respond to opening of channel. Program ETO to be
longer than the time the ECU pauses between transactions. As long as the ECU performs transactions, ETO is
reset and the channel stays open.
The ECU must wait 14 or more bit times before addressing another device during the same control channel session. Failure to wait 14 bit times may result in the packet
boundary not being reset. Internal handshaking operations are automatically performed after the channel is
closed and before the video phase begins.
The UART-to-I2C converter accepts UART read or write
packets issued by the ECU and converts them to an I2C
master protocol when in base mode. A slave can use an
ACK or NACK to indicate a busy or wait state, but cannot
hold SCL low to indicate a wait state. Multiple slaves are
supported. The UART-to-I2C conversion delay is less
than 22 UART bit times and needs to be taken into
account when setting the ETO and STO timeout periods
for read commands. UART-to-I2C converter converts
standard UART format to standard I2C format (Figure
25). This includes data-bit ordering conversion because
UART transmits the LSB in first while I2C transmits the
MSB first. UART/I2C read delay is a maximum 34 bit
times when reading from an I2C peripheral.
The MAX9257/MAX9258 store their own 7-bit device
addresses in register REG5. All packets not addressed
to the MAX9257/MAX9258 are forwarded to the UARTto-I2C converter. The I2C interfaces (SDA and SCL) are
open drain and actively drive a low state. When idle,
SDA and SCL are high impedance and pulled high by a
pullup resistor. SDA and SCL are idle when packets are
addressed to the MAX9257 or MAX9258. SDA and SCL
are also idle when the I2C interface is programmed to
be disabled.
Bypass Mode (Details)
In bypass mode, ECU activity and UART communication from the camera reset the ETO and CTO timers.
This allows the control channel to stay in bypass as
long as there is camera activity. In base mode, only
ECU activity resets the ETO and CTO timers.
Bypass mode temporarily or permanently blocks programming of the MAX9257/MAX9258. Bypass mode
allows only UART programming of peripheral device by
ECU. There is no I
2
C connection in bypass mode. Bypass
mode is entered by writing a 0 to INTMODE and by writing a 1 to INTEN (Table 23). Bypass mode disables ECU
programming of the MAX9257/MAX9258 to allow any
UART communication protocol with the peripheral device.
Once bypass mode is entered, the MAX9257/MAX9258
stay in bypass mode until CTO times out.
In bypass mode, the STO and ETO timers determine
the control channel duration. CTO timer determines
whether to revert back to base mode or not, and EF is
not recognized.
A useful setting in bypass mode is to set STO > CTO >
ETO because this setting is an alternative to permanent
bypass (Figure 24). Use this setting to stay in bypass
mode to avoid the overhead of entering from base mode
every time the control channel opens. If the ECU uses the
channel within a CTO timeout, ETO is activated and then
ETO times out before CTO. The channel closes because
ETO times out, but channel stays in bypass mode
because CTO does not time out. At the next vertical
blanking time, bypass mode continues with CTO reset
and the ECU can immediately send commands to the
camera. If the ECU or camera does not use the channel,
CTO times out before STO. STO closes the channel
(because ETO is not enabled) if no communication is
Fully Programmable Serializer/Deserializer
with UART/I2C Control Channel
Figure 24. CTO Timing
VSYNC_IN
T1
SDI/O ±
CCEN
DOUT_
CONTROL
CHANNEL
VIDEOVIDEOHSK
TX
RX
T1 = TIME TO ENTER CONTROL CHANNEL
T2 = STO TIMER
T3 = CTO TIMER
T4 = ETO TIMER
T5 = CONTROL CHANNEL EXIT TIME
HSK = HANDSHAKING BETWEEN THE MAX9257 & THE MAX9258
= TIMER RESET
ECU
T2
ACTIVITY
T4
T3
FROZEN
BYPASS MODE
T1T2T5T5
VIDEOVIDEOHSK
FROZEN
T3
BYPASS MODEBASE MODE
STO > CTO > ETO
sent, but since CTO timed out, bypass mode ends and
base mode is active for the next vertical blanking period.
With STO > CTO > ETO, bypass mode can be made
continuous by having the ECU send real commands or
dummy commands (such as a command to a nonexisting address) each time the control channel opens.
Then the ECU does not have to send a command to
enter bypass mode each time it wants to program the
peripheral device.
UART
UART Frame Format
The UART frame used to program the MAX9257 and
the MAX9258 has a low start bit, eight data bits, an
even parity bit and a high stop bit. The data following
the start bit is the LSB. With even parity, when there are
an odd number of 1s in the data bits (D0 through D7)
the parity bit is set to 1. The stop bit is sampled and if it
is not high, a frame error is generated (Figure 26).
UART Synchronization Frame
The synchronization frame must precede any read or
write packets (Figure 26). Transitions in the frame calibrate the oscillators on the MAX9257/MAX9258. The
baud rate of the synchronization frame sets the operating baud rate of the control channel. At power-up,
UART data rate must be between 95kbps to 400kbps.
After power-up, UART data rate can be programmed
according to Tables 28 and 29. Data is serialized starting with the LSB first. The synchronization frame is 0x54
as shown in Figure 27.
Write Packet
The ECU writes the sync frame, 7-bit device address
plus read/write bit (R/W = 0 for write), 8-bit register
address, number of bytes to be written, and data bytes
(Figure 28). The ECU must follow this UART protocol to
correctly program the MAX9257/MAX9258.
Fully Programmable Serializer/Deserializer
with UART/I2C Control Channel
Read Packet
The ECU writes the sync frame, 7-bit device address
plus read/write bit (R/W = 1 for read), 8-bit register
address, and number of bytes to be read. The
addressed device responds with read data bytes
(Figure 29). UART read delay is maximum 4 bit times
when reading from the MAX9257 or the MAX9258.
Time Between Frames
Up to two high bit times are allowed between frames.
Reset of Packet Boundary
A high time ranging from 14 UART bit times or more
resets the packet boundary. In this case, the next frame
received is assumed to belong to a new packet by the
MAX9257/MAX9258 and UART-to-I
2
C converter.
Resetting the boundary is required. Not resetting the
boundary treats the following packets as part of the first
packet, and they may be processed incorrectly.
Data Rate
The control channel data rate in base mode is between
95kbps to 4.25Mbps (Table 28). In bypass mode, the
allowed data rate is DC to 10Mbps (Table 29). For data
rates faster than 4.25Mbps in bypass mode, REG8[5] in
MAX9257 and REG7[5] in MAX9258 must be set high.
Set the control channel data rate in base mode by writing to REG8[1:0] in the MAX9257 and REG7[1:0] in the
MAX9258. These write commands take effect in the
next control channel.
Programming the FAST bit takes effect in the same control channel. Both the MAX9257 and the MAX9258
should have the same settings for FAST. It is recommended to first program the FAST bit in the MAX9257.
Programming FAST to 1 results in shorter UART pulses
on the differential link.
MAX9257/MAX9258 Device
Address Programming
The MAX9257/MAX9258 have device addresses that
can be programmed to any 7-bit address. Table 30
shows the default addresses.
Table 28. Control Channel Data Rate in
Base Mode
Table 29. Control Channel Data Rate in
Bypass Mode
Table 31. Timing Information for I2C Data Rates Greater than 400kbps
*
t
UCLK
is equal to one UART period.
I2C
The MAX9257 features a UART-to-I2C converter that
converts UART packets to I2C. The UART-to-I2C converter works as a repeater between the ECU and external I2C slave devices. The MAX9257 acts as the master
and converts UART read/write packets from the ECU to
I2C read/write for external I2C slave devices. For writes,
the UART-to-I2C converts the UART packets received
directly into I2C. For reads, the UART-to-I2C converter
follows the UART packet protocol. The I2C SCL clock
period is approximately the same as the UART bit clock
period (t
UCLK
). The I2C speed varies with UART speed.
I2C reads from the peripheral device do not disable the
ETO timer. Choose ETO large enough so that I2C read
commands are not lost due to ETO timing out.
I2C Timing
The MAX9257 acts like a master in I2C communication
with the peripheral device. The MAX9257 takes less
than 22 UART bit times to convert UART packets into
I
2
C. The SCL and SDA timings are based on the UART
bit clock. The I
2
C data rate is determined by UART and
can range from 95kbps to 4.25Mbps. The I2C timing
requirements scale linearly from fast mode to higher
speeds. Table 31 shows the I2C timing information for
data rates greater than 400kbps. The I
2
C parameters
scale with t
UCLK
. See Figure 30 for timing parameters.
Applications Information
PRBS Test
The MAX9257/MAX9258 have built-in circuits for testing
bit errors on the serial link. The MAX9257 has a PRBS
generator and the MAX9258 has a PRBS checker. The
length of the PRBS pattern is programmable from 221to
235word length or continuous by programming
REG9[7:4] in the MAX9257. In case of errors, errors are
counted in the MAX9258 PRBSERR register (REG12),
and the ERROR output on the MAX9258 goes low. To
start the test, the ECU writes a 1 to PRBSEN bit of both
the MAX9257 and the MAX9258. The PRBS test can be
Fully Programmable Serializer/Deserializer
with UART/I2C Control Channel
performed with or without spread spectrum. If the PRBS
test is programmed to run continuously, the MAX9257
must be powered down to stop the test. When programmed for a finite number of repetitions, the control
channel is enabled after the PRBS test finishes and
serialization enable (SEREN) is reset to 0. To start normal operation, the ECU must disable PRBSEN and
enable SEREN.
Video Data Parity
Parity protection of video data is programmable for parallel-word widths of 16 bits or less. When programmed,
two parity bits are appended to each parallel word
latched into the MAX9257. In the MAX9258, a 16-bit
parity error counter logs parity errors. The ERROR out-
put on the MAX9258 goes low if parity errors exceed a
programmable threshold.
AC-Coupling Benefits
AC-coupling increases the input voltage of the LVDS
receiver to the voltage rating of the capacitor. Two
capacitors are sufficient for isolation, but four capacitors—two at the serializer output and two at the deserializer input—provide protection if either end of the
cable is shorted to a high voltage. AC-coupling blocks
low-frequency ground shifts and common-mode noise.
Selection of AC-Coupling Capacitors
See Figure 31 for calculating the capacitor values for
AC-coupling depending on the parallel clock frequency.
The plot shows minimum capacitor values for two- and
four-capacitor-per-link systems. To block the highest
common-mode frequency shift, choose the minimum
capacitor value shown in Figure 31. In general, 0.1µF
capacitors are sufficient.
Optimally Choosing AC-Coupling Capacitors
Voltage droop and the digital sum variaton (DSV) of transmitted symbols cause signal transitions to start from different voltage levels. Because the transition time is finite,
starting the signal transition from different voltage levels
causes timing jitter. The time constant for an AC-coupled
link needs to be chosen to reduce droop and jitter to an
acceptable level. The RC network for an AC-coupled link
consists of the LVDS receiver termination resistor (RTR),
Figure 31. AC-Coupling Capacitor Values vs. Clock Frequency
from 18MHz to 42MHz
the LVDS driver termination resistor (RTD), and the series
AC-coupling capacitors (C). The RC time constant for
four equal-value series capacitors is (C x (R
TD
+ RTR))/4.
RTDand RTRare required to match the transmission line
impedance (usually 100Ω). This leaves the capacitor
selection to change the system time constant. In the following example, the capacitor value for a droop of 2% is
calculated:
where:
C = AC-coupling capacitor (F)
tB= bit time(s)
DSV = digital sum variation (integer)
ln = natural log
D = droop (% of signal amplitude)
RTD= driver termination resistor (Ω)
RTR= receiver termination resistor (Ω)
The bit time (tB) is the serial-clock period or the period
of the pixel clock divided by the total number of bits.
The maximum DSV for the MAX9257 encoding equals
to the total number of bits transmitted in one pixel clock
cycle. This means that tBx DSV ≤ tT.
The capacitor for 2% maximum droop at 16MHz parallel rate clock is:
Total number of bits is = 10 (data) + 2 (HSYNC and
VSYNC) + 2 (encoding) + 2 (parity) = 16
C ≥ 0.062µF
Jitter due to droop is proportional to the droop and transition time:
tJ= tTTx D
where:
tJ= jitter(s)
tTT= transition time(s) (0 to 100%)
D = droop (% of signal amplitude)
Jitter due to 2% droop and assumed 1ns transition time is:
tJ= 1ns x 0.02
tJ= 20ps
The transition time in a real system depends on the frequency response of the cable driven by the serializer.
The capacitor value decreases for a higher frequency
parallel clock and for higher levels of droop and jitter. Use
high-frequency, surface-mount ceramic capacitors.
Power-Supply Circuits and Bypassing
All single-ended inputs and outputs on the MAX9257
are powered from V
CCIO
. All single-ended outputs on
the MAX9258 are powered from V
CCOUT
. V
CCIO
and
V
CCOUT
can be connected to a +1.71V to +3.6V supply. The input levels or output levels scale with these
supply rails.
Board Layout
Separate the LVCMOS/LVTTL signals and LVDS signals
to prevent crosstalk. A four-layer PCB with separate layers for power, ground, LVDS, and digital signals is recommended. Layout PCB traces for 100Ω differential
characteristic impedance. The trace dimensions
depend on the type of trace used (microstrip or
stripline). Note that two 50Ω PCB traces do not have
100Ω differential impedance when brought close
together—the impedance goes down when the traces
are brought closer.
Route the PCB traces for an LVDS channel (there are
two conductors per LVDS channel) in parallel to maintain the differential characteristic impedance. Place the
100Ω (typ) termination resistor at both ends of the
LVDS driver and receiver. Avoid vias. If vias must be
used, use only one pair per LVDS channel and place
the via for each line at the same point along the length
of the PCB traces. This way, any reflections occur at
the same time. Do not make vias into test points for
ATE. Make the PCB traces that make up a differential
pair the same length to avoid skew within the differential pair.
Cables and Connectors
Interconnect for LVDS typically has a differential impedance of 100Ω. Use cables and connectors that have
matched differential impedance to minimize impedance
discontinuities. Twisted-pair and shielded twisted-pair
cables offer superior signal quality compared to ribbon
cable and tend to generate less EMI due to magnetic
field canceling effects. Balanced cables pick up noise
as common mode that is rejected by the LVDS receiver.
Fully Programmable Serializer/Deserializer
with UART/I2C Control Channel
MAX9257 Register Table
Choosing I
2
C Pullup Resistors
I2C requires pullup resistors to provide a logic-high level
to data and clock lines. There are tradeoffs between
power dissipation and speed, and a compromise must
be made in choosing pullup resistor values. Every device
connected to the bus introduces some capacitance even
when device is not in operation. I2C specifies 300ns rise
times to go from low to high (30% to 70%) for fast mode,
which is defined for a date rate up to 400kbps (see I
2
C
specifications for details). To meet the rise time requirement, choose the pullup resistors so the rise time
tR= 0.85R
PULLUP
x C
BUS
< 300ns. If the transition time
becomes too slow, the setup and hold times may not be
met and waveforms will not be recognized.
Control channel start timeout: (STO) times out if ECU does not start using control channel within this amount of time
after control channel session is enabled.
7:41010STODIV
3:00000STOCNT
01 = 10MHz to 20MHz
10 = 20MHz to 40MHz (default)
11 = 40MHz to 70MHz
Serial-data rate range
00 = 60Mbps to 100Mbps
01 = 100Mbps to 200Mbps
10 = 200Mbps to 400Mbps
11 = 400Mbps to 840Mbps (default)
Fast UART transceiver
0 = b i t r ate = D C to 4.25M b p s ( d efaul t) , 1 = b i t r ate = 4.25M b p s to 10M b p s
Timer to come back from bypass mode (in bit time)
000 = never come back (default) 100 = 64
001 = 16101 = 80
010 = 32110 = 96
011 = 48111 = 112
Control channel bit rate range in base mode
00 = 95kbps to 400kbps (default)
01 = 400kbps to 1000kbps
10 = 1000kbps to 4250kbps
11 = 1000kbps to 4250kbps
PRBS test number of words
1111 = continuous else = 2
Control channel start timeout: (STO) times out if ECU does not start using control channel within this amount of time
after control channel session is enabled.
2
7:41010STODIV
3:00000STOCNT
01 = 10MHz to 20MHz
10 = 20MHz to 40MHz (default)
11 = 40MHz to 70MHz
Serial-data rate range
00 = 60Mbps to 100Mbps
01 = 100Mbps to 200Mbps
10 = 200Mbps to 400Mbps
11 = 400Mbps to 840Mbps (default)
0010 = 161010 = 1024 (default)
0011 = 161011 = 2048
0100 = 161100 = 4096
0101 = 321101 = 8192
0110 = 641110 = 16,384
0111 = 1281111 = 32,768
Control channel end timeout counter
Divided pixel clock is used to count up to (ETOCNT + 1)
VSYNC active edge at ECU interface
0 = falling (default), 1 = rising
HSYNC active edge at ECU interface
0 = falling (default), 1 = rising
PCLK active edge at ECU interface
0 = falling, 1 = rising (default)
PRBS test enable
0 = disabled (default), 1 = enabled
Fast UART transceiver
0 = bit rate = DC to 4.25Mbps (default), 1 = bit rate = 4.25Mbps to 10 Mbps
Timer to come back from bypass mode (in bit time)
000 = never come back (default) 100 = 64
001 = 16101 = 80
010 = 32110 = 96
011 = 48111 = 112
Control channel bit rate range in base mode
00 = 95kbps to 400kbps (default)
01 = 400kbps to 1000kbps
10 = 1000kbps to 4250kbps
11 = 1000kbps to 4250kbps
Fully Programmable Serializer/Deserializer
with UART/I2C Control Channel
MAX9258 Register Table (continued)
ADDRESSBITSDEFAULTNAMEDESCRIPTION
87:000010000PATHRLO
97:000000000PATHRHI
107:0(RO)PAERRLONumber of video parity errors (8 LSBs)
117:0(RO)PAERRHINumber of video parity errors (8 MSBs)
127:0(RO)PRBSERR
7:5(RO)Reserved
4(RO)DESPERRParity error during communication with deserializer
13
147:0(RO)Reserved
3(RO)DESFERRFrame error during communication with deserializer
2(RO)SERPERRParity error during communication with serializer
1(RO)SERFERRFrame error during communication with serializer
0(RO)I
2
CERRError during communication with camera in I2C mode
Threshold for number of video parity errors (8 LSBs)
If the number of errors exceeds this value, ERR pin is asserted.
Threshold for number of video parity errors (8 MSBs)
If the number of errors exceeds this value, ERR pin is asserted.
PRBS test number of bit errors
Automatically reset when PRBS test is disabled
0xFF indicates 255 or more errors
ESD Protection
The MAX9257/MAX9258 ESD tolerance is rated for
Human Body Model, Machine Model, IEC 61000-4-2
and ISO 10605. The ISO 10605 and IEC 61000-4-2
standards specify ESD tolerance for electronic systems. LVDS outputs on the MAX9257 and LVDS inputs
on the MAX9258 meet ISO 10605 ESD protection and
IEC 61000-4-2 ESD protection. All other pins meet the
Human Body Model and Machine Model ESD tolerances. The Human Body Model discharge components
are C
S
= 100pF and RD= 1.5kΩ (Figure 33). The IEC
61000-4-2 discharge components are CS= 150pF and
RD= 330Ω (Figure 32). The ISO 10605 discharge components are C
(The package drawing(s) in this data sheet may not reflect the most current specifications. For the latest package outline information,
go to www.maxim-ic.com/packages
Fully Programmable Serializer/Deserializer
with UART/I2C Control Channel
Package Information (continued)
(The package drawing(s) in this data sheet may not reflect the most current specifications. For the latest package outline information,
go to www.maxim-ic.com/packages
(The package drawing(s) in this data sheet may not reflect the most current specifications. For the latest package outline information,
go to www.maxim-ic.com/packages
.)
32L/48L,LQFP.EPS
PACKAGE OUTLINE, 32/48L LQFP, 7x7x1.4mm
1
21-0054
F
2
MAX9257/MAX9258
Maxim cannot assume responsibility for use of any circuitry other than circuitry entirely embodied in a Maxim product. No circuit patent licenses are
implied. Maxim reserves the right to change the circuitry and specifications without notice at any time.
54
____________________Maxim Integrated Products, 120 San Gabriel Drive, Sunnyvale, CA 94086 408-737-7600
Fully Programmable Serializer/Deserializer
with UART/I2C Control Channel
Package Information (continued)
(The package drawing(s) in this data sheet may not reflect the most current specifications. For the latest package outline information,
go to www.maxim-ic.com/packages
.)
PACKAGE OUTLINE, 32/48L LQFP, 7x7x1.4mm
2
21-0054
F
2
Loading...
+ hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.