TODOPIC

FORO TÉCNICO => Foro Técnico => Mensaje iniciado por: Bopo en 07 de Febrero de 2006, 21:12:00

Título: Duda sobre memorias del pic
Publicado por: Bopo en 07 de Febrero de 2006, 21:12:00
El otro dia estaba usando un pic16f84a, programando en basic y me doy cuenta que ela rchivo pesa 1,5kb, y me entro la duda de cuantos kb caben en ese pic, averigue y cabian como 2 kb aprox.
el tema es que es super poco
y me intereso eso de usar una memoria externa (24lc16B por ejemplo) y el pic
como se haria eso?
despues solo tendria que grabar en la memoria y funciona en el pic?

y otra cosa... quiero hacer un programador + placa de desarrollo, se puede estar usando el pic y mandar a programar?, o tengo que tener un interruptor que desactive el uso y active la programacion?


saludos!
Título: RE: Duda sobre memorias del pic
Publicado por: Chaly29 en 08 de Febrero de 2006, 08:24:00
Hola Bopo, te comento que el 16F84A no tiene una capacidad de memoria de programa de 2K, la capacidad de este PIC es de 1024 Byts que es lo mismo que 1K.

Por otro lado la familia 16F no posee la habilidad de poder tener el programa externo al micro, eso solo lo hacen algunos de la familia 18F y superiores. Para poder tener mas memoria de programa lo que tienes que hacer es usar un PIC de mayor tamaño de memoria, por ejemplo un 16F88A, 16F628A, 16F648A, 16F877A, etc.

Lo del entrenador y programador lo que tu quieres hacer es programar un PIC in-circuit (sin sacar del circuito), lo que debes hacer es que el pic deje de funcionar, no puedes hacer que el pic este funcionando y al mismo tiempo lo estés programando.

Un saludo y suerte

Atte. CARLOS

Título: RE: Duda sobre memorias del pic
Publicado por: Bopo en 08 de Febrero de 2006, 11:33:00
Escrito originalmente por Chaly29
Hola Bopo, te comento que el 16F84A no tiene una capacidad de memoria de programa de 2K, la capacidad de este PIC es de 1024 Byts que es lo mismo que 1K.

Por otro lado la familia 16F no posee la habilidad de poder tener el programa externo al micro, eso solo lo hacen algunos de la familia 18F y superiores. Para poder tener mas memoria de programa lo que tienes que hacer es usar un PIC de mayor tamaño de memoria, por ejemplo un 16F88A, 16F628A, 16F648A, 16F877A, etc.

Lo del entrenador y programador lo que tu quieres hacer es programar un PIC in-circuit (sin sacar del circuito), lo que debes hacer es que el pic deje de funcionar, no puedes hacer que el pic este funcionando y al mismo tiempo lo estés programando.

Un saludo y suerte

Atte. CARLOS




si se que el 16f84a no soporta una memoria externa, solo estaba contando como se me ocurrio la duda xD, por cierto, yo programe el pic con un hex que pesaba 1,85 KB (1.904 bytes) y me funciona perfectamente,,,,

PIC16F84A   1.75 kb segun microchip
que raro igual... me cabie el programa

yo estaba pensando hacer lo de la memoria externa con un 16cxxx, pero no se como serian las conexiones, ni como funciona todo esto, osea si se programa en la memoria y el pic la toma automaticamente o hay que hacer algo...

en el caso de que se programe en la memoria tal vez se puede programar en el in-circuit, no lo se...
como podria ahcer para que e circuito se corte automaticamente al programar?

saludos!
Título: RE: Duda sobre memorias del pic
Publicado por: Chaly29 en 08 de Febrero de 2006, 12:19:00
Hola Bopo, no se de donde as sacado que el 16F84A tenga 1.75 Kb según microchip, en el datasheet del fabricante (Microchip) dice:

• 1024 words of program memory
• 68 bytes of Data RAM
• 64 bytes of Data EEPROM

The program memory contains 1K words, which translates
to 1024 instructions, since each 14-bit program
memory word is the same width as each device instruction.
The data memory (RAM) contains 68 bytes. Data
EEPROM is 64 bytes.

No leo en ningún lado que posea 1750 bytes.

Por otro lado que el .hex posea esa capacidad en tu PC no quiere decir que todo eso vaya al PIC, ya que como bien dices que tú .hex tenia un tamaño de 1.85 Kb si te fijas con el MPlab veras que en la memoria de programa del pic habrá aproximadamente 570 Bytes, lo cual no sobrepasa los 1024 del 16F84A

