Machine Vision

cancel
Showing results for 
Search instead for 
Did you mean: 

Resource Allocation for IEEE 1394 (Firewire) Cameras in Triggered Mode

 

In this article:

Resource Allocation for IEEE 1394 (Firewire) Cameras in Triggered Mode

http://digital.ni.com/public.nsf/allkb/ED092614FCCC900D86256D8D004A3B0C

 it says "The Bytes Per Packet value represents the number of bytes that are transmitted at consistent 125us intervals on the FireWire bus during image acquisition" and the reciprocal of the 125us value would seem to be the source of a value of 8000 in a subsequent formula used to calculate the frames per second.

 

Is this 125us value independent from the firewire bus speed or a function of it?

If it is a function of bus speed, how does it vary with speed?

(Is the 125us value for 400Mbps and 250us for 200Mbps?)

 

Thanks!

0 Kudos
Message 1 of 4
(2,939 Views)

Hello Warren

 

Thank you very much for getting in touch with us.  Although the Firewire standard itself is not technically supported by National Instruments, I will do my best to assist you.  I am currently referencing the IEEE 1394 documentation.  From what I'm reading, I do not believe the 125 microsecond value changes.  I have copied and pasted the paragraph of interest under Bus Arbitration from a document that I referenced:

 

The arbitration mechanism gets more complicated when isochronous devices are connected on the bus, because those devices have already been guaranteed bandwidth.  Each arbitration round is approximately 125μs long, so bandwidth is allocated as a portion of the 125μs interval.  The root node broadcasts (sends a message to node 63, the broadcast address) a cycle start packet, which begins the arbitration round.    All interested nodes send an arbitration request as before, and the winning node is still the node closest to the root.  After .04μs of bus idle time, the remaining nodes arbitrate for control of the bus.  Once each isochronous node has completed its transaction the time remaining in the 125μs interval is used for asynchronous transactions.  Up to 80% of the bus bandwidth may be allocated to isochronous transactions and the remaining 20% is left available for asynchronous transactions.

 

The original document can be found here:

 

The FireWire Serial Bus and its Implementation

 

I, unfortunately, cannot claim to be an expert on the IEEE 1394 standard but from what I've researched, the 125 microsecond time allocation is standard and bandwidth is then allocated accordingly.  I may recommend consulting IEEE 1394 Trade Association (http://www.1394ta.org/about/Contact.html) for more in depth information.  Please let me know if this is sufficient or if I can be of further assistance.  I will do everything I can to ensure that your issues is resolved.

 

Have a great day!

Sincerely,

Greg S.
Message 2 of 4
(2,931 Views)

Thanks Greg. That's what I needed to know.

I was trying to figure out what factors contributed to consumption of the available bus bandwidth as I'm working to get multiple cameras to share a single bus.

The cameras are configured for "Mode 7" operation and all of them receive a single common external trigger.

0 Kudos
Message 3 of 4
(2,921 Views)

Hello Warren

 

I'm glad I could be of a assistance.  All the best!

Sincerely,

Greg S.
0 Kudos
Message 4 of 4
(2,918 Views)