MyRIO SPI on FPGA

Hey guys,.

I have a MyRIO and an AD7690 (18 bit - ADC). The communication is done by SPI and I want to use the data on the FPGA, for this purpose, I want to use the FPGA as interface for further processing.

I need just MISO, SS, SCKL I give any orders to the slave (ADC). I want to use the SS signal to trigger the start of the conversion.

Now to the problem:

1, there are already screws in the SPI folder on the target, but there is no description at all.

Someone of you can give me a link to their discription?

2, would you advice me to use the following example: example of SPI

I think it's a bit overwhelmed, and it takes a lot of resources that I only want to read.

Hope someone can give me a suggestion, what to use or write my own interface better.

Kind regards

Slev1n

Brief update for question 1:

I called support and the 4 MHz are valid if you use the SPI screws, which are already in the project myRIO (e.g. SPI Express VI). The 4 MHz is also the maximum SPI clock frequency.

I need faster and more than 16-bit clock frequency, I try to build my own interface.

Tags: NI Software

Similar Questions

  • High speed FPGA for MyRIO personality

    Hello

    I started on My Rio 1900 who I am trying to program in C language, so without the use of Labview.
    I did sample a signal.

    But I would like it sample at a higher frequency that it is possible with the default standard FPGA personality.

    I downloaded it on ni.com, but installation requires Labview 2014...

    So my questions are:
    How can I do to work with the personality of FPGA high-speed in c and how do I install it without Labview?

    Thanks in advance for your help
    Best regards

    Françoise

    Hello fm16,.

    Personality OR broadband to MyRIO without LabVIEW FPGA is not supported, sorry. As you can see:

    1) http://zone.ni.com/reference/en-XX/help/373925C-01/myrioreference/myrioref_high_throughput_vis/

    2) http://www.ni.com/tutorial/52864/en/

    use high-speed FPGA personality VIs to LabVIEW, because the Add-on's code in LabVIEW, so that you cannot use in C.

    Best regards

    Mariana

  • How to install Adaptive Filter Toolkit on myRIO 1900 RT target

    Hello
    I'm working on the project of Active noise cancellation. I need to collect audio sampling rate of two microphones @40 k and 100 samples per image and audio through speakers @40 sampling rate k of output. For this, I use myRIO 1900 in FPGA high flow personality.
    When I'm designing the circuit Adatptive Filter Toolkit pallets are available in block VI, but when I'm trying to compile the circuit I get the error message saying that
    "LabVIEW: unable to load the shared library AdaptiveFilters n ensure that the library is present on the target of RT." "Either MAX allows you to install software of OR or FTP to transfer custom RT target libraries.

    I went to MAX OR to install the Adaptive Filter Toolkit, NI MAX--> network environment--> myRIO 1900--> software--> software add-on

    I can't find Adaptive Filter Toolkit or the Digital Filter Design Toolkit.

    I seriously doubt the possibility of using Adaptive Filter Toolkit in the FPGA target, but if I create the FPGA VI by default 'personality', Adaptive Filter Toolkit available palettes only not, but if I'm working on the FPGA VI high flow personality, then the pallets Adpative filter Toolkit are available but I can not compile...

    So, my question is how to install Adatptive Filter Toolkit on myRIO 1900 RT target?

    Is it possible to make custom FTP libraries RT target. I can find the Adaptive Filter library but I don't know which folder should transfer (I tried with several files that I can find but its does not work)?

    Please help me

    Thank you

    If your MAX Configuration looks good.

    After this process: NEITHER myRIO 1900--> software--> software add-on

    choose user Defined Installation you should get the view like the Picuture I added before.

    In find it examples explore, you should be able to get see--> toolkits and Modules--> adaptive filters

    Have you already tried to reinstall the Toolkit Digital Filter?

  • myRIO - problems when using onboard LED

    Hello

    for some reason, I can't not lit on board LED. I try to use a block of myRIO-> default-> LED FPGA personality. Block properties, I chose LED0. Then I create a Boolean constant and the value is FALSE. After that I wire to LED0 port. When I run the application, the LED is not lit. Previously mentioned block is inside a loop timed, who works for sure.

    Jussi-Pekka


  • myRIO analog input express file missing VI (n samples)

    Dear users,

    I'm reading of analog data with an express VI in myRIO. This works with analog input (1 sample), but fails with analog input (n samples) due to a file missing "myRIO v1.1 FPGA Throughput.lvbitx".

    I Googled it and searched on ni.com, but nobody seems to have the same isssue (I guess because of the myRIO is quite new at this time)

    Thank you!

    OK, now we have a solution. The problem is, that the high-speed FPGA personality is not part of the default installation. You must download the NOR broadband add-on for myRIO 2014 (which is of ~ 20 MB) and now it works. The download link is: www.ni.com/download/ni-myrio-software--2014/4938/en/ .

  • DMA FIFO and node VHDL

    Hi guys!

    I am writing here after many days of attempts without success...

    My request is 'simple', send data from the Panel of Labview RT within a DMA FIFO target host. Then the FPGA core receives data and imported through a knot of VHDL processes, and then after the data is pointing to the Labview RT through a target to host DMA FIFO.

    I tested my node VHDL simulation mode in Labview FPGA where data sent by a target scope THAT FIFO and just work fine.

    But when I try to run the node VHDL in the real target with data from the RT by DMA FIFO basis, it won't. I already do some checks:

    -Data are properly sent through the host target DMA FIFO;

    -The data are correctly received in the FPGA base;

    -The data are correctly sent to the node VHDL;

    -Result of the node VHDL are correctly sent to the heart of the RT through the target to host DMA FIFO;

    -Result are correcly received in the heart of the RT, , but the result is false and absurd. But I have proof that my node is semanticly correct with my mock test

    So my question: are there reasons to see my work VHDL nice knot in simulation mode and not in mode real target with data from the base RT by DMA FIFO taking into account data Transfer between DMA FIFO work well in both sides? Is there some sample available with data send RT FPGA-based via DMA and data processing with a knot of VHDL and returned to the RT kernel to inspire me?

    I can't post my screw here because I work for a company, I use a MyRIO with Labview FPGA 2014 target.

    Thank you guys! I am available for some details on my implementations.

    Afghow.

    Hey!

    Thank you for your answer but I solved my problem. Indeed, at first, I tried to make a knot of Combinatorics (without clock) pure, but the problem seemed to come from that.

    I modified my node in order to incorporate a clock, according to the prescriptions of this white paper: http://zone.ni.com/reference/en-XX/help/371599K-01/lvfpgaconcepts/ipin_prepare_ip/ . And now, every thing seems to work well.

    The question remains why the combinatorial node has worked in simulation mode en not in the actual target?...

    But for people with the same problem, I suggest add them a CLK and check an edge of entry with rising_edge (CLK) and if it does not, add an input signal to check if the input signals are valid or not.

    Afghow.

  • Synchronization of signals on my SBRIO problem

    Hi all

    I need some advice on how to complete my project.

    I need to send a 32 bits of data to my unit test with the following parameters. CLK + FS + and +.

    The clock runs at 4 MHZ. The FS + sends a bit length 33 of high for the treatment of the data signal, and in this context, I need to send my 32-bit data.

    What I did is I created 3 loops as shown in my diagram.

    1. the first loop is a loop timed to generate my clock pulses. I run at 8 MHZ with the low and high signals in loop rotation.

    2. the second loop is for my frame sync signal using the rising edge of the clock over an external trigger (SEND DATA) to start the sequence. It has two red WAITING to the 0 graduation and 330 ticks (by tick is 25ns).

    I have compiled up to this version of the code and run it with all the problems. I was able to generate the signal FS + 2ns after the clock rises and is to have cycles of clock exactly 33 in length.

    3. the third loop which is I'll have trouble at this time is designed to loop data. I also used the pulse of the clock and the external data to start the sequence. I used one signal to WAITING to delay the start of the data by 1 clock cycle and use a loop for send data from 32-bit to 250ns (10 ticks) per line.

    The problem is that I do not get the result I want. The departure of the bits is always erratic and not 1 clock cycle of delay that I hoped. Also the first bit is much too small for the 250ns.

    Can someone tell me where I'm wrong? Is there another way to address the issue?

    Your help will be greatly appreciated.

    As a short response, I would recommend combining the three sets of loops in a single state machine.  All three loops are intended to be based on the field of derivative 8 MHz clock.

    As a longer answer and to explain the behavior you see... the time of the present code is assigned by the data through the areas of the clock.  The details are in this help message LabVIEW FPGA: implementation of multiple clock domains with the overcoming of the areas of the clock (using a tunnel in the field to clock 8 MHz timed loop to the domain block diagram clock 40 MHz), LabVIEW is obliged to implement a hand shaking algorithm to maintain the integrity of the data.  This shaky writing consumes FPGA (logic cells) tissue and takes 25ns several clock cycles to run, as well as creates unwanted delays.  In addition, the third loop cannot guarantee that code data will trigger off the same synchronization signal as the second for loop because of the handshake that occurs for the data to pass through the loops of 8 MHz.

    I would recommend that base you all of the communication out of a single loop timed in a configuration called a state machine.  Essentially, timed with a looping structure business inside, where each picture of the structure of the case is a different State.  Breast of a timed loop state machine, does not have the 'wait' function, so the delays must be implemented with a 'status quo' State which is repeated N number of times to match the time required.  The following link leads to a state machine similar to the SPI communication that would be a good example for the implementation of this communication: Example of SPI LabVIEW FPGA.

    The example above implemented the following communication scheme, which seems pretty close to what you implement:

    This code is a little more complicated than what may be absolutely necessary to your application, but it is an excellent example of a scalable & flexible of the notion of core implementation (this code can easily be migrated to new hardware targets or add multiple replicated or modified communication to the same architecture protocols.)

    See you soon,.

  • How to replace the factory supplied FPGA functionality in myRIO?

    Hello

    I have created an example of FPGA code and downloaded in myRIO.  I expect he would have erased the FPGA factory feature shipped which included all the interpretation of the digital (DIO) of input/output PWM asynchronous universal receivers/transmitters (UART), inputs of encoder, I2C and SPI.  Is it possible to put this factory shipped to FPGA code?  Where can I get this code?

    Thank you

    Ajay.

    Hello Ajay,

    When you run your host code, which calls the FPGA VI (opens its reference), it automatically deploys the FPGA code to the material. If you run after code samples, to come with drivers myRIO, it will deploy default FPGA code included.

    To find the FPGA defalt code, which comes with the drivers, create a new project to create a project of-> models-> myRIO and select myRIO custom FPGA project, you will find a FPGA Default.vi of hand inside.

    It is sufficient to note that functiality UART is not implemented on the FPGA, but instead uses a feature included in the architecting processor. If you still have the UART functionality, even with your custom running FPGA code.

    Thank you

    AREV

  • LabVIEW FPGA SPI accident - SPI OR IP address for example - R series OR

    Hello

    I am trying to run the series R - sample project NI SPI FPGA Simulation.lvproj that comes with the SPI IP OR on a real FlexRIO FPGA SMU-7976R target with an attached digital adaptation NI 6581 B Module. The example is for a PCIe-7841R but I wore during my target FPGA, follow these steps and made additional changes to try to make it work with my set-up. I learned that FlexRIO FAMs CLIPs do not work with nodes in office had so I know I can't simulate the project originally planned so I will try to use FPGA to e/s node host side (open FPGA vi reference) to implement the actual hardware.

    My first question concerns my configuration of the adapter module e/s and selection. I added the IO Module (NI 6581 B: NI 6581 B channel) for my project and selected the channels as shown in the table below. I have a real physical hardware connection as described below using two NI SHC68-C68-D4 cables and a break-out Board.

    I changed the names as well:

    I selected these DIO channels because I wanted the DDCA connector to be the master and the DDCB connector to be the slave. In addition, in this CLIP every eight channels of i/o has a write enable signal. I have not used the Port configuration because I needed 4 available DIO channels and I saw DIO0-3. Is my logic of selection of channel vs correct Port here?

    Following the same strategy that examples FlexRIO/NI6581B, I changed the FPGA.vi to include initialization outside of timed loops:

    And in the Host.vi I have a node reference FPGA and wired loops of feedback accordingly:

    When I compile the FPGA and try to run Host.vi LabVIEW inevitably crashes with Crash Reporter below and must restart:

    Does anyone know what I'm doing wrong here? My guess is that it has something to do with the CLIP/IOModule. Any help is appreciated.

    Thank you

    Scott

    Hi Scott,.

    I suspect that the problem might be related to the fact that your node open FPGA VI reference is in the while loop and trying to open a new FPGA reference at each iteration.
    If you move outside of the while loop, it does not solve the crash?

    On channel vs port question, your logic seems reasonable to me, but I recommend to try it since this feature could depend on device.

  • The SoC Xilinx architecting 7010 is added to myrio, my question is why? Which task is done by the CPU and which task is performed by the FPGA in myrio when running LabVIEW.

    Looking myRIO Xilinx architecting-7010 SoC I am bit inntrested in the workflow for the GS. How does the bennifit myRIO use a system on chip instead of a regulare CPU and FPGA not in the same chip.

    4 way could there be to manage a VI?

    With FPGA and RT (CPU)

    Only of FPGA

    Only RT

    only the windows

    I am comfused, is it any good article/doc describing this?

    I found the image in a PowerPoint on the www. -What the task split like this betwheen the CPU and FPGA?

    Hello

    Please see this link. This can help you understand the architecture of RIO, and there are many whitepapers available in ni.com

  • Simulate the sine wave using LabVIEW FPGA with NOR-myRIO and display in real time

    Hello

    I'm relatively new to LabVIEW FPGA. I am trying to test (and later apply) controllers high speed on myRIO.

    At this point, I'm trying to simulate the sine wave from 1 to 10 kHz using Sinewave generator VI express. I also intend to display the sine wave on the time real (RT) using FIFO. However, I had a bit of trouble to understaing various synchronization parameters.

    1. how to encode information about the sampling frequency generating sine wave? (The side FPGA vi requires only the frequency of the signal and possibly phase and does not rate update lines)

    2. how to estimate the number of items in a FIFO? (that is, the relationship between the rate of updates to loop (RT), the signal frequency, sampling frequency and the number of items in the FIFO)

    It would be great if we could share a very simple program (side host and target) that did something similar.

    Thank you

    MILIN

    Milot,

    I think the problem is the type of data in your FIFO. Your FIFO is configured to use a data type of I16. The problem is the number, it displays only ever will be-1, 0 or 1. To resolve this problem, you must send the sine wave as a fixed point data and convert it to a double on the side of the RT. This should significantly improve your resolution.

  • myRio and first program FPGA

    Greetings,

    I'm looking for a very basic tutorial on the programming of the FPGA on the myRIO.
    Most of what I see wrong with retail targeted as your other ' get
    started ' tutorials using myRIO.  I want to create a digital logic (clock
    signals) and/a. function and I need the date and the higher speed than
    the RT system offers.

    An alternative to a tutorial would be a simple program FPGA that starts with
    the 'project FPGA Custom myRIO' (' located in the ' LabVIEW myRIO 2013 ' beginning)
    screen which generates output a square wave 10 kHz.  Once I see how it's done, I think I
    can find my way to a solution.

    Thank you!
    Frank

    Thank you nataftw and T - Rex for your time and patience!  I started a program from scratch and I launched my first program FPGA.  Now to the less difficult stage to build a code for my project!

  • MyRIO FPGA read framework signals SENT

    Hello community,

    I now have a myRIO with Labview 2013. I try to read a digital signal to a sensor on the port DIO0 (C-Port). It works very well. The problem is that I don't know how to find the start (the SYNC nibble) of the frame SENT - and how it works with the ticks of the clock / time clock of the FPGA (40 Mhz) system. I do not understand the meaning of the clock. ticks of the clock.

    The next problem is to measure the time between a front down to falling edge. In fact I can detect every falling edge of the signal SENT but I cannot measure the actual time between them. How can I measure the real time based on the system FPGA clock time? The nibble of SYNCHRONIZATION were all 56 time graduations. But how long are 56 ticks?

    Best regards

    Basti

    Hello, Alexander.

    Thank you. It works very well.

    Now my problems are solved. The main problem was to build something that is capable of converting 56 ticks of the SYNC signal SENT for correct ticks of the sampled signal. The two frequencies, the Signal SENT (333kHz) and the sampled signal (40 Mhz) are different, so I divided the frequency of the signal sampled frequency of the Signal SENT - (factor of about 120). Now I can convert 56 ticks to correct the number of ticks of the sampled signal and I can find the SYNC - Puls in FEEL. The result of 56 times the factor of 120 ticks is 6720 ticks. So, I convert ticks to the correct frequency.

    Thank you very much for your help!

    Best regards

    Sebastian

  • FPGA issues with myRIO

    Try to compile some simple FPGA screws in my myRIO, but often get the error attached to the compiler. I got parts of vi works temporarily by manually of programming everything from scratch again (without copy - paste other vi), but now the simplest things (two while loops, one with e/s FPGA node with node of property of FPGA, stuff really really Basic) also give this error. This is getting frustrating. What I am doing wrong?

    Best regards

    Soeren

    Hi new ppl

    Now I came with a 'solution '. It turns out that if I create a new vi and manually (.. Yes manually) start placing blocks and make loops I can actually compile the FPGA vi. Sort of loops to copy - paste from one to the other vi makes a malfunction.

    If someone else have experienced this?

    .. .anyway to programming

    Soeren

  • Cannot send DIO siganl using the LabVIEW FPGA Module and MyRIO

    Everything works when no FPGA is used. If the circuit and harware work.

    However when targeting module FPGA MyRIO, acquiring data and processing the work and the signal to the engine's 'sent' (visible when executing Hightlight is on).  But there is no tension on the DIO ports used. FPGA projects includes VHDL code.

    Do you know what could cause this problem?

    You must control the OID in the FPGA.

Maybe you are looking for

  • HP Color Laserjet CP2025 print: color printing problem

    Had the printer listed above for several years and love it.  Have just started having problems with the printer does not print not not in color.  Have a recorded document that needs to be printed every month and have had no problems with it, until ye

  • Devices not installed on DV6 laptop series

    Product name: HP Pavilion dv6z-7000 OS: Windows 7 When I first came to this computer, I got an error that resulted in replace me the hard drive. Then he says 'no device startup not found', so I had to install Windows 7 on a disk. Now, it says that th

  • ONS update options

    We have a network with ONS 15454 platforms OC192/SONET (about 6 years now). Our tours do not include a ring of protection. We use the ML1000 cards, and the biggest rising are 2Gbs. I would like to build large circuits off the OC192, but cards ML hold

  • Meeting of Lync hosted

    Hello.  Is it possible for a registered point SCV endpoint to join a Lync hosted a meeting with several video participants?  I used the Lync deployment guide to integrate my Lync and VCS networks successfully, but I can't get this function runs.  I w

  • PROBLEM: Error 201 then manual download and now this... all for the trial of the PS. Ridonkulous!

    I spent over 3 hours trying to get this to work.First this thing creative cloud featured on my menu bar, but when I clicked it, it was empty.Then, I had to uninstallThen I had to clean the machineThen, I had to reinstallThen I had to start in safe mo