Tu rango de voltaje debe convertirse en algo compatible con la lógica, pero en realidad eso es solo una cuestión de divisores de voltaje.
Consigue un microcontrolador que tenga una unidad de contador. STM32F1 y superiores tienden a tener estos integrados en su unidad PWM. Luego puede hacer algo como "contar los eventos para 100µs". Eso debería hacer el truco.
Puede eliminar la necesidad de una unidad de contador rápido, por ejemplo. utilizando los contadores CMOS CD4018 para dividir su señal de reloj de 1 MHz por un factor de N, o si usa divisores de reloj dedicados.
Ciertamente, podría utilizar un CPLD con una fuente de reloj externa de < 10MHz para implementar un detector de 10MHz y una máquina de estado de conmutación.
Puedes usar la electrónica analógica (un filtro de paso de banda) para detectar la presencia de la señal armónica de 1 MHz dentro de tu onda cuadrada.
Hay muchos enfoques, y su problema no está muy bien explicado. Diría: elija uno de estos, pruébelo, dibuje un esquema si no funciona y haga una nueva pregunta con más detalles :)