-
Posts
6,469 -
Joined
-
Last visited
Content Type
Profiles
Forums
Events
Gallery
Everything posted by attila
-
Logic tool window not updating to input from static I/O
attila replied to Rohan16's question in Test and Measurement
- 1 reply
-
- logic analyser
- static i/o
-
(and 1 more)
Tagged with:
-
Running time is less than scheduled recording time
attila replied to mms14's question in Test and Measurement
Hi @mms14 Sorry, 6M samples at 100kHz and not the other way around. -
Hi @Shalin The supply voltage applies to all DIO and DIN channels. The IO and IN channels have different frontends, see: https://digilent.com/reference/test-and-measurement/digital-discovery/reference-manual#io_level_translators https://digilent.com/reference/test-and-measurement/digital-discovery/reference-manual#input_dividers The SPI and other protocols swap the capture order of IO IN channels, so DIOs are first. To use a DIN channel as MISO configure data 1 to be 16+DINnumber, like FDwfDigitalSpiDataSet(hdwf, 1, 16) for DIN-0
-
Hi @Logan B For I2S output custom signal can be used from Pattern Generator. Decoding is supported in Logic Analyzer.
-
Cannot mix incompatible Qt library (5.15.11) with this library (5.15.12)
attila replied to Adrian Campos's question in Test and Measurement
Hi @Adrian Campos Try apt update and upgrade. https://www.google.com/search?q=Cannot+mix+incompatible+Qt+library -
Running time is less than scheduled recording time
attila replied to mms14's question in Test and Measurement
Hi @mms14 Only natural division of system frequency are supported. With the default 100MHz closest would be 5.882MHz. For 6MHz set system frequency for instance to 120MHz. dwf.FDwfDeviceParamSet(hdwf, DwfParamFrequency, 120000000) See WF SDK/ samples/ py/ DigitalIn_Record.py example Set number of minimum samples you want to capture before trigger as Prefill and the exact number after trigger as Position. After the capture is done the data need to be aligned. rgwSamples = rgwSamples[iSample:]+rgwSamples[:iSample] For digital record 6MHz is on the limit to work, buffer overflow may occur. To improve the record use the 4th or 5th device configuration. dwf.FDwfDeviceConfigOpen(-1, 3 or 4, byref(hdwf)) If the average signal toggle rate is less than 3MHz use data compression. This way you may be able to use even higher record rate, like 120MHz See DigitalIn_Record_Compress.py example -
Pattern generation data interleaved with Z values
attila replied to Roche's question in Test and Measurement
Hi @Roche Thank you for the observation. Corrected for the next version. -
Pattern generation data interleaved with Z values
attila replied to Roche's question in Test and Measurement
Hi @Roche I don't understand where you see Z. Here 24 is PP drives low/high, 25 OD low/Z, 26 OS Z/high, 27 TS low/high/Z The uncontrolled DIOs (neither from StaticIO, Patterns, Protocol...) are by default in high impedance. The Patterns preview is just a preview, with high zoom out or certain situations it may not show the signals correctly. -
Hi @Shalin Try lower IO voltage. Eventual pullup which can help if the driver has some impedance. The absolute minimum is around 0.96V but even if you try lower value it will limit to what it can. (The minimum recommended for the FPGA IO supply is 1.1V) Here with 0.95V the threshold is 0.55V/0.65V AD3 Wavegen is connected to one DIO of Digital Discovery and another DIO outputs the logic level of the input (with ROM Logic) which is connected to AD3 Scope 1.
-
Graphing wave frequency as custom channel (?) in WavForms
attila replied to Agouti's question in Test and Measurement
Hi @Agouti With Math channel the data can only be delayed. For compensation bidirectional shifting is available under Channel gear dropdown. However with Logging you can process the data to show the exact length of each pulse. if(!Scope.Ref1.enable) Scope.Ref1.Clone(Scope.Channel1); var src = Scope.Channel1.data; var c = src.length; var dt = 1.0/Scope.Time.Rate.real; var pwm = []; var p = src[0]>0; var t = dt, j = 0; for(var i = 1; i < c; i++, t+=dt){ if(p==(src[i]>0)) continue; p = !p; for(; j<i; j++) pwm.push(t); t = 0; } for(; j<c; j++) pwm.push(t); Scope.Ref1.setData(pwm, Scope.Time.Rate.real); -
Hi @bryan78 I'm working on it.
-
Analog Discovery for HIL (Hardware in the Loop) Test
attila replied to mantoll's question in Test and Measurement
Hi @mantoll You could perform a digital-in (logic analyzer) capture and process the samples to measure the frequency and duty. -
script to control Digital IO supplies from Protocol viewer
attila replied to arang's question in Test and Measurement
-
script to control Digital IO supplies from Protocol viewer
attila replied to arang's question in Test and Measurement
-
Graphing wave frequency as custom channel (?) in WavForms
attila replied to Agouti's question in Test and Measurement
-
Analog Discovery for HIL (Hardware in the Loop) Test
attila replied to mantoll's question in Test and Measurement
Hi @mantoll It could be used but note that on digital side spi, uart and pwm are exclusive, only one function is supported at a time. -
Hi @Conrad2468 There is no VISA support but C-API, see the WF SDK What communication problems do you have ?
-
Digital Discovery I2C - 16 bit memory addressing
attila replied to arang's question in Test and Measurement
Hi @arang No. I used the second device as slave to show that the first device is working as master. -
Digital Discovery I2C - 16 bit memory addressing
attila replied to arang's question in Test and Measurement
Hi @arang You should know better what data are you transferring. Here you can see two devices used as mast and slave: -
Pattern generation data interleaved with Z values
attila replied to Roche's question in Test and Measurement
-
Having Difficulty Running Multiple Waveforms SDK Instances at Once
attila replied to mowoodsiii's question in Test and Measurement
Hi @mowoodsiii Yes, I tested it with 3 devices. Earlier on wsl ubuntu and now on rpi4 ubuntu20 amd64. I modified the script a bit to automatically open an available device, to record 2M samples (for longer capture/run) and removed file writing. I don't know why it is failing for you... -
Digital Discovery I2C - 16 bit memory addressing
attila replied to arang's question in Test and Measurement
Hi @arang If you want to send two 8bit I2C word as sub address provide two values. If you enter one value only one 8bit word will be written after the address rd/wr. Have "clock stretching" checked as it is by default.