Talk:FOSS Programmer

From Proghq
Revision as of 04:36, 31 December 2018 by Robertbaruch (talk | contribs) (→‎cr1901)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

mcmaster

While I'm not opposed to such a project, I'm skeptical of the time that it will take to develop such a device and the availability of it vs a COTS solution. In particular, with a TL866 costing $50 and still readily available, effort is much better spent focusing on these.

"Nominal max VPP is 21V on the TL866 A/CS and 18V on the TL866II." [Elemecca]. Did this cause any important devices to be discontinued?

cr1901

While the TL866 is ending production, the TL866-II is still available/produced. In case TL866-II stops production and both variants become difficult to obtain easily, doing our own design has been proposed before. The short version is we have a lot of good/doable ideas for a FOSS programmer, but it would be a time commitment and would not be as cheap as a TL866. I suspect in principle an open design would attract more contributors in the long run; while Elemecca has done a great job on this front, PIC isn't exactly known to be pleasant to work with.

The basic idea I've seen thrown around for a FOSS programmer (from talking with davidc__ on siliconpr0n IRC channel) is thus:

  • Use an FPGA with a custom I2C core, possibly an FPGA USB core as well. If we can tolerate HDL to provide a base that's rarely modified, this reduces part count while maximizing flexibility.
  • The I2C interface talks to a number of Silego Greenpak 4s, which control both the pass transistors for the power lines and also provide lines of I/O for the target device.
  • Greenpak 4 interfacing gives us "free 5V support", they are also incredibly cheap and small.
  • FPGA can be put to other use? My proposal is a softcore (RISC-V? lm32? Something else?) running from SPIflash and using block RAM and RAM. This would give a superior development environment in terms of resources 'and' toolchain support compared to PIC.
I like the idea of RISC-V on FPGA as a base, especially since gcc supports RISC-V now, as long as it uses a very popular FPGA. I'm a bit less enthusiastic about Greenpak -- mainly because I don't know anything about it. Like, are they in the habit of discontinuing chips older than like 5 years? --Robertbaruch (talk) 22:46, 29 December 2018 (UTC)
picorv32 on a LFE5U-25F would probably be viable. The LFE5U-25F is already on the TinyFPGA EX prototypes, and is supported by yosys. The sticky part is the pin driver: do we want all 40 pins capable of N types of voltages? We could just start with the drivers found in the TL866. As for USB, there are some very cheap FTDI alternatives out there that could make USB easy. I've worked with FTDI chips, but I haven't tried the cheaper ones.
My thought is that we could start small and easy: just use similar pin drivers to the TL866, use an Atmel ATMega as the main processor, add a cheap USB interface chip, and get a minimum viable product. Then start changing things out to support greater capabilities. --Robertbaruch (talk) 04:36, 31 December 2018 (UTC)