Real-Time Measurement and Control

Showing results for 
Search instead for 
Did you mean: 

Adding FPGA I/O on sbRIO9607

Evening All,


I have been trying to add IO ports to my sbRIO project all day, for the FPGA to use to that I can read an I2C bus and havn't had much luck and my Google key workds aren't correct as I havn't found anything useful yet.


The I2C API that is avalable(this one) currently asks for the I/O to be defined as a port and the VI's then take care of the direction switching ect, and I havn't been able to get put ports to be added to my project. I have managed to create a CLIP file, and defined the Ports that I am going to use for my I2C, but when I create the port I am given 3 resources, _In, _Out and _enable as shown in this picture: (I note that the symbols for all of the RMC socket ports are have grey internals rather than the Orange internals for the On-board I/O symbols, and couldn't find any information on the difference between them)Project Explorer.png


I have also tried to add new FPGA I/O buy right clicking on the target and navigating too newàFPGA I/O, but in the new window, there are no available resources listed. Picture below:

add new IO.png


Can anyone surgest what I am doing wrong, or not doing at all? I'm a bit stuck.


Thanks in advance



0 Kudos
Message 1 of 11




First of all, do you have own RMC card or are you using NI RMC card such as NI 9683, NI 9694 or NI 9697?


 Add RMC card by right-clicking on the FPGA Target >>New>>RIO Mezzanine Card

0 Kudos
Message 2 of 11

Hi Miro_T,


I am currently using a NI 9694 for testing work, but will eventually design our own card.


I don't have the option to add a RIO Mezzanine Card. See picture:







0 Kudos
Message 3 of 11

The socketed CLIP IO API and the Target IO API for DIO on sbRIO are mutually exclusive.


You can either add an RMC target or a socketed CLIP to your project, but not both, unfortunately.


If you want to take advantage of the performance tweaks and/or extra serial/SD interfaces exposed in the socketed CLIP, then IP (such as the I2C IP) will need to be adapted to the 3 signal IO nodes (Write, Read, Enable) that the socketed CLIP exposes.  


Alternatively, use the I2C IP that was designed for FlexRIO which is already appropriate for the socketed CLIP IO.

National Instruments

To the pessimist, the glass is half empty; to the optimist, the glass is half full; to the engineer, the glass is twice as big as it needs to be has a 2x safety factor...
Message 4 of 11

have same problem on a freshly created sbRIO9607 target - no resources for FPGA IO. And the RMC socket is empty - no clips. So I don't see that the statement applies:

@Spex wrote:

The socketed CLIP IO API and the Target IO API for DIO on sbRIO are mutually exclusive.


 What am I missing in order to add FPGA IO's on the RMC?

0 Kudos
Message 5 of 11

SOLUTION: Starting all over: Reboot target, Restart LV2016, Create fresh target in the project, made the 

New->Rio Mezzanine card right click option appear. This enables the IO's to access these individually without any CLIP. Not sure why I had to do this procedure again to make it work. Anyway - seems to be on track again.

Message 6 of 11

Hey! I'm using mezzaine card  9683 with sbrio 9607. I'm having trouble... The DI/Os are not working properly. Can you please help out. I've attaced the picture. What actually I'm doing is simply loop back the DI/O pins.


0 Kudos
Message 7 of 11

You might want to start a new thread. I'm guessing your problem isn't the same as the socketed clip problem above.


Also, you should post a snippet or a vi instead of a picture of you code. 

Can you give us more details on "not working properly?" I don't see any broken wires so I'm not sure what's wrong.

0 Kudos
Message 8 of 11


Could it be possible to use the additional serial pin (ASLR:2) simultaneously with the RMC card. In my case, I'm using 9694 but whenever I add the RMC card my "Socketed Clip" removes from the project. Can you please tell me the way out to simultaneously used both of them.  My application requires two serial ports.


0 Kudos
Message 9 of 11

You can use the IO but not with the convenient RMC project interface. You have to use the socketed clip interface and explicitly allow each IO.


The other solution (the one I implemented) is to write your own UART driver instead of using the CLIP. There's an example over here:

0 Kudos
Message 10 of 11