Search the Community

Showing results for tags 'Analog Discovery'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • News
    • New Users Introduction
    • Announcements
  • Digilent Technical Forums
    • FPGA
    • Digilent Microcontroller Boards
    • Non-Digilent Microcontrollers
    • Add-on Boards
    • Scopes & Instruments
    • LabVIEW
    • Other
  • General Discussion
    • Project Vault
    • Learn
    • Suggestions & Feedback
    • Buy, Sell, Trade
    • Sales Questions
    • Off Topic
    • Educators
    • Technical Based Off-Topic Discussions

Calendars

  • Community Calendar

Found 100 results

  1. I want to be able to output a .wav file. I can output a sine wave just fine from python, but I'm having trouble with this. I am loading the wav file. The array is populated. I've been looking for a funcPlay example, but I have not found any. I am able to import the file into waveforms and send it out using play. Thanks. import numpy as np import scipy.io.wavfile import matplotlib.pyplot as plt import ctypes import winsound from ctypes import * import time from dwfconstants import * import sys rate, data = scipy.io.wavfile.read('/Users/don/1.wav') plt.plot(data) plt.show() sin_data = np.sin(data) if sys.platform.startswith("win"): dwf = cdll.dwf elif sys.platform.startswith("darwin"): dwf = cdll.LoadLibrary("/Library/Frameworks/dwf.framework/dwf") else: dwf = cdll.LoadLibrary("libdwf.so") # declare ctype variables hdwf = c_int() channel = c_int(1) # print DWF version version = create_string_buffer(16) dwf.FDwfGetVersion(version) print("DWF Version: {}".format(version.value)) # open device print("Opening first device...") dwf.FDwfDeviceOpen(c_int(-1), byref(hdwf)) c_double_p = ctypes.POINTER(ctypes.c_double) data_p = data.ctypes.data_as(c_double_p) if hdwf.value == hdwfNone.value: print("failed to open device") quit() print("Generating audio...") print("Configure and start first analog out channel") print("Generating custom waveform...") dwf.FDwfAnalogOutNodeEnableSet(hdwf, channel, AnalogOutNodeCarrier, c_bool(True)) dwf.FDwfAnalogOutNodeFunctionSet(hdwf, channel, AnalogOutNodeCarrier, funcPlay) dwf.FDwfAnalogOutNodeDataSet(hdwf, channel, AnalogOutNodeCarrier, data_p, data.size) dwf.FDwfAnalogOutNodeFrequencySet(hdwf, channel, AnalogOutNodeCarrier, 44100) dwf.FDwfAnalogOutNodeAmplitudeSet(hdwf, channel, AnalogOutNodeCarrier, c_double(2)) dwf.FDwfAnalogOutConfigure(hdwf, channel, c_bool(True)) dataLost = c_int(0) dataFree = c_int(0) dataCorrupted = c_int(0) psts = c_int(0) dwf.FDwfAnalogOutNodePlayStatus(hdwf, channel, AnalogOutNodeCarrier, dataFree, dataLost, dataCorrupted) dwf.FDwfAnalogOutStatus(hdwf, channel, psts) print("psts: {}".format(psts)) print("dataLost: {}".format(dataLost)) print("dataFree: {}".format(dataFree)) print("dataCorrupted: {}".format(dataCorrupted)) while psts != DwfStateDone: dwf.FDwfAnalogOutNodePlayStatus(hdwf, channel, AnalogOutNodeCarrier, dataFree, dataLost, dataCorrupted) dwf.FDwfAnalogOutStatus(hdwf, channel, psts) dwf.FDwfAnalogOutNodePlayData(hdwf, channel, AnalogOutNodeCarrier, data_p, data.size) # if state == c_int(0): # print("state is 0") # dwf.FDwfAnalogOutNodePlayData(hdwf, channel, AnalogOutNodeCarrier, data_p, data.size) # print("Configure and start first analog out channel") # dwf.FDwfAnalogOutEnableSet(hdwf, c_int(0), c_int(1)) # print("1 = Sine wave") # dwf.FDwfAnalogOutFunctionSet(hdwf, c_int(0), c_int(1)) # dwf.FDwfAnalogOutFrequencySet(hdwf, c_int(0), c_double(3000)) # print("") # dwf.FDwfAnalogOutConfigure(hdwf, c_int(0), c_int(1)) time.sleep(10) print("done.") dwf.FDwfDeviceClose(hdwf)
  2. I have an analog discovery and connected with the USB cable to my computer Windows 7 and it gives me this error.
  3. After going through a range of the SDK examples, I'm running into some strange behavior that I'm hoping someone can help explain. The result I'm trying to achieve is sending out a low duty cycle pulse (Digital or Analog but something similar to a TTL) that triggers the repeated acquisition on the Analog Discovery. I can achieve this result using the GUI but would like to insert this process into a python script so I can process and save the data. When I route W1 into CH1 in the following example what I see is expected. However, when I try to route the digital out into CH1 things look extremely wonky. Again, I'd like to see a waveform that would be considered a PWM waveform that has a duty cycle of ~99% low and I'd like to be able to control that duty cycle with a reasonable degree of precision and accuracy. Any help would be appreciated and hope the solution is easy as I've been staring at this entirely too long. Am I just trying to put too many points into the digital out? Another potential solution that I'm not entirely sure how to implement, is loading a custom waveform from a file and running that through the waveform generator. Is there an example for that that would also fit with the DAQ needs? Cheers, Brian AnalogIn_Acquisition_5.py
  4. Is there anyone that has a direct link to download just the USB drivers for the Analog Discovery II (not part of Waveforms 2015)? We are having driver issues on Windows 10. We've tried every other solution that we could find on these forums. (Manually pointing to the drivers, rebooting, reinstalling waveforms including the Adept Runtime, etc.) We are looking for JUST the drivers that someone from tech support can send us while trying to fix this problem.
  5. I try to receive data with an Analog Discovery Kit (AD) from a FPGA written with my own protocol. Three signals enter the AD: Clock, Trigger, and Data. At the rising edge of the trigger, I would like to sample 16 bits from the data synchronous to the clock (around 20 Mhz). How can this be done with an AD and SDK? With an FPGA writing this is a matter of minutes, but some how I cannot wrap my head around this. Below is the code I am using, but sadly it returns only 0x0000 or 0x000. How to receive data in this way? Cheer, VonPuffelen FDwfDigitalInConfigure(AnalogDiscoveryHandle, false, true); // start sampling STS sts; unsigned int timer = 0;// wait for receiving do{ if(!FDwfDigitalInStatus(AnalogDiscoveryHandle, true, &sts)) // pull for trigger event { printf("AcquireErro(42)"); return 42; } timer++; }while((sts != stsDone) && (timer < 0x1FFF)); FDwfDigitalInStatusData(AnalogDiscoveryHandle, data, length*sizeof(unsigned short)); // fetch data from IO buffer. FDwfDigitalInConfigure(AnalogDiscoveryHandle, false, false); // stop sampling
  6. Hello, For one of my school projects we were asked to find the minimum signal that will give a signal to noise ratio of 10 dB. How would I go about finding this? I know that the Spectrum Analyzer for the Analog Discovery would be used but I am unsure of how to find the signal to noise ratio of a signal. Thank you, cjobi247
  7. Real signals

    Labview very complicated for analog discovery. I want to process real signals simply. İs there any way Analog discovery scope using as analog input/output? (And digital signals) Like this :
  8. I want to create a little circuit to connect straight to the analog discovery 2 using an analog multiplexer and some of the digital outputs to enable lower sample rate measurement of multiple channels. Would there be a part number for a suitable mating connector for the inputs and outputs of the analog discovery/analog discovery 2?
  9. Hello, I am a new user of analog discovery. I have an Arduino talking to my sensor through a 5v to 3.3 V level converter using I2C protocol. The code works fine and gets me the desired output on the serial port but when I try to connect the SDA and SCL lines to the analog discovery on the pin 7 (Data) and Pin 15 (clock) lines, I dont see any signals getting recorded. I am interested in seeing the clock and data lines with the addresses and data that is being written on the lines. But it either gives me Error status or no result after getting triggered. The snapshot is attached below: I wanted to know if I am following all the necessary steps in initializing the analog discovery. 1. Connect the wires to the 2 digital lines of analog discovery ( Pin 7,15 here) 2. Assign the right DIO pins as data and clock lines in the waveforms software. 3. Click the Red T button to set the trigger option. --> Start signal as trigger is the condition I used in the image below. but I also tried different trigger settings like, SDA = Ignore and SCL = Rising edge. Both of them gives me the error blocks as below. 3. Click Run button 4. Reset the Arduino. 5. Stop. I am interested in seeing the start, addresses in hex, ACK/ NACK signals labeled. Can anybody tell me if there is some required program to be run before I able to see them? Thanks & Regards,
  10. Measuring Frequency

    Hi Dear Digilent Team, A question concerning the measurement capabilities ot the Analog Discovery 2 and WaveForm software: Is it possible to measure continously and "without losses" a frequency of an analog or digital entry? Goal is to log a frequency over a long period of time between EACH following flanks Optionnaly also measure times between flanks of different channels Examples: - Measure the freq/time between each following rising flanks of a channel - Measure the freq/time between each following falling flanks of a channel - Measure the freq/time between each following flanks (rising and falling) of a channel ... Most scopes measure frequency only "around" the trigger flank Thanks for each feedback Regards
  11. Hi, First, The Analog Discovery 2 is a very handy device and i am very pleased with all the functionality it offers. I got a problem with my device. The channel one of the wave form generator is not working any more. Here is the full the story. i mixed up the scopes for the signal generator and the oscilloscope and i ended up trying to measure a voltage of about 80v with the scope connected to waveform generator. As a result the device disconnected from my laptop. I noticed my mistake, unplugged the scope and tried to reconnect the device. It does show up in the list of available devices with all values of the register, S/N, state... But once i have clicked on 'select', an error pops with 'communication with the device failed'. I connected an external power supply to Analog D and this device can now be connected to Waveform (?!). If I try to set a sinusoidal signal on the channel one of the waveform generator, it shows either a clipped signal or absolutely nothing depending on the Vpp voltage. Also, their is a spurious 3V drop between ground and the output of the channel 1 To finish, the device warms up very quickely. Does anyone has an idea how to fix that ? To be honnest, i have made an huge mix-take with the device, do you think that someone at Digilent will agree to have look at the device ? Edit: Waveform indicates a consumption of 800mA / 4.8V on the AUX power supply, the temp is around 50 °C. Also there is a sound emitted by the device when connected, like a whistling. Best Regards, Nicolas
  12. During device opening internal chips are enabled and configured. This results in consumption increases, specially when the 100 MHz clock (PLL) is started. The needed current increases from 100mA to 500mA. In case the USB can't provide enough current the voltage drops below the minimal required for the device to operate and communication fails. In case you get “Device configuration failed (PLL 1)" or "Communication with the device failed.” error message: The device needs at least 2W/400mA from USB cable. To satisfy this: - Try to use different USB cable and computer plug. - Use the USB plug on the back of the PC, not the one on the front panel. - Use short cable, do not use long cable or cable extender. - Use powered USB-hub, avoid un-powered hub. - Use USB-Y cable to load power from two plugs. Device not detected by WaveForms: Open Windows Device Manager then connect the device and wait up to one minute for a device to appear: - USB Serial Converter, with warning - Connect the device directly to the computer's USB plug without using external hub. - Restart the computer. - Reinstall WaveForms, including the Adept Runtime section. - USB Serial Converter, without warning - Restart the computer. - Reinstall WaveForms, including the Adept Runtime section. - Other application might have erased the USB controller EEPROM (FT_Prog, programming cable drivers...) Ask for the reprogram application from support@digilentinc.com - Unknown Device Check the Hardware IDs under device Properties, Details tab - USBVID_0403&PID_6014 The USB driver is not installed. - Restart the computer. - Reinstall WaveForms, including the Adept Runtime section. - USBVID_0000&PID_0000 Device not identified or malfunction. See "Nothing shows up". - Nothing shows up: - Connect the device directly to the computer's USB plug without using external hub. - Try to use different USB cable and computer plug. The device or its plug might be damaged.
  13. I have been following many Analog Discovery users trying to use it in Raspbery Pi and also about the problems. I've got a little tutorial on how to use Analog Discovery with Orange Pi PC Plus, an excellent alternative to power the system. https://www.hackster.io/agaelema/using-digilent-analog-discovery-in-orange-pi-pc-plus-b7e865
  14. I have been using my Analog Discovery to measure output signals from a 3-axis accelerometer (Adafruit ADXL377) during an impact test event. Being a 2-channel device I have to first measure the X+Y outputs then repeat the impact event measuring the Y+Z outputs. I export these data then use a bit of Python code to combine two tests into a single result whereby I calculate the total acceleration by summing the squares of each axis (X+Y+Z). I trigger the scope off the Y-axis and make the assumption that the Y-axis acceleration is the same in each of the paired impact tests (which seems a reasonable assumption for these initial tests). For any given "impact test" I repeat the test 10 consecutive times measuring the X+Y outputs then 10 consecutive times measuring the Y+Z outputs then combine these data onto 10 X+Y+Z data set for analysis. I see some differences in the combined X+Y+Z data depending on which set of Y output data is used for the combined X+Y+Z data. The impact test itself has some inherent variability so this dual measurement just adds to the "noise" so the number of experiments needs to increase in order to make the experiment results valid. It seems at first glance that if I bought a second Analog Discovery unit I might be able to simultaneously measure the X+Y outputs on unit "A" and Y+Z outputs on unit "B". I would setup each scope to trigger off the same Y output so presumably they would trigger at the same time. Has anyone tried this before?
  15. In Waveforms 2015, is it possible to set up a wave in the AWG to be triggered by every other pulse in the scope? I'm currently trying to use a 10 Hz external pulse connected to the Analog Discovery's scope as the trigger for a 5 Hz waveform from the AWG, but I need to have the event trigger only once the 5 Hz waveform has finished one pulse. Effectively, I'm putting together a slower trigger for one device that's triggered from the AD's scope using a faster external pulse. It appears that Waveforms 2015 has some logic capabilities incorporated into the software, but as I don't have a background in logic circuits I'm not even sure if the logic circuit feature can work this problem out. Any help with this will be much appreciated~
  16. Hi Digilent Im currently working on my finals in electronics development, including a hardware setup and a custom-made C++ application for my Analog Discovery 2. However it seems that the calibration data made with WaveForms does not apply to the hardware when using custom C++ applications. I've been looking through the manual and haven't encountered any examples of how it is done. I hope you can help me Kind regards Rasmus Pforr-Weiss, Brüel & Kjær SV
  17. My Laptop Operating System is Windows 10 in Chinese Version, I have downloaded waveforms software, I have connected the Analog Discovery. My laptop could detect USB Serial Converter, but the Waveforms software cannot recognize it. Showing the messages as follows: Device opening failed DptilO failed ERC:0x7 Devive configuration failed(PLL 3) Communication with the device failed. Please check the USB cable connection. For further troubleshooting consult the Help. Communication with the device failed How could I fix this problem??? Thanks a lot !
  18. Waveforms USB IO

    Hi all, The Waveforms program installed on my 64bit, Win 10 Laptop fails to connect correctly to the Digilent devices. I have tested with an Analog Discovery 2 and Analog Discovery, both were tested in other PC's so there is no external hardware issue. As shown in the attachment, Waveforms is reading the S/N from the device and current draw is within the expected range. My best guess is that there is a USB driver issue, what are your thoughts?
  19. So I got an Analog Discovery Rev. C for one of my classes, and a little over a month ago it died. I wasn't using it irregularly or improperly, I just pulled it out during lab one day and it wouldn't power on. Is there any sort of warranty or something that Digilent provides for these devices? I have emailed them more than three times about it and have gotten no response. Any help would be appreciated.
  20. My signal looks fine as long as I don't change the offset to anything below -5V. The first picture, I have C2 at -5V and I get something that looks ok. When I change it to -5.08, it looks weird. Is there a way to avoid this? I'd like to look at C2 here at a lower V/div but am unable to center the signal due to this problem.
  21. Sampling Frequency

    Hello, 1. I'm just wondering if I can expect to get time sequence which has 10ns interval (ADC fs=100MHz) when I measure the Analog input from my circuit. (AD, AD2) 2. And because of 16k samples buffer, I only can measure(capture or save data) during 0.16msec (1/100MHz*16k). Is there any way to increase the number of samples to save? 3. Can I change the sampling frequency also? Best regards, Sung
  22. Hello, I have a question regarding the quality of oscillogram displayed by the oscilloscope ( the screenshot is attached). The wave generator generates slow square wave, the channel 1 is connected straight to the wavegen 1 output. But when you examine the signal you see those yellow areas surrounding the leading and trailing edges and that's a bit confusing. What is this and is there anything I can do to get rid of it? Actually, I don't believe that it has anything to do with the signal itself (but I am not an expert), I would think that this is simply how the picture is drawn on the screen. Thanks!
  23. Hi, I'm trying to measure the input impedance of my AD2 Logic analyzer and compare it to my new Digital Discovery impedance. My measurement is around 650 KΩ for the DD, however, I couldn't get any consistent result for the AD2 nor AD1. The input impedance varies between 30 MΩ and 70 MΩ. I used different techniques in my measurements, but with no success. I also looked the specs of D2/AD1 and couldn't find a figure for the Logic analyzer input impedance. Can someone please, help me find an answer or suggest a technique to measure the Logic analyzer input impedance? Thanks
  24. mulitple scopes in linux

    I'm using two Analog Discovery 2's in an embedded Debian linux environment using the python interface with my own code. I need to be able to know which physical scope I'm connecting to when I open both scopes because even though the usb assignment might change, the wiring won't. So I need to know in software which scope is which. Can you suggest a way to choose which scope to connect to? Or, failing being able to know ahead of time, what's the easiest way to know which scope I've connected to and possibly close it and switch to the other? Thanks.
  25. wave form generation

    Dear all, I wanted to fire IGBT of my full bridge converter using analog discovery2. I wanted to change the symmetry of square wave of both channel at same time is it possible? HARIKRISHNAN