# Puedo ampliar la memoria ROM de mi pic?



## Ingfis_Juan (Sep 10, 2007)

Hola a todos ¡¡¡ 
  En mi universidad tengo un proyecto en el cual debo desarrollar un sistema de infusion destinado a hospitales y en particular,a pacientes de edad media. Para ello debo desarrollar varios ambitos propio de todo desarrollo de un producto: mecanica, fisica , diseño, electronica etc. En la parte de electronica debo programar un microcontrolador, tengo pensado usar el 16F873A o similares, pero segun se su memoria es limitada. Planeao crear una base de datos sobre las densidades de los liquidos a usar, el tipo de medicamente y tal, pero con seguridad no me va a caber en el PIC. Hay alguna manera de ampliarle la memoria ROM al micro?? Se le puede conectar algun componente externo que sirva ( no se si una memoria EEPROM sirva)?? O me sugieren algun micro en particular?


----------



## jjfonsecaz (Sep 10, 2007)

De ninguna manera puedes ampliar la memoria rom mas sin embargo puedes poner cualquier tipo de memoria que quieras en alguno de los puertos del pic, te recomendaria usar memorias i2c(cuestion a parte que el pic tiene el modulo implementado en su arquitectura) ya que solo necesitarias de 5 a 6 lineas para interconectar 8 memorias del mismo tipo, aun asi tendrias el limite de memoria determinado por el numero de memorias que uses por lo tanto lo mas recomendable es que imprimas reportes o los envies a una computadora, o bueno existe en este mismo foro algunos intentos por controlar una memoria sd, la cual seria una opcion bastante favorable pero de momento no he tenido noticias de que funcione al 100%.


----------



## kircho (Sep 10, 2007)

No puedes expandir la memoria de programas del PIC pero puedes usar una memoria externa. Si deseas utilizar un microcontrolador de verdad te recomiendo el ADuC845 fabricado por analog device es el mas completo que hasta los momentos e utilizado, no se le puede comparar con ninguno de la familia PIC.

Su costo es de 20 $ puedes cotizarlo en digikey.com

Las caracteristicas mas relevantes son las siguientes:

62 kbyte de memoria de programa ROM...
2   kbyte de memoria RAM
4  kbyte de memoria EEPROM

2 convertidores ADC de 24 bits 8 canales
1 convertidor   DAC 12 bits
2 salidas PWM
1 amplificador de ganancia programable
1 sensor de temperatura interno
y otras mas....

Lo mejor de todo se programa atraves del puerto serial con un simple MAX232.
y el nucleo es igual al de los intel 8052 ejecuta una instruccion por ciclo de maquina y corre a 12Mhz.


----------



## Ingfis_Juan (Sep 10, 2007)

Lo que pasa es que no tengo acceso a tal tecnologia ( el microcontrolador) en mi ciudad. Gracias  a los dos¡¡. Aunque me queda poco claro lo de las memorias voy a consultar, sin embargo, no sobraria algun consejillo sobre cual memoria es mejor y tal. Nos vemos .


----------



## antoniotenorio (Sep 11, 2007)

Buena onda Kircho, que impresionante ese microntrolador ADuC845, lo voy ha investigar, sabes yo estoy utilizando un ADE7755 y ADE7753 que son medidores de engergia electrica, pero tienen dos canales ADC de 16 bits y 24 bits es muy preciso desde mi punto de vista, ademas del precio!!!. Sabes si ese micro se puede programar en lenguaje C.  Disculpen a los demas por cambiar el contexto del tema.


----------



## tiopepe123 (Sep 11, 2007)

Mirate las memorias de la serie 24CXX como la 24C128 o la serie 93C56 o similares la mas grande me parece que es de 64Kbytes.

Mejor utiliza 16f876 que es lo mismo pero con mas memoria. Recuerda que la serie pic16f8XX permite guardar datos en la memoria de programa "ROM", aunque no es una buena solucion.
Lo ideal es utilizar una memoria externa como las serial eeprom.

Razones:
Precio
Endurance, veces que se pueden reprogramar, recuerda que son limitadas, sobre unas 100.000 veces
Puedes conectar varias en paralelo.
Las puedes extraerlas para leerlas con un lector muuuy barato.
Necesitas pocas lineas para controlarlas.

