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...
Reverse-engineering the TL431: the most common chip you’ve never heard of (2014)
41–47 of 47 posts
Re: Reverse-engineering the TL431: the most common chip you’ve never heard of (2014)
#42Earlier 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.
Re: Reverse-engineering the TL431: the most common chip you’ve never heard of (2014)
#43Earlier 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.
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)
#44Earlier 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…
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)
#45Earlier 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…
Re: Reverse-engineering the TL431: the most common chip you’ve never heard of (2014)
#46Earlier 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…
Re: Reverse-engineering the TL431: the most common chip you’ve never heard of (2014)
#47Earlier 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.
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