FPGA project - custom cRIO module driver development

Hi!
I'm developing the driver for my custom cRIO module. The module has 4 analog input channels.
After analog-to-digital conversion I need to transmit the digital data via the cRIO bus.
I placed an FPGA I/O node on my block diagram (see the attached image), but I can only read if the pin's state is HIGH or LOW, not the value of the ADC. 
How can read the value of the conversion?
Thanks for the help,
Levi
Attachments:
driver proj.jpg ‏192 KB

Hi!
After some research I managed to create the connection between my custom cRIO module and LabView.
The complete solution (with LabView 2011):
- add line 'cRIO_FavoriteBrand=generic' to the LabView.INI file
- launch LabView
- creating an empty project and select FPGA as execution target, click GO
- select 'CompactRIO Reconfigurable Embedded System' as project type, click next
- the next step is the detection of the chassis/ modules, followed by the creation of the new FPGA project 
- adding the custom module: right-click on FPGA Target -> New -> C Series Modules -> New Target or Device -> C series Module -> OK
- Enter name, select as module type 'generic', enter location
Hope it will help someone someday.
Levi

Similar Messages

  • Why should I adopt LABVIEW FPGA as a tool for developing my FPGA projects?

    Dear Friends, 
    Since I have started using LABVIEW FPGA, I got too many questions in my mind looking for answers! 
    1-      Does anybody can tell me “why should I adopt LABVIEW FPGA as a tool for developing my FPGA projects?”
    I mean there are many great tools in this field (e.g. Xilinx ISE, ….); what makes LABVIEW FPGA the perfect tools that can save my time and my money? 
    I’m looking for a comparison can show the following points:
    ·         The Code size and speed optimization.
    ·         Developing time.
    ·         Compiling time.
    ·         Verifying time.
    ·         Ability to developing in future.
    ·         …etc.. 2-     
    I’ve Spartan-3E kit, I’m so glad that LABVIEW support this kit; I do enjoyed programming the kit using LABVIEW FPGA, but there are too many obstacles!
    The examples come with Spartan-3E driver don't cover all peripherals on board (e.g. LAN port is not covered)! There is a declaration at NI website which is "LabVIEW FPGA drivers and examples for all on-board resources" Located at: http://digital.ni.com/express.nsf/bycode/spartan3eI don’t think that is true!
    Anyway, I will try to develop examples for the unsupported peripherals, but if the Pins of these peripherals are not defined in the UCF file, the effort is worthless! The only solution in this case is to develop VHDL code in ISE and use it in Labview FPGA using HDL node!?
    3-      I wonder if NI has any plan to add support for Processor setup in Labview FPGA (Like we do in EDK)?
    4-      I wonder if NI has any plan to develop a driver for Virtex-5 OpenSPARC Evaluation Platform ?http://www.digilentinc.com/Products/Detail.cfm?Nav​Path=2,400,599&Prod=XUPV5 
    Thnaks & regards,Walid
    Solved!
    Go to Solution.

    Thanks for your questions and I hope I can answer them appropriately
    1. LabVIEW FPGA utilizes the intuitive graphical dataflow language of LabVIEW to target FPGA technology. LabVIEW is particularly nice for FPGA programming because of its ability to represent parallelism inherent to FPGAs. It also serves as a software-like programming experience with loops and structures which has become a focus of industry lately with C-to-gates and other abstraction efforts. Here are some general comparison along the vectors you mentioned
    Code Size and speed optimization - LabVIEW FPGA is a programming language. As such, one can program badly and create designs that are too big to fit on a chip and too slow to meet timing. However, there are two main programming paradigms which you can use. The normal LabVIEW dataflow programming (meaning outside a single-cycle loop) adds registers in order to enforce dataflow and synchronization in parity with the LabVIEW model of computation. As with any abstraction, this use of registers is logic necessary to enforce LabVIEW dataflow and might not be what an expert HDL programmer would create. You trade off the simplicity of LabVIEW dataflow in this case. On the other hand, when you program inside a Single-Cycle timed loop you can achieve size and speed efficiencies comparable to many VHDL implementations. We have had many users that understand that way LabVIEW is transformed to hardware and program in such a way to create very efficient and complex systems.
    Development Time - Compared to VHDL many of our users get near infinite improvements in development time due to the fact that they do not know (nor do they have to know) VHDL or Verilog. Someone who knows LabVIEW can now reach the speeds and parallelism afforded by FPGAs without learning a new language. For harware engineers (that might actually have an alternative to LabVIEW) there are still extreme time saving aspects of LabVIEW including ready-made I/O interfaces, Simple FIFO DMA transfers, stichable IP blocks, and visualizable parallism.  I talk to many hardware engineers that are able to drastically improve development time with LabVIEW, especially since they are more knowledgable about the target hardware.
    Compilation Time - Comparable to slightly longer to due to the extra step of generating intermediate files from the LabVIEW diagram, and the increased level of hierarchy in the design to handle abstraction.
    Verification Time - One of our key development initiatives moving forward is increased debugging capabilities. Today we have the abilities to functionally simulate anything included in LabVIEW FPGA, and we recently added simluation capabilities for Imported IP through the IP Integration node on NI Labs and the ability to excite your design with simulated I/O. This functional simualation is very fast and is great for verification and quick-turn design iteration. However, we still want to provide more debugging from the timing prespective with better cycle-accurate simulation. Although significantly slower than functional simulation. Cycle-accuracy give us the next level of verification before compilation. The single cycle loop running in emulation mode is cycle accurate simluation, but we want more system level simulation moving forwrad. Finally, we have worked to import things like Xilinx chipscope (soon to be on NI Labs) for on-chip debugging, which is the final step in the verification process. In terms of verification time there are aspects (like functional simulation) that are faster than traditional methods and others that are comparable, and still other that we are continuing to refine.
    Ability to develop in the future - I am not sure what you mean here but we are certainly continuing to activiely develop on the RIO platform which includes FPGA as the key diffentiating technolgoy.  If you take a look at the NI Week keynote videos (ni.com/niweek) there is no doubt from both Day 1 and Day 2 that FPGA will be an important well maintained platform for many years to come.
    2. Apologies for the statement in the document. The sentence should read that there are example for most board resources.
    3. We do have plans to support a processor on the FPGA through LabVIEW FPGA. In fact, you will see technology on NI Labs soon that addresses this with MicroBlaze.
    4. We do not currently have plans to support any other evaluation platforms. This support was created for our counterparts in the academic space to have a platform to learn the basics of digital design on a board that many schools already have in house. We are currently foccussing on rounding out more of our off-the-shelf platform with new PCI Express R Series boards, FlexRIO with new adapter modules, cRIO with new Virtex 5 backplanes, and more.
     I hope this has anwered some of the questions you have.
    Regards 
    Rick Kuhlman | LabVIEW FPGA Product Manager | National Instruments | ni.com/fpga
    Check out the FPGA IPNet for browsing, downloading, and learning about LabVIEW FPGA IP Cores

  • Crash while creating a new cRIO FPGA Project

    When I want to create a new cRIO FPGA Project with the wizard, Labview freezes and crashes ("Labview 8.6 Development System had stopped working".) The wizard discovers my cRIO-9073 Integrated controller, but when it's trying to discover the CompactRIO chassis, the program freezes and automaticly shuts down.
    In MAX, there is no problem in discovering the FPGA-chip in the cRIO-chassis (RIO0)..
    I tried to use the new FPGA project wizard in Labview 8.5. While searching for the cRIO chassis, the program doesn't freeze, but says that the cRIO-chassis cannot be found..
    When I manually want to select the chassis, I can only choose for the cRIO-9072 and cRIO-9074. There is no cRIO-9073-icon.. ?
    What am I doing wrong, or is it a bug ?
    Regards,
    Kenneth
    Message Edited by Kennie87 on 02-16-2009 09:23 AM
    Message Edited by Kennie87 on 02-16-2009 09:23 AM
    Solved!
    Go to Solution.
    Attachments:
    lvrt_err_log.txt ‏23 KB

    Hi JMota,
    Thanks for your quick reply.
    I'm using Vista Home Premium SP1 32-bit. And I have admin privileges. I'm the only user of the computer.
    I've installed NI-RIO 3.1 on the pc. So it's the same version as on the controller.
    When I try to add the controller and chassis directly from the Project Explorer, then I have the same problem.
    The program freezes while it's trying to discover the chassis..
    I'm able to select the cRIO-9073..
    But in the second step, the program freezes when it's trying to discover the chassis..
    When I try your second method, the same problem occurs.
    I manually selected the specific controller (RT CompactRIO target), with the chassis (cRIO-9073) and the integrated FPGA-chip (RIO0), and at last the NI-9472 DO-module in slot 1.
    Then, I've changed the IP of the controller from 0.0.0.0 into the IP assigned in MAX 192.1681.3.
    When I click on connect (right-click RT CompactRIO target - connect), the same story.. Program freezes and eventually shuts down.

  • How to use LabVIEW FPGA on Custom FPGA board other than NI products .....Also how to develop RTx DLL for a customised motion controller hardware

    I'm using RTx, LabVIEW RT and LabVIEW FPGA.
    The GUI is windows based. The motion control and FPGA  are RTx based.
    Is there any way to develop device drivers for the custom hardware in RTx. For example motion controller hardware, FPGA hardware, PCI hardware.
    Is there a possibility to use custom FPGA boards to use with LabVIEW FPGA.
    Please send me some links
    Thanks
    Bhoopathy
    Take life as it comes! you may never know what's gonna happen Tommorrow

    CODE WARRIOR Hello. I believe this question was answered in a previous post. Please let us know if you have any new questioins or if you need some clarification.
    You are able to develop device drivers for your custom hardware using the NI Measurement Hardware Driver Development Kit.
    However, it is not possible to use custom FPGA boards with LabVIEW FPGA. The FPGA boards have to be one of our R Series boards. Here are some links that should shed some light on the Measurement Hardware DDK.
    Measurement Hardware Driver Development Kit Frequently Asked Questions
    NI Measurement Hardware DDK (Driver Development Kit)
    Please post if you have further questios.
    Efosa O.
    NIAE

  • How to develope custom function modules in SAP R/3 system to maintain c...

    How to develope custom function modules in SAP R/3 system to maintain cross
    referencing tables for sales order number.

    Hi Raja,
    Steps to crate FM..
    Follow these steps..
    Go to the T: code SE37
    First You Create Function Group
    On That u specify
    Function Group Name..............
    Short Text..............................
    save...
    Go to SE 37
    Specify the Function Module Name: Eg: Z_Bapi_Materialmaster
    Short Text.......
    Save...
    Next Go to Attributes..
    Select Radio button : Remote enabled model
    Go to Parameters..
    Click Import...
    Give Parameter Type Associate type S.t
    next Click Export...
    Give Parameter Type Associate type S.t
    Next Click Tables Button..
    Specify tables..
    Next click source code button..
    Write Source code here..
    Eg : Select statements Etc..
    Finally we should be select the Radio button Enable remorely
    https://www.sdn.sap.com/irj/sdn/wiki?path=/pages/viewpage.action?pageId=39728
    https://www.sdn.sap.com/irj/sdn/wiki?path=/display/abap/bapi%2bstep%2bby%2bstep
    Hope this information is useful to you..
    Reward points if it is usefulll....
    Thanks ,
    Satya Kumar..

  • SPI with myRIO custom FPGA project template

    Hi Everyone, 
    I am wanting to interface to an SPI device using the myRIO. I can get everything to work in the getting started section.
    I have used the custom FPGA project template but am not understanding how to write/read from the RT vi. I understand SPI but the property names are not intuitive and ther is no explanation in the Documentation attached to the project. 
    When trying to use the Default FPGA build and the express vi's for SPI, LabVIEW crashes so can't even use that.
    Does anyone have any documentation on the project that can help?
    Thanks,
    Greg
    Certified LabVIEW Developer

    Hey @tom,
    I can create the myRIO FPGA template project, compile and use it without errors.  If you don't provide more specific details on what exactly you are doing, what errors you get and when you get them we can't help you.  If you can provide more details I'm sure we can figure out what is going wrong.
    Thanks,
    -Sam K
    LabVIEW Hacker
    Join / Follow the LabVIEW Hacker Group on google+

  • Driver development for custom PCI card

    Hi friends,
    I've a PCI card developed in-house. How to prepare a driver for the same in LabVIEW? Can I develop drivers in VISA? I don't have a manufacture id. Is there any other method to develop a driver for PCI card? Once developed, can I use them for other platforms like VC++? My OS is Windows 9X/NT & 2000. I need a driver to use for all these. Lot of querries! hope I made it clear.

    THE ANSWER IS THAT YES YOU CAN DO THIS IN NI-VISA!
    Some have said that you need a kernel driver. This is partially true in that a PXI or PCI card (they are the same as viewed by the OS) must have a kernel driver. NI-VISA provides one for you.
    You said that you do not have a manufacturer ID. This is a requirement of all PCI cards and no kind of driver will work until the card has one. Once you have this ID, run the VISA PXI Driver Development Wizard and it will generate an INF for you for all supported NI-VISA environments that support PXI/PCI. Read the instructions in the appropriate INF file for how to install it into the system so that the OS will attach NI-VISA to your device. It's really simple. NI-VISA supports PXI/PCI on Windows 95, 98, ME, NT
    4, 2000, XP, and LabVIEW RT.
    Some have said that MAX will just show you all PXI/PCI devices in your system. Your device will not show up until NI-VISA can see it, and that won't happen until you generate an INF as described above.
    Since the INF file associates NI-VISA itself to your card, the ADE you use does not matter. NI-VISA supports PXI/PCI in LabVIEW, CVI, MSVC, Visual Basic, or any other ADE that normally works with VISA.
    NI-VISA works well even with more advanced devices because we support all types of register accesses (config, I/O, memory) as well as interrupt handling. Just look at the visa.h that NI ships in the VXIpnp directory. If you are using C/C++, make sure you define NIVISA_PXI before including visa.h. If you use LabVIEW, you need to use the address space numbers as defined in visa.h.
    Good luck.
    Dan Mondrik
    Senior Software Engineer, NI-VISA
    National Instruments

  • Lack of modularity in Projects for EJB module

    Problem
    For a project you have many enterprise bean components. In JDeveloper, currently, all the information like persistence-type,
    resource-reference, etc reside in the ejb-jar.xml which is project specific.
    (1) In the real-world, developers work on different modules with small individual work spaces with a small number of
    enterprise components and web compoents with a CVS system to manage version of the source code
    (2) The developer works on the source and check it in the CVS repository
    (3) A packager will take components from the CVS repository and make a build for a customer according to the order
    (Build-to-Order approach)
    (4) In JDeveloper he might have to make the ejb-jar.xml again which is very cumbersome and timeconsuming
    Suggestion
    (1) The current system of maintaining ejb-jar.xml in the project is OK
    (2) But the information in the ejb-jar xml ABOUT EACH EJB COMPONENT should also be maintained at the EJB component level like
    a small ejb-jar.xml file specific to the one and only one component.
    (3) Whenever the EJB component id edited, this modular ejb-jar.xml file will be edited too.
    (4) Later while making the main ejb-jar xml for deployment, the info in these small modular xml files will be read, the main
    project level ejb-jar xml will be prepared.
    (5) The main project level ejb-jar.xml can also be prepared when the project is rebuilt (clean/force compile) and all te
    small modular files are updated.
    With regards
    Amit

    Hello,
    Yes we do read every OTN message, though we often have some internal discussion before we post a reply.
    In your specific situation, you could just break up the EJBs into different projects:
    - Each EJB module in a separate project.
    - Each EJB project builds a separate EJB JAR.
    - When assembling the EAR, pull in as many EJB JAR files as necessary to support the WAR and other pieces.
    JDeveloper already has support for the above setup. Starting with JDev 9.0.3, you can also establish dependencies between projects to make the classes built by one project visible to another project's classpath.
    For us to implement a complete solution where small ejb-jar.xml files are merged into one large ejb-jar.xml file, we'd like to understand how you'd go about resolving conflicts in elements being merged:
    - conflicting <method-permission>
    - conflicting <container-transaction>
    - conflicting <relationship-role>
    - conflicting <env-entry>
    - ... a number of other potential conflicts ...
    We could do automatic merges when there are no conflicts. For the situations where there are conflicts, can you describe some solutions that you would consider acceptable?

  • How to register a custom HCM module/application in Fusion Application

    Hi All,
    I am working on a Fusion Co-existence project and one of the requirement we have to create/register a custom application/module In Fusion Apps(Just like Creating Entry in FND_APPLICATION IN EBS).
    Once created we want it to be linked to a custom schema and custom Linus directory structure as well.
    Any help would be highly appreciated.
    Thanks,
    Ankit

    Hi Jani,
    We haven't deployed any application till now; Infact we are not even sure of it as we are EBS People predominantly. Here is what we need and Why:
    We are developing a custom integration to support the Data translations migrations from EBS to Fusion Apps in a co-existence environment. Solution is basically consist of :
    1.Extract the Data in Flat File using a Concurrent Program from EBS R12
    2.FTP the file to Fusion Server
    3.Read the file and write into Staging table using the SQL*Loader in Fusion Apps through a custom ESS Job
    4.Data validation and Import program in Fusion Apps through a custom ESS Job
    Since this is a custom solution The ESS Import/Validation jobs in Fusion Apps need to be register within a custom module (Like lets say XXHR). So the staging tables need to be created should be tied to custom Database schema linked with this application and the Files to be palced in the Fusion Server should be placed under the Custom XXHR_TOP/bin directory. Also the ESS job shold be registered with the custom application.
    So we are looking for a complete help on this.
    Hope it clarifies your questions.
    Thanks,
    Ankit

  • Calibrate cRIO modules with Veristand

    Hello,
    I am actually developping a sotfware application with a host PC (which has LabvIEW 2012 & Versitand2011 installed ) and a 9082-RT with NI9205, 9264 & 9403 modules.
    How can I do  the calibration of the cRIO modules by software application only ?

    Hi funkry,
    In order to calibrate your cRIO I/O modules you have to send them to National Instruments. indeed, there isn't manual process for those calibrations. 
    Unless you pointed out something else, you'll need to see with our services for the calibration of your modules.
    For your information, you can programmatically obtain the calibration coefficients from the on-board EEPROM using a property node (LabVIEW FPGA VI). You can refer to the two documents below for further information :
    - Moving CompactRIO VIs with Uncalibrated Data to FPGA Targets with Calibrated Data
    - Converting and Calibrating CompactRIO Analog Input Values (FPGA Interface)
    Hope it wil help !
    Cheers,
    Antonin G. Associated LabVIEW Developper
    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;}
    Communauté francophone des développeurs LabVIEW et des enseignants en STI2D
    Si vous souhaitez partage...

  • FPGA Project Wizard keeps crashing

    Hey all,
    I'm running LV 2011, FPGA 2011, RT 2011.  I click on FPGA Project and create a new one; select R series on PXI; and then click on create new system.  It crashes everytime at this point and an error dialog pops up (I've attached it below).
    I also installed NI VeriStand FPGA Interface Tools 2010 1.1.2 because I am going to be using the FPGA with VeriStand and I thought I would see if trying to create an NI VeriStand FPGA Project would work instead.  It crashes in the same spot as the regular FPGA Project wizard.
    I have used the installer to repair the FPGA Module and LV 2011; it didn't change anything.  Then I uninstalled LabVIEW and reinstalled it; still nothing.
    Does anyone have a solution to this problem?  I did see an earlier post dealing with this but the solution was not posted on the thread.
    Thanks.
    Attachments:
    error.PNG ‏24 KB

    What version of NI-RIO are you using? You may benefit from repairing the driver installation, or downloading and installing a later version. The reason I say this is because when we're talking about adding devices to the project, on some level this will be performing some interaction with the NI-RIO driver since this is where all of the references to targets will live.
    I'd recommend also trying to add the target to a LabVIEW Project manually rather than using the FPGA Project Wizard.
    Open an Empty Project in LabVIEW.
    Right click on My Computer and select New » Targets and Devices.
    Select New Target or Device and select your PXI from there.
    You can then right click on the PXI within the project and go through the same process to add an R Series Target.
    I've attached the finished project to this post if that fails.
    Alex Thomas, University of Manchester School of EEE LabVIEW Ambassador (CLAD)
    Attachments:
    PXI FPGA Project.zip ‏3 KB

  • SAP PI crashes because of Custom Adapter module

    Hi,
    We are facing a strange problem. We have deployed a custom adapter module developed in java which accesses a Hardware Security Module(HSM) and uses the keys in HSM to digitally sign our data. Now, when I use particular methods in this code and deploy it on PI server, the server crashes while testing this out. As soon as I run the channel having this adapter module, PI server becomes unavailable. It restarts on its own after a few minutes.
    One of the reasons I identified to be causing this issue is the signing mechanism used in code. When I used a mechanism that was not supported or not correct, it crashed the server. If i corrected it, it worked fine. I found no other thing in my code causing this behaviour apart from this mechanism. But I am still not able to understand how a single method in a code can cause the whole server to crash. Has anybody here faced such a problem? Any pointers would be appreciated.
    We are using SAP PI 7.31 java only installation.
    Thanks,
    Ravi Desai

    Hi Ravi
    1. To check if it is a memory issue. Once you start the channel, check the memory usage in nwa. Check if the memory is increasing once the channel is started.
    2. Add debug statements to print logs in default traces at as many places as possible. Since your code is not reaching the Catch block, using the debug statement you can reach the line in the code which is causing this issue.
    Regards
    Osman Jabri

  • How to write the custom Function Module to trigger the Alert.

    Hi all,
    I have developed a custom alert category in Tx - alrtcatdef. Now i want to trigger it from my custom function module. what should i do or what is the procedure to trigger the alert from my custom function module.
    Arul Jothi

    hi arul,
    try this program.
    RSALERTTEST.
    check out this link...
    <a href="/people/ginger.gatling/blog/2005/12/02/innovative-ways-to-use-alerts:///people/ginger.gatling/blog/2005/12/02/innovative-ways-to-use-alerts
    regs,
    jaga

  • SOAP Web Service +  Custom Login Module issue

    Hi Guys,
    We faced an authentication issue in our project. Could you please give any advice how the issue could be resolved.
    Environment: A simple SOAP Web Service on top of POJO class created in a Web Application. The web application deployed to the SAP NetWeaver 7.10 Application Server in the Enterprise Application Archive.
    Configuration:
          Single Service Administration Application(NetWeaver Administration -> SOA Management -> Application and Scenario Communication -> Single Service Administration)
           The web service endpoint has authentication configured to use User ID/Password HTTP Authentication.
        Authentication Application(NetWeaver Administration-> Configuration Management->Security->Authentication)
          The application(<vendorName>/<earName>*<vendor>~<webAppName>) has Authentication Stack configured to use our custom login module.
    Issue:  BasicPasswordLoginModule used by the J2EE when we are trying to execute the web service using Web Service Navigator(checked in debug mode). It seems that we missed something in configuration.
    Idea: The main Idea is to use our custom login module when we are executing a web service.
    Could you help me to resolve the issue.
    Thanks,
    Dmitry
    Edited by: Dmitry Eidin on Jul 17, 2009 3:46 PM

    > The web service endpoint has authentication configured to use User ID/Password HTTP Authentication.
    That's the point.

  • Editing Old Project from External Hard Drive

    Last year my G5 developed an incurable Kernel error issue. I decided to buy a new iMac and have been very pleased. I backed up my system to an external hard drive and now I would like to access an old project from the external drive.
    I selected the external drive and went to the last date of my backup. However, this is where I have no idea how to complete this task. Can I simply open FCE and import the project from the drive? Will all of the media transfer over?
    Would really like to know the ins and outs before I begin and paint myself into a corner. Any help would be appreciated.
    Thanks!

    Tom:
    Not sure what you mean by "restore". I am assuming I will need to do the following:
    1. Open FCE
    2. Import the old project from my external drive
    3. This is where I get lost. Can you please fill in the blanks from her for me. I cannot seem to find the instructions to do this anywhere.
    Thanks!

Maybe you are looking for