13MHz synchronous serial PXI-7831R FPGA

Hi,
Have a requirement to emulate a slave synchronous serial interface (similar to SPI) at a rate of 13Mbps.  Does this seem feasible using a RIO PXI-7831R?

jimhar8 hello.
I am not very familiar with the slave synchronous serial interface, however, take a look at the following links that talk about implementing SPI.
Reading an SPI Interface with Compact RIO
SPI Communication in LabVIEW FPGA
Efosa O.
NIAE

Similar Messages

  • Accessing the 40MHz clock on the PXI-7831R FPGA Module

    How do you access the 40MHz clock on the PXI-7831R FPGA Module?
    I'm trying to the FPGA to do RS-422 communication with UART and HDLC protocols. I want to divide the clock signal to generate the necessary baud rates. I've downloaded the FPGA serial examples as a start, but I'm looking for a direct connection to the 40MHz signal.
    I'm Using LabVIEW 7.1 and FPGA Module 1.1 with the LabVIEW Embedded Project Structure.

    settlesj,
    If you are looking to have access to a 40MHz digital signal,  it is possible to generate and acquire one using 7831R and LabVIEW FPGA module.  To do this you would need to take advantage of the different compile speeds available with the FPGA module. The available compile clock frequencys are: 40MHz, 80MHz, 120MHz, 160MHz, 200MHz
    For example to generate a 40MHz pulse train you could compile with 80MHz clock frequency (2 clock pulses are needed for a square wave period).
    You will have to be careful when generating code because compiling with a clock frequency higher than the default one (40MHz) could give compile errors in some cases. These errors could happen more frequently if the code is more complex and needs more time to be executed.
    I have attached an example program that generates a 40 MHz signal on a digital line.  From there you could divide down the clock rate to which ever specified baud rates you needed.  As a side not the LabVIEW FPGA 8.0 Module added the ability to derive additional clocks from FPGA base clocks in a LabVIEW project.  Hope this helps.
    Steven B.
    Attachments:
    Test40MHz.zip ‏57 KB

  • Scanning of analog inputs in PXI 7831R FPGA

    Hi all,
    I am new to Labview FPGA Module. I am using Labview 7.1.1 and Labview FPGA Module 1.1 . I am using PXI 7831R FPGA Card.
    I developed a program which is used to scan analog Inputs with given scan rate for given scan duration. I gave input as pulse signal with 1Sec period and 2 V amplitude.
    If I scan one analog Input with 10ms scan rate for 1000ms scan duration I am getting correct values. But if I use 2 or more analong signals to scan at the same time then I am getting Multiple of periods. And also If I increase or decrease scan rate I am getting strange values. Could any body please check my code and help me.
    Thanks in Advance.
    Regards,
    Sashi
    Attachments:
    AnlogIn_FPGA.zip ‏247 KB

    customise your front panel with advanced picture creation metods
    Attachments:
    SUF.ctl ‏20 KB

  • Does the PXI-7831R FPGA have onboard anti-aliasing filters for AI?

    Dear Forums,
    Apologies for the simple question but the docs do not speak to this question explicitly:
    Do the analog input lines on the 7831R FPGA module have any kind of on-board anti-aliasing?
    Thanks,
    Casimir 
    Solved!
    Go to Solution.

    No
    Stu McFarlane
    Viewpoint Systems, Inc.

  • Current acquiring with NI PXI 7831R

    I am using PXI 1042 for my academic project. My objective is to acquire the leakage current of insulator for analyzing it further.
    Initially we tried to use PXI 5112, but could not succeed with it as it is not possible to acquire current waveforms with PXI 5112. The value of leakage current ranges from 0 to 200mA.
    My query is whether I could use PXI 7831R for acquiring the leakage current of the insulator, with the range I have mentioned above. Is there any programming or pre-configuration of PXI 7831R before starting of acquiring the current waveform. And also please clarify me about the connectors I need to use.
    Thank you in advance.

    The analog input can acquire signals at 200 kHz. The digital inputs can acquire signals in one clock cycle of the FPGA, so the actual acquisition speed for digital depends on your specific application code, but can be as fast as 40 MHz. Processing of data also depends on the amount of code in your processing routine.
    As an alternative to the onboard analog inputs, it is possible to use a faster external A/D converter and use the high speed digital interface to read the data from the external ADC.
    Christian L
    Christian Loew, CLA
    Principal Systems Engineer, National Instruments
    Please tip your answer providers with kudos.
    Any attached Code is provided As Is. It has not been tested or validated as a product, for use in a deployed application or system,
    or for use in hazardous environments. You assume all risks for use of the Code and use of the Code is subject
    to the Sample Code License Terms which can be found at: http://ni.com/samplecodelicense

  • Reading backplane serial number on FPGA

      hi ,
    i have cRIO controller 9022 and 9103 chassis.. 
    i know, there is some functions for reading serial numbers of hardwares, MAC addresses, but these functions used on cRIO controller or PC..
     i wonder if it s possible to read backplane serial number, from FPGA platform.
      Best regards..

    Hi there! Unfortunately no, however, all the information that you are looking for can be retrieved from Windows or the Real-Time level. Here is an article that talks about it. Plus, there is another method not discussed in the article. If you have the NI System Configuration installed on the controller you can do something like this:
    If you really need the serial number at the FPGA level then follow one of these recommendations and pass the information down from the Real-Time through a FIFO or other communication method. I hope this answer your question
    Alejandro | Academic Program Engineer | National Instruments

  • How to generate a programmable CLK up to 32MHz with an FPGA card like PXI-7831R?

    Hello,
    i need to generate a programmable Clock on the FPGA card, which can be used for up to 32MHz.
    I already used single-cycled-timed loops with which iam able to generate faster clocks but they are not programmable since one Channel is only allowed to be connected to one time domain at a time.
    At the moment the fastest i get is a 15MHz clock with a normal while loop, which has a timer inside to delay it for slower CLK frequencies. The timer can be disabled by a case structruce, since even if the delay is 0 ticks, the fastest CLK speed is 10 MHz.
    This only works with an derived CLK of 120MHz which is the maximum iam able to achieve on my system.
    In all cases i use a single inverter inside the loops which keeps on inverting its own signal.
    (Labview 8.2, PXI system)
    Iam open to any ideas since i have run out of them.

    What resolution do you need on the clock rate that you want to generate? The example below is a single cycle timed loop set to run at 100 MHz and can generate any clock rate with a resolution of 10 ns. The fastest clock that can be generated is 2 cycles of the SCTL (50 MHz). From there you can generate a clock at 3 cycles, 4 cycles, etc.
    Message Edited by Christian L on 06-27-2007 02:51 PM
    Christian Loew, CLA
    Principal Systems Engineer, National Instruments
    Please tip your answer providers with kudos.
    Any attached Code is provided As Is. It has not been tested or validated as a product, for use in a deployed application or system,
    or for use in hazardous environments. You assume all risks for use of the Code and use of the Code is subject
    to the Sample Code License Terms which can be found at: http://ni.com/samplecodelicense
    Attachments:
    varclock.JPG ‏28 KB

  • What model FPGA is used in the PXI-7831R reconfigurable I/O Card?

    Sales said it's a Xilinx. I checked xilinx.com but couldn't find a device with the same gate count and logic cell count given in the 7831R's specs in the data sheet. If I could just get the device family, it would help a lot. Model number would help more.
    Thanks,
    don

    Hi donharbin,
    It is a XC2V1000 in the Virtex II family.
    Regards,
    Chad Evans

  • PXI-7831R analog input max sampling rate?

    I'm using 5 of the analog inputs on the 7831R and seem to only be able to get a max sampling rate of 10K per channel. Looking at the specs it should do at least 10 times this per channel, also the time for the A/D loop is 228 ticks of the 40MHz clock so this would suggest a higher sampling rate than just 10K. I'm missing something here... Any ideas as to what the deal is?
    pete

    Hi Pete,
    You are right in saying that the 7831R boards should acquire data much faster than 10KHz. Infact you can take a look at the actual specs from the data sheet http://sine.ni.com/nips/cds/view/p/lang/en/nid/14757 as well as the product manual. However, I am concerned that you may be measuring the rate of acquisition on the RT VI (or any host vi) you are running as opposed measuring it in the FPGA VI.
    Your time critical loop may be running at 228 ticks of the 40 MHz clock but the data is buffered (at that rate) and has to be then transferred to the communication loop which then sends the data to the host vi (which may be your RT vi). Hence, the rate at which host VI receives the data will be much slower than the FPGA VI is acquiring data.
    Hope this helps!
    Prashanth

  • SIT Manager für PXI mit FPGA

    Hallo ,
    ich habe bereit ein modell mit SIT.3 und LabVIEW 8 in ein real Time Target PXI laufen lassen, nun möchte ich die werte dieses modell über die FPGA des PXI lesen bzw. schreiben damit ich diese Werte an einmer TCU  in einer Hardware in the loop  verbinden kann  , das kann ich vielleicht in  SIT Manager Hardware konfigurieren  aber WIE?.
    Bitte wenn jemand diesen fall schon gehabt hätte, kann mir sagen ,wie soll ich die I/O des modell defenirien und wie kann ich  diese werte über FPGA lesen oder schreiben.
    danke sehr
    befaiz 

    Hallo!
    In einem anderen Ihrer Threads ist bereits beschrieben wie Sie hier vorgehen müssen!
    Siehe letzter Post in diesem Thread: http://forums.ni.com/ni/board/message?board.id=270&message.id=2838#M2838
    MfG
    Christian Mergl

  • PXIe 5170R FPGA decimation options

    Hi,
    Can someone confirm if the decimator available on the 5170R FPGA palette if configured for power-of-2 decimation, only in fact supports a decimation factor of 2^1? All the other options appear greyed to me, and I've tried various methods to get around it (put it in an untimed loop, put it in a lower clocked timed loop, change the input options) without success. The only other option I can think of (I need anti-aliasing, not supported by the integer decimation, and I can't fit enough fractional decimators on for my channel count) is to stack up a few 2^1 decimators in series, but it feels messy and I'm not sure if it's optimal in the numerical fidelity stakes.
    Any ideas?
    Thanks

    Hi ToeCutter,
    My Name is George and I work as an Applications Engineer for National Instruments. I’m sorry it has taken so long for someone to help you with your query but we’ve had a lot of requests recently. Is this still an active problem?
    I’m afraid I am not overly familiar with the concept of decimation but I understand you are trying to use power-of-2 decimation to reduce the sampling rate of a signal being measured with a 5170 R series PXIe module via FPGA. You would like to increase the factor of the decimator to increase the amount the signal is cut down but cannot increase it above 1.
    To help troubleshoot the problem there are a few questions I hope you can answer to help me fully understand the problem;
    Could you give me a little background information on what your application is and how your hardware is set up?
    Have you tried your potential solution of stacking 2^1 decimators? If so does this work despite not being fully optimised?
    Why can you not use integer decimation?
    Whilst I wait for a reply I will continue to do my own research into the issue and I will let you know if I find any more useful information that may help you.
    Regards,
    George

  • Handling multichannel serial communication on FPGA

    NI recently released cRIO modules for serial communication on RS232 and RS485/422.  We need multiple RS232 channels for our RIO systems and previously the solution would have been to use a serial port server and then communicate with that using raw TCP/IP. Having the serial communication handled by RIO modules seems a bit more elegant though so I'm looking into using the RS232 module NI9870 instead.
    NI has supplied an example on how to use the 9870 - a serial loopback on port 0. I've successfully modified this to be a general driver for a selectable port (added port selection and initialization), however I really need to code a solution that handles ALL the 4 channels in parallell. I'm not sure what would be the best way to do that though. DMA FIFOs seem to be the best option for host-target communication, however in this case there are 4 channels....and I may have multiple modules so at most it could be that I need to handle as much as 32 ports. The example uses interrupts for synchronization....which off course is also a limited resource. All in all I'll probably figure out a way to do this, however if anyone else have done something similar already it would be great to hear your views on this.
    Coming from the Windows-programming world (this is the first FPGA work I've done) I was also hoping to make this driver as general as possible, maybe even be able to write a wrapper containing both VISA based serial functions and the FPGA host code. That way it could be transparent how the port is accessed.
    This would require 1 code that would be able to handle a variety of module configurations (well, 1 to 8 NI9870 modules in the chassis), however that does not seem to be feasible(?). When you read or write to a port you cannot just refer loosely to it with a number e.g. - the read and writes are referenced to a specific port...this means that unlike in a Windows application where you can let the user just configure that he wants to use COM port num XX and the serial functions will accept that number regardless of whether the port exists or not (returning an error if it does not exist or is in use) - the FPGA code has to have all the items it will call pre-defined. If the chassis can have 16 ports on 4 9870 modules it does not seem possible to use the same FPGA code if the chassis currently only has 1 module...Is this the reality, or is it possible to create a more flexible solution?
    If it turns out that the FPGA has to be reprogrammed if another serial module is added (or one is removed) it would seem much better to drop the modules and use a port server and tcp/ip instead...that way using new ports will only be a question of configuration (IP and port), not reprogramming...That may not be possible always (if you need the compact size and roughness only a single RIO chassis would offer), but in our case it is - it' just not as elegant hardware-wise.
    MTO

    Well, the multichannel experiment only wrote data, it did not read...(see attached VIs) however the concept can be used in both directions: Add a header to the FIFO data where the header tells the recipient what port the data is going to or comes from...Then use e.g. a state machine to read the FIFO, split the header and data, and route the data to the loop handling the port.
    If you are going to read data you will get into one of the downsides to this namely that you will need to have a central communications manager that reads the incoming data and distributes it to the requesting VI. This way you can have more parallell access to both read and write, however the reads will have to be routed through this handler. How big a performance gain this would give is unknown though. You still only have one DMA FIFO for each direction so there is a limit to how parallell things can get, but logically this might get you closer than the NI example...
    MTO
    Attachments:
    9870 MultichannelIO Experiment.zip ‏1002 KB

  • Synchronous serial communication

    Hello All,
    Is there anybody with experience in synchronous communication or have
    board vendor adress.
    Any information would be very helpfull.
    Thank you in advance.
    Michael

    Some years ago I have to do something similar. We wanted to do some simple data communication PC to CPU board for test purposes. We ended up taken a small and cheap micro-controller, which we interfaced to the CPU board. Then we used RS232 from the microcontroller to the PC. The whole setup required 2 circuits, and was soldered up on a prototype board. At the end of the day the project worked as we wanted. If you do not like soldering you may pick up a cheap microcontroller test board. The cost very little compeered to your NI IO unit (USB 6509). I am just passing this as an idea. It may not fit your need.By the way are you sure you do not have a free UART port on your CPU board you can use for your testing
    Besides which, my opinion is that Express VIs Carthage must be destroyed deleted
    (Sorry no Labview "brag list" so far)

  • Synchronizing serial and daq data

    Hi,
    I'm attempting to acquire simultaneous data from a serial port and a NI USB-6211 board.
    I wish to write the data simultaneously and at every second.
    At first the I couldn´t acquire the data as i wanted because there were delays in the acquisition, but then I separeted both serial and daq in two loops and it was solved. However now I can´t manage to write the data simultaneously into the file.
    Any Ideas?
    Thank you.
    Solved!
    Go to Solution.

    Would it be possible to post your code?
    You could sync your loops with a "wait until next ms tick with a value of 1000.  This would cause both loops to execute once ever second at at the same time.
    It sounds like you now have a problem of writing the data to a file at the same time.  You could put for file write in a third loop and transfer your data from the other two via queues or functional globals and then write to the file when both peices of data are ready.
    Gregory Osenbach, CLA
    Fluke

  • Can RF signals be used with ni pxi-7831R card

    what is the frequency range of signals that can be analyse with FPGA 7831 card

    The analog input can acquire signals at 200 kHz. The digital inputs can acquire signals in one clock cycle of the FPGA, so the actual acquisition speed for digital depends on your specific application code, but can be as fast as 40 MHz. Processing of data also depends on the amount of code in your processing routine.
    As an alternative to the onboard analog inputs, it is possible to use a faster external A/D converter and use the high speed digital interface to read the data from the external ADC.
    Christian L
    Christian Loew, CLA
    Principal Systems Engineer, National Instruments
    Please tip your answer providers with kudos.
    Any attached Code is provided As Is. It has not been tested or validated as a product, for use in a deployed application or system,
    or for use in hazardous environments. You assume all risks for use of the Code and use of the Code is subject
    to the Sample Code License Terms which can be found at: http://ni.com/samplecodelicense

Maybe you are looking for