Jump to content

attila

Technical Forum Moderator
  • Posts

    6,956
  • Joined

  • Last visited

Everything posted by attila

  1. Hi @mjc43 I suppose the "Device Fix" lists the device under MacOS If the Windows is running under Virtual Machine, make sure the USB device is attached to this. See if the device is listed in Windows Device Manager as "USB Serial Converter" or "Digilent ..." if it was programmed with Vendor: Digilent Make sure VCP is not checked and verify the driver version. The device could be blocked by other applications, like some FTDI based JTAG/SPI/UART applications.
  2. Hi @diligent1 Use wait-run-repeat
  3. Hi @Jayce Thank you for the observation. Will be fixed in the next version for AD2,3.
  4. Hi @andym The device does not contain prom, but only a small eeprom to store usb ids, sn, name and calibration parameters. SOV is at the bottom of page, in additional resources. https://digilent.com/reference/test-and-measurement/analog-discovery-3/start
  5. Hi @Jakob Try using different BNC cable. The calibration should stay stable, even the factory calibration should be pretty accurate. Such shifts indicate contact issue, likely the GND connection, the BNC shield has contact problem. I also have some such bad quality cables. The adapter has 50R jumpers for AWG output, which should be used when the receiver has 50R termination. Also note the AD gnd is connected to computer gnd, which could cause ground loop in certain setups.
  6. FDwfAnalogOutNodePhaseSet sets the initial phase of the standard waveform For PM waveform use FDwfAnalogOutNodeEnableSet(hdwf, 0, AnalogOutNodeFM, 2) # 2=PM amplitude and offset expressed in %, 3=PMD in *deg
  7. You could use AM to block the signal in middle and FM to adjust phase. Note the carrier may not start from 0* at +3ms since it is running from start, it just has 0V amplitude while 100% AM blocks it.
  8. Hi @Steve_3 Is the burst length 1ms and trigger rate 3ms 333Hz ? Do you want a Scope input capture for each burst as well ? Asking these because reading the capture will take additional time, about 1-10ms depending on capture size, and can influence the AWG phase change rate.
  9. Hi @Jakob The AWG has two gain steps which are calibrated separately for each channel. Above 1V amplitude setting high range is used.
  10. Hi @diligent1 Could you sketch the signals ?
  11. Hi @Steve_3 You could programmatically adjust the phase, see AnalogOut_Phase.py or use phase modulation FDwfAnalogOutNodeEnableSet(hdwf, ChNum, AnalogOutNodeFM, 2)
  12. Hi @idegani Could you add some screenshots? What is the device temperature when this happens? Adjusting the device frequency, phase or the clock mode should reconfigure the device clocking ICs FDwfDeviceParamSet(hdwf, DwfParamFrequency, 90000000) 90MHz FDwfDeviceParamSet(hdwf, DwfParamFrequency, 100000000) 100MHz To reconfigure most of the device ICs on open, make sure the on-close global option is 0 (shutdown) FDwfParamSet(DwfParamOnClose, 0) FDwfDeviceClose... FDwfDeviceOpen...
  13. Hi @armcc AD3 DIOs are 3.3V
  14. Hi @TanTAH White noise in Network Analyzer makes no sense in my readings. Please provide more details about your project, documentation of the measurement to be performed...
  15. Hi @kevin vannorsdel Currently, for every device the divider is 31 and counter 15bit, FDwfDigitalOutDividerInfo FDwfDigitalOutCounterInfo
  16. Hi @rafa_uy 1. only sequentially 2. In this example, with sync streaming mode, one sample (state of DIO15:0) is stored for each CLK or CS rising edge. The following code then packs the MOSI/MISO bits into 8 bit values determined by the CS level. It is working as fast as it can, resampling from the 100MHz system clock. The data streaming over USB limits average rate to a few M samples / sec.
  17. Hi @StefKay Use custom sine instead of funcSine, like: cSamples = 32*1024 rgdSamples = (c_double*cSamples)() channel = c_int(0) # samples between -1 and +1 for i in range(cSamples): rgdSamples[i] = numpy.sin(2.0*numpy.pi*i/cSamples); dwf.FDwfAnalogOutFunctionSet(hdwf, 0, funcCustom) dwf.FDwfAnalogOutDataSet(hdwf, 0, rgdSamples, c_int(cSamples)) For newer (AD3,ADP2230,ADP3X50) devices to have more precise arbitrary frequency for the standard functions the waveform length is adapted. This has this glitch side effect on frequency adjustment, but custom waveforms should be stable. I'll try to improve this somehow in the future...
  18. Hi @plswelcomeroh i2s.dwf3work With Digital Discovery and ADP3X50 you can generate wide range of frequencies, and with AD3 and ADP2230 the frequency option resolution is lower, closest to 12.288M is 12.305MHz but 0.14% difference is probably acceptable.
  19. Hi @plswelcomeroh See the following: For more samples use configuration with deeper Pattern device buffer. I2S rate will be frequency / 2 / bits_per_channel const cbit = Patterns.Channels.DIO2.Samples.value; const bps = 16; const csample = cbit/bps/2; var rgsel = [], rgdat = []; print('bits:',cbit,' samples:',csample); for(var j = 0; j < csample; j++){ var v1 = round((1.0+sin(2.0*PI*j/csample))/2*(pow(2,16)-1)); for(var i = bps-1; i >= 0; i--) rgdat.push((v1>>i)&1); // left for(var i = bps-1; i >= 0; i--) rgdat.push((v1>>i)&1); // right for(var i = 0; i < 2*bps; i++) rgsel.push(((i+1)%(2*bps))<bps?1:0); } Patterns.Channels.DIO2.custom = rgdat; Patterns.Channels.DIO0.custom = rgsel;
  20. Hi @kevin vannorsdel It counts down, after reaching zero it loads the specified divider value.
  21. Hi @TanTAH It is not possible. The Network Analyzer generates sine wave sweep, or it requires external or custom sine sweep. I don't understand what you could do with white noise in NA. This is more related to Spectrum Analyzer.
×
×
  • Create New...