I'm trying to write a simple logic analyzer to run on the PIC 32. It will poll a pin (or pins) (either via interrupt on change, or preset sampling rate), and send data to the PC via USB. A few questions: 1. How should I manage the USB transfers? There's not enough RAM on the PIC to store and then transfer all at once, so I'm not even going to bother. I'= m going to transfer on the fly, as it's sampling. I don't need more than 1 MSPS anyway, so this should be fine. Should I transfer a byte at a time? 64 bytes at a time? 30kB at a time? How I have it set up now is the PIC32 running at maximum performance at 80MHz and Timer1 prescaled 1:8, and loaded with a period of 10. So the tick frequency is 1MHz. Every time the a timer goes off, an interrupt occurs, an= d the pin is sampled. The ISR itself handles the loading of the buffers, etc. (Is that the right way to do it)? So should it call a USB transfer every byte? 64 bytes? 30kB? Note: I'm using the generic USB package from the Microchip application libraries by the way, so simple generic USB bulk transfers. Is there a faster way to stream data through USB while sampling? 2. I looked into DMA transfers to USB, but it was impossible to search for any examples, and it looks pretty complicated, so I don't know. 3. The other option is to get 128MB of DRAM from somewhere and hook up to the PIC, but DRAM interfacing will be pretty complicated, and I want to kee= p it simple. Other than that, I'm out of ideas for now. What's the main concept for sampling fast and transferring on the fly? Or i= s that not possible? --=20 http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist .