SPI Interface Questions

  • I'm posting in the LoPy forum, but I suppose this should apply to all current Pycom boards.

    I have some questions about the SPI interface:

    • Is the current SPI implementation hardware or software based? If software, are there any near-term plans to move this to hardware?
    • What is the maximum baudrate/clockspeed supported?
    • Is it possible to change the baudrate/clockspeed on an already-instantiated SPI class by calling init with just the new baudrate, while leaving the other parameters as-is (i.e. the ability to change the speed of a given SPI class on-the-fly)?
    • It is possible to instantiate more than one SPI class on the same I/O pins (i.e. assuming that they won't be used at the same time, can each device on the SPI bus have its own SPI class variable, all referring to the same DI/DO/CLK pins)?

  • I can offer the following info;
    The SPI is implemented in hardware. (I2C not yet, still software)
    Maximum clock rate is half the system clock frequency which currently is set at 160Mhz, so SPI clk can be as high as 80Mhz.
    Next slower frequency will be 40Mhz, then 20Mhz, then 10Mhz ......

Log in to reply

Pycom on Twitter