Haz una pregunta
  Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

26/05/2008 #41


Lee acerca de I2C.
26/05/2008 #42


oye eidtech

ya leí sobre eso y aún así no consigo comprender nada

soy nuevo en esto

¿como se envía un bit? ¿solo con poner a 1 la salida?
¿como mandas la señal de reloj del bus?

alguien que tenga algun manual facil
27/05/2008 #43


http://es.wikipedia.org/wiki/I%C2%B2C

Ahi vienen las respuestas a tus preguntas.

Como información adicional el PIC16F877 tiene un modulo llamado MSSP (Master Syncronus Serial Port) que se puede configurar para trabajar como I2C.
15/07/2013 #44


Hola, estaría necesitando que me ayudaran a resolver un problema. En el circuito que estoy diseñando recibo datos desde una computadora por el RS232 a un ATmega16 a 115.200bps. El tema es que esa información la tengo que enviar por uno de los puertos del micro a una velocidad mayor, por lo que necesitaría primero guardar la información y luego enviarla.

Mi duda es la siguiente, puedo conectarle al ATmega16 una EEPROM externa que guarde esta información y luego me permita enviarla?? Si esto es factible, tendría que utilizar una memoria con comunicación SPI, no es cierto??

Muchas gracias.
17/07/2013 #45
Moderador

Avatar de Chico3001

Cierto.... aunque si solo necesitas reenviar los datos a una velocidad mayor yo los guardaria en RAM, ya que las memorias EEPROM tienen un limite maximo de escritura de datos.... excediendo ese limite dejan de funcionar...
22/07/2013 #46


Gracias por la respuesta. Pasa que no encuentro en el mercado memorias RAM con comunicación SPI, hoy voy a comprar y veo si consigo. Sino, tendré que poner un zócalo y cambiar la eeprom externa cada tanto.
22/07/2013 #47

Avatar de Scooter

Depende de cuánta RAM necesites, en algunos rtc hay RAM además del rtc.
24/07/2013 #48


Gracias, ahora busco si consigo algún rtc con la cantidad de RAM que necesito, serían 32K mínimo.

Había programado todo para la comunicación SPI y ahora no consigo el 25LC256, me puse a leer de I2C para usar la 24LC256 pero la verdad que es bastante más complicado y estoy necesitando solucionar este tema.
24/07/2013 #49

Avatar de Scooter

Ni por asomo, en un RTC pueden haber 32 bytes.
Dallas tiene RAM no volátil pero de acceso paralelo vía bus "normal" con y sin RTC, yo los usaba.
24/07/2013 #50


Gracias Scooter. Me fijo entonces si consigo alguna RAM de dallas de las que me comentás, pasa que no creo que me alcancen los puertos del atmega16 para usarla si tengo 16 bits de direccionamiento y 8 de datos.
24/07/2013 #51

Avatar de Scooter

Y las líneas de control...
25/07/2013 #52


Otra opción que se me ocurre es, si consigo, conectar dos 93c86 para utilizar la comunicación por el SPI. Esto es factible, no es cierto?
25/07/2013 #53

Avatar de Gudino Roberto duberlin

Ana Clara, pregunto, implementar memorias dinamicas, te resulta un gran desafio?.
25/07/2013 #54


Gracias por la sugerencia, pero la verdad que no tengo idea como podría implementarla. No te pido que me lo soluciones, pero podrás ayudarme para ver por donde empezar a investigar para realizarlo?
25/07/2013 #55

Avatar de Scooter

Para 32kB una memoria dinámica... Si fuesen 32MB pues vale
25/07/2013 #56

Avatar de Daniel Meza

Siguiendo la opinión de Scooter, puedes recurrir a una RAM (no necesariamente no volátil) como por ejemplo una 62256 (32KB). Para ahorrarte líneas del micro puedes recurrir a registros de corrimiento para el bus de datos y otros para el de dirección y unas líneas aparte para el bus de control. El circuito quedará grande pero será de una velocidad mayor que si utilizases algúna EEPROM externa.
Saludos
26/07/2013 #57

Avatar de Scooter

He estado buscando y no encuentro ram SPI o I²C de mas de 1kB, y poner 32 chips me parece un pasón.
Para las memorias paralelo si vas a hacer un buffer secuencial puedes usar un contador para el bus de direcciones y con dos líneas lo controlas (reset y clock) y el bus de datos ya al gusto, o directo o con un registro de desplazamiento.

Corrijo, microchip tiene para todos los gustos:
http://www.microchip.com/pagehandler...SRAM/home.html
26/07/2013 #58


Gracias por las sugerencias, no había entendido antes a Scooter. Ustedes dicen de usar un 74HC164 para convertir la salida serie a paralela y de esa manera usar la memoria RAM 62256, luego para la lectura un 74HC165. Ahora me pongo en tema para implementarlo, muchas gracias, si puedo hacerlo la verdad que sería lo ideal.

Igual en principio lo que no entiendo es lo siguiente, necesitaría tres 74HC164 para convertir a paralelo la dirección (high y low) y los datos. El tema es que los tres tendrían que estar conectados al SPI, para poder seleccionar si enviando o leyendo address high, address low o datos tendría que utilizar el pin MR, no es cierto?
26/07/2013 #59

Avatar de Scooter

Yo dejaría el bus de datos tal cual, el bus de direcciones si que le pondría un contador. Con reset y clock controlas toda la memoria que quieras.
26/07/2013 #60

Avatar de Daniel Meza

Ana Clara dijo: Ver Mensaje
Gracias por las sugerencias, no había entendido antes a Scooter. Ustedes dicen de usar un 74HC164 para convertir la salida serie a paralela y de esa manera usar la memoria RAM 62256, luego para la lectura un 74HC165. Ahora me pongo en tema para implementarlo, muchas gracias, si puedo hacerlo la verdad que sería lo ideal.

Igual en principio lo que no entiendo es lo siguiente, necesitaría tres 74HC164 para convertir a paralelo la dirección (high y low) y los datos. El tema es que los tres tendrían que estar conectados al SPI, para poder seleccionar si enviando o leyendo address high, address low o datos tendría que utilizar el pin MR, no es cierto?
Así es, 3 74HC164, uno para el bus de datos, otros dos para 16 bits de dirección y también otro 74HC165 para la lectura de datos.
Siguiendo esta estructura con la señal de reloj decidirás que registro "captura" el bit enviado por la línea de datos común a TODOS los registros.

Esta implementación tiene como ventaja que solo se necesitan 16 pulsos de reloj para fijar una dirección cualesquiera que sea (acceso aleatorio) y 8 pulsos más para los datos, a diferencia de la propuesta de los contadores que propone el amigo Scooter que demanda una cantidad variable de pulsos en función de la dirección donde se desea leer/escribir haciendo el sistema mucho más lento.
Aunque si las lecturas/escrituras serán sucesivas la idea de los contadores es más propicia y rápida
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.