Imp005 Interface

I am interested in using imp005 in my next platform. This includes a high performance BRCM processor therefore I believe it is possible to get a decent bandwidth using this solution. The problems I see are:

  • No DMA support on SPI: I cannot get data fast out of this module. Is this just a current firmware limitation? Should we expect a DMA enabled in the near future?

  • Do you plan to support other interfaces such as SDIO so that we can connect another CPU using that interface and do a high speed data transfer?

The Broadcom chip has no DMA hardware for SPI - it’s just one step above bit-banging. It will, unfortunately, never be fast.

The SDIO interface is permanently disabled on this chip for security reasons (at a silicon level), so you can’t use that.

Your only option for high bandwidth is USB host. USB device is also permanently disabled for security reasons. We currently support OHCI (12Mbps).

What bandwidth does your application require?

30+ mbps, which is not going to be possible OHCI. Will you support EHCI? Also, do you think it will be possible to connect another MII type interface directly to this chip? (i.e. eliminate PHYs in between but rely on MII type interface)

Hugo, another question, I still have time for my project and I can wait. Do you think imp004 will have 30mbps type bandwidth? (No public info on this and sadly your earlier documentation is no longer on the web site)

No, no imp has that level of sustained bandwidth - for several reasons.

  • Traffic is via the imp cloud, which means all traffic is over a TCP TLS connection
  • Maximum bandwidth is then limited by the latency to the cloud and the TCP buffer sizes. Rounding 30Mbps to 4MB/s, if you had perfect 100ms latency you would need 400kB in TCP buffers (no imp has that amount).
  • You’d need to be doing AES on 400kB/sec (only imp005 has crypto hardware - all others are software crypto - 400kB/sec is theoretically possible in isolation but unlikely it’d actually happen in a running system shuffling all that data about)
  • The imp service is not designed for that type of data rate

Sounds like you are not actually looking for an imp at all, but rather a linux box with wifi - plenty of RAM, much faster CPU, etc - maybe a raspberry pi 3? That should have no problem with the data rates you’re after.