IIUC, you're not talking about an oscilloscope, but rather about a logic analyzer.
You basically have two possible routes: 1. Periodic sampling of digital inputs. Send either raw data of some kind of compressed data over USB to the host, where the decoding of the protocol will take place. You'd be bounded by the PIC clock rate (16MHz) as well as by USB bandwidth. My gut feeling is that raw 3MHz would not be feasible, and certainly not on more than one channel. 2. Decoding of specific protocols using the on-board peripherals (for example, to sniff a SPI bus you'd need two SPI peripherals on the PIC, both acting as slave, one sniffing MISO and the other sniffing MOSI. You might be able to hit peak data rates of up to 8MHz, as long as the average throughput is low enough to leave you some CPU time and USB bandwidth to get the data across. Both options are non-trivial and require some amount of work on the firmware before even getting started on the software side. Even if you go ahead and do it, the end result will be most likely very limited in its bandwidth. "Real" logic analyzers typically use FPGA in order to achieve high data rates. I'm using the Saleae Logic 8 at home and Logic 16 at work. Both are highly recommended, but may or may not justify the cost, depending on your intended usage. On Thu, Feb 27, 2014 at 5:27 AM, Chiong Ching Lai <[email protected]>wrote: > Hi, > > I am planning to implement software decoder for I2C, SPI and I2S on IOIO > OTG using DigitalIO and perhaps with PulseInput. > Basically I have two devices (not IOIO) talking to each other using one of > the protocol above, and use IOIO OTG to tap/probe their communication > for both RX and TX data. Something like using IOIO OTG in place of > oscilloscope. > > My concern is that SPI and I2S clock rate will be running up to around > 3MHz. May I know what is the maximum sample rate for DigitalIO? > Am I out of my mind? > > Thanks. > > -- > You received this message because you are subscribed to the Google Groups > "ioio-users" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To post to this group, send email to [email protected]. > Visit this group at http://groups.google.com/group/ioio-users. > For more options, visit https://groups.google.com/groups/opt_out. > -- You received this message because you are subscribed to the Google Groups "ioio-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/ioio-users. For more options, visit https://groups.google.com/groups/opt_out.
