Alternativas de conexión
Para conectar el oscilador hay varias opciones. El PIC tiene un total 12 modos de reloj, que son 12 modos de conexión diferentes para el oscilador y los relojes de salida que brinda el PIc. Ellos se dividen en las siguientes categorías:
- cristal
- conexión directa de un cristal entre patas OSC1 y OSC2
- tiene pre/post scalers internos + PLL para ajustar las frecuencias a entregar al módulo USB (48 Mhz) y al micro (arbitraria) independientemente.
- creo que también saca por una pata un clock de Fosc/4, pero igual no nos sirve porque es muy lento
- clock externo
- entrada: pata OSC1
- salida: pata OSC2, pero a frecuencia de entrada / 4
- clock externos soportados: 48, 40, 24, 20, 16, 12, 8, 4 Mhz
- siempre se un post-scaler+PLL interno para lograr los 48Mhz que precisa el USB
- no todos los valores son soportados para todos los modos (ver manual)
- Microcontroller oscillators
- Oscillators for microcontrolers
- oscilador interno de 8Mhz.
- es post-escalable (31Khz - 4Mhz)
- ideal para usar si no se precisa el módulo USB, ya que éste exige usar clock externo o cristal (ya que el oscilador interno no es muy bueno y puede tener drift).
Independiente de esto, el reloj del micro se puede alimentar de:
- oscilador primario - el cristal o reloj externo mencionados arriba
- oscilador secundario - otras patas independientes donde se puede conectar un oscilador. sirve para cuando se precisa que siga funcionando en modo power-down (watchdog, etc)
- oscilador interno - el oscilador interno mecionado arriba
Como debemos conectarlo nosotros
Requisitos:
- Modulo USB: 48 Mhz - esto es obligatorio y practicamente se puede conseguir siempre usando los post-scalers + PLL del PIC. Basta con elegir el modo de oscilador correcto en el PIC.
- Micro: 48 Mhz - en realidad no tiene que correr a 48 Mhz, pero cuanto más rápido mejor pues nos permite hacer más cosas en menos tiempo, como por ejemplo usar el PIC para muestrear manualmente a bajas frecuencias.
- Componentes: 40 Mhz - podría ser más rápido, aunque esta velocidad resulta muy razonable pues es la que tiene más disponibilidad de componentes y resulta adecuada para el muestreo.
Para cumplir estos requisitos podemos utilizar la siguiente configuración: (ver pag 29 manual)
- Clock externo de 40 Mhz conectado a OSC1
- Modo de reloj: ECPLL (o ECPIO si queremos tener RA6 de I/O)
- PLL Division = 10 ( PLLDIV2:PLLDIV0 = 110 )
- MCU Clock Division = 2 ( CPUDIV1:CPUDIV0 = 00 )
Esto nos da los siguientes relojes: 48 Mhz (micro y mod. USB), 40 Mhz (componentes)
Oscilador programable LTC6905
A Martin hoy (27 Sep 2005) le llegó el integrado LTC6905 que es un oscilador programable.
Le mandaron 3 samples
--
PabloHoffman - 12 Sep 2005