FMC DAQ2 SETUP

Dear all,

I'm working to setup the FMCDAQ2 (Hw an Sw) on KC705 board using the hdl-2016_r2 hardware  an no-OS-2016_R2 software, since I'm beginner in FPGA and sofware, thanks to your help I succeeded to take the first step. I get the debug running, I join here a short description, it could help beginners like myself. You told me that IIO oscilloscope application  will not work with bare-metall no-os software.
My question are there any tutorial or guide that explains easily how to write data and read data  from the memory,
just simple example put data and capture it .. Rejeesh gave this https://github.com/analogdevicesinc/no-OS/blob/2016_R2/scripts/capture.tcl
where can I source it, it seems in the debugger, can I also write a data file into the memory ?
thanks very much

NOOS_2016_R2.pdf
  • I'm not saying that your method is wrong, but you can easily introduce bugs into the system. So I would recommend to try to use the make files, if it is possible. Just install a cygwin, and set it up. (Building HDL [Analog Devices Wiki]) If you have issues let me know.

    Regarding the data write and read, there is a source file dac_buffer.c . In that file, you can find a few LUTs, each of the LUT contains a sine wave, between the two wave there is a 90 degrees offset. The DAQ2 board has two channels, so both LUTs are going to be used. When the function dac_buffer_load() is called, all these data will be loaded into the specified memory region, and the DMA will read that region, during the DMA transaction. If you want to send your own data, just change the content of those LUTs.

    On receive side, you have two options, you can print out the received data to the UART, or using 'make', save the received data into a file. You can simply run "make capture", after a "make run" command. (make sure that your board is running and connected to your PC) The "make capture" will save the received data into a CSV file, each row will contain a 32 bit hex number, 16bit MSB for channel A and 16 bit LSB for channel B. Than you can parse this raw data as you wish.

    This is a fairly new framework, it's not documented yet, feel free to ask if you're facing problems or have questions.

    -Istvan

  • Thanks very much Istvan, I appreciate your help, for sure I can gess the makefile method is more secure, I'm going step by step, my knowledge is restricted to pure digital design, there are huge things to learn and relevant information for my case  is split and hidden in a huge amount of information, your are guiding me to what it is really necessary for me, thanks for the hint with cygwin, I have to integrate it in my flow. I have to make myself familiar with KC705 and the embedded system, two  things are still missing in the chain :  1) Jesd206b ip, and the 2) Board FMC Daq2. 

    1) is not a big issue, once I get the license, 2) I have  equivalent chain (ADS7-V2 + AD6684-500ebz+AD9164-FMCC + DPG+ACE+visual Analog), configuring (DAC,ADC,PLL) is similar to the FMC DAQ2

    The most important issue I'm focussing on  is accessing the Memory (Write and read) using  this software, that allows me to get familiar with both (software and Hardware), I have an empty box for JESD204B now (I can if necessary loop the TX data to RX data ) just to close the Loop, If I can write to the Dram and Read independently of Jesd204b that would be Great .. again thank for your support

  • For package manager try out this one, instead of the default. Git, make and Vivado tools should be straight forward. Make sure all your paths are defined in your .bashrc correctly.

    You should run "make capture" from cygwin. In general, I open up the SDK GUI just for debug.

    If the DMA_BUFFER macro is set, then the data from memory will be transmitted, and you can receive it by simply making an external loop back with an SMA cable. After you run the software, you can run make capture to save the result.

  • Hi Istvan,

    I give some feedback :

    1) cygwin installation: still some problems I couldn't get clean environment  (cyg-apt, git, make)

    2) Data capture I think  the scripts you mean are in <no-OS-2016_R2/scripts> capture.tcl  and "make capture" in microblaze.mk, exactlty that's what I need, "suppose I'm in SDK tool, I can debug fmcdaq2.c thats working " how can launch  capture.tcl  or doing "make capture" ?

    3) I went through the sequence " tx_xfer.no_of_samples = dac_buffer_load(ad9144_core, tx_xfer.start_address);
    which fill the memory, it has been properly executed, I would like to  recapture this sinus-luts  (how ? may-be with capture.tcl in point 2)

     Thanks a lot

  • Hello Istvan,

    I 'am trying to do "make capture" in Cygwin:

    I get an error that  the xsdb could not read the xsct.tcl and capture.tcl files, I joind here a screenshot, both files are in the right place you see the check with ls .. thanks for the support