[fpga] Faster communication between FPGA and host in real-time

Hi all

I received a card FPGA NI FlexRIO (SMU-7965R) installed on a chassis PXI (SMU-8135 embedded controller). I have an FPGA program to 40 MHz, and I use a real-time program to read a particular variable of FPGA on a regular basis. I do not stream. All I need is to get the most recent value during each execution of the loop of the program in real time (hence, DMA FIFO is not a good option). I am aware that you can read the FPGA indicators in the host program (real time) using the FPGA read/write control function. I used this feature to read a certain variable of indicator FPGA, as shown in the screenshot. The RT program takes 100 micro-seconds (10 kHz), which is not fast enough for my application.

Is there a faster method to read the latest FPGA data, or the program shown in the screenshot can be modified to reduce the time of loop RT? Any help would be greatly appreciated.

You're talking about an RT target a sitting in the RT himself FPGA card? If so, have you tried without the IP address of the target. See this thread to see why that would make a difference.

Tags: NI Software

Similar Questions

  • Series communication between computer and cRIO

    Hello

    I am not new to Labview or cRIO programming, however, venture in for my first try at the serial communication.  I have a controller (not original NOR) that sends data over a serial RS232 network I want to open a parallel session to the data that I collect with a cRIO.  Before we get to integrate, I try to test with a series, my computer cable and hyperterminal communications and the serial port cRIO.  I followed and validated exploitation and drivers with the following text:

    How to do a loopback Test series
    http://www.NI.com/white-paper/3450/en

    However, when I try to use the following example, I get nothing:

    Transfer data between cRIO and host series
    https://decibel.NI.com/content/docs/doc-3816

    Any ideas on where to start?  I appreciate very much all the advice.

    Thank you.

    I have confirmed that it is a right.  I'll try a null-modem cable.

    Thank you!

  • cRIO and 9234 modules do not work or communicate via fpga with accelerometers, fpga, connected to the real-time application is also related to shared variables related to modbus slave

    Hello

    I have a compact rio, which has a 4 way frame this chassis is the three modules of ni9234, they are related using FPGAs for application in real time, then using shared variables in the low-speed loop associated with a slave modbus to communicate with the domain controllers, the nor 9234 accelerometers linked to them with option ac coupled iepe on c modules , my problem is the real-time application seems to work well even when power loss occurs it restarts without problem and the fpga written hard disk portable bin files very well, but without an accelerometer connected I get readings of low noise as soon as I connect an accelerometer to one of the outputs 10 it just goes to a fixed number (0.03125) as soon as you unplug it again He returned to readout noise, I ran a scan on the modules and get only a spike when I connect or disconnect the accelerometer, I tested voltage at the pins on the module and I get 22 volts CC which makes it more likely that the material is not the problem, but software is perhaps the cause to hang up, I join the project and files for your perusal. I also realized a new project which, in mode directly linked scan has the module entry in the shared variable and the scenerio even once again. Help would be appretiated.

    Thank you very much

    Jason

    Whren using waveform with the 9234 acquisition, we recommend the following FPGA and RT model.

    http://sine.NI.com/NIPs/CDs/view/p/lang/en/NID/209114

    It can be extended as a datalogger with:

    http://zone.NI.com/DevZone/CDA/EPD/p/ID/6388

    or using shared variables combined with the analytical engine

    http://zone.NI.com/DevZone/CDA/tut/p/ID/9851

    The FPGA in all this, as well as the framework of RT have used successfully by 1000s of users.  I recommend giving these a try.

  • Communication between virtual and real session

    A virtual session may communicate information to the real machine? In other words, if a virtual session running can I send a message or a text to be saved on the actual computer?

    I'm under v VMWare Workstation 7.1.1 on a PC running Windows XP Pro.

    Sure! I'm not sure what exactly mean you by 'send a message or text' but you have several options:

    By default (depending on how your virtual computer was created) under the virtual machine settings > Options > Guest insulation, Drag and Drop and copy and paste are enabled. This allows you to freely drag and drop and copy and paste between guest and host operating systems. If these are not enabled, you can activate them. It's one of the ways safer and easier to share data.

    You can also create, under the ' Virtual Machine Settings > Options > folders ', a file shared between the two. Although some do not recommend this for reasons of performance and security.

    You can share files over the network by using shared folders, just like any physical PC 2 would be to share files. If you don't know how to do this, there are a lot of tutorials on the web.

    It is a bit more advanced, but you can also share a real physical drive (see the user manual). It is the least secure method, but offers the best performance if you regularly share huge amounts of data (several tens or hundreds of gigabytes).

  • Communication between TNS_Listener and the listener of the Apex

    Hi all
    I how communication between TNS Listener, receiver of the Apex and Apex? For some reason, I got the following error of Apex listener:
    Caused by: oracle.dbtools.rt.web.WebException: Unable to start the Universal Connection Pool: oracle.ucp.UniversalConnectionPoolException: Cannot get Connection from Datasource
    .
    .
    .
    Caused by: oracle.net.ns.NetException: Listener refused the connection with the following error:
    ORA-12505, TNS:listener does not currently know of SID given in connect descriptor
    I truncated messages Java object.

    This has happened when I tried to connect to the Apex. So I can fix it by going to:
    http://localhost:8080/apex/listenerConfigure
    then everything worked fine.

    My listener.ora file:
    LISTENER =
      (DESCRIPTION_LIST =
        (DESCRIPTION =
          (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
        )
        (DESCRIPTION =
          (ADDRESS = (PROTOCOL = TCP)(HOST = firefly.snowdrop.com)(PORT = 1521))
        )
      )
    
    ADR_BASE_LISTENER = /usr/local/oracle
    
    ADR_BASE_ORACLE_LISTENER = /usr/local/oracle
    My tnsnames.ora file
    INARA =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = firefly.snowdrop.com)(PORT = 1521))
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = inara.snowdrop.com)
       )
      )
    When inara is the name of the instance and the firefly is the host name.

    Is that the order of start if first the TNS Listener or listener Apex matter first?

    Best regards
    Val

    Published by: Valerie good-natured August 1, 2011 05:47

    Hi Val,

    My tnsnames.ora is configured for an existing server and there is no client configurations like sqlplus, sql or earpiece of the apex developer. However until now the server can connect to customers without problem (I just discover that unreproducible error on 'impossible to find the SID' sometimes occurs at the beginning of the Summit, the kick-off and can be solved by waiting for a while to connect to reconnect), so again I must modify the .ora?

    No, if your database listener is configured properly (i.e., he listens to the SID that you try to connect to the network interface/hostname/ip address /... she must use), there is no need to make any other configuration, especially not on another machine.

    -Udo

  • Communication between Labview and Rn42 Bluetooth

    Hello

    I am currently working on a project that requires communication between a bluetooth equipment and my pc with bluetooth built-in. The bluetooth hardware is verfied working with Blueterm on android. However I'm unable to connect with my laptop blueterm. Is back a unabe to connect error. I use bluetooth vi without series or visa. This method is suggested? Thank you


  • Communication between LabVIEW and MCU based on Modbus Protocol

    Hello

    I am a first year student in the port.and series applications see you, my projiect needs to communicate between LV and MCU based on Modbus Protocol.all configure it are correct, but the lv to send false information which is not suitable for modbus.i do not know how to fix it.

    My programs are:

    Why did you decide to write your own code instead of what is already available? If you had done a search, you would have easily found the modbus library. Just give a try.

  • Error: There is no communication between computer and printer

    Original title;

    printer not printihg after the installation of new updates

    I get messege there is no commacation between computer and printer

    Hello

    1. What is the brand and model of the printer?

    2. What are the updates that have been installed before the show?

    See the Windows updates are installed

    http://Windows.Microsoft.com/en-us/Windows7/see-which-Windows-updates-are-installed

    3. have you checked the status of the printer in Device Manager?

    Open the Device Manager

    http://Windows.Microsoft.com/en-us/Windows7/open-Device-Manager

    4. what operating system is installed on the computer?

    You can Open the printer Troubleshooter and check if it makes a difference:
    http://Windows.Microsoft.com/en-us/Windows7/open-the-printer-Troubleshooter

    You can follow this link and check if it helps.

    Printer in Windows problems

    Let us know the result!

  • Real-time communication between PHP and Flex application

    My client wants to replace the buttons 'Refresh' in their Flex/PHP app with updating in real time, so as to data changes, it is pushed to the client.

    I came across a few articles which cover this topic, but I'm hard-pressed to find the best approach. Can someone suggest possible solutions?

    Any help would be appreciated. Thanks in advance.

    If your server supports K 100 simultaneous connections with push (permanent connection)

    It can be used 100K users simultaneous apps. With polling stations, it can serve more

    100 k because it opens a connection and then it closes once the answer has

    been sent, so until this client polls again it can handle other requests of

    other customers...

    C

  • Program LabVIEW will hang between 33% and 50% of the time.

    I have a problem with a Labview program, I did. I have two programs that do the same thing. One is as a flat sequence, and the other is in the form of State machine.

    As explained in the link below, I would like to use a microcontroller to perform wiring for automation of a measurement process. A separate current source and volt meter will be used.

    https://forums.NI.com/T5/LabVIEW/sequence-a-good-idea/TD-p/2601333

    I did some simple test programs that I join since then. The problem is when running, that the labview program crashes, but not all the time is to run the program.

    For example: Hall 1.2.vi will correctly work twice with the third time, he is executed, it crashes. If Cancel you and try again, it will run again twice without any problem with the third hanging. It is in the flat sequence format (was in a flat sequence, but merged windows because I thought that was the cause). From what I can tell, the program crashes when calling Keithley 6517 unique Read.vi. Two connected Keithley devices are connected to the computer via GPIB to 16 and 27. The way I checked if it was this vi the cause or contributed to what I deleted the program never hung and it. I find it very strange that it crashes exactly on the third attempt every time.

    Simple.VI Hall 1.3 will work the first time and hang the second time. If it works 50% of the time. It is in the format of State Machine. It hangs in the case entitled "Measurement 1" that contains the Keithley 6517 unique Read.vi.

    I used the running highlight button and watched the program to run. Curiously, it only crashes when you use this button. So I tried to add some delays/waiting in different places without success.

    This could be the cause? As a side note, I say that the program is suspended for two reasons. The principal is the program does not run so the execution arrow is always black. The second thing is that if you notice at the end of the labview program, I have a block he who turns to the power source which does not happen when it crashes. I have to turn it off manually, and then click the abort program button to stop labview.


  • cRIO - creation and deployment of real-time independent startup application troubleshooting

    I use cRIO-9024 with a chassis 9112 for a control system. I use LV2011 SP1. When you run the system in development mode (by pressing the run button), everything seems to work properly. When the autonomous real-time construction and running in startup application, something stops working.

    In order to know if the application is running or not, I toggle the user LED on the cRIO using this code:

    When I turn off all the code in the main VI except this loop, the application deploys and runs at startup without problem (the LED flashes). I then add progressively more loops that I want to run (by disabling the code less and less), and the problem seems to be in the open FPGA VI reference block. If I disable this block, the slopes of autonomous real-time application (I guess the error 63195, handful of peripheral communication not valid, will spread along the line, but I know that the app works because the LED flashes).

    I tried several configurations for this block open FPGA VI and mixed results. For example, if I set it up this way:

    The application in real-time to start runs with the reference block opened VI FPGA active but work stoppages as soon as I turn on a code that makes use of this reference in the subVIs .

    Someone at - it an idea of what could go wrong? I have explored the messages thrown by cRIO at startup but can not see the error messages (in fact, the console output is the same when I managed to deploy an application that is running (by disabling the code). I also tried to explore the error logs (via right click on target Utilities > view error log) but cannot decrypt any useful info on their part.

    Any ideas will be greatly appreciated.

    Hi kkguner,

    My problem is that the code runs (apparently) ok in development mode, but it seems that, when it is deployed as a stand-alone application in real time, it does not at all. As I was not able to get messages through to watch the console output when restarting my cRIO or explore the Project Explorer error logs or error, I can only imagine what is happening.

    I feel that QFang suggestions go in the right direction, but I've yet to be able to determine the exact cause and the solution of the problem.

    The solution I set it with has been to deploy my application as a source with a start VI distribution instead of as a stand-alone application in real time. You can try this option.

    What I could try when I have some time is to clean my system from LV (whether in mass compilation or by reinstalling completely). I tried a massive compilation of vi.lib and I got a good amount of (UN) insanities, the wrong screws and several other unfortunate messages.

    kkguner, let us know what you discover in your inquiry, or if none of the suggestions solves your problem.

    Thank you QFang and xseadog for your help. Best regards!

    --

    Raúl

  • delete the host controller real time program

    using NI9642 sbrio host in the sbrio real-time like a startup program now when I use the fttp: to remove the previous host program I can't remove it especially when I remove the version of the host of the project, I'm looking for a way to delete the file and work with the new real-time application program that I use it now.

    Hi AlaaShaw,

    Have you tried to cancel the deployment of the executable to the target and then deploy the new application?

  • 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.

  • Why is no longer a faster network between two different hosts?

    Hello community!

    I need help in this mystery.

    I have three computers different virtual, all of them with e1000 (also I tried all VMs with vmxnet3) and the latest vmware tools.

    Two of this mV, are in the same physical host (ESXi 5.5.0 2068190). Call for example: VM - 1A & VM - 2A

    Another virtual machine, is in another physical host (ESXi 5.5.0 2068190). Call VM-1 b

    Both ESXi hosts are connected with two cards 10 Gbit network with load Balancing: "From hash IP route" and detection: "link status only.

    Traffic Shaping is disabled in all Ports.

    The environment is very clean, and we have more VMs that can disrupt the test (or inappreciable).

    VM - 1a: 10.12.50.201 - physical host ESX - A

    VM - 2A: 10.12.50.202 - physical host ESX - A

    VM-1 b: 10.12.50.200 - physical host ESX - B

    Why I don't see better network speed reference, when two virtual machines send something two physical host is different than when the two virtual machines are in the same physical host?

    It is not a question of "iperf", I used the other test with CPS and I had the same speed.

    Thank you very much!!!

    PS: The physical host computers are: Dell PowerEdge r.620 - 16-core Xeon - 384GB RAM

    net_benchmark.png

    Have you tried to move your VM on different hosts to the same host?

    Your names of:

    VM - 1 a host has

    -VM-1 b on Hots B

    ToDo

    Now move VM-1B for A Host and repeat the test (two virtual machines on the same host). What happens now to the speed?

    Check

    -How is the CPU usage during the test we Host-A, if you have 2 virtual machines on this host?

    -What is your ratio of P2V CPU? (overprovisioning?)

    What it could be

    -Host doesn't have enough CPU power to serve the two virtual machines (or over-provision P2V related problem). But for me no sense if I see your config server with 16cores.

    -It is not a host but a related problem of VM (perhaps it depends on the VM - A2). Makes the most sense for me (your test is to check)

    Please share the results

  • ESXi 5: speed between VM and host seems capped at 100Mbit

    Hello

    We are stumbling on a strange problem we have in our data center.

    Recently migrated all our guests to Esxi5 (HS22 blade in Bladecenter chassis IBM and DS3400 FC data store)

    All switches and ports on switches (virtual and physical) are synchronized at 1 Gbit/s duplex full.

    Internal driver E1000 driver fot the VM is.

    When we do a performance test, copy files or large network traffic associated action we get not over +/-10% of the capacity of port 1 Gbps.

    It seems that there is a component that traffic in 100 Mbps at max in mind.

    We have this behavior between hosts, but also on the single host between the virtual machine. (only traffic vSwitch)

    Is someone can give us a clue where to start?

    Thanks in advance!

    first thing to do is to go down the E1000 network driver.  It is the default NETWORK interface driver and not a right to use.  In most circumstances, you should use the VMXnet 3 driver, the performance is much better.  and is installed with vmware tools that you install in each VM

Maybe you are looking for