Selección de reloj PIC18F67J90 [cerrado]

Tengo dos opciones para seleccionar el reloj del sistema:

  1. INTOSC
  2. FOSC

Quiero usar el reloj interno a 8/16 Mhz.

¿Cuál debo seleccionar y cuál es la diferencia entre FOSC e INTOSC?

La página 35 en adelante de la hoja de datos describe las opciones del oscilador.
Esta es una pregunta tonta [y perezosa] ya que se responde directa y claramente en la hoja de datos.
@Olin Estoy de acuerdo, pero para un principiante, la hoja de datos de un microcontrolador puede ser intimidante.
@m.Alin: Sí, pero luego deberían preguntar sobre cosas específicas que no entienden. Gimme da anser , las preguntas, cuando la respuesta está en la hoja de datos, no son apropiadas aquí.

Respuestas (1)

En realidad, tienes más de dos opciones de oscilador.

¿Cuál seleccionar y cuál es la diferencia entre FOSC e INTOSC?

Lo primero que debe hacer es seleccionar qué tipo de oscilador desea que sea el oscilador de su dispositivo principal ("oscilador primario"). Dijiste que querías usar el oscilador interno.

Para hacer eso, tenemos que establecer algunos bits de configuración en tiempo de flash. Los bits que nos interesan son los bits FOSC<2:0> del registro de configuración CONFIG2L :

FOSC<2:0>: bits de selección de oscilador

  • 111 = ECPLL OSC1/OSC2 como principal; oscilador ECPLL con PLL habilitado; CLKO en RA6
  • 110 = EC OSC1/OSC2 como primario; reloj externo con salida FOSC/4
  • 101 = HSPLL OSC1/OSC2 como principal; cristal/resonador de alta velocidad con software de control PLL
  • 100 = HS OSC1/OSC2 como primario; cristal/resonador de alta velocidad
  • 011 = bloque oscilador interno INTPLL1 con control PLL por software; Salida FOSC/4
  • 010 = Bloque oscilador interno INTIO1 con salida FOSC/4 en RA6 y E/S en RA7
  • 001 = Bloque oscilador interno INTPLL2 con control PLL de software y E/S en RA6 y RA7
  • 000 = Bloque oscilador interno INTIO2 con E/S en RA6 y RA7

Por lo tanto, debe configurar los bits de configuración de FOSC<2:0> en '000' para seleccionar el oscilador interno, sin PLL y sin salida del reloj a ningún pin externo.


Sin embargo, PIC18F67J90 tiene dos osciladores internos:

  • un bloque de oscilador interno que proporciona un reloj de 8 MHz (±2 % de precisión): INTOSC
  • una fuente INTRC (aproximadamente 31 kHz, estable sobre temperatura y VDD)

Obviamente queremos seleccionar el oscilador más rápido (INTOSC). Para hacer eso, tenemos que configurar el bit INTSRC desde OSCTUNE (Registro de sintonización de oscilador):

INTSRC: bit de selección de fuente de baja frecuencia del oscilador interno

  • 1 = Reloj de dispositivo de 31,25 kHz derivado de una fuente INTOSC de 8 MHz (dividir por 256 habilitado)
  • 0 = reloj de dispositivo de 31 kHz derivado del oscilador INTRC de 31 kHz

Entonces INTSRC = 1.


A continuación, deberá establecer la velocidad del oscilador interno. Para el oscilador interno Fast RC (INTOSC), la velocidad de reloj predeterminada es de 4 MHz, pero puede cambiarla en tiempo de ejecución modificando los bits IRCF<2:0> del OSCCON (Registro de control del oscilador) :

IRCF<2:0>: Bits de selección de frecuencia de fuente INTOSC*

  • 111 = 8 MHz (INTOSC impulsa el reloj directamente)
  • 110 = 4 MHz (predeterminado)
  • 101 = 2 MHz
  • 100 = 1 megaciclo
  • 011 = 500kHz
  • 010 = 250kHz
  • 001 = 125kHz
  • 000 = 31 kHz (desde INTOSC/256 o INTRC)

*La modificación de estos bits provocará un cambio de frecuencia de reloj inmediato si el oscilador interno proporciona los relojes del dispositivo.

Por lo tanto, deberá configurar los bits IRCF<2:0> en '111' si desea que su oscilador interno funcione a 8 MHz.

Deberias hacer eso..

Nota 1 : Fosc también puede significar la frecuencia del oscilador. Tenga en cuenta que el reloj del sistema será 4 veces más lento que el proporcionado por Fosc (Reloj del sistema = Fosc / 4). Eso significa que si selecciona un oscilador de 8 MHz de frecuencia, el PIC funcionará a 2 MIPS. Eso es porque, para un PIC de 8 bits, se necesitan 4 ciclos de reloj para ejecutar una instrucción.

Nota 2 : Como siempre, encontrará información completa sobre este tema en la hoja de datos del dispositivo .