USB interrupt for a realtime bus

Hello, I try to read USB spec but I have no answer. Perhaps you could help me Configuration: host (full speed) using interrupt mode + hub1 + device1 +hub2

+device2 devices are also full speed.

The host must do on each cycle:

1) read inputs(4 bytes) on device1 2) read inputs(4 bytes) on device2 3) write outputs(4 bytes) on device1 4) read inputs(4 bytes) on device2

I would like to know if a :

- Q1) Realtime is possible on the 2 devices ?

- Q2) What will be the host cycle time?

- Q3) Cycle time if host is High speed and devices are Full speed?

- Q4) Cycle time if host is High speed and devices are also High speed?

Here are my answer but I am sure I am wrong. Please correct me. Q1: Yes is can be realtime with a very small jitter Q2: 1) 1ms + 1 ms (hub) + 1ms 2) 1ms + 1 ms + 1ms 3) 1ms + 1 ms + 1 ms 4) 1ms + 1 ms + 1 ms Total = 12ms Q3: No improvment because devices are Full speed = 12 ms Q4: 12 microframes = 1.300 ms

Reply to
charly
Loading thread data ...

All 4 devices can be serviced within the same frame, even on full speed, so the cycle time is 1 ms.

Reply to
Arlet

If you want realtime operation, you should not rely on a PC. Build something embedded that is controlled from a PC. A PC can always be unexpectedly busy

Rene

--
Ing.Buero R.Tschaggelar - http://www.ibrtses.com
& commercial newsgroups - http://www.talkto.net
Reply to
Rene Tschaggelar

Yes I will not use PC but ARM and a RTOS. charly

Reply to
charly

It seems to short for me: For one device: WriteOut = 1ms ReadIn = 1 ms Total is 2 ms

and With cascaded hubs we have to had the Hub microframes (SSPLIT, CSPLIT) The total time could be : 5 ms for device2. I am wrong?

Charly

Reply to
charly

Split transactions are only used when the host and hub are running high speed, and the attached device is running at full (or low) speed.

In your scenario, the host is running full speed as well, so the split transactions aren't used. Instead, the hub forwards the packets as they come in, with only a small propagation delay.

For a high speed host, with split transactions, each step is done in a high speed microframe, which is 125 us.

Reply to
Arlet

Apart from Transmeta and some versions of the Geode SMM mess, what is wrong with the PC architecture for realtime applications ?

Is it the fault of the PC architecture that some non-realtime operating systems, such as Windows and Linux can be executed on it ?

Paul

Reply to
Paul Keinanen

The architecture is basically alright, but the problem is the OS, especially if from Microsoft. Suitable RTOS's do exist.

--
 Chuck F (cbfalconer at maineline dot net)
   
 Click to see the full signature
Reply to
CBFalconer

With USB host included in a real time OS (Vxworks or ThreadX), it shoud be possible to send all OUT frames in the next 1 ms frame. Some one could confirm?

Reply to
charly

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.