El tema de la memoria externa de programa para la familia 16FXXX según creo (no estoy seguro) se implementa con el puerto paralelo esclavo, y como bien dice es paralelo, por lo que las memorias 24CXX o 93CXX no servirán para esta función.

Personalmente no conozco un circuito que llegado el momento de programar el PIC haga que este deje de funcionar automáticamente para que se pueda programar, pero esto lo digo con el poco conocimiento que poseo de ese tema.

Suerte, y un saludo.

Atte. CARLOS

Título: RE: Duda sobre memorias del pic
Publicado por: Bopo en 08 de Febrero de 2006, 12:39:00
Escrito originalmente por Chaly29
Hola Bopo, no se de donde as sacado que el 16F84A tenga 1.75 Kb según microchip, en el datasheet del fabricante (Microchip) dice:

• 1024 words of program memory
• 68 bytes of Data RAM
• 64 bytes of Data EEPROM

The program memory contains 1K words, which translates
to 1024 instructions, since each 14-bit program
memory word is the same width as each device instruction.
The data memory (RAM) contains 68 bytes. Data
EEPROM is 64 bytes.

No leo en ningún lado que posea 1750 bytes.

Por otro lado que el .hex posea esa capacidad en tu PC no quiere decir que todo eso vaya al PIC, ya que como bien dices que tú .hex tenia un tamaño de 1.85 Kb si te fijas con el MPlab veras que en la memoria de programa del pic habrá aproximadamente 570 Bytes, lo cual no sobrepasa los 1024 del 16F84A

El tema de la memoria externa de programa para la familia 16FXXX según creo (no estoy seguro) se implementa con el puerto paralelo esclavo, y como bien dice es paralelo, por lo que las memorias 24CXX o 93CXX no servirán para esta función.

Personalmente no conozco un circuito que llegado el momento de programar el PIC haga que este deje de funcionar automáticamente para que se pueda programar, pero esto lo digo con el poco conocimiento que poseo de ese tema.

Suerte, y un saludo.

Atte. CARLOS






y como se ahce lo de la mem externa?, grabo en la memoria y el pic la toma automaticamente o hay que programar algo?
que tiene de especial la serie pic1xC ?
porque yo tenia entendido que esos funcionaban con memoria externa, pero ahora que me dices que los F tambien sirven con memoria externa,, veo que estaba mal..

y otra cosa,,, podrias ver esto porfa?
http://miarroba.com/foros/ver.php?foroid=59905&temaid=4848683


saludosGiño
Título: RE: Duda sobre memorias del pic
Publicado por: Chaly29 en 08 de Febrero de 2006, 12:59:00
Bopo, lo que tu estas mirando en esa tabla es la capacidad en Kb con las instrucciones y todo, pero eso no se usa como parámetro a la hora de definir un PIC.

Lo que tu tienes que mirar es la fila inmediata derecha, que como veras indica 1 lo que significa 1 Kb = 1024 bytes.

Ha cerca de como implementar el uso de memoria de programa externa no tengo ni idea, pero antes de realizar eso lo que se hace es cambiar de micro a uno de mayor capacidad, ya que tienes ventajas económicas y de sencillez de circuito.

He mirado el link que me as pedido y es probable que el problema sea que en las maquinas modernas al ser estas de mayor velocidad la señal que envida para la programación del PIC sea superior a la permitida por lo tanto el PIC no se llega a grabar, esa seria mi única explicación por el momento.

Nos vemos

Atte. CARLOS  

Título: RE: Duda sobre memorias del pic
Publicado por: Bopo en 08 de Febrero de 2006, 13:08:00
Escrito originalmente por Chaly29
Bopo, lo que tu estas mirando en esa tabla es la capacidad en Kb con las instrucciones y todo, pero eso no se usa como parámetro a la hora de definir un PIC.

Lo que tu tienes que mirar es la fila inmediata derecha, que como veras indica 1 lo que significa 1 Kb = 1024 bytes.

Ha cerca de como implementar el uso de memoria de programa externa no tengo ni idea, pero antes de realizar eso lo que se hace es cambiar de micro a uno de mayor capacidad, ya que tienes ventajas económicas y de sencillez de circuito.

He mirado el link que me as pedido y es probable que el problema sea que en las maquinas modernas al ser estas de mayor velocidad la señal que envida para la programación del PIC sea superior a la permitida por lo tanto el PIC no se llega a grabar, esa seria mi única explicación por el momento.

Nos vemos

Atte. CARLOS  




le he modificado el retardo y todo sigue igual Enfurruñado

