TODOPIC

Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: KALLITOS en 03 de Marzo de 2010, 01:52:07

Título: Problemas con pic 16F46K20
Publicado por: KALLITOS en 03 de Marzo de 2010, 01:52:07
Hola muchachos, para solicitarles su ayuda, estoy trabajando con un pic 18F46K20 y CCS 4.088.
Este pic tiene oscilador interno que puede correr hasta 64Mhz (16MIPS), ando haciendo pruebas y pues no me llega a esta frecuencia, con la siguiente configuracion solo he logrado que llege a 8 Mhz (el CCS no me acepta 16Mhz por los defines de setup_oscillator que tiene):

Código: C
  1. #fuses INTRC_IO
  2. setup_oscillator(OSC_4MHZ|OSC_INTRC);     >>>> con el 4Mhz logre 8 Mhz, error de CCS lineas abajo se observa.

Buscando el el archivo del pic que viene en la carpeta DEVICES del CCS encuentro lo siguiente:

Código: C
  1. // Constants used in setup_oscillator() are:
  2. #define OSC_31KHZ   0
  3. #define OSC_125KHZ  0x10
  4. #define OSC_250KHZ  0x20
  5. #define OSC_500KHZ  0x30
  6. #define OSC_1MHZ    0x40
  7. #define OSC_2MHZ    0x50
  8. #define OSC_4MHZ    0x60
  9. #define OSC_8MHZ    0x70

lo cual no concuerda con el datasheet que dice:

IRCF<2:0>: Internal Oscillator Frequency Select bits
111 = 16 MHz (HFINTOSC drives clock directly)
110 = 8 MHz
101 = 4 MHz
100 = 2 MHz
011 = 1 MHz(3)
010 = 500 kHz
001 = 250 kHz
000 = 31 kHz (from either HFINTOSC/512 or LFINTOSC directly)(2)

Y los fuses que presenta el CCS son:

LP,XT,HS,RC,EC,EC_IO,H4,RC_IO,INTRC,INTRC_IO

En el cuadro del oscilador que se presenta en el datasheet, se observa conexion entre el oscilador interno a 16Mhz para meterlo por el PLLx4, logrando asi los 64Mhz que deseo.

El CCS no tiene (o sera que no veo) como conectar el osc interno con PLLx4 y lograr los 64 Mhz.
Hay manera de manejar los bits y cargar las configuraciones manualmente?

Saludos.