Cómo obtener una señal cuadrada de 8 MHz a una pic18f45

5

Estoy usando un Pic18F45K40 para controlar una red de línea eléctrica ST7590 Chip que requiere una señal de reloj de 8MHz para funcionar. Leí la hoja de datos y parece que se puede generar una señal de 16MHz desde el microchip de 64MHz.

Configuré el módulo de salida de reloj de referencia de la siguiente manera:

#pragma config CLKOUTEN = ON

y

#define oCLK_INIT()      CLKRCLKbits.CLK=1; \
                         CLKRCONbits.EN=0;  \
                         CLKRCONbits.DC=2;  \
                         CLKRCONbits.DIV=3; \
                         SCANTRIGbits.TSEL=1;
                         //OSCCON1bits.NOSC=6;
#define oCLK_EN_ON()       CLKRCONbits.EN=1;

y usé PPS para fijar RB4 configurando

  RB4PPS=0b10100;        /* B4=CLKR 8MHz      */ \

Obtengo una señal de 8 MHz, pero se ve así:

EstoesmássinusoidalquecuadradoypodríaserlarazónporlaquenopuedohablarconelchipST7590atravésdeUART.¿Alguienpuedeexplicarloqueestápasando?

EDITAR:Resultadodecambiarlavelocidaddegiro.

    
pregunta Gareth T.

2 respuestas

7

Dos posibilidades: control de capacitancia o velocidad de desviación.

Si estuviera trabajando en placas de pruebas, creo que se trata de una capacitancia no deseada entre las tiras de pines, pero debido al paquete del dispositivo STmicro, creo que está trabajando con PCB adecuados.

Esto conduce a la otra posibilidad: el PIC está limitando las tasas de rotación en el puerto. Esto se hace para reducir el EMC de los "rebotes" de conmutación rápidos, por lo que las velocidades de giro de los transistores se reducen para crear un gradiente agradable. Funciona muy bien a menos de 1MHz, pero debes tener cuidado con esto a 8MHz.

Consulte la página 244 para obtener instrucciones sobre cómo limpiar el SLRCONx se registra para prevenir o reducir la limitación de la velocidad de giro.

15.2.5 Slew Rate Control
The SLRCONx register controls the slew rate option for each port pin. Slew rate for each port pin can be
controlled independently. When an SLRCONx bit is set, the corresponding port pin drive is slew rate
limited. When an SLRCONx bit is cleared, The corresponding port pin drive slews at the maximum rate
possible.
    
respondido por el MIL-SPEC
1

No existe una señal de onda cuadrada ideal. Siempre tendrás un cierto tiempo de subida y caída en tu señal. Cuanto más alta sea su frecuencia, mayor será la cantidad relativa de tiempo de subida y caída en comparación con el tiempo total de encendido y apagado, respectivamente. Lo que sufre es, por un lado, las propiedades parásitas de su camino y el cableado interno del pin, incluida la protección contra ESD y la capacidad a tierra.

Un oscilador externo tampoco produce una señal de onda cuadrada limpia, sino que se parece a la impresión de su alcance, pero eso no es un problema, ya que normalmente tiene la función de detección de bordes en sus entradas de reloj.

    
respondido por el Humpawumpa

Lea otras preguntas en las etiquetas