---------- Forwarded message ----------
From: Jack Hickish <[email protected]>
Date: Tue, Mar 14, 2017 at 10:37 AM
Subject: Re: Interfacing 64-channel ADC with ROACH-2
To: Kaushal Buch <[email protected]>
Cc: casper <[email protected]>, Kaushal Dipak Buch <
[email protected]>


Great stuff! Thanks Kaushal. Good luck with the rest of the experiment.

Cheers
Jack

On Mon, 13 Mar 2017, 21:55 Kaushal Buch, <[email protected]> wrote:

> Hi Jack,
>
> The updates have been added to the following page:
> https://casper.berkeley.edu/wiki/X64_adc
>
>
>
> Thanks & Regards,
>
> Kaushal
>
> On Sat, Mar 11, 2017 at 2:25 AM, Jack Hickish <[email protected]>
> wrote:
>
>
>
> On Fri, 10 Mar 2017 at 02:24 Kaushal Buch <[email protected]> wrote:
>
> Dear all,
>
> Just wanted to close this thread which I opened last year. The reply is in
> continuation to the last thread in this context. However, the solution is
> for ROACH-1 board.
>
> The following is the summary of what happened in this activity which may
> be of use to CASPERites. We are now able to successfully use the 64-channel
> ADC with ROACH-1 and are also building and testing a multi-input correlator
> and beamformer.
>
> As the GPIO pin voltage from ROACH-2 was not sufficient to drive ADC, we
> tried interfacing64-channel ADC with ROACH-1. We could get digitized data
> successfully from ROACH-1 as GPIO(0) provides 3.3V.
>
> We have to make sure that we are using appropriate GPIO [A/B] (pin 0) to
> connect reset pin of ADC through a jumper. We can control the reset to the
> ADC using a pulse from the software register. To use the onboard clock,
> the yellow block should be specified 50MHz and XSG_core_config clock as
> 200MHz set to 'adc0_clk'. We have not tried SPI interface in ADC parameter.
> These methods are working as expected for all ROACH-1 based designs so far.
>
> Calibration script is used to align data from different chips as mentioned
> on the x64 ADC wiki page. There is a problem while running this script as
> is. While running the version available in the repository, we got an error:
>  unknown'x64_adc_ctrl' variable
>
> We fixed this problem (with inputs from Jack Hickish) by adding the
> following line to the local repository
>  mlib_devel/blob/master/xps_base/XPS_ROACH_base/core_info.tab
>
> #IF# strcmp(get(b,'type'),'xps_x64_adc')#x64_adc_ctrl 3 10000 100
>
> Also, we removed the following line of calibration script which is no
> longer supported by 'corr' package and it seems this line was meant for
> just debugging.
>
> fclk_sampled = self.bit_string((val0&0x0fff),12)
>
>
> Hi Kaushal,
>
>
> It would be useful to update this information in the x64_adc wiki page.
>
>
> It looks like you have an account on the wiki -- so you can have the
> honour of updating it!
>
> :) :)
>
> Jack
>
>
> *Hi Jack,*
>
> *The changes have been made to the following page:
> https://casper.berkeley.edu/wiki/X64_adc
> <https://casper.berkeley.edu/wiki/X64_adc>*
>
> *Thanks & Regards,*
>
> *Kaushal *
>
>
>
>
> Thanks & Regards,
>
>
> Kaushal Buch & Atul Ghalame
>
>
>
> On Fri, Jul 8, 2016 at 8:11 PM, Jack Hickish <[email protected]>
> wrote:
>
>
>
> On Mon, 4 Jul 2016 8:08 pm Kaushal Buch, <[email protected]> wrote:
>
> Hi Jack,
>
> We tried the steps mentioned by you in the earlier email with 64-channel
> ADC connected to ROACH-2 board. The following are the details of the design
> and test.
>
> #Design:
>     x64_adc output was provided to MUX where it selects between counter or
> ADC input and gives to ten_gbe_v2 block. Following parameters are set:
>     -XSG_core_config has been set to sys_clock 100MHz
>
>
> This should probably by adc0 clock, at a rate 4x the adc sample clock.
>
>
>     -Packet size is 4K for the 10GbE packetizer
>     -ADC reset has been tried through the software register, jumper from
> GPIO(0), jumper from external source.
>
> #Tests:
>    i. When MUX selects the counter input, it shows proper UDP packets
> showing the counter value as observed on Wireshark.
>    ii. When MUX selects ADC data, and adc_rst of the yellow block is set
> via software register, it shows reset mode output i.e. -1(all ff...) in
> Fix_12_11 format. Packets observed were WOL(Wake-On-LAN) instead of UDP.
>    iii. When GPIO(0) signal is given to reset pin of ADC by jumper
> connection, it gives reset mode output on Wireshark with WOL packets.
>    iv.  When the external voltage of 2.4 V is provided to the reset pin of
> the ADC by jumper connection, it gives the same output as the reset mode
> output.
>
>
> We have the following queries with respect to the ADC board and the
> testing that was carried out.
>
>   1.  For connecting a jumper to the reset pin of the ADC board, which pin
> should be used from the ROACH-2 board? 1.5V from GPIO is not sufficient to
> drive the reset pin of ADC. How to use the GPIO(0) pin in this case?
>
>
> Good point. I suppose you'll need to change the levels using your own
> hardware. Roach1 didn't have this problem.
>
>
>
>   2. Do we need an external supply voltage to reset the ADC board? If so,
> what should be the voltage level?
>
>
> I think for roach2 you'll need to get the levels up to what they were on
> roach 1 (3.3V?). The adc schematics, if online, should confirm the correct
> level.
>
>
>   3. What should the clock selection be for XSG_core_config settings,
> sys_clock or adc_clock, or both possible?
>
>
> adc_clk0. The FPGA has to be synchronous with the ADC.
>
>
>   4. WOL packets indicate power-down mode of ADC, so is there a way to
> check the digitized output at the ZDOK connector?
>
>
> There's no way to check, unless you mess with the interface verilog. All
> -1's signify a reset problem though, so I would expect that is genuinely
> what's coming over the zdok.
>
> J
>
>
>
>
>
> Thanks & Regards,
>
> Kaushal
>
> On Wed, Jun 8, 2016 at 11:33 PM, Jack Hickish <[email protected]>
> wrote:
>
> Hi Kaushal, cc. CASPER,
>
> All good here (Berkeley), thanks. Hope you are well too.
>
> It's been a long time since I've used that ADC, but from what I remember...
>
> - Yes, you need to appropriately drive the ADC's reset through the jumper.
> If things aren't working and you're debugging with a probe, note that this
> reset is active low.
> - the yellow block uses GPIO[0] for the ADC's reset. On ROACH, you had the
> choice between gpio banks A and B. On ROACH2, this option on the yellow
> block doesn't do anything.
> - If you're using the SPI interface, the yellow block uses GPIOs 1,2,3 for
> data, clk, and cs_n, respectively.
> - The ADC reset is controlled by the active high reset input on the yellow
> block, which is inverted and drives GPIO[0]. I suggest tying this to a
> software register.
>
> There are more details at https://casper.berkeley.edu/wiki/X64_adc
>
> Don't forget there's some link calibration stuff you need to do -- details
> are on that wiki page.
>
> Let me know if you have other questions,
>
> Cheers
>
> Jack
>
>
> On Wed, 8 Jun 2016 at 06:07 Kaushal Buch <[email protected]> wrote:
>
> Dear Jack,
>
> Hope you are doing good.
>
> We have recently purchased 64-channel ADC boards and are planning to use
> them with ROACH-2. We have a basic design developed for packetizing the
> data and sending it on 10GbE port.
>
> I have gone through the available literature for this on the internet.
> However, I need some additional confirmation with reference to the
> 64-channel ADC board:
>
> 1. Is it mandatory to reset the ADC through jumper  ? If yes, which pin
> should it be connected to on the ROACH-2 board ?
>
> 2. Can we reset the ADC via software register or GPIO ? In this case, how
> to configure the GPIO ?
>
>
>
> Thanks & Regards,
>
> Kaushal
>
>
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"[email protected]" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].

Reply via email to