[sdiy] LFSR digital noise source

rsdio at audiobanshee.com rsdio at audiobanshee.com
Tue Nov 12 06:40:01 CET 2019

Ha! I love microcontrollers and I get paid to work on the same things that are my hobbies.
May I never have the job spoil the hobby (it definitely happens).

I have JTAG programmers for Texas Instruments ARM & TMS320 plus MSP-430; Microchip PICkit 1, 2, 3, and perhaps soon PICkit 4; and even an old eZusb that doesn’t require a programmer (but it probably too old and simple for any modern design). When working for clients, I’ve used Freescale, ST Micro, and countless others, but don’t need to own every dongle. These things can be expensive, hard to source, finicky, and sometimes nearly impossible to get working for mysterious reasons. They’re a necessary evil, but I don’t want to deal with them when I don’t have to.

I try to balance the technology hurdles against the challenges at hand. I had one interface problem where some folks would be tempted to use an FPGA. Considering the cost of the smallest FPGA chip, a CPLD looked more attractive. Either of these options would have required some sort of programming jig with pogo pins, extra connector costs, challenges with providing power for programming without jumping into full operation mode, and far too much expense in terms of manual human labor (despite how easy it is to hire that sort of thing out). In the end, I used less than $1.00 of discrete SMD parts. So, the BoM cost was less, the development time was shorter, assembly costs were not compounded by programming labor, and the boards were ready to operate as soon as power was first applied.

In another example, a client hired me to develop a second prototype for a device that needed to control 132 or more logic levels for reading a touch-sensitive controller. The previous designer attempted to use an STM32 ARM, but couldn’t bit-bang 132 GPIO pins fast enough to reach the low-latency requirements of the client. Without even looking at the code, it just made more sense to me to use counters, latches, decoders, and analog multiplexer chips to scan and feed the signals. Even with cheap, slow digital logic chips, the speed and therefore latency was much better than the firmware solution, making it easy to meet the requirements. Again, FPGA would be tempting, but the surface was large, the signals were spread out, and having multiple digital logic chips made it easier to put the logic near where it was needed, rather than centralized. This even made the PCB layout easier. It ended up feeling like a vintage digital hybrid synth, or one of those arcade games from the same era. Those were MCU chips enhanced by hardware acceleration.

That said, I wouldn’t try to create a DMX-512 lighting device using discrete hardware - that’s a job for a microcontroller - but there are plenty of tasks where discrete logic is better.


On Nov 11, 2019, at 7:32 PM, David G Dixon <dixon at mail.ubc.ca> wrote:
> Hear, hear, Brian!  Programming microcontrollers seems too much like "work".
> Electronics is my hobby, and coding seems too much like a dayjob.
> -----Original Message-----
> rsdio at audiobanshee.com
> Sent: Monday, November 11, 2019 3:01 PM
> On Nov 11, 2019, at 1:35 PM, Gordonjcp <gordonjcp at gjcp.net> wrote:
>> On Sun, Nov 10, 2019 at 02:19:32PM -0500, bbob wrote:
>>> yes, hardware is what i seek
>> The best way to do it in hardware is actually to just implement an LFSR
>> in a small microcontroller.
> The real problem here is all of the overhead required to get it working. A
> microcontroller doesn't do anything when you first solder it to a board, or
> plug it into a breadboard. So, you have to buy a programmer and attach it to
> your prototype. Even then, you're not done. You have to write the code, test
> the code, and iterate. Finally, even after you've finished getting all of
> the software bugs out, the non-volatile memory can forget your program, and
> you might be back to square one.
> There are certainly problems that can't be solved without a microcontroller.
> That's why we have them. But they're not always a win compared to logic
> circuits that perform the correct function as soon as power is first
> applied, without the need for additional tools, circuit adaptors, and
> software development. The most expensive part of any product design is the
> software. If you can design something without software, you've saved
> yourself the biggest cost. Whether you're considering a one-off project or a
> product that you want to manufacture, there are many functions that are best
> done in hardware, without software.

More information about the Synth-diy mailing list