4 ms·
Actually, on second thought I'm not sure that would work. If you had an interrupt fire in the middle of a bit and held the line low for more than 8 microseconds
by aappleby 3y ago
Actually, on second thought I'm not sure that would work. If you had an interrupt fire in the middle of a bit and held the line low for more than 8 microseconds (I think, would have to check the spec) you'd reset the debug interface and have to start everything over.
- snvzz 3y ago>8 microseconds Jesus christ. Nevermind what I said, then. Hardware (HDL for cheap FPGA like iCE40) might be helpful. A port to other microcontrollers should also be possible. Ideally you'd use a CH32V003 to assist in debugging/programming a second one. But Linux is out of the question. That's way too tight even for linux-rt. Keeping scheduling latency in the two digit microseconds is hard enough, and about as good as it gets. ... it might still be possible with Linux, but only by dedicating a core to the purpose, and making it otherwise unavailable to Linux. I believe that's how PiStorm works. In any event, how much effort any of these would involve is worth considering for determining whether or not it is worth doing, vs spending the time improving the rest of the project.
- bschwindHN 3y ago> Hardware (HDL for cheap FPGA like iCE40) might be helpful. I'm a bit confused, isn't the pi pico the "hardware" in this instance? An FPGA seems like extreme overkill for this when the Pico's PIO peripheral exists (which is what the OP is using).
- snvzz 3y ago>An FPGA seems like extreme overkill for this when the Pico's PIO peripheral exists Extreme overkill is good, particularly if it doesn't cost more money or use more power. That specific family of FPGAs is optimized for low cost and low power.
- bschwindHN 3y agoTook a quick look at digikey: RP2040 - 1x unit price = $0.70 iCE40 - 1x unit price = $2.50 I'm not sure if low power is necessarily a priority for a debug probe that's always hooked up to a computer, but the RP2040 seems competitive with power consumption. From what I can see in the datasheets, they're both on a 40nm process node. I've never used the iCE40, is it easy to get a toolchain up and running for it? I haven't done any FPGA programming before but setting up the tooling always seemed more intimidating than using a standard C or Rust toolchain for a microcontroller. I'd still opt for the RP2040 in this case. RP2040 Datasheet - https://datasheets.raspberrypi.com/rp2040/rp2040-datasheet.pdf https://datasheets.raspberrypi.com/rp2040/rp2040-datasheet.p... iCE40 Datasheet - https://www.latticesemi.com/~/media/LatticeSemi/Documents/DataSheets/iCE/iCE40LPHXFamilyDataSheet.pdf https://www.latticesemi.com/~/media/LatticeSemi/Documents/Da...
- jsjohnst 3y agoGiven the project needs more than just the MCU (or FPGA) chip itself, best to compare finished forms. The project OP posted uses a Pi Pico (aka ~$4) and a comparable form factor for an iCE40 is about $35-40ish.
- jsjohnst 3y agoDid the Pico steal your lunch money as a kid? Run over your dog? Otherwise why the extreme desire to use something ~10x more expensive and significantly higher power draw, for ZERO practical benefit? Don’t get me wrong, I love FPGAs and literally own dozens from $$ to $$$$ and have built many projects with them, but right tool for the job always should be considered.
- snvzz 3y agoDon't get me wrong. I have nothing against the pico, nor other cheap microcontroller devboards. I own a bunch of microcontroller devboards including the pico, and a bunch of fpga devboards including many iCE40 variants.