lo que pasa es qe quiero lo de la memoria para poder hacer una tarjeta tipo basic stamp homework, con protoboard, programacion in circuit, y alta capacidad de espacio, ya que se peude usar para diferentes cosas, ademas una memoria no es tan cara, tienen un valor aporx de 500 pesos aca en chile las de 16 kb, son como 2 pesos argentinos o 1 dolar
Título: RE: Duda sobre memorias del pic
Publicado por: Chaly29 en 08 de Febrero de 2006, 13:19:00
Bopo, entonces lo que tu deseas hacer es guardar datos en la memoria, no el programa del PIC, si es esto, si puedes usar una memoria serial, la forma de conectarla será de acuerdo con el tipo de memoria que uses, te recomiendo que consigas el datasheet de las memorias que tienes en vista.

Suerte.

Atte. CARLOS
Título: RE: Duda sobre memorias del pic
Publicado por: Bopo en 08 de Febrero de 2006, 13:40:00
Escrito originalmente por Chaly29
Bopo, entonces lo que tu deseas hacer es guardar datos en la memoria, no el programa del PIC, si es esto, si puedes usar una memoria serial, la forma de conectarla será de acuerdo con el tipo de memoria que uses, te recomiendo que consigas el datasheet de las memorias que tienes en vista.

Suerte.

Atte. CARLOS



ehmmm, lo que quiero es grabar el programa en la memoria y que de ahi lo saque el pic...
se puede o no?
Título: RE: Duda sobre memorias del pic
Publicado por: Chaly29 en 08 de Febrero de 2006, 14:29:00
Pues no sé, entra en la pagina de microchip y de seguro encontraras todo lo que deseas saber.

Suerte.


Título: RE: Duda sobre memorias del pic
Publicado por: Bopo en 08 de Febrero de 2006, 14:33:00
Escrito originalmente por Chaly29
Pues no sé, entra en la pagina de mocrochip y de seguro encontraras too lo que deseas saber.

Suerte.




pero se puede??
o las memorias son exclusivamente para variables?

saludos
Título: RE: Duda sobre memorias del pic
Publicado por: Chaly29 en 08 de Febrero de 2006, 19:29:00
Hola Bopo, haber como te lo puedo explicar ¡¡¡ NO SÉ !!! comprendes ahora, soy un simple humano, no puedo saber todo lo que desean saber, pero te e dado información por donde puedes buscar, ahora si tu no deseas buscar y quieres que todo te lo den servido, pues tendrás que esperar sentado si no te quieres cansar, ¿me comprendes?

Suerte, un saludo.

Atte. CARLOS

Título: RE: Duda sobre memorias del pic
Publicado por: Bopo en 08 de Febrero de 2006, 20:17:00
Escrito originalmente por Chaly29
Hola Bopo, haber como te lo puedo explicar ¡¡¡ NO SÉ !!! comprendes ahora, soy un simple humano, no puedo saber todo lo que desean saber, pero te e dado información por donde puedes buscar, ahora si tu no deseas buscar y quieres que todo te lo den servido, pues tendrás que esperar sentado si no te quieres cansar, ¿me comprendes?

Suerte, un saludo.

Atte. CARLOS




tranquilizate... si pregunte es porque ya busque...
Título: RE: Duda sobre memorias del pic
Publicado por: Chaly29 en 08 de Febrero de 2006, 21:25:00
Hola Bopo, te comento que para nada estoy intranquilo, lo que pasa es que vos habiendo hecho una pregunta, yo te respondo que no sé, y nuevamente me haces la misma pregunta parece que me estuvieras haciendo una broma, OK.

En ves de haber gastado tiempo en realizar la misma pregunta, podrías haber explicado que ya anduviste buscando sin encontrar nada, entonces yo te hubiera respondido, que habrás este link, y mires en la parte que corresponde al manejo del puerto paralelo, OK:

http://ww1.microchip.com/downloads/en/devicedoc/39582b.pdf

En la pagina 53 de este .pdf habla del puerto paralelo esclavo, si lo que buscas se puede implementar seguro se encuentra en ese lugar

Suerte.

Atte. CARLOS

Título: RE: Duda sobre memorias del pic
Publicado por: Jose_JN en 13 de Febrero de 2006, 18:00:00
Hola, me llamo Jose y es mi primer mensaje en el foro GiñoGiñoGiño

Me voy a meter de lleno en esto de los PICS (si no me rajo por el camino Muchas risasMuchas risas )

La respuesta a cuanta memoria flash tiene un 16F84A es 1.75KB

Explicación:
El 84A tiene 1024palabras (1k) pero estas palabras son de 14bits de longitud (y no 8bits que es 1 byte)
Por tanto tenemos que:
 1024*14=14336Bits (palabras por su tamaño igual al tamaño en bits)
14336/8= 1792Bytes (dividido entre 8 para pasarlo a bytes)
1792/1024=1,75Kbytes (dividido entre 1024 para pasarlo a kbytes)