Yo tampoco no he probado las tarjetas SD pero parece que los problemas de lectura ya los han solucionado con el tema de ficheros.


Para kircho: Que tal esos bichos por lo que lei para el procesado analogico no necesitas apenas acondicionar nada con esos 24bits.
En http://www.futurlec.com/ tienen placas bastante baratas para el desarrollo


----------



## Ingfis_Juan (Sep 11, 2007)

Mucha gracias Tio Pepe, yo hace unos dias compre una memoria EEPROM 24LC04, sin embargo no se que hacer con ella. A ver. la idea es que quiero hacer una base de datos que sera mostrada en un display LCD con información seleccionable ( mediante un teclado matricial) del tipo de medicamente y jeringa a usar, pero no tengo idea sobre como  programarlo. Se programa desde el teclado ???? O hay manera de programarlo en C ( u otro)y luego cargarlo en el micro?? La verdad es que estoy un poco confundido con eso, se como conectarlo pero no tengo claro como programarlo, y que esa información quede grabada permanentemente ( y usarla cuando se necesite).De nuevo gracias y haasta pronto.


----------



## tiopepe123 (Sep 12, 2007)

Te ssugiero el compilador ccs c que lo puedes encontrar donde tu ya piensas.
Luego un bootloader, es un programita que lo programas en el pic y actua como un reprogramador. Escrives el programa->compilas->descargas del PC al micro.
Necesetiras un adaptador de TTL a RS232 que ademas te sera muy util ya que te permite pasar información desde/hasta el pic.


Finalmente una vez instalado el ccs encontraras los ejemplos que necesitas, como grabar en una eeprom,mostrar mensajes en la LCD 8 cables...

C:\Archivos de programa\picc\examples

Ya tienes trabajo para unos dias compañero....


----------



## kircho (Sep 19, 2007)

Para Antoniotenorio:

Que tal amigo en efecto te sugiero si quieres progarmar en Lenguaje C uses el compilador Keil lo encuentras con emule.

Te recuerdo que el nucleo de la familia de microcontroladores analog device esta basado en los 8051 intel. En pocas palabras usas el mismo repertorio de instrucciones.

A las personas que esten interesadas en acondicionar señales y digitalizarlas les informaciónrma que el Aduc845 posee un amplificador de ganancia programable asi que tu señal analogica no requiere ser acondicionado fuera del chip nada de amplificador operacionales fuera ok.

Las hojas de dato de estos micro controladores deben ser leidas con detenimiento y atensión atensión no son muy explicitas y el fabricante suministra pocos ejemplos de aplicacion
pero vale la pena invertir tiempo ya que verdaderamente el microcontrolador es sumamente potente.


----------



## antoniotenorio (Sep 19, 2007)

gracias  amigo kircho, la verdad es que me sorprendes, pues no sabia que se los puede programar en keil pero si me recuerdo que habia chips de analog device, solo ahora me recuerdo..., gracias por darme la , aunque en este mometo no tengo los chip los estare programando y recordar la programacion en 8051, con esto de la picmania... , podrias responderme un par de preguntas, en que software lo grabas a chip, y que hardware utilizar para eso, de antemano te agradesco por tu ayuda.


----------



## Paloky (Sep 20, 2007)

Tiopepe123 y jjfonsecaz, yo si que he utilizado las tarjetas SD, y os puedo assegurar que a mi me funciona al 100% (Hasta 2Gb).

Eso si, la tienes que utilizar como si se tratase de una memoria normal.  De momento, no he intentado utilizar el formato FAT32.  Pero como una memoria normal y corriente tipo 24Cxx, funciona perfectamente.

La única cosa que tienes que tener en cuenta, es que la SD se tiene que leer y escribir por sectores (512 bytes) cosa que necessitas un PIC con suficiente memoria RAM para poder tener un buffer de 512 mas las variables que utlizes.

Creo que és la mejor solución para almacenar información (y bastante económica, ja que luego puedes sacar la tarjeta y utilizarla para cualquier dispositivo, camara, reprouctor mp3, etc..).

Si te interesa utilizar la tarjeta SD, busca el tema "LECTO-GRABADOR de tarjetas MMC , SD, MicroSD con pic 16F877A", alli he colgado el programa de control de la tarjeta SD.

Un Saludo para todos.


----------

