Jump to content
OMRON Forums

Minimal Latency USB on Power UMAC CPU


pennells
 Share

Recommended Posts

Is there anyway to utilize one of the USB ports (probably the USB 1 port) to input real-time data for use in the motion control system and therefore minimize the latency down to the 5ms ball park. It would appear that you can tweak the standard Linux RT to do it but I'm not clear on weather you can do it on the Delta Tau version since the documentation implies that only the Power PMAC tasks are "foreground" and that the other tasks are part of the GPOS and therefore lower-priority background tasks. I planned to use the ethernet to output telemetry in real-time and need a serial input portal to read data with less than 10ms latency. Before I go too far down this path, I wanted to confirm that it is even possible.
Link to comment
Share on other sites

  • Replies 8
  • Created
  • Last Reply

Top Posters In This Topic

pennells,

 

We are not planning to use USB for communication on Power PMAC. At the moment the best bet is to use UDP on Ethernet, which should give you the latency which you're interested in. However, we are looking into adding RTnet project to Power PMAC firmware which should provide much better latency since it is a read time Ethernet protocol preventing any collisions. You can read about this project here: www.RTnet.org

Link to comment
Share on other sites

Pennells,

 

USB port in Power Pmac is only host port and not a slave port. No Power Pmac IDE or telnet or SSH connection can be made through USB port. However, you can plug a USB to Serial converter to Power PMAC and send your data that way. Would this be an accptable option for you?

Link to comment
Share on other sites

I'm using the USB<->RS-232 adapter by prolific with success. Delta Tau supplied me with a modified linux kernel that has these drivers prebuilt into it. Keep in mind that it is not "hard Realtime" since using the linux kernel's USB driver is not part of the realtime kernel, but rather xenomai dropping back into linux scheduler to do the serial port read. In that sense I'm not sure it is much better than using straight ethernet communication in linux mode and then switching back to hard realtime.

 

Keep in mind that Delta Tau lets you do C language "Background Programs" which have access to the xenomai Posix threading skin. This means you can create your own posix realtime threads to do whatever you want. I use this approach myself and created my own library to simplify thread creation for our types of applications.

 

I'm glad to hear you guys are looking into a RTNET driver for PPMAC! I would hope that this would work on one or more of the built-in ethernet devices.

 

KEJR

Link to comment
Share on other sites

Pennells,

 

USB port in Power Pmac is only host port and not a slave port. No Power Pmac IDE or telnet or SSH connection can be made through USB port. However, you can plug a USB to Serial converter to Power PMAC and send your data that way. Would this be an accptable option for you?

 

No, it's okay. I will just use one of the Ethernet ports. But I guess you are telling me that I can use the RS232 port as an IDE or terminal connection?

 

Actually, just found out about the ACC-72E. We may be able to do everything using a CanOpen system. The card isn't easy to find from the Delta Tau sight without knowing it exists. I was trying hard to find some sort of communications card and additional communications function to another card.

Link to comment
Share on other sites

  • 2 years later...

Is the RTnet lib still a library Deltatau would like to add to the projet? Did someone already used it?

 

Another question on Eth port:

Do the 2 Ethernet ports, Eth0 and Eth1, have:

- independant hardware ?

- independant driver/software ?

I would like to send UDP data on port Eth1 without disturbing Eth0 which i use for standard communication.

 

Thank you

Link to comment
Share on other sites

symetrie,

 

I have not used RTnet, but through Linux you can easily use Eth0 and Eth1 separately or together. For example, I have a custom Ethernet driver that uses Eth0 for a control port and Eth1 for a maintenance port.

 

Also, I typically see less than 1 ms of latency for all Ethernet transfers less than 16384 bytes.

 

But again, this is using the standard Ethernet through Linux, not using RTnet.

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
 Share


×
×
  • Create New...