Jump to content

attila

Technical Forum Moderator
  • Posts

    6,668
  • Joined

  • Last visited

Posts posted by attila

  1. Hi @varunnagpaal

    Make sure the wiring is correct and the devices use common ground.
    Make sure the pullup voltage is correct, 3.3V or at least above 1.5V

    I managed to reproduce the "Transferring data" hold by setting the pullup to 1.5V 
    This because at this level it is in hysteresis domain of the 3.3V logic. After the master releases the low drive it will not go up to logic high.

    image.png.e91cf86f7d322a2b5ce177119761a2bc.png

     

  2. Hi @Zeyu

    1. Use argument 1 to fetch data dwf.FDwfAnalogInStatus(hdwf, c_int(1), byref(sts))

    2. On AD2 the Record mode, streaming over USB working at up to about 1-2MHz
    You could use 2nd configuration to have 16ki sample device buffer which can be used at up to 100MHz. The default, first configuration has 8kiS, 8192S

    3. The generated signal is set to 5V amplitude, 10Vpk2pk. The Scope channel 1 range is set to 5Vpk2pk.

  3. Hi @Piotr Rzeszut

    Such could be implemented with custom application:
    FDwfDigitalInAcquisitionModeSet(hdwf, acqmodeRecord)
    FDwfDigitalInSampleFormatSet(device.hdwf, 16)
    FDwfDigitalInInternalClockInfo(hdwf, &hzBase)
    FDwfDigitalInDividerSet(hdwf, hzBase/UartRate/X) X = ~5
    forever:
        FDwfDigitalInStatus(hdwf, 1, &sts)
        FDwfDigitalInStatusRecord(hdwf, &ca, &ce, &cw)
        for i in ca:
            uint16 sample
            FDwfDigitalInStatusData2(hdwf, &sample, i, 2) // 16bits = 2bytes
            process it: look for start, bits, stop... X=5 sample/uart-bit

    I've added UartSpy to the SDK motodo list but I don't know when I'll have time to implement it.

  4. Hi @josu.jugo

    Beside the trigger level the selected filter, hysteresis and channel range (resolution) could influence the sensitivity.

    FDwfAnalogInTriggerFilterSet(hdwf, filterAverage) default is decimate which looks for trigger at 100MHz sample rate, average only at specified frequency
    FDwfAnalogInTriggerHysteresisSet(hdwf, 0.1)  level +/-hyst
    FDwfAnalogInChannelRangeSet(hdwf, idx, 5.0) select 5Vpk2pk range (<=5.0) or 50V (>5.0)

    You could also use pulse, slope trigger and holdoff options.

  5. Hi @maling

    Could it be a powering issue?
    Depending on usage each AD2 could take 2-5W. With 9 units this could be 18-45W, 3.6-9A/5V Is this in the limits of the USB hub/supply.

    Each FDwf functions returns true (1) on success or false (0) on failure.
    It could be used like this:

    bool myfunc(){
        if FDwf...(.) ==0 return false
        if FDwf...(..) ==0 return false
        ...
        return true
    }

    if !myfunc() {
        FDwfGetLastErrorMsg(sz)
        print(sz)
    }

  6. Hi @spbhanus

    See the links in the earlier post:

    On 10/22/2021 at 10:49 AM, attila said:

    Hi @spbhanus

    1. The MATLAB DAQ toolbox plugin only supports Analog Discovery 1/2 and provides limited features.
    However the WaveForms SDK which lets you to use all the features (including simultaneous analog/digital sampling) can also be used from MATLAB, see the following post:

     

    2. Yes. With plugin like below and with SDK FDwfAnalogInChannelRangeSet
    https://www.mathworks.com/help/daq/getting-started-acquiring-data-with-digilent-analog-discovery.html

     

×
×
  • Create New...