En vista a la sugerencia de elmasvital de probar el PIC18F2550 y para eliminar posibles errores asociados que se pudieran dar, hice una prueba de caracter mucho mas exhaustivo con el PIC18F2550. He aqui mis resultados:
En general la programacion se realiza bien en el dispositivo, posiblemente la unica
discrepancia observada es que existen 4 bytes en las palabras de configuracion que
no estan implementados en el 2550, y que, cuando el software carga el .hex, los deja
en 0xFF pero al leer el dispositivo son 0x00. Estos bytes estan en las direcciones
300004h, 300007h, 30000Eh y 30000Fh (que corresponderian a CONFIG3L, CONFIG4H,
CONFIG8L y CONFIG8H respectivamente).
Sin embargo estas aparentemente son ignoradas por el software (en todo caso el PIC
debe ignorarlas tambien) y no se genera error alguno a pesar de que son diferentes.
Esto no es mayor problema despues de todo, ya que son palabras no usadas y su valor
realmente no importa. Fue por esta razon que di por bueno el soporte para este
dispositivo, porque funcionalmente todo esta bien.
Quizas debo agregar que, al parecer, el software en su version actual (11/12/07) no
parece hacer verificacion alguna sobre ningun byte de las palabras de configuracion
del 18F2550, y que por las mismas circunstancias este pequeño "glitch" pasa
desapercibido.
Insisto, de acuerdo a mis pruebas el 18F2550 se programa y borra correctamente.
Tambien hice pruebas adicionales con el software unicamente, pero esta vez en vez de
cargar un archivo .hex y verificar que las palabras de configuracion se graben
correctamente en el PIC he decidido ver (con hoja tecnica a la mano) si al seleccionar
las banderas de configuracion desde el software se generan bien los campos de bits.
Esta vez encontre uno que otro glitch menor:
- Las opciones para el "system clock postscaler" o bits <4:3> de CONFIG1L
(300000h) aparecen siempre asumiendo que el PLL esta desactivado. Aqui la
observacion seria que estos bits significan algo diferente cuando se activa el
PLL (hay una tabla adicional indicando los otros significados). Quiza sea bueno
cambiar el contenido de el listbox correspondiente para reflejar las opciones
mas adecuadas segun la configuracion actual del oscilador (segun si se elige
un modo con PLL activado o no).
- La opcion "Stack Full/Underflow Reset" o bit <0> de CONFIG4L (300006h) no
establece el bit 0 de la palabra correspondiente en la columna derecha, sino
mas bien establece el bit 1. Asimismo, la opcion se queda "pegada" y aunque se
seleccione la otra alternativa, el listbox siempre mostrara la alternativa
anterior, posiblemente debido a que no se cambia el bit adecuado.
Esto seria todo de momento. Espero que mis pruebas sean de ayuda para todos y para poder refinar este proyecto.
Saludos.
En general la programacion se realiza bien en el dispositivo, posiblemente la unica
discrepancia observada es que existen 4 bytes en las palabras de configuracion que
no estan implementados en el 2550, y que, cuando el software carga el .hex, los deja
en 0xFF pero al leer el dispositivo son 0x00. Estos bytes estan en las direcciones
300004h, 300007h, 30000Eh y 30000Fh (que corresponderian a CONFIG3L, CONFIG4H,
CONFIG8L y CONFIG8H respectivamente).
Sin embargo estas aparentemente son ignoradas por el software (en todo caso el PIC
debe ignorarlas tambien) y no se genera error alguno a pesar de que son diferentes.
Esto no es mayor problema despues de todo, ya que son palabras no usadas y su valor
realmente no importa. Fue por esta razon que di por bueno el soporte para este
dispositivo, porque funcionalmente todo esta bien.
Quizas debo agregar que, al parecer, el software en su version actual (11/12/07) no
parece hacer verificacion alguna sobre ningun byte de las palabras de configuracion
del 18F2550, y que por las mismas circunstancias este pequeño "glitch" pasa
desapercibido.
Insisto, de acuerdo a mis pruebas el 18F2550 se programa y borra correctamente.
Tambien hice pruebas adicionales con el software unicamente, pero esta vez en vez de
cargar un archivo .hex y verificar que las palabras de configuracion se graben
correctamente en el PIC he decidido ver (con hoja tecnica a la mano) si al seleccionar
las banderas de configuracion desde el software se generan bien los campos de bits.
Esta vez encontre uno que otro glitch menor:
- Las opciones para el "system clock postscaler" o bits <4:3> de CONFIG1L
(300000h) aparecen siempre asumiendo que el PLL esta desactivado. Aqui la
observacion seria que estos bits significan algo diferente cuando se activa el
PLL (hay una tabla adicional indicando los otros significados). Quiza sea bueno
cambiar el contenido de el listbox correspondiente para reflejar las opciones
mas adecuadas segun la configuracion actual del oscilador (segun si se elige
un modo con PLL activado o no).
- La opcion "Stack Full/Underflow Reset" o bit <0> de CONFIG4L (300006h) no
establece el bit 0 de la palabra correspondiente en la columna derecha, sino
mas bien establece el bit 1. Asimismo, la opcion se queda "pegada" y aunque se
seleccione la otra alternativa, el listbox siempre mostrara la alternativa
anterior, posiblemente debido a que no se cambia el bit adecuado.
Esto seria todo de momento. Espero que mis pruebas sean de ayuda para todos y para poder refinar este proyecto.
Saludos.