top | item 45755402

(no title)

kfterrg67 | 4 months ago

>"bit-banging" typically means using the CPU

This is significant. It's using a hardware peripheral that is designed and intended for high frequency IO manipulation without CPU intervention. This isn't bit-banging, lest we start calling it "bit-banging" any time an FPGA or ASIC or even a microcontroller peripheral handles any kind of signalling.

discuss

order

ssl-3|4 months ago

It's a programmable hardware peripheral runs compiled software to toggle pins in a way that is entirely defined by that software.

Here, it runs software that allows it to talk 100mbps Ethernet.

Someone else might use that same hardware peripheral to drive a display, or produce a PWM output, or whatever.

The RP PIOs just run software. That software can bang bits.

Dylan16807|4 months ago

Technically it's running software on the programmable I/O, but that software is just a loop of four outputs that advances when it gets a 1 bit and doesn't advance when it gets a 0 bit. It feels like the hardware that manages the buffer and turns it into a high speed serial stream is doing the more important work here.

And the CPU that's actually deciding on the bits doesn't have to bang them with precise timing, it just has to put them into that buffer.

picture|4 months ago

Yeah but like FPGA fabric can also be programmed (sometimes by actual software like on Zynq or Stratix SoCs), would you call those bit banging too?