I ran an experiment to help determine the “dead” time between USB packets to the XEM3001 module. Here is my setup:
I am using the XEM3001_v1 module (8-bit version).
My PC is a windows XP Dell Latitude D600 laptop with a 2GHz Pentium M processor using USB 2.0 ports.
I created a FOR loop in my software application to toggle a wireOut on the XEM module. I observe the toggling bit using an oscilloscope to measure the toggle rate.
Obviously the frequency is variable depending on Windows OS tasks, interrupts, etc. However, averaging out the toggle rate, I am seeing about 500 microSecs to flip the bit.
Has anyone made this type of measurement? How does this compare with applications using the frontPanel? Is this intrinsic with the USB drivers + serialization/deserialization + XEM USB controller overhead? Can there be something done in the driver to speed this up?