Jump to content

ManonH

Members
  • Posts

    17
  • Joined

  • Last visited

Everything posted by ManonH

  1. Hi @attila Thank you for the response. I need a duty of 50% so this won't be possible at 100MHz but i'll check for 80MHz or multiple.
  2. Hi, I am trying to generate a 20MHz clock on a DIO with Analog Discovery Pro 3450, using the SDK. I understand that I need to divide the internal clock frequency, and take into account the number of low and high states. The problem is, if I divide 100MHz by 20MHz, I have a divider of 5. If I divide by 1 low state and 1 high state (so I divide by 2), that is 2.5. But the divider must be an integer, so it will adjust the divider and output the wrong frequency. The same goes for the number of high and low states, as it has to be an integer, I can't play with them to get my 20MHz frequency. But I see that in WaveForms I can set a clock with a 20MHz output, and that gives the correct frequency (as I saw on my scope). Is there an explanation I didn't understand or something? Thank you for the help, Manon. Here is the relevant part of the script, if it helps: S_Clk = c_int(0) frequency = 20000000 dwf.FDwfDigitalOutInternalClockInfo(hdwf, byref(internal_clock_frequency)) dwf.FDwfDigitalOutEnableSet(hdwf, S_Clk, True) dwf.FDwfDigitalOutTypeSet(hdwf, S_Clk, constants.DwfDigitalOutTypePulse) dwf.FDwfDigitalOutIdleSet(hdwf, S_Clk, constants.DwfDigitalOutIdleInit) dwf.FDwfDigitalOutDividerSet(hdwf, S_Clk, c_uint(int(internal_clock_frequency.value/frequency/2))) dwf.FDwfDigitalOutCounterSet(hdwf, S_Clk, c_uint(1), c_uint(1))
  3. @attila Indeed, I had not noticed that I was in Linux mode, thanks for the remark. As i'm using Windows, I didn't check that. As for our acquisition, I think it was not clear that we could acquire the samples without interruption, even beyond 32ki. The more important is that it is possible, even if the transmission afterwards takes time. Thank you for your responsiveness, we will dig on our side and if we have other problems I will not hesitate to ask you. On the other hand, I would like to ask another question, without much connection. As I am currently doing an internship, I will have to write a report. Would it be possible to use the images of the presentation of the equipment or some diagrams explaining its functioning for my report? Thank you for your response, Manon.
  4. Hi @attila Thank you for your quick response. I did not succeed in obtaining an acquisition without loss of samples, at 125MHz for 128Mi samples one sees well that there are cuts, of rather different size, of which I do not know the cause. I do not observe these cuts for 125MHz with fewer samples (below for 512Ki samples), nor with a lower frequency (I took 5MHz, arbitrarily). However, I still observe sample losses at some points (see the captures below), and I don't know where this can come from. Don't hesitate if you think I did something wrong 128Mi samples at 125MHz : 512Ki samples at 125MHz : 512Ki at 5MHz : What we would need to know is whether the data transmitted by the ADC is put into the buffer directly, without interruptions, and then sent to the PC (which we assume); or whether the data is sent directly to the PC and uses a buffer on the PC/software? In the first case, the loss would then come rather during the buffer/PC transmission or possibly during the display? Moreover, we suspect that the device is designed to send the data from the buffer regularly, so as not to have an overflow, which could also explain these "losses" (which would then be the transmission time to the PC); and in this case, is it because the buffer is indeed limited to 32Ki and must empty itself every 32Ki (or before)? As we have to have 128Ki continuously, a buffer limited to 32Ki would be a problem, but if it is only a question of transmission it can be solved. I hope I was clear enough to explain what I need to know exactly (even if we think it's ok, we need to be sure). Thank you, Manon.
  5. Hi @attila, Thank you, this will be helpfull. I have an other question I hope you can help me with. For our sensor, we need to acquire 128k samples continuously, without any kind of losses at any time (or else our data can't be used), at the minimum (more would be better but if we can't it's not a problem). We do not fully understand how the "Record" mode of the scope works, in particular how the buffer is filled/vacuumed. When I'm using the Record mode with basic signal types (using WaveForms) for 256ki I see losses in the samples, and so we asked ourselves if it is because the buffer has a maximum of X samples and then display them and then acquire again X samples, etc, or if it acquires less than the X maximum samples because it's programmed like this, and we can change it. If it's not programmed like this with WaveForms, can we change it with an option ? Or is there an option in the SDK to control this acquisition/buffer size ? I hope this was clear enough. Thank you, Manon.
  6. @attila Thank you ! From what I have tried so far it works (maybe some adjustments to do with frequency) !
  7. Hi, I’m using ADP3450 to create a test bench for an analog pixel sensor in our lab. The pixels output at the same frequency as the input clock of the sensor, so each pixel lasts one clock period. As we need to go fast to have a maximum images per seconds, we need high frequency (10 or 20 MHz are the working frequency of our sensor), and we want to have as little data as possible, to reduce the amount of data to transfer. So, we want to sample only 1 point per pixel, so we created another clock delayed from the sensor frame, to be sure to sample the correct value of each pixel (green one in the oscilloscope pictures below), with an external generator, and we set it to trigger 2. So we used the "Sampling clock" function with the trigger 2 in the WaveForms Scope to test, and created signals representing the sensor frame with an external generator (yellow one on the pictrures). The blue signal below represents a marker which allows the acquisition to start at the moment the frame begins, so we put it as the scope trigger (on trigger 1). 4MHz picture : 5MHz picture : 5MHz picture zoomed : Unfortunately, we notice that with the sampling clock, we don't get all the points of the signal as desired from a certain frequency (in "Repeated" mode). Up to 4MHz everything is fine, but from 5MHz onwards we only get one sample in two, in an alternating way (samples 1-3-5, then 2-4-6, then 1-3-5, etc.). Screenshot of the 4MHz output : Screenshot of the 5MHz output (2 parts) : By increasing the frequency, this phenomenon persists, or even increases (even fewer samples taken). However, we do not observe any problem upstream (see the photos of the oscilloscope), or via WaveForms if we remove the sampling clock (we see the whole frame correctly, see the screenshot below). Screenshot without the sampling clock : We also tried with Analog Discovery 2, the same problem occurs from 6MHz. With other display modes (Screen, Shift, Record), we can observe the phenomenon, and we can observe it even at lower frequencies. As we have only generated a few pixels that represent the beginning of the frame, this represents only a few samples, and we do not think that this is a buffer problem, but perhaps we are mistaken. So I’m here to ask the question, do you think we have misconfigured or misunderstood the operation of the sampling clock or the triggers, or even the device itself? If yes, what do you advise us to try or modify? If not, do you know where the problem can come from? I hope that my problem is clear, if you have any questions don't hesitate. Thank you, Manon.
  8. @attila Indeed the sampling clock works for what I want to do, however the Scope links the samples together rather than stepping the measured value, is it possible to change this? I didn't see a parameter to do this but. Thank you !
  9. @attila I tried it because I saw people mentioning it, but I don't get want I want... I don't now if I'm using it correctly so! I'll take another look at it tomorrow, I'll let you know if I succeed. Thank you!
  10. Hi, I'm using WaveForms with an ADP3450 for my internchip project. For this project, I need to read an analog input data (that changes very quicly) when the clock I'm using is rising (as a trigger), but only one value (one sample) and then display it in continue the rest of the clock period. And then restart to get the analogIn value when the clock is rising, and display this value for the rest of the clock period, etc. I tried different things to get this but I didn't succeed, as the Scope starts reading in continue after the trigger happens, or as it only display one sample and doesn't display the value it gets when the trigger happens until the next trigger. I'm not really sure if it's possible, I didn't see anything about this, but if it is, how do I do this ? I hope my questions are clear enough. Thanks for helping !
  11. @attila Okey, thank you for the informations !
  12. I have one mor question. For the Pattern Generator, is it possible to have 2 signals but one repeated only for few periods, and the other one in continuous ? Thank you,
  13. Hi @attila, Unfortunately ctrl+space didn't work on my computer at the lab, but it works on my computer so it's ok, thanks for the tip. For the task I wanted to do, for now i'm just trying to understand how the function works to see if it's better using the Script Editor for my project. Thanks for the screenshots, I understand better the functioning of WF !
  14. Hi @attila, Thank you for the tips ! For the Java Script Editor, there is nothing that appears when I put my cursor on any function, that may be why i'm sometimes struggling to write. I also saw the Help tab and the examples, but they are not really helpfull for the errors I have (for example, there is no examples on Patterns). Is there anything else I can use to help myself ? If no it's no big deal, I will find myself. Thank you so much,
  15. Hi, I'm a student in internship and for my project I need to describe a program that will use the ADP3450 and its instruments to control a sensor, retrieve its data, analyse it and display it in real time, with perhaps an interface allowing to modify some parameters according to the needs of the experiments. So I have several questions : For this project I need to generate a impulse, a signal that lasts a few clock periods at first, then resets and never appears again. I haven't found anything that achieves what I want, but maybe I didn't look at or understand the different options in the software. Is this something that exists? As I am a student in microelectronics, I am not really used to coding in software language (we mostly do assembly language, hardware description language). So do you think it is better for me to use the Script Editor or the SDK? Can you explain why ? If it is best to use the Script Editor, is there a manual/website (or a more complete list of examples) that references the functions and their syntax? Because I personally find it poorly explained and I have a lot of trouble understanding the errors I make in the code. I hope my questions are clear enough, thanks for your help!
×
×
  • Create New...