i'm working on a data acquisition using the FX2LP chip , i have to make sure the data can be transfered at 20MHz per second last for at least 30 seconds , with no interrupt or delay. what transfer mode do i need ? can bulk mode be used in this situation?
You should use ISO streaming. BULK transfer is handled by the OS if no other USB transfers are on the way. BULK is fast (40MB/s max) but can be interrupted by the OS. We measured up to 100ms idle with Windows XP....Windows 7 is better, but the problem is the same. If you use BULK, you have to add large hardware buffer for continous streaming. I think ISO streaming is better for you, with ISO you can transfer up to 24MB/s with guaranteed bandwith.
thanks very much!
if i use bulk mode in this situation ,how large the hardware fifo do i need ? is there a method to caculate the deep of the hardward fifo?
and what is the best configeration of the fx2 slave fifo,512*4 or 1024*2 or others ?
Go with Iso only if your design can work with data loss bcoz iso does not do retry if packet is corrupt. Otherwise use interrupt endpoint, it has the guaranteed bandwidth like isochronous and retry if packet is corrupt.