FPGA Selection: LTC2387-18 S.No Pin - Name Pin - No. - ADC Mode Purpose
FPGA Selection: LTC2387-18 S.No Pin - Name Pin - No. - ADC Mode Purpose
For conversion of analog signal from the detector we have selected LTC2387-18 Analog to Digital
converter (ADC) figure 1. This ADC is a 18 bit with 15 Mega samples per second IC using successive
approximation register for conversion
Figure 1. LTC2387-18 []
Before storing converted data to the system, there a step of digital data processing at very higher rate for
every Helicity window. For this purpose, ADC must be interfaced with efficient FPGA (Field
Programmable Gate Array) having enough internal memory for processing the digital data and
transmission of processed data on to ethernet port. Number of interfacing channels depends on the FPGA
selection. Interfacing on ADC with FPGA requires 8- 10 pins. Pin number, name and purpose of each
required pin of an ADC is shown in table 1.
Table 1: ADC Pin discerption for interfacing []
LTC2387-18
S.No Pin_Name Pin_No._ADC Mode Purpose
1 CLk+ 23 Input LVDS Clock Input. This is an externally applied clock
2 CLK- 24 Input that serially shifts out the conversion result, Coming
from FPGA or external source
3 Two_lanes 25 output Digital input that enables two-lane output mode. When
TWOLANES is high (two-lane output mode), the ADC
outputs two bits at a time on DA–/DA+ and DB–/DB+.
When TWOLANES is low (one-lane output mode), the
ADC outputs one bit at a time on DA–/DA+, and DB–
/DB+ are disabled. Logic levels are determined by
VDDL
4 DB- 15 output Serial LVDS Data Outputs
5 DB+ 16 output
6 DA– 17 output Serial LVDS Data Outputs
7 DA+ 18 output
8 DCO– 19 output Echoed data clock. LVDS Clock Input. This is an
externally applied clock that serially shifts out the
9 DCO+ 20 output conversion result.
10 CNV+ 27 Input Conversion Start LVDS Input. A rising edge on CNV+
puts the internal sample-and-hold into the hold mode
and starts a conversion cycle. CNV+ can also be driven
with a 2.5V CMOS signal if CNV– is tied to GND.
While dealing with data from ADC and transfer of the processed data there are two main issues that have
to take care.
1. On chip memory BRAM
2. Ethernet protocols
Dealing with our first concern, BRAM of this FPGA is dual port 36Kb with 140 blocks. Possible
Configuration of each port is shown in table 2. In case of Dual port BRAM can be divided into two
independent 18 Kb blocks and this configuration is also applicable in case of dual port arrangement.
Table 2: FPGA BRAM configuration
Block Configuration Block/word ADC word Memory buffer Remaining Block
32768 32768X1 18 7*32768 229376 14
16384 16384X2 9 15*16384 245760 5
8192 8192X4 5 27*8192 221184 5
4096 4096X8 3 45*4096 184320 5
4096 4096X9 2 67*4096 274432 6
2048 2048X16 2 67*2048 137216 6
2048 2048X18 1 140*2048 286720 0
1024 1024X32 1 140*1024 286720 0
1024 1024X36 1 140*1024 286720 0
512 512X64 1 140*512 286720 0
512 512X72 1 140*512 286720 0
Based on this configuration the best configuration that we can use is 4096X9 that uses 134
blocks and 6 blocks with higher efficiency.
To implement the transfer of the processed data over ethernet from FPGA we have to implement
User datagram protocol on the FPGA. As Xilinx Zynq series is complete SoC having on chip
option to configure the Ethernet MAC peripheral. For this purpose, we have worked on the Evaluation
board Zybo-Z7 figure3, by Digilent Technologies consist of our candidate FPGA. We have implemented
a firm ware using Low weight IP (LWIP) application open source TC/IP networking stack.
During this experiment of developing the firm ware for transfer of data on ethernet, we configured
Ethernet ENET-0 port of Zynq Processing System (PS). After setting all configurations and
successfully synthesizing our deign, we programmed Zynq-PS section with Xilinx Device drivers
API to communicate with Programmable Logic (PL) section of Zynq. Figure 5, shows the section
of firmware for setting up successful connection of Xilinx FPGA with system and getting
successful ping from the device.