All Activity

This stream auto-updates     

  1. Today
  2. Tony_B

    Data acquisition

    Just looking for some help / advise / pointing in the right direction .. I need to capture some 16-bit parallel data from a sensor at about 10M samples / sec., accumulate it into blocks, and send the blocks out over a GigE link. The sensor data is going to be read from an external FIFO which will interface to my hardware. 1). Would an Arty Z4-20 be capable of this? .. or would something else be a better choice? 2). Assuming a Z4, any suggestions on topology? How would I best structure this? eg. I’m thinking DMA from GPIO to memory on the PL side, then Ethernet transfer from the PS side? .. or could it all be done in the PL side? 3). What about an OS? I don’t think I need PetaLinux for any other functions .. but would it help with the GigE transfers? Any suggestions or experience would be very helpful! Thx.
  3. My Analog Discovery 2 was working well on Mojave with WaveForms. I updated macOS from Mojave to Catalina last week. After that, WaveForms doesn't start on Catalina. I also tried re-installing latest WaveForms app v3.10.9. But it doesn't help. What should I check to work it on Catalina? OS: macOS Catalina ver 10.15 PC: MacBookPro 15inch 2017
  4. I'm trying to work with a selection of old Digilab 2 products that I was given for a university project. From what I've been able to find, it seems that the boards are compatible with Digilent Adept 2 software (is this the best for programming these boards), and it seems that they use the DB-25 port for programming/data communications. Does anyone have cable/adapter recommendations so that I may interface this connector with a USB port? I understand that the product is retired, but I feel that I can still make it work for my prototype.
  5. Yesterday
  6. I got the impression that ADI developed the new parts kit, based on the wiki you provided - and the 'sounds very much like an ADI part number' part number. Either way, thought you should be aware. The photo I posted shows the adapters that have this defect, though maybe you can't read the part numbers due to the poor quality of my photo. But I can make out the silk screen pin numbers in the photos on your web site. The DIP adapters are; AD22151, AD5626, AD7920, AD8210, AD8226, AD8542, ADTL082, LTC1541, The remaining few adapters seem to be ok, but I'd double check.
  7. Hi @Spitzer, I learned for certain that Digilent did not get a hand in developing this new kit (hence the lack of Digilent's icon on the new kit). Could you let me know which chips had reverse or changed pinouts so I can get that updated on the store page and the Digilent Wiki? I will also work on getting a new kit tracked down so we can make note of any other changes that have occurred in detail. Thanks, JColvin
  8. rgc

    CMOD A7 Programming w/o Vivado

    Thank you JColvin, I checked the Adept software, and as it allows to upload a .bit file I used it to load a .bit bootloader, which writes into the flash via SPI. It's somehow convoluted (as it requires delivering two files) but it's functional. Thanks again, /rgc
  9. Hi everyone, Hardware: Zybo Z7-20, PCam 5C, sd card Software: SDSoC 2017.4, reVISION platform for Zybo Z7-20 (release, v2017.2-3) The “Simple Filter2d Live I/O demo for Pcam5C” is perfectly working (following the readme in reVISION download archive). This code is the starting point for my application. My C++ skills are far from expert level and also quite rusty. I’m developing a live video application for my master thesis. The current step is to implement motion detection. The (simple) concept is to compute the difference between a background image and the current video frame: Initialize: first frame --> (to grey scale) --> (optional: resize) --> gaussian blur ==> background image Loop: frame --> difference to background image --> threshold --> dilate --> find contours ==> list of contours Question: I’m stuck right at the first part, the initialization. The image is already grey scale. The resizing I currently omitted. So the only remaining task is Gaussian blurring. At runtime, when xf::GaussianBlur is called, the program goes into loop, infinitely throwing the following error: Even the first print statement after xf::GaussianBlur is not reached. Since xf::GaussianBlur tries to create hls::streams for both the xf::Mat parameters, I thought that the src matrix might be empty. But printing the first 40 pixels (not included in the code below) yields reasonable values… Any help appreciated! The code (that differs from "Live I/O demo"): Additional #defines in platform.h: // parameters for xf::Mat template with 1 channel. #define XFMAT_1C XF_8UC1,MAX_HEIGHT,MAX_WIDTH,XF_NPPC1 #define GAUSSBLUR_MAX_KERNELSIZE 30 // guessed #define GAUSSBLUR_MAX_SIGMA 10 // guessed #define GAUSSBLUR_SIGMA 2.0 // guessed Code in main.cpp: /* [The initialization stuff: v4l2 input, terminal, drm output, switches&buttons, ncurses] */ // Start capturing frames from video input (Pcam 5C on CSI port). v4l2_helper_start_cap(&v4l2_help); // Get the first frame - a grey-scale image (Y) (from YUV image???). unsigned int v4l2_buf_index = v4l2_helper_readframe(&v4l2_help); uint8_t* firstFrame = (uint8_t*) v4l2_help.buffers[v4l2_buf_index].start[V4L2_FORMAT_Y_PLANE]; xf::Mat<XFMAT_1C> xFirstFrame(vActiveIn, hActiveIn, (void*)firstFrame); // Store first frame as background frame. xf::Mat<XFMAT_1C> xBackground (xFirstFrame.rows, xFirstFrame.cols); xf::GaussianBlur<GAUSSBLUR_MAX_KERNELSIZE, GAUSSBLUR_MAX_SIGMA, XFMAT_1C>(xFirstFrame, xBackground, GAUSSBLUR_SIGMA); // for debugging: mvprintw( 11, 0, "xBackground:"); wrefresh(mywin); for(size_t i = 0; i < 40; i++) { mvprintw( 11, 16 + 4*i, "%u ", xBackground.copyFrom()[i] ); } wrefresh(mywin); /* Loop is commented. Only the cleanup remains at the end: endwin(), etc. */
  10. Hi @Bill_H, I'm not sure which datasheet you happened to look at, but did you look at the one that we have in the Additional Resources section of the Pcam 5C Resource Center (link)? I'm not certain what you are referring to with regards for "the linux driver" but our demo application does not use a linux system. Thanks, JColvin
  11. Is it possible to connect PCAM 5C into Zynq-7000 through a XADC pmod (using some adapter)? Is there any tutorial, example and or suggestions how to do that?
  12. Hi @rgc, Digilent does not have any formal tool to load a flash program onto a Cmod A7, nor does Xilinx as far as I am aware. If you are looking to program a Cmod A7 with a .bin file for flash, you will need to use one of the alternate solutions listed by our two community members above. If you just need to load a volatile .bit file though, you could use Digilent's Adept software to load it to the Cmod A7. Thanks, JColvin
  13. We've used XIT scripts to apply additional constraints. Example from the PmodAD5, which handles hooking the IP's interface to the board file interface. I've pasted the contents of the "xitscript.tcl" script we use to add this file to the IP packager below: set imp_fg [ipx::add_file_group -type {xilinx_implementation} xilinx_implementation [ipx::current_core]] ipx::add_file {utils/board/board.xit} $imp_fg set_property type {{xit}} [ipx::get_file utils/board/board.xit $imp_fg] set_property used_in {{implementation} {board}} [ipx::get_file utils/board/board.xit $imp_fg] -Arthur
  14. TeslaCrytpo

    CMOD S7 STP FIle

    There is a 3D stp file available for CMOD A7 board, but I do not see one for the CMOD S7 board. Is one available? Thanks. James
  15. With data compression half of the buffer size is used for storing time/delay. In worst case scenario, this reduces the buffer bandwidth to half. In case you are not interested in sample timing, you could use 'sync' mode .
  16. Ok, got it. Does it make sense then to implement "Data Compression" for DD as it was done for AD2? Because my device operates mostly in idle mode with short bursts of data exchange. As I understand, the "Sync" mode can be used for this purpose. DD will fill it's buffer only when Enable signal is active while data will be transmitted to WF during idle state.
  17. Hi @sintech The Bus order is fixed in the latest WF beta: https://forum.digilentinc.com/topic/8908-waveforms-beta-download/
  18. Hi @P. Fiery In the last WF beta you can have multiple files with separate functionality or you can use as includes (File / New File): https://forum.digilentinc.com/topic/8908-waveforms-beta-download/
  19. Hi @sintech It is not possible. Streaming over USB at 20MHz (>2MHz x16) is not supported. The 20MHz x 20s = 400M > 16x128M (2Gbits DDRAM of DD) With DD you could capture 128M samples of 16 bits at up to 400MHz, or 128M at 20MHz (6.71sec) or record 'unlimited' at ~2MHz.
  20. Thank you for the answer. Do I take it right that it is not possible even using WF SDK to record more than one buffer size holds without skipping at high sample rates (more than 1Mhz at 32bit)? Can you please clarify the example I mentioned (20s of samples at 20Mhz in 16x400Mhz)? If I use SDK, is it possible without sample skipping?
  21. Hi @sintech 1. Thank you for the observation. It is fixed for the next software release. 2. The number of samples is limited in the WF application for GUI performance reasons. With the WF SDK you could record 'unlimited' number of samples. However the recording rate is limited due to USB 2.0 bandwidth to about 1MHz at 32bit sampling, 4MHz 8bit sampling. With Digital Discovery you can record up to 256M samples with 8bit sampling up to 800MHz. The transfer of the captured data to computer will be at slower USB rate.
  22. Beware when purchasing FPGA boards that aren't designed to be configured through a standard JTAG connector, or have a COM port compatible with the FPGA vendors' configuration tools. The problem might be an open JTAG chain. It's not the HS3 cable. Time to get out the schematics and do a bit of studying up on how JTAG works.
  23. Hello @Kevin_hu, If JTAG pins are exposed on your board you can program it using JTAG HS2 or JTAG HS3 cable.
  24. @JColvin Hi. Thanks for the reply. I tried to directly connect flywires to the jtag cable thereby halving the wire length. Also changed jtag frequency to 10 MHz. I also tried all other frequencies. However the problem persists and my FPGA device is still not detected. I get the same error as before:
  25. Hello @sab, What happens when you Open target -> Auto Connect ? Could you post a screen capture ? Also do you see USB Serial Port under Ports and USB Serial Converter under Universal Serial Bus controllers in Device Manager ? Could you post a screen capture of the Device Manager ? Cheers, Ana-Maria
  26. Hi, I'm a new DD user. WaveForms beta 3.11.25 (Windows 10) and 3.11.24 (Mac OS) 1. I have noticed that if I change acquisition mode in Logic Analyzer, manual order of bits in Bus got rearranged. 2. Is it possible to capture data for more than "base" amount of time in Record mode? For example, I would like to capture 20s of samples at 20Mhz in 16x400Mhz config for further analysis. My expectations for Record mode were that DD streams captured samples via USB to WaveForms using DD's large 256M buffer as FIFO. So I thought the capture time would be limited only by PC memory size. Thanks, Konstantin
  1. Load more activity