Jump to content

Possible to dedicate an entire CPU core to software timing?


Sparkette

Recommended Posts

I want to use a MyDAQ to communicate with a serial LCD I got at RadioShack. However, it is my understanding that the MyDAQ doesn't have built-in hardware timing for digital I/O. I know I could use one of the analog outputs as a digital line, but I'd rather use an actual digital output if possible.

My computer has a 6-core processor, so I was wondering if maybe I could use one of those processor cores for the same purpose one would use a real-time OS. Is there any way I could install something that would run at kernel level and make Windows temporarily behave as if there were only five cores, giving my VI exclusive control of the remaining core to use for timing? (or would other USB devices, or the USB controller itself, add too much latency?)

Or is there some other way I haven't thought of to output a 9600-baud serial output from a MyDAQ digital line?

 

EDIT: Thank you, whichever moderator clarified the title for me as I requested!

Edited by flarn2006
Link to comment

Thanks for the counter tip, I'll take a look at that when I get a chance. If that doesn't work, I'll just keep using the serial out on my Arduino.

 

Also, I looked up the myRIO, but on NI's website it doesn't even list the price, and says to contact my NI representative! Can't find one on eBay (where I got the myDAQ) either. But seriously, why wouldn't they list prices? If they did wouldn't they get more business, because it would be easier to buy it?
 

(Humorously, when I searched for "ni myrio" on eBay, it autocorrected to "ni mario"!)

Edited by flarn2006
Link to comment

My computer has a 6-core processor, so I was wondering if maybe I could use one of those processor cores for the same purpose one would use a real-time OS. Is there any way I could install something that would run at kernel level and make Windows temporarily behave as if there were only five cores, giving my VI exclusive control of the remaining core to use for timing? (or would other USB devices, or the USB controller itself, add too much latency?)

 

Just to answer this original question, yes it must be possible.  I have an Aerotech stage controller which installs a Real-Time extension that reserves one core, and Windows thinks it has one less.  I don't know how this is done, nor if it's a sensible solution to your problem - probably not would be my guess.

 

Just thinking further, I wonder if LabVIEW RT could be set to run one core (or several) of a Windows machine?  I wouldn't be surprised if NI hadn't tried this at some stage, and now it's easy to get a dozen cores or more.

Edited by GregSands
Link to comment

Just thinking further, I wonder if LabVIEW RT could be set to run one core (or several) of a Windows machine?  I wouldn't be surprised if NI hadn't tried this at some stage, and now it's easy to get a dozen cores or more.

 

The NI Real-Time Hypervisor supports this, but only on dedicated targets http://sine.ni.com/nips/cds/view/p/lang/sv/nid/207302.

 

/J

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.