Générer une implusion avec "Sine Wave Generator" en FPGA

Bonjour,
Content de vous rejoindre sur ce forum. Tout nouveau en Labview (pas très à l'aise avec certaines notions), je voudrai soliciter votre aide. En fait, je veux créer une impulsion de 100Hz avec la fonction " Sine Wave Generator" de FPGA. En simulation j'ai réussi mais dès que je compile en target il m'affiche ce message : "Top-level clock rate does not match rate for which the Sine Wave Generator VI was configured. Reconfigure the Sine Wave Generator or the top-level clock so that their rates match. You also might need to modify computed values for the frequency (cycles/tick) input."  
Je change donc FPGA clock rate et je choisis 40MHz (la seule qu'il me propose). Mais dans ce cas, je me perds pour retouver mon impulsion (qui doit durer une période 0.01sec). J'ai essayé de jouer sur le nombre d'échantillons en changeant le nombre d'itérations de la boucle For afin de générer toujours une période ( pièces jointes)  mais ça marche pas!!!
Pourriez vous m'aider à déchiffrer ce problème?
Merci d'avance
Pièces jointes :
burst sine.png ‏372 KB
burst sine_40MHz.png ‏336 KB

Bonjour M2IM,
En mode simulation, on utilise une fonctionnalité appelée "Interactive Execution" car l'exeuction/affichage ne peut être géré à une fréquence élévé (40 MHz dans le cas de la Top Level Clock par défaut).
En mode FPGA target, la vitesse est plus élevé et donc uniquement certains points du sinus seront afficher mais le signal electrique lui sera bien un sinus.
Je t'invite à regarder le lien ci-dessous qui reprend quasiment la problématique que tu rencontres:
Generate a sine with LabView FPGA and connect it to an AOModule
Bonne journée,
Valentin
Certified TestStand Architect
Certified LabVIEW Developer
National Instruments France
#adMrkt{text-align: center;font-size:11px; font-weight: bold;} #adMrkt a {text-decoration: none;} #adMrkt a:hover{font-size: 9px;} #adMrkt a span{display: none;} #adMrkt a:hover span{display: block;}
Travaux Pratiques d'initiation à LabVIEW et à la mesure
Du 2 au 23 octobre, partout en France

Similar Messages

  • LabVIEW FPGA Sine Wave Generator Reset Input Behavior

    I would like to know what the output from the Sine Wave Generator express VI is while the reset input is true, and what happens to the output immediately after the reset input is set false.
    I need to generate a regular sequence of positive half-cycles of a sine wave, with an arbitrary delay between them that is not related to the actual frequency of the sine wave. So my plan is basically to periodically fire a trigger in the fpga software that resets a sine wave generator and directs its output to an analog output until the sine wave goes negative, at which point the analog output is set to 0 until the next trigger.
    Thanks

    Muchas gracias por responder steve.bm
    El problema que tengo es el siguiente, estoy desarrollando un proyecto en el cual uso los conversores DAC y ADC de la  tarjeta FPGA Spartan 3E para lo cual use como base el proyecto que esta subido por la NI que se encuentra en uno de los enlaces que me dejaste,( Lesson 8 - Linking Existing VHDL Code from WebPACK into LabVIEW FPGA) del mismo solo modifique para usar el ADC y el DAC mediante el cual adquiero una señal senosoidal y la tengo que reconstruir, el problema es que como uso un generador de señal de laboratorio al ingresar la frecuencia de muestreo para obtener una buena reconstruccion, la frecuencia se baja lo cual en el proyecto real no podra pasar ya que la frecuencia ya en proyecto final la adquiero de la red electrica publica pero ahora para pruebas estoy con un generador, la verdad no se que pasa porque tiene un retrazo la señal.....
    Te parece si te puedo dejar mi proyecto subido en enlace para que lo revices ??

  • FPGA sine wave generator

    NI工程師你好
    我在FPGA端使用sine wave generator
    可是出來的波形卻不是一個完整的Sin波圖形
    可以請工程師幫我解答一下嗎??
    已解決!
    轉到解決方案。
    附件:
    sin.png ‏10 KB
    sin-1.png ‏13 KB

    好吧,我認為問題可能是您使用的圖表上的FPGA。不幸的是,LabVIEW的通信方式,有時會導致與 FPGA圖表更新不當,因為他們目前沒有時間同步的時間在芯片上。我組建了一個簡單的應用程序,而不是傳輸分回的主機和波形似乎是正確的。讓我知道這是否有助於。
    附件:
    Sine.zip ‏317 KB

  • How can I get 'sync' signals for sine wave out? [FPGA USB 7856R]

    Hello,
    I'm Sean Ahn using NI 7856R, USB FPGA with LabVIEW 2014.
    I'm trying to make 'sync' signals for sine wave of adjustable frequency, like general function generator's sync out.
    I use sine waves whose frequency is feedback-congtrolled between 25~30 kHz and need sync signals of square wave.
    Like [1] below, when I try resettng two wavefom-generators, sine and sync signals are not perfectly synchronized.
    And everytime I adjust sine's frequency, the phase difference between sine and sync changes arbitrarily 
    In case of [2] using 'zero-crossing detector', I have severe jitter of sync signals not suitable as 'sync' signals for other parts.
    Please, give me some help.
    Thanks in advance
    Sean Ahn
    [1] Reseting two waveform generators
    [2] Zero-crossing detect

    Here’s my issue.  When I try to move any data between my PC and the iPad2 I receive an error message that states that “the [sync] session could not be started with the ipad, Please disconnect and reconnect the iPad and try again”
    I have tried again and again by various methods etc .  and all I get is the same message when I attempt to sync, backup or update the iPad. 
    I have tried the following AND FAILED:
    Deselect all Apps, Music etc in iTunes, then attempt to sync
    Disable and enable the iPad in device manager and restart itunes and try to sync again
    Disable and enable Apple Mobile Device Services and sync/backup/update
    Run iTunes as Administrator
    Reboot all devices (iPad buy pressing two buttons at once)
    Turn off all security and reboot and sync
    Connect directly to internet without a router
    Tried to sync with all wireless turned off and in airplane mode
    Running iTunes Diagnostics...... nothing all test passes
    Changing USB ports and cables
    Removing my SIM card and rebooting and trying to syc
    Trying to sync via wifi only
    Turning off all icloud services
    Uninstalling all Apple Software and reinstalling again
    I am syncing to a 64bit  PC running Win 7 Premium with all the latest updates, all firewalls off. WiFi and direct connect ethernet to Internet service with and without router.
    I am trying to Sync an iPAD 2 running iOS version 5.1.1 (9B206)
    I am trying to update from iOS 5.11 to 6.01 by using Itunes 11.0.0.16.3 in a USB or directly through the iPad via wifi.
    Please help as everything I have tried has failed.

  • Discrete sine wave generator

    im lookin for a way to build a simple discrete sinewave gen that can generate up to 100MHz or more. Does a pll helps, can i use a crystal oscillator to generate the sinewave or even clock generator? pls reply mi asap. Thanks!

    Hello,
    This forum is for questions pertaining to the National Instruments product "Measure for Windows". I think you would reach a better audience for your question if you posted in one of the "Measurement Hardware" forums.
    Good luck, and have a nice day.
    Darren
    Darren Nattinger, CLA
    LabVIEW Artisan and Nugget Penman

  • How do I Fix DDS Generated Sine Wave That Produces a Periodic Square Wave?

    Hello,
    I'm an undergraduate researcher with almost no experience dealing with FPGA semantics and other National Instruments hardware in general.  Part of my project revolves around creating a sine wave signal via the FPGA on an sbRIO-9632 that is output via the board's analog I/O pins, and I found it convenient to adapt the code provided by the National Instruments tutorials (http://zone.ni.com/devzone/cda/epd/p/id/6066) to have it run on an sbRIO FPGA.  The problem I'm encountering right now is that the actual output I'm seeing is a square wave as opposed to the smooth sine wave that was expected, and I've exhausted all my ideas on possible ways to debug this issue.  Can anyone please give me feedback if they've seen this problem before or offer other suggestions on fixing this?
    I'm currently running LabVIEW 2009 with the appropriate real-time and FPGA modules on a 64-bit Windows 7 machine.  Again, the hardware is an sbRIO-9632 complete with analog I/O.  I appreciate it everyone!

    I am also having this issue and have not been able to find a solution in the forums. I am somewhat of a rookie so pardon me if I seem ignorant in any way. I am working on a graduate project where I need to produce some sine waves and I am getting more of a square wave when I output it and measure on the scope. The program I am running is quite simple at the moment to attempt to discover any errors by process of elimination. I have the sine wave generator in a while loop outputting to an AO port. I am using the cRIO 9022 with the 9269 AO module. I will attach screen shots of my code and my oscope image
    Attachments:
    sine wave.jpg ‏76 KB
    code for project.PNG ‏169 KB

  • Synchronizing 2 sine waves

    I'm new to Labview and NI-FGEN so things are taking a bit longer than i think they should, the problem is im trying to synchronize sine waves from 2 PXI 5421 cards.
    what im fundamentally trying to do is have a slide bar and at one end of the bar one sig gen is at 5V and the other sig gen at 0.1V and when you slide it to the middle the amplitudes are both at 2.5v and at the other end of the scale the first siggen is at 0.1V and the second 5V.
    i can get this bit to work but when i connect the sig gens to a scope one signal is drifting.
    on another note if any one knows an easier way of creating the signals, I've "butchered" some examples. So there's probably loads of stuff that I don't need inthere.
    Attachments:
    test sine wave generator.vi ‏45 KB

    I do not have the FGEN VIs so my comments are general rather than specific.
    1. Unless the frequencies are EXACTLY the same, the signals will drift relative to one another. There are at least two frequencies involved for each generator, (a) the user-specified signal frequency and (b) the D/A clock frequency. Your front panel has two controls for frequency. If they are set the same, then the nominal signal frequencies will be the same. It is important to be very careful with fractional numbers because of the way they are represented in binary in the computer.  The clock frequencies will be nominally the same. Many devices use quartz crystal oscillators which have a frequency tolerance of +/-100 ppm (parts per million).  While 100 ppm is a small fraction, two signals gnereated by clocks which differ by that much will drift.
    Fixes: (a) Use only one frequency knob on the front panel and feed the value to both FGEN modules.
    (b) Use the same clock for both modules. I do not know whether these devices have a connection for an external clock. If they do not, you will never get perfect synchronization. Somewhere you will need to configure subVIs to tell the modules what clock to use.
    2. The Amplitude slider will be read only once at the beginning of your program. That value will be used throughout the run. Any changes made later will be ignored. This is due to LabVIEW's dataflow paradigm.
    Fix: The terminal needs to be indside a loop. Better fix: Learn about the Producer/Consumer (Events) Design Pattern. This will have a parallel loop with an event structure to handle the User Interface, in particular, the changes in the slider. It will send the new values to the FGEN loops via queues.
    3. Same as 2 for Frequency. 
    Lynn

  • Comment je peux récupérer une chaine de caratères d'un fichier(txt par expl) dans une ligne (spécifiée) et une colonne (aussi spécifiée) avec notre adorable software LABVIEW

    Salut à tous,
    Comment je peux récupérer une chaine de caratères d'un fichier(txt par expl) dans une ligne (spécifiée) et une colonne (aussi spécifiée) avec notre adorable software LABVIEW.
    Thx
    Nizar
    Résolu !
    Accéder à la solution.

    Si ton fichier est un fichier tableur ce qu'a dit yohann me parait le mieux. Par contre si c'est un fichier texte qui contient une chaine au format tableur (sepération avec des tabulations) il faut utiliser "lire un fichier texte" + "Convertir un chaine au format tableur en tableau" et ensuite indexer la case qui t'intéresse.
    Maintenant si tu as un simple fichier texte  et que tu veux lire un couple ligne/colonne qui désigne un caractère précis il faut utiliser "définir la position dans le fichier" en connaissant la largeur de ton fichier texte. et la tu n'as plus qu'à rentrer dans offset: indice_ligne*largeur+indice_colonne comme une vieille réminiscence du c.
    Sebastien DEVISSCHER - Nerys

  • Générer une séquence TTL

    Bonjour à tous,
    Pour pouvoir trigger une appli externe, je souhaiterais pouvoir créer une interface LV pour générer une séquence TTL 5.0v (via port série? ou adaptateur USB-TTL?)
    Le seul paramétrage requis étant la durée entre chaque impulsion TTL à générer. Pensez vous que cela soit possible? Je connais un peu l'architecture LV mais je ne suis pas familier avec les fonctions gérant les I/O série ou USB.
    merci d'avance pour votre aide

    bonjour à tous,
    pour piloter une ligne du port série, tu peux piloter par exemple la ligne RTS 
    c'est une fonction VISA du port serie
    par contre elle n'est pas en 0 - 5V mais -10 -> + 10V
    Luc Desruelle | Voir mon profil | LabVIEW Code & blog
    Co-auteur livre LabVIEW : Programmation et applications
    CLA : Certified LabVIEW Architect / Certifié Architecte LabVIEW
    CLD : Certified LabVIEW Developer / Certifié Développeur LabVIEW

  • Comment récupérer une ancienne sauvegarde sur iCloud?

    je voudrais récupérer une sauvegarde du mois d'aout 2012 mais il ne m'apparait plus qu'un suavegarde faite aujourd'hui .
    En fait il me manque beaucoup de mes contacts et je comptais les récupérer avec cette ancienne sauvegarde qui apparaissait au début mais plus maintenant . Comment faire ?  De plus je suis sous iOS 6.1.3 et il ne veut pas mettre à jour mon Iphone et m'installer la version iOS 7.0.3 !! je ne sais pas quoi faire non plus.
    Merci pour vos réponses

    je voudrais récupérer une sauvegarde du mois d'aout 2012 mais il ne m'apparait plus qu'un suavegarde faite aujourd'hui .
    En fait il me manque beaucoup de mes contacts et je comptais les récupérer avec cette ancienne sauvegarde qui apparaissait au début mais plus maintenant . Comment faire ?  De plus je suis sous iOS 6.1.3 et il ne veut pas mettre à jour mon Iphone et m'installer la version iOS 7.0.3 !! je ne sais pas quoi faire non plus.
    Merci pour vos réponses

  • USB-6009 Sine Wave

    Hi,
    I am new to LabView and am having some trouble. I need to input two sine waves into a USB-6009. I have a voltmeter that should read the output. Two of the problems that I have had thus far: I can only use "On Demand" in DAQ Assistant and even when I throw the DAQ Assistant into a while loop I still do not get a readout on my voltmeter. Any suggestions? Thanks for the help.

    That is confusing. You say you need to input 2 sine waves into a 6009 and that to me implies that you are doing a DAQmx Read. Then you say you have a voltmeter to read the output. That implies you are doing a DAQmx Write. If you are really doing a write from the 6009, then on demand is, of course your only choice. As the specs clearly indicate, the output of the 6009 is strictly software timed so you would need to pass a sine wave point by point and then you would have very little control over the frequency. And, again as the specs clearly state, the fastest output rate you could expect is 150Samples/sec.

  • Simultaneous analog output 1k sine wave and data acquisition

    Although many topics of simultaneous analog output and input can be found in NI Developer Zone, I have not found a case similar to my project. I'm trying to generate a 1kHz sine wave by using the analog output of NI DAQPad-6070E, and acquire one channel input signal simultaneously. I found most of the examples can not work properly above 100Hz. Any suggestions are welcome. Thank you.
    Jian

    I have sucessfully solve the problem when I observed the increase of
    scan backlog number. Simply increase the buffer size of AI/AO and you
    can make the 1kHz sine wave output and data acquired properly.
    On Tue, 3 Feb 2004 09:03:07 -0600 (CST), jujian wrote:
    >Although many topics of simultaneous analog output and input can be
    >found in NI Developer Zone, I have not found a case similar to my
    >project. I'm trying to generate a 1kHz sine wave by using the analog
    >output of NI DAQPad-6070E, and acquire one channel input signal
    >simultaneously. I found most of the examples can not work properly
    >above 100Hz. Any suggestions are welcome. Thank you.
    >
    >Jian

  • Unable to generate sine wave

    Hello everyone!
    I am currently working on my Bachelor project at a company. i am stuck with a problem.
    I have designed a labview program for vibration test system. I have used cRIO 9076 as the controller with NI 9263(as D/A) and NI 9234(as A/D).
    The loop works as follows. the input is given from the labview program. it is then sent to the cRIO. the output of CRIO(that is output from NI 9263) is given to the amplifier. the vibration shaker vibrates based on the input from aamplifier. then the accelerometer detects the vibration and sends it to the NI 9234 and loop repeats iteratively. since i have designed a sweep sine vibration system, the output of cRIO is a square wave. it should be sine wave.
    the probelm is i am getting a square wave as output from my NI 9263 which should be a sine wave output. I have two subVI where i use nominal to binary convertor(for NI 9234) and binary to nominal (for NI 9263) as calibration mechanism. 
    the question is where have i went wrong? what should I do to get a sine wave? 
    PS: on searching NI i found out some formulas (to generate sine wave) and designed a FPGA and LabVIEW program to generate a simple sine wave and got a sine wave. if that formulas is to be included where should i include that?
    Thanks in advance.
    Regards,
    Vishal.

    Without seeing your current code, there is no way we can even uess as to why you are creating a square wave instead of a sine wave.

  • How to measure time difference between zero crossing of a sine wave and rise time of a pulse on a same graph?

    I have a 50Hz sine wave and a pulse signal on a same graph. The phase difference between two is between 0-90 degrees.
    Now I need to calculate the time difference between (when the sine wave crosses zero volts) and (when the pulse rises). The frequency will stay approximately same for both signals.
    The application is for a three phase generator. In simple words, when the time difference between the zero-crossing of sine wave and the pulse rises increases, that means that the load on the generator has increases.
    I am a beginner user of LabView (version 9, 2009), maybe it is a very simple problem but I've been pulling my hair out for the last few days and coudln't figure anything out. Any help would be greatly appreciated. I am using DAQ USB-6008 to measure these voltages and pulse from the generator and a sensor
    I have attached a jpg (a graph that i just made with excel to explain). The time 't' is what I am trying to measure
    Cheers
    Awais 
    Message Edited by awais.h on 03-30-2010 11:20 PM
    Message Edited by awais.h on 03-30-2010 11:21 PM
    Solved!
    Go to Solution.

    Hi
    Thanks for the code but I'm afraid it won't work. Like you said the probability of choosing a value that is on both graphs may not happen. This is something that I would like the code to do automatically.
    But I did use the previous code posted and made some modifications to it and it seems to work perfectly. Now the next thing is to be able to get just that one value that tells you the first time difference.
    Here is what I get using that code.
    As you can see from the t Values. I only need the one that is highlighted. If there is a way to filter out the rest it would be great.
    I was thinking of a while loop and as soon as the value is higher than 3E-5 it would store the number and stop the loop, but I'm not too familiar with arrays in labview.
    Here is the the code modified.
    As you can see, it wasn't that big of a modification and it still is your code.
    I will keep trying.
    Thanks for the help
    Attachments:
    FinalShockSpeed.vi ‏55 KB

  • Question on the result of using Wavelet transform on sine wave

    Dear all,
    I have apply the Wavelet transform on a 50Hz sine wave. The result is shown below. But I don't understand the result of Wavelet transform. Anyone can help me? Thanks.
    Victor

    You seem to have something against the FFT, yet continually compare other transforms to the "sweet spot" for the FFT, ie. sinusoidal and periodic functions.  Without trying to write a treatise on the subject (there are many fine books), a few observations.
    The primary purpose of any transform pair is to perform a rotation in function space, for the FFT we are familiar with the time domain and frequency domain.  The wavelet domain is not so simple.  The FFT is very effective for sinusoidal and periodic functions, ie. those that have no localization in the time domain.  If you have a sinusoidal input, the infinite signal in the time domain can be reduced to a pair of numbers (one if you take the power spectrum).  That is very efficient, other periodic signals can usually be approximated by a small number of terms.  
    Wavelets on the other hand are chosen to be localized in both the time domain and the wavelet domain.  If you look at a periodic signal like your sine wave, you see a mess, and to recreate the input signal you will need to keep an awful lot of the points around for the inverse transform.  You may be able to set the last 1/3 to zero, but that's it.  To see an effective application, you should be looking at localized functions, like an impulse.  Put an impulse into the wavelet transform and you get something that is still a bit complex, but pretty simple.  The FFT of an impulse contains components at all frequencies and the wavelet clearly wins in this case.  
    On paper, there is usually a clear choice, and the FFT almost always wins for spectral estimation.  On the other hand, if you are trying to compress "real world" data, for instance an image, then there is a choice to be made.  Standard JPEGs are FFT based, you take the FFT and try to keep just the largest frequency components.  As you probably notice, edge contrast usually suffers, especially at higher compression.  With wavelets, it is typical to have slightly better contrast leading to better preservation of details for a given compression.
    In short, my opinion is that transforms are useful when they simplify the problem.  Wavelets do not simplify the representation of a sine wave. 

Maybe you are looking for

  • Account assignment defaulting to U after MRP run in Purchse requisitons

    hello, i have got one ticket the material is non valuated (UNBW)- when MRP is run - purchase requisitions are getting generated as having default acount assignment category "U". This is creating problem in automatic creation of PO as U category is no

  • How to handle common system crashes in SAP Business One until you upgrade to SAP Business One 9.1?

    SAP Business One 9.1 is about to release in this year with many feature enhancements in various areas, such as in Business Logic and Localization, Reporting and Analytics, Lifecycle Management and Support, SDK Features for extensibility, Infrastructu

  • Mapping Value Objects to Java Classes

    Hi All, I have one Java Class: public class MyBean {     private ArrayList numbers; I have created one mapping value object for the same in Flex: package vo     import mx.collections.ArrayCollection;     [RemoteClass(alias="com.tcs.example.MyBean")]

  • Iomega i ScreenPlay Director doesn't connect to TV

    INFO: - Country: Portugal - iOMEGA ScreenPlay Director (out of warrante) P/N 31850300 | Model SPDHD | S/N 0Hxxxxxxxx - TV LCD LG HDMI | MODEL 32LC52 - MacBook Pro I can connect the iomega to my macbook and use it well as a simple hard drive. The prob

  • Purchase of Whatsapp

    I cannot make purchase of Whatsapp, It said "Your purchase could not be completed" after I hit the "BUY APP" button.