I have a digital speedometer which outputs the signal obtained from the hall sensor of a motor with 23 activations per revolutions. This is a bit too much for my MCU to deal with it using interrupts. Is there a simple way to convert a digital signal with a 50% duty cycle but varying frequency to an analog signal?
The LM2907/LM2917 Frequency to Voltage Converter appears to be exactly what you're looking for. (In fact, the first application described for it is a tachometer!)
LM2907-N is very good at $1 (1k)
In my early days with SCADA, I wanted to send motor current on a couple servo motors to some remote panel meters and had no more digital channels left except for a couple spare bits in the status bytes, so I used Current converted freq. with a super linear VCO and then S/R flip-flop to the synchronous data channel ( set to send bit, reset when sent ) which was very important to prevent aliasing from metastable conditions then receive the bit and re-create the frequency with a 1 shot so that average voltage was the current detected. This measured the motor torque and probe friction being pushed and pulled by the motor and all worked out nicely being a range of 0 to almost 8kHz in a 8KHz frame rate and defying Shannon's Law while getting zero aliasing with the Flip Flops to ensure perfect sample counting.