If bit-banging is done serially, you can avoid most timing problems by-design. However, if the controller has an 8-bit parallel-output port, and data is changed on the same cycle as your sampling clock-edge (usually rising-edge, but HV5530 and similar use falling-edge) you create a race condition that can lead to an error. Some controllers are so fast, even doing writes sequentially isn't a guarantee, as I describe below.
A few years ago, I still had a rare failure while bit-banging between a RasPi and an FPGA. After a few hundred megabytes, I got an error on 1 bit. It was caused by a race-condition with the clock signal. Adding a short instruction between writes solved the problem, and there have been zero errors since then (roughly 4 years and a few terabytes or more of register traffic). On Monday, August 15, 2022 at 10:56:56 AM UTC-7 Mark Moulding wrote: > I almost invariably use daisy-chained 74HC595s in my clocks. I use > Numitrons rather than Nixies, which can be direct-driven with 5 volts, and > an 8051 variant (AT89C4051) because I have lots of them and a tool chain > I'm comfortable with; they're programmed in C. To drive the clock, data, > and load lines, I just directly bit-bang the micro outputs in code, and the > '595s are fast enough that I don't need to worry about timing - I just go > as fast as I can. I never bothered to do a timing analysis because I > figured I wasn't at all close to the timing limits of the parts. Another > pin from the microprocessor is used to apply a PWM signal to the output > enable of the '595s to provide dimming of the display. > > Also, the '595s have a high output drive capability - they're rated at 35 > mA, so driving the individual segments of the Numitrons (~20 mA each) is no > problem. I have many thousands of hours on several different clocks, over > more than a decade, with zero failures of either the drivers or the tubes. > (Occasionally, I'll lose a power supply...) > ~~ > Mark Moulding > > On Monday, August 15, 2022 at 7:46:03 AM UTC-7 nixiebunny wrote: > >> The most sensible low-cost direct drive arrangement in terms of parts >> count and board layout is SOIC 74HC595 shift registers and SN75468 HV >> driver arrays. >> There's a Chinese Zirrfa 6 digit clock board that uses this approach. >> >> >> On Mon, Aug 15, 2022, 7:09 AM David Pye <davi...@gmail.com> wrote: >> >>> Given the price of these custom drivers, I wonder whether some cheap arm >>> microcontrollers with serial interface and mpsa42 type transistors would be >>> a decent replacement. >>> >> -- You received this message because you are subscribed to the Google Groups "neonixie-l" group. To unsubscribe from this group and stop receiving emails from it, send an email to neonixie-l+unsubscr...@googlegroups.com. To view this discussion on the web, visit https://groups.google.com/d/msgid/neonixie-l/9749762e-fd69-479b-99ea-7ab8e1b9f0a4n%40googlegroups.com.