# How to make AC signal's level proper for MCU input?

I'm working on a frequency counter coursework, where I use MSP430 MCU. I have to measure signals with specifications: frequency from 0.1 Hz to 1 MHz and signal's amplitude from 0.1V to 10V. The problem is with signal’s amplitude, I understand that the voltage of 10V is too high and 0.1V is too low for MCU input. Do you have any ideas how to reduce 10V signal's amplitude to 2.7V-3.6V level and how to amplify 0.1V signal to 2.7V-3.6V level? I tried to find information on the internet, but I found just voltage divider, which one isn’t suitable for me. Maybe, are there any chips which one can do this function?

• What is your ADC reference voltage? Is the system operating vrom 3.3V or 5V? To get maximum dynamic range, these need to be known. Also, surprisingly 0.1V is not too low for the ADC to sample. If you have a 3.3V reference and a 10bit ADC then your measurement resolution is 3.2mV which is approximately 0x20 Hex. How accurate does it need to be? What is your desired resolution? Jan 14, 2014 at 22:56
• @Martin: He is making a frequency counter. The signal simply needs to be thresholded and fed into a digital input. The waveshape doesn't tell you anything useful, so trying to measure the signal with a A/D would be pointless, would require over 2 MHz sample rate, and significant processing in the micro. You want timer capture hardware to measure periods directly. Jan 14, 2014 at 23:08
• My operating voltage is 3.3V, but why I need to use ADC? I need to count the signal's frequency, not voltage value. I use TimerA in capture mode, I am counting rising edges of signal, than divide them from window length. If I put 0.1V square wave signal into MCU input, it will count that’s 0.1V signal's rising edge or not? Jan 14, 2014 at 23:10