Live data from Hacker News

Reverse-engineering the TL431: the most common chip you’ve never heard of (2014)

righto.com

41–47 of 47 posts

Re: Reverse-engineering the TL431: the most common chip you’ve never heard of (2014)

#41
post #3

Any other suggestions for common yet generally unknown chips?

Maxim's MAX038 (no relation with the 8038), a single chip analog multi waveform generator that goes from 0.1Hz to 20 MHz. Maxim discontinued it in the early 2000s but never replaced it. https://www.maximintegrated.com/en/products/analog/clock-gen...

This is a good one, endless number of function generator circuits have been built around MAX038, I have a MAX038-based function generator on my desk right now. It's an analog generator and its stability is nowhere near a PLL/DDS-based generator, but it was a robust solution for a low-cost generator.

Re: Reverse-engineering the TL431: the most common chip you’ve never heard of (2014)

#42

Earlier quoted context omitted.

Yay for STM8. Cheap as dirt especially for how capable they are, and pretty sweet architecture for an 8 bit.

No GCC support, only 6 registers.. meh. I think AVR is most friendliest from all 8 bit architectures.

Most 8-bit machines are historical and suffered from the technological limitation of its time, they usually have few registers, an accumulator-based architecture, no multiplication/division instructions, limited addressing mode (especially, no efficient base+addr). So in general, they are not suitable for compiled languages, and hand-tuned assembly is required for good performance. But it actually makes sense for mass-produced applications when simplicity and cost are important. On the other hand, I believe the AVR is one of the only major 8-bit architectures designed using a modern approach, specially optimized for modern C-based programming.

Re: Reverse-engineering the TL431: the most common chip you’ve never heard of (2014)

#43

Earlier quoted context omitted.

Yay for STM8. Cheap as dirt especially for how capable they are, and pretty sweet architecture for an 8 bit.

No GCC support, only 6 registers.. meh. I think AVR is most friendliest from all 8 bit architectures.

SDCC is the open source compiler of choice for stm8. It's not GCC, but it's enough.

I'd be tempted to agree about the registers except that it takes wider instructions to encode the registers used so a well thought out accumulator based architecture can result in very compact code. stm8 has a lot of one byte instructions and most except for branches and word operations are single cycle as well.

Re: Reverse-engineering the TL431: the most common chip you’ve never heard of (2014)

#44

Earlier quoted context omitted.

No GCC support, only 6 registers.. meh. I think AVR is most friendliest from all 8 bit architectures.

Most 8-bit machines are historical and suffered from the technological limitation of its time, they usually have few registers, an accumulator-based architecture, no multiplication/division instructions, limited addressing mode (especially, no efficient base+addr). So in general, they are not suitable for compiled languages, and hand-tuned assembly is required for good performance. But it actually makes sense for mas…

STM8 is a fairly new design although with some similarities to the 6502 and 6800. It does have multiply and divide instructions. It also has a plethora of addressing modes:

    ld a, #42        ; immediate. C constants
    ld a, var        ; direct. C globals and statics
    ld a, (sp, 4)    ; sp relative. C locals and arguments
    ld a, (x)        ; indirect. C *ptr (ptr in register)
    ld a, (x, 42)    ; indexed indirect. C ptr->foo (ptr in register)
    ld a, [ptr]      ; memory indirect. C *ptr (ptr in memory)
    ld a, ([ptr],x)  ; indexed memory indirect. C ptr->foo (ptr in memory)
There are more, but mainly variations in width and PC relative jumps.

Re: Reverse-engineering the TL431: the most common chip you’ve never heard of (2014)

#45

Earlier quoted context omitted.

Most 8-bit machines are historical and suffered from the technological limitation of its time, they usually have few registers, an accumulator-based architecture, no multiplication/division instructions, limited addressing mode (especially, no efficient base+addr). So in general, they are not suitable for compiled languages, and hand-tuned assembly is required for good performance. But it actually makes sense for mas…

STM8 is a fairly new design although with some similarities to the 6502 and 6800. It does have multiply and divide instructions. It also has a plethora of addressing modes: ld a, #42 ; immediate. C constants ld a, var ; direct. C globals and statics ld a, (sp, 4) ; sp relative. C locals and arguments ld a, (x) ; indirect. C *ptr (ptr in register) ld a, (x, 42) ; indexed indirect. C ptr->foo (ptr in register) ld a, [p…

Thanks for the correction.

Re: Reverse-engineering the TL431: the most common chip you’ve never heard of (2014)

#46

Earlier quoted context omitted.

As a rule, you want your resistors made of metal. Semiconductor resistors have a lot of really surprising behavior. But, yeah, if precision and stability do not matter, it's cheaper to make them out of silicon.

> As a rule, you want your resistors made of metal. Semiconductor resistors have a lot of really surprising behavior. So much so that probably the most common semiconductor resistors where linearity is needed are actually transistors. Stick on external reference resistor in, use current mirrors inside to distribute the reference current around the circuit, and use transistors in the active region (linear region for F…

Follow up dumb question - I thought transistors take time to charge/discharge/do-physics-things, how do they avoid resistance changing over time.

Re: Reverse-engineering the TL431: the most common chip you’ve never heard of (2014)

#47
post #46

Earlier quoted context omitted.

> As a rule, you want your resistors made of metal. Semiconductor resistors have a lot of really surprising behavior. So much so that probably the most common semiconductor resistors where linearity is needed are actually transistors. Stick on external reference resistor in, use current mirrors inside to distribute the reference current around the circuit, and use transistors in the active region (linear region for F…

Follow up dumb question - I thought transistors take time to charge/discharge/do-physics-things, how do they avoid resistance changing over time.

They change a bit, but primarily at startup. After that they're controlled by the stability of the biasing.

I'd recommend "Designing Analog Chips" by Hans Camenzind[0], the designer of the 555 timer. Particularly chapter 3, "Current Mirrors".

[0] http://www.designinganalogchips.com/ has a free pdf

Post reply on HN