Philip N Daly wrote:
>
> Hi all,
>
> Not specifically real time Linux but does anyone know:
>
.
.
.
> 2. How long the delay is when reading from a PCI card ... i.e. if
> the operation value = readPCI(channel) is atomic, how long would
> it take to execute that instruction (again in ns, us, ms)?
Typical 33 MHz PCI hardware latencies are 10-20 uSec according to an IBM
datasheet. Add to this any delays caused by the 'readPCI' code running
on the CPU before and after the read. The PCI 2.1 Specification has two
equations for calculating bus latencies after a device wins arbitration
of the bus:
worst case:
latency (bus clocks) = 16 + 8*(n-1)
n = number of 32 bit words transferred
bus clocks = 1/33 MHz or 1/66 MHz depending on your PCI bus speed.
typical case:
latency (bus clocks) = 8 + 8*(n-1)
The arbitration latency is:
m * Latency Timer
m = number of masters ( max is 8 )
Latency Timer = typical is 22 bus clocks
Your total PCI bus delay is the sum of the two latencies.
- Each device can have a different timer setting. Check the settings
of your devices.
- Some devices can do an endless data transfer without a timer.
- Normal Linux can start a PCI data transfer that can run into
a real time Linux interval.
Experiment with your system setup. If you need shorter delays stop any
unnecessary Linux PCI transfers. Plan the transfers better.
The PCI 2.1 Specification is available for download at:
http://akulin.npi.msu.su/docs/standard/pci21.pdf
Latencies are covered in section 3.5.
- Kal.
>
> Thanks in advance,
>
> +==================================================================+
> Phil Daly, NOAO/AURA, 950 N. Cherry Avenue, Tucson AZ 85719, U S A
> E-mail: [EMAIL PROTECTED] V-mail: (520) 318 8438 Fax: (520) 318 8360
>
--- [rtl] ---
To unsubscribe:
echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR
echo "unsubscribe rtl <Your_email>" | mail [EMAIL PROTECTED]
----
For more information on Real-Time Linux see:
http://www.rtlinux.org/~rtlinux/