Hello Jerry

The reason I suggested using an F-RAM with SPI instead of I2C is because the SPI parts offer more memory space (2 Mb as opposed to 512 Kb) and faster communication (up to 40 MHz opposed to 1 MHz). This may be advantageous when handling large amounts of data.

Note that unlike serial EEPROMs, the F-RAMs can perform sequential writes at bus speed without pause between pages. So the overall write data rate is proportional to bus speed.

Larger PICs have a built-in master synchronous serial port (MSSP) hardware block which could be employed to take advantage of the faster SPI F-RAMs. To my knowledge, the MSSP is not directly supported in PBP, unfortunately. So you would have to look in the PIC's datasheet how to deal with the MSSP related registers and write some dedicated code yourself.

Lukily, as I see from the datasheet of the RAMTRON FM25640 F-RAM, the serial interface is only half-duplex (see timing diagrams of the read commands). Data flow is either on the serial input (SI), or on serial output (SO), but not on both lines at the same time. Thus you can use the PBP commands SHIFTOUT and SHIFTIN to handle the F-RAM.

I am about to include the F-RAM device mentioned above in my next PIC project. If desired I will post some related code here once it is done, but you will have to wait until end of this year.

Regards,
Hans