3 ms·
I've previously used an Arduino mega as an ad hoc logic analyzer. Can anyone chime in with how the IO performance of the RP2040 differs from the ATMega range?
by bragr 4y ago
I've previously used an Arduino mega as an ad hoc logic analyzer. Can anyone chime in with how the IO performance of the RP2040 differs from the ATMega range?
I'm an amateur so can't really justify a real logic analyzer, but my hacked up sketches and python scripts for the Arduino have nothing on this level of polish so definitely going to give it a try next time!
- danhor 4y agoI'd really recommend an fx2 logic analyzer. Basically anything called logic analyzer on Amazon or Aliexpress with 24 MHz sample rate, 8 channels and for less than 15 bucks. They work with the open source sigrok software and basically just DMA the io to the host, thus the sampling rate and the cost, but can record for dozens of minutes.
- bpye 4y agoYou can do better with an FX3 dev kit - https://community.infineon.com/t5/Knowledge-Base-Articles/EZ-USB-FX3-Explorer-kit-as-16-channel-100-MHz-logic-analyzer-with-sigrok/ta-p/283993 https://community.infineon.com/t5/Knowledge-Base-Articles/EZ...
- balefrost 4y agoThe RP2040 has a programmable IO subsystem. This lets you define a simple state machine that manages the IO pins and can transfer data to/from memory. Here's what the project's README says: So, how the heck the pico is able to achieve this? Well, the key are the PIO units, these units are a wonder, they are coprocessors explicitly dessigned to handle IO, it uses a very restricted and deterministic assembler (only nine instructions that each take a single cycle to execuet) but extremely efficient, so efficient that with only two instructions is possible to create a loop that captures GPIO data up to 30 bits and redirects the program flow based in the status of one of these GPIOs.
- the_biot 4y agoYou can hardly compare the atmega series CPUs with 32-bit ARM SoCs running at 10+ times the clock speed, much more memory, and many more advanced features. The RP2040 (the SoC on the pico) is very much a generation beyond the atmegas, if not more. Notably the PIO feature on the RP2040 is used to avoid having to sample input pins using the ARM CPU (which would make it slow and undeterministic). The sampling is effectively hardware-assisted using the PIO feature. The github page in the link goes into some detail about it.
- bragr 4y agoI'm asking for them to be compared in terms of IO features, not absolute performance. The ATMega has it's own range of hardware driven input features and that's specifically what I'm asking for a comparison to.
- guenthert 4y agoNot really sure what you mean by i/o features, but I generally don't get why people don't look up the specifications if they have questions like that. They do exist for a reason.