SERLINK

advertisement
17 February, 2016
SERLINK
VME MODULE
F.FORMENTI, M.MOREL
a
EP DIVISION / ED GROUP
ABSTRACT
The function of the SERLINK module is to test transmission of
20 bit data through a serial link using 30 meters of shielded
twisted pair cable (AWG 36) at 155Mb/s.
1
1. TRANSMITTER
a) tx_fifo
b) Altera_tx
c) Transmitter
2. RECEIVER
a) Receiver
b) Altera_rx1
c) Altera_rx2
d) rx_fifo
3. VME
4. CONCLUSION
1. TRANSMITTER
2
a) tx_fifo
The tx_fifo section is composed of 4 IDT 7205-20 8k x 9
CMOS parallel fifos manufacture by IDT.
They are connected between one the 32 bit VME dataway and
the 20 bit tx_fifo_databus.
The tx_fifo circuit diagram is shown on page 30.
b) Altera_tx
This Altera PLD performs the following functions:
- 25 bit shift register comprising of 20 bits of data, 1 start
bit and 4 odd parity bits formatted as follows:
DATA
OUT
STA
BIT
0
X
X
X
X
X
OP
X
X
X
X
X
OP
X
X
X
X
X
OP
X
X
X
X
X
OP
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
RX
FIFO
DATA
RX
FIFO
PAR
DOWN
CNT
3
7
8
9
10
11
12
13
2
14
15
16
17
18
19
1
20
21
22
23
24
25
0
26
27
28
29
- A down counter to divide the 155Mhz clock by 25.
- The logic necessary to provide a Tx_fifo_read_clock* signal.
All the logic is integrated into an ALTERA EPM 7064SLC44-5
PLD and is shown on pages 17 to 20.
c) Transmitter
3
30
31
The heart of the transmission section is centered around a
S3015 OC-3 ATM interface circuit manufacture by AMCC.
ATM is an Asynchronous Transfer Mode system.
When serial data is present at input of the transmitter, the
S3015 VCO synchronizes directly to the incoming data, which
is then retimed to enable CMI encoding (Coded Mark Inversion
format). The CMI encoder accepts serial data at 155.52Mb/s.
After encoding the data into CMI format, the result is shifted
out with transitions at twice the basic data rate. A 19.44Mhz
TTL oscillator is connected to the reference input and
synthesized up to the 155Mhz output frequency.
The S3015 provides PECL (Positive Emitter Coupled Logic)
outputs, which are directly connected to a CLC006 serial cable
driver from National Semiconductor.
A PLL MC88915 provides the 155Mhz clock from the 19.44Mhz
reference (The 155Mhz from the S3015 in not available in CMI
mode.)
The circuit diagram of the transmitter section is shown on
page 31.
4
2. RECEIVER
a) Receiver
The received data is connected to a CLC014 equalizer that
reconstructs serial digital data from twisted pair transmission
lines. Its transfer function approximates the reciprocal of the
cable loss characteristic. The differential outputs, at PECL
logic levels, are connected to a S3016 receiver which provides
the first stage of digital processing to recover the SONET
STS-3 serial bit stream. A CMI decoder is then used for
decoding the STS-3 signals. Clock recovery is performed on
the incoming CMI coded data to regenerate a clock that is
frequency matched to the incoming data baud rate at the
SERDATIP/N differential inputs. The 19.44Mhz reference
clock is distributed to the S3016 to ensure correct internal
PLL start up and proper operation under loss of signal
conditions. An integrated prescaler and PLL circuit is used to
multiply this 19.44Mhz reference frequency to the nominal bit
rate of the 155.52Mb/s serial clock.
This Serial clock then passes through a programmable delay
circuit, so that the clock and data may be correctly timed, and
then translated from PECL to TTL by 10ELT21 circuits.
The output serial data is latched by a 10elt52 circuit and may
also be delayed by another programmable delay circuit before
being translated to a TTL level.
The circuit of receiver section is shown on page 33.
5
b) Altera_rx1 logic
Altera_rx1 consists of 3 parts and is described on pages 11 to
14:
- The shift register receives the serial data and performs a
conversion from serial data to a 25 bit parallel data word. Odd
parity bit checks are performed and the result is available in a
4bit OP<3..0> bus.
A signal parr_err is decoded from this bus and will be used as
status later. The IDLE bit is decoded from the input data and
latched by the rxclock.
- A down counter which divides the input clock by 25. The
linkready is also decoded in this section.
The rxclock1 block provides rx_latch_ce and status bits Rx_fifo_write_clock.
All the logic is integrated into an Altera EPM7064SLC84-5
PLD.
c) Altera_rx2 logic
Unfortunately 66 logic cells are necessary for building all the
receiver logic and the fastest Altera'PLD is a 5ns circuit but
contain only 64 logic cells, so we have been obliged to split the
logic into 2 PLDs.
The Altera_rx2 contain a register, which extracts the 20 bits
of rx_fifo_data followed by the 4 rx_fifo_parity error bits.
This logic is also integrated into an Altera EPM7064SLC84-5
PLD.
The circuit of the Altera_rx2 logic is shown on pages 15 and
16.
6
d) Rx_fifo
The Rx_fifo section is composed of 4 IDT 7206-20 (16k x 9)
CMOS parallel fifos from IDT and may be read by the VME
databus.
The Rx_fifo circuit is shown on page 32.
3. VME
VME section contains 5 blocks, which can be seen in pages 21
to 25.
-decoder
-controlstatus
-resetlogic
-datbuf
-rxtxfifos
The three Altera PLDs and fifos have been simulated using the
Cadence Design System at 178Mhz, which is the maximum
working frequency of the design.
4. CONCLUSION
7
4605163 cycles of 8190 words have been check (9.4 10.11 bits)
in random mode. Two parity errors have been founded during this
test.
The second transmission test has been made using 54 m of
another STP cable used during nomad experiment.
The transmission of 8190 words, in random mode, has been send
during 160 hours that represent 1.76. 10.12 bits sending without
any error.
Another test have been made with 50 m of UTP 4 pairs cable
from ALCATEL with a very good result 24676500 cycles with
8000 words (4.9 10.12 bits) in random mode.
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
/* This SCL file was generated with Resolution of 0.100 */
HISTORY 50000
OPEN 'CLK155TX';
ASSERT 'CLK155TX', 0-32 (6.4,64);
OPEN 'CLK155RX';
ASSERT 'CLK155RX', 0-11, 43-65 (6.4,64);
/* VME PART*/
OPEN 'PWONRST';
DEPOSIT 'PWONRST', 0+0 1+10 0+5000;
OPEN 'SYS_RST*';
DEPOSIT 'SYS_RST*', 0+0 1+10;
OPEN 'CNTRL_RST';
OPEN 'RST_ERR';
OPEN 'RST*';
OPEN 'ADD<23..16>';
DEPOSIT 'ADD<23..16>', $xU+0 $xB+12000 $xA+16000;
OPEN 'BASE_ADD<20..17>';
DEPOSIT 'BASE_ADD<20..17>', $x5+0;
OPEN 'AM<5..0>';
DEPOSIT 'AM<5..0>', $xU+0 $x39+12000;
OPEN 'AS*';
DEPOSIT 'AS*', 0+0 1+10 0+12400 1+14800 0+16500 1+19500 0+22500 1+24500 0+27500
1+29500 0+33000 1+35500;
OPEN 'VME_DATA<31..0>';
DEPOSIT 'VME_DATA<31..0>', $xU+0 $x3+12000 $xU+15000 $x12345+16500 $xU+20000
$x85432+22000 $xU+25000;
OPEN 'WR*';
DEPOSIT 'WR*', 0+0 1+10 0+12000 1+15000 0+16500 1+19000 0+22000 1+25000;
OPEN 'DS0*';
DEPOSIT 'DS0*', 0+0 1+10 0+12400 1+14000 0+16500 1+18300 0+22500 1+24000
0+27500 1+29000 0+33000 1+35000;
OPEN 'DS1*';
DEPOSIT 'DS1*', 0+0 1+10 0+12400 1+14000 0+16500 1+18300 0+22500 1+24000
0+27500 1+29000 0+33000 1+35000;
OPEN 'TIM_ACK';
OPEN 'TIM_CNTRL_RST';
OPEN 'TIM_RST_ERR';
OPEN 'ACK';
OPEN 'TDTACK*';
/* TX_FIFO PART*/
OPEN 'TX_FIFO_EMPTY*';
OPEN 'TX_FIFO_FULL*';
OPEN 'TX_FIFO_DATA<20..1>';
OPEN 'TX_FIFO_RCLK*'
OPEN 'TX_FIFO_WCLK*';
OPEN 'CNTRL_SEND';
OPEN 'SER_OUT';
/* RX_FIFO PART*/
OPEN 'RX_FIFO_WCLK*';
OPEN 'RX_FIFO_RCLK*';
OPEN 'RX_FIFO_DATA<20..1>';
OPEN 'RX_FIFO_FULL*';
OPEN 'RX_FIFO_EMPTY*';
OPEN 'RX_BURST_READY';
OPEN 'LINK_READY';
OPEN 'BURST_SYNC_ERR';
OPEN 'BURST_OVERFLOW';
OPEN 'BURST_PAR_ERR';
SIM 50000;
34
The next picture represents the result simulation when one word
(12345) is sending from VME databus to the tx_fifos, on the
ser_out signal the word is encoding and is available on the
rx_data bus.
35
Download