01-08-2009 11:21 AM
I have a program that needs to swap FPGA programs dynamically. I have a subVI in the real-time that executes this function but sometimes (over 50%) receives an error -61141 which is explained as "FPGA is busy". The error always occurs at the open reference. I know that the current FPGA stops because I am monitoring the outputs. Here is a link to a picture of the block diagram:
http://picasaweb.google.com/lh/photo/BxZp4jVinxA3lqyg4_OMzQ?feat=directlink
Any help is appreciated,
-Steve
01-09-2009 04:41 AM
01-09-2009 08:26 AM
01-09-2009 10:23 AM
01-09-2009 10:55 AM
Hi Steve,
I have a couple of thoughts. First of all, are you dealing with multiple FPGA's or is this just with a single piece of hardware. Iis the FPGA remote, or in the local system? Also, are you dealing with any other FPGA references elsewhere in your code? Finally, is the error generated at the Open Reference, or elsewhere?
Try changing the Close Reference to just Close (not reset). You can do this from the right-click menu on the Close Reference VI.
01-09-2009 11:11 AM
To answer Christian's questions:
This is hosted on a cRIO 9074; LabVIEW ver 8.6; RT ver 8.6; FPGA ver 8.6; NI RIO ver 3.0
To answer Brian's questions:
This project is a single 9074 FPGA target through a network so it is listed as a remote system. This is the only FPGA reference in the code and the error always comes from the Open Reference VI. For the close reference VI, I have tried both Close and Close & Reset. In both configurations the open reference returns the error.
-Steve
01-09-2009 03:07 PM
). Also, have you tried simplifying your code to see if you can reproduce it without going through VI boundaries? Are you calling VIs by reference?
01-09-2009 03:17 PM
Obvious questions are never bad in my book. ![]()
Yes, if the user switches back to the record the second ref is closed. There is also a close in the exit case. This VI is not dynamically called, it is a regular subVI. At one point early in development this was not a subVI, I will try pulling that up to the top level in the RT.
-Steve
01-10-2009 09:54 AM
Hi Steve,
I guess I'll jump in. First, why are you switching FPGA files? Have you reached the maximum size of your FPGA, or is this part of some grander scheme. I ask because the easiest solution would be to just combine the two together.
01-11-2009 09:37 PM
Good question, but yes it is part of a grander scheme. First, we are using this as a baseline architecture going ahead. Second, I am using multiple FPGA files due to DMA limitations. Both of my FPGA files use two DMA channels each, the maximum per FPGA is three.
-Steve