Autor Tema: Programador ET-CAB10PIN V2 y pic16f877  (Leído 3267 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado ojkarin

  • PIC10
  • *
  • Mensajes: 39
Programador ET-CAB10PIN V2 y pic16f877
« en: 15 de Marzo de 2010, 08:34:38 »
Saludos a todos. He programado un 16f877 con la placa CP-PIC877 http://www.futurlec.com/PICDevBoard.shtml y el programador ET-CAB10PIN V2 http://verhoeven272.nl/cgi-bin/FS?fruttenboel%2FETT&Fruttenboel+on+ETT&Top&progger&Content en ET-PSPI, usando el winpic800 y la configuración “ETT-LOW VPP ICSP”.
El problema es que al desconectar el programador y usar la placa sólo con la alimentación de red, los datos de la eeprom interna del pic se mantienen sólo si le hago un reset a la placa, pero si desconecto la alimentación y luego la conecto, esos datos desaparecen, y no se a que puede ser debido.
También ocurre que la el pin RB3 no me deja usarlo como pin de I\O, ya que cada vez que lo intento usar se me resetea el pic, aunque los demás pines del puerto B me deja usarlos sin problemas. Si usara ese pin como reset ¿dañaría el pic?
Adjunto los esquemáticos.
Saludos y gracias.
« Última modificación: 15 de Marzo de 2010, 08:40:35 por ojkarin »

Desconectado pablomanieri

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 639
Re: Programador ET-CAB10PIN V2 y pic16f877
« Respuesta #1 en: 15 de Marzo de 2010, 09:30:59 »
Si configuras el pin rb3 como salida lo más probable es que estés provocando un cortocircuito con el transistor del 7407, ya que este tiene una resistencia de pull-down en su entrada, poniendo el transistor de salida en saturación (0 lógico), y si le envías un alto por el pin RB3, haces circular mucha corriente, supongo que eso es lo que te está dando problemas.

Lo del tema de la EEPROM se me hace raro, podrías colocar el código, para ver si no es un problema de como estás guardando los datos?

Desconectado ojkarin

  • PIC10
  • *
  • Mensajes: 39
Re: Programador ET-CAB10PIN V2 y pic16f877
« Respuesta #2 en: 15 de Marzo de 2010, 09:47:42 »
Gracias por lo de RB3, aunque lo usaba como entrada, pero use otro pin que no me diera problemas. Lo de la eeprom si que es raro porque sólo me ocurre si el programador está desconectado. Sí el programador esta conectado y quito la alimentación, si que me mantiene los datos.
De todas maneras te paso el código donde leo y escribo la eeprom.

Código: FreeBasic
  1. If cont1 > 255 Then
  2.                 pos_eeprom0 = 255
  3.                 pos_eeprom1 = cont1 - 255
  4.         Endif
  5.         If cont1 <= 255 Then
  6.                 pos_eeprom0 = cont1
  7.                 pos_eeprom1 = 0
  8.         Endif
  9.        
  10.         Write 0, pos_eeprom0
  11.         Write 1, pos_eeprom1
  12.                
  13.         Read 0, pos_eeprom0
  14.         Read 1, pos_eeprom1
  15.        
  16.         cont1 = pos_eeprom0 + pos_eeprom1

cont1 es una variable de tipo word, de ahí que use dos posiciones para guardarla. La variable cont1 esta continuamente variando y siempre entra en la rutina de escritura de la eeprom. Uso el PicSimulatorIde para escribir el código en Basic.
Saludos
« Última modificación: 15 de Marzo de 2010, 09:55:47 por ojkarin »

Desconectado pablomanieri

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 639
Re: Programador ET-CAB10PIN V2 y pic16f877
« Respuesta #3 en: 15 de Marzo de 2010, 10:18:35 »
con respecto al pin RB3 en el datasheet se encuentra la respuesta a tu problema.

Note 1: The High Voltage Programming mode is
always available, regardless of the state
of the LVP bit, by applying VIHH to the
MCLR pin.
2: While in Low Voltage ICSP mode, the
RB3 pin can no longer be used as a general
purpose I/O pin.
3: When using low voltage ICSP programming
(LVP) and the pull-ups on PORTB
are enabled, bit 3 in the TRISB register
must be cleared to disable the pull-up on
RB3 and ensure the proper operation of
the device.

4: RB3 should not be allowed to float if LVP
is enabled. An external pull-down device
should be used to default the device to
normal operating mode. If RB3 floats
high, the PIC16F87X device will enter
Programming mode.

5: LVP mode is enabled by default on all
devices shipped from Microchip. It can be
disabled by clearing the LVP bit in the
CONFIG register.
6: Disabling LVP will provide maximum compatibility
to other PIC16CXXX devices.


Con respecto a la memoria, no te puedo ayudar. Lo que si te puedo decir es que tienen un número limitado de escrituras, luego de la cual dejan de dar valores correctos. y si tu variable la guardas continuamente, vas a dañar la eeprom del pic y luego va a dejar de funcionar.

Desconectado ojkarin

  • PIC10
  • *
  • Mensajes: 39
Re: Programador ET-CAB10PIN V2 y pic16f877
« Respuesta #4 en: 15 de Marzo de 2010, 13:24:42 »
Ok, gracias por tomarte la molestia de mirar el datasheet, procuraré que no vuelva a ocurrir.
La eeprom creo que aun no la he dañado pero ya he visto en el datasheet la limitación, o eso creo.
Gracias, un saludo.

Desconectado pablomanieri

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 639
Re: Programador ET-CAB10PIN V2 y pic16f877
« Respuesta #5 en: 15 de Marzo de 2010, 15:01:02 »
La eeprom la utilizo más que nada para guardar datos de configuraciones que el usuario cambia en tiempo de ejecución, y que son datos que no cambian rápidamente.
Te aconsejaría que implementes algún circuito que detecte cuando se queda sin alimentación el pic, y que le coloques un sistema con un capacitor de backup para que te de tiempo a guardarlos en la eeprom antes de que este backup se agote, así solo los guardas cuando es necesario y no continuamente.

Desconectado ojkarin

  • PIC10
  • *
  • Mensajes: 39
Re: Programador ET-CAB10PIN V2 y pic16f877
« Respuesta #6 en: 16 de Marzo de 2010, 05:47:20 »
Ya estoy mirando por ahí cómo serían alguno de esos circuitos. Gracias por la ayuda, ciao.


 

anything