On Nov 7, 2007 9:40 AM, Uwe Bonnes <[EMAIL PROTECTED]> wrote: > Hello, > > the last day I am banging my head against the problem how the data is > structured for the USB transfer between the FX2 and the PC. Datasheet, > FX2 reference and the web didn't givve me the right clue. > What I understand: > - the FPGA pumps interleaved samples into the FX2 fifo via GPIF. E.g. > http://www.nd.edu/~jnl/sdr/docs/tutorials/4.html talks about a sequence > I0 Q0 I1 Q1 I2 Q2 I3 Q3 I0 Q0 I1 Q1, etc. > - these samples are somehow grouped into 512 byte blocks and sent over USB > - the PC receives these blocks and must somehow know where a data group > starts > > I can only think that always 512 byte blocks are transferred. With a > full number of data groups fitting into the block, the block would always > start with I0. But what happens if the PC gets out of sync, by not reading a > full block with some strange event? Then the next 512 byte blocks read would > always start somewhere in the datagroup. Any way to resync? Are short > packets and the PKTEND signal used?
I was under the impression that the 512 byte blocks are atomic and cannot be broken up - even on a bad packet reception over USB. A while ago I put together a small page about the FX2 on the wiki with links to the source code and what I saw it do. http://gnuradio.org/trac/wiki/FX2 Hope that helps. Brian _______________________________________________ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org http://lists.gnu.org/mailman/listinfo/discuss-gnuradio