3 ms·
The Raspberry Pi Pico is good for a lot of things; this is not one of them (due to the lack of at least USB 2.0 High Speed). An LPC18xx, LPC43xx or even IMXRT1
by eqvinox 8mo ago
The Raspberry Pi Pico is good for a lot of things; this is not one of them (due to the lack of at least USB 2.0 High Speed). An LPC18xx, LPC43xx or even IMXRT106x would've been a much better choice.
- alnwlsn 8mo agoYou might only be able to get 8-16MB/s max out of some of those old drives (especially pre-1994), so you probably aren't missing much. edit: whoops, that's bytes not bits per second
- eqvinox 8mo agoUSB 1.1 Full Speed is 12 Mbit, i.e. 1.5 MB/s theoretical, zero overhead accounted for. That's an order of magnitude you're missing there. Whether it matters depends on how large the drive is, I guess. It also bears pointing out these microcontrollers have built-in parallel memory interface buses, which are likely compatible with IDE (which is just ISA == the 8088/8086 parallel bus on a cable.) With DMA, ketchup and fries…
- stmw 8mo agoExactly, this is why USB was very unattractive for peripherals when it first came out.
- deleted 8mo ago[deleted]
- rasz 8mo agoor good oldshool USB 2.0 Cypress FX2LP CY7C68013A or its Chinese clone Corebai CBM9002A cy4611b___usb_2_0_usb_to_ata_reference_design https://www.farnell.com/datasheets/62992.pdf https://www.farnell.com/datasheets/62992.pdf Back around 2005 a lot of USB HDD enclosures used this exact chip. All the above needs is LBA to CHS translation.
- eqvinox 8mo ago> or good oldshool USB 2.0 Cypress FX2LP CY7C68013A or its Chinese clone Corebai CBM9002A I intentionally did not suggest those because dealing with an 8051 isn't something I'd inflict even on my worst enemy, let alone an open source hobby project. That said if it's vibe coded I guess the AI can deal with it? shrug
- rasz 8mo agoThats what I was thinking, tell AI to add translation to a codebase already tested in production. But even without AI doing all the work fx2lp ata bridge reference design is in C and very readable
- eqvinox 8mo agoI still don't think I'd want to support the continued existence of 8051 products ;)
- rasz 8mo agoIts a $4 part doing 40MB/s over USB 2.0, hard to beat even 20 years after it was introduced.
- eqvinox 8mo agoI'm not disputing that. It can be a performant USB implementation and using an awful core that should've died out 10 years ago at the same time. Like, you can fireproof your house with asbestos, it works great. Still wouldn't recommend it, for, uh, reasons ;)
- LargoLasskhyfv 8mo agoThere are excellent FORTHs out there, for 8051 and derivatives. If not, it should be easy to bootstrap one.
- 8mo ago
- Tharre 8mo agoIt's a question of what tradeoffs you're willing to make. If you're making a professional product then sure, but I've checked the chips you suggested and the cheapest one available on JLCPCB seems to be the LPC1820FB at $6.5. If you fuck up a revision or two at 5 pieces each that gets expensive rather quickly for a hobby project. It's a shame really that ULPI is such a complicated interface, at least compared to RMII or SDIO, otherwise you could just buy a high speed USB ULPI phy and use it with the RP2350 via PIO. Eben even mentioned at some point someone working on a PIO ULPI implementation, but I'm assuming that went nowhere because they couldn't make it work reliably. An alternative approach I've been considering is using a ch32v305 as a "smart" USB-HS bridge, and connecting the RP2350 via SDIO to it. The problem with that of course is you have to implement most of the USB stack on the ch32v305, and the documentation on those chips isn't great to put it mildly.