Y ahí están los 1,75k´s de programa que caben en el PIC

Un saludo. Si todo va bien, habrá mas mensajes mios GiñoGiño
Título: RE: Duda sobre memorias del pic
Publicado por: Chaly29 en 14 de Febrero de 2006, 01:45:00
Hola Jose_JN, si bien lo que tu comentas es cierto, en la practica no se usa ya que llama a confusiones, esto es por que en la vida real lo que se denomina como capacidad de memoria flash es la cantidad de instrucciones que permite un PIC colocar en su memoria de programa, que en el caso del 16F84 es 1024, por este motivo es que se dice que este micro tiene una capacidad de memoria de 1K.

Espero haberte aclarado el tema, un saludo y suerte

De paso BIENVENIDO AL FORO  Rebotado

Atte. CARLOS

Título: RE: Duda sobre memorias del pic
Publicado por: dogflu66 en 14 de Febrero de 2006, 17:31:00
Pues es la primera ves que veo un debate con la capacidad de memoria en los pic, y menos sobre la escualida memoria del 16f84, que sin duda a “efectos practicos es de 1K”, otra cosa es que si el rendimiento de esta memoria es pues superior comparada con un micro de arquitectura mas antigua, pues puede ser… pero cuando programo los pic el contador de memoria de mi compilador es implacable y da el valor de memoria ocupada sobre un total de 1k….




PD. por supuesto el compilador no se refiere a Kbyte
Título: RE: Duda sobre memorias del pic
Publicado por: dogflu66 en 14 de Febrero de 2006, 19:41:00
Y sobre el tema anterior de la ampliación de memoria de programa del pic16f84, es algo que a mi entender va en contra de la finalidad de esta familia, pero pensando en como se podría hacer, pues se me ocurren dos posibilidades, (pero antes de todo quedaría descartado el uso de memoria paralelo ya que consumiría todos los recurso I/O de este pic)

por supuesto utilizando memoria serie, para ahorrar en pin I/O, nos encontraríamos con el primer problema, que es la baja velocidad de esta memoria.

1º caso
como ampliación de memoria:
se necesitaría programar la memoria de programa del pic con un programa que interprete los comandos y datos asociados a ellos, que estén alojados en la memoria serie, con lo que a la longitud de la rutina de comunicación con la memoria externa abría que añadir también el programa que interpreta los comandos alojados en la memoria serie, esto nos daría un sistema de proceso por interpretación de comandos externos, que haría el programa de la flash muy largo ya que necesitaríamos un núcleo que interpretará los comandos externos con toda su estructura asociada, mas comandos distintos mas grande el programa de la flash…, y otra gran pega seria la perdida de velocidad del programa ya no por la lentitud de la memoria serie, sino por la lentitud de tener que utilizar un lenguaje interpretado.

2º caso
programación de la memoria flash con un programa alojado en una memoria serie externa:
en este caso no le encuentro sentido ya que el PIC se puede programar vía serie en placa, pero bueno, en teoría se podría grabar un programa en la memoria serie y mediante un programita residente en el PIC, cada vez que se haga un reset este programita se activaría y leería la memoria externa e iría grabando el programa en la memoria flash del PIC y luego pasaría el control a este nuevo programa alojado en otra parte de la memoria de programa, esto se puede hacer con algunos PIC de la familia 16F, pero desconozco si este PIC en concreto lo permitirá… se podría modificar en la memoria externa un dato para indicar al programita residente que el programa ya fue actualizado para así no repetir la operación cada vez que se hace un reset…

y fin.
Título: RE: Duda sobre memorias del pic
Publicado por: vszener en 15 de Febrero de 2006, 05:37:00
Con respecto a la ampliacion de memoria estoy de acuerdo con el amigo dogflu66, que en la familia 16 no tiene demasiao sentido, es mas me atreveria a decir que no tiene ningun sentido!dicha familia ya trae su memoria de programa la cual si se te queda pequeña pues en la misma familia hay una diversidad de micros los cuales poseen mas memoria para tal fin, creo que en la familia 18F en alguno s epuede ampliar la memoria externa pero vamos que para memoria externa si es el caso, los microprocesadores actuan bastante bien y hay algunos muy baratitos!


Suerte!!!Giño
Título: RE: Duda sobre memorias del pic
Publicado por: antoniof en 14 de Febrero de 2006, 23:57:00
El PIC16F628 es pin compatible con el 16F84A y tiene el doble de memoria de programa.

El PIC16F88 tambien es compatible y tiene 4K words de memoria de programa.

La solucion es buscar un PIC compatible con más memoria y listo