• Viernes 15 de Noviembre de 2024, 06:32

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - NANO1985

Páginas: [1]
1
Microcontroladores / Re: Lecto - Grabador De Tarjetas Mmc , Sd, Y Micro Sd
« en: Miércoles 13 de Junio de 2007, 02:01 »
acá les mando una fotos sobre el proyecto ....como verán todavia está en pañales ...pero seguimos probando....

apropósito.... alguien tiene programas de ejemplo en assembler sobre el modulo SPI del PIC16F87X??... porque se me hace que me estoy mandando unos mocos ... en las rutinas que envia los comandos......

2
Microcontroladores / Re: Programar Un Ds1307 Con El Pic16f877 Con I2c
« en: Miércoles 13 de Junio de 2007, 00:27 »
hola a todos.... les cuento que yo el año pasado hice algo con un pic 18F877A y un DS1307... la verdad que funciona muy bien... cualquier duda en las rutinas que utilicé no duden en consultarmelo.... desde ya espero sus preguntirijillas B)

3
Microcontroladores / Lecto - Grabador De Tarjetas Mmc , Sd, Y Micro Sd
« en: Martes 12 de Junio de 2007, 16:20 »
Hola!!!! quiero hacer una aporte a toda la comunidad electronica... y de paso poder complementar con otra informacion para lograr que este circuito llegue a la plenitud de su desarrollo. el mismo consta de un microcontrolador PIC16F877A con un oscilador de 20Mhz (luego voy a explicar porque el de 20)... un par de resistencias para "ajustar" los niveles de tension que manejan las tarjetas SD,MicroSD y MMC (2.7 a 3.3 v) a los niveles de la lógica TTL de la arquitectura del PIC, las diversas memorias que existen en el mercado, desde el punto de vista técnico, pueden trabajar mediante dos protocolos serie distintos: el protocolo MultiMediaCard propiamente dicho, y el protocolo SPI. El primero de los protocolos es el más potente  ya que permite más operaciones que el segundo, pero por otro lado, el segundo es más fácil de implementar si se dispone de una interfaz SPI  (en este caso mediante el modulo MSSP interno del pic) y es suficiente para la mayoría de aplicaciones. la tarjeta se comunica mediante Comandos del operador o Controlador, respondiendo en cada caso cada una de las peticiones del mismo. Yo por el momento logré paso a paso lo siguiente:

(1) seleccionar el modulo MSSP del pic para que funcione de modo maestro,... se utilizan para configurarlo solo 2 registros principales el SSPSTAT y el SSPCON1.
(2) mediante el 2 registro se selecciona el clock del modulo SPI, son 4 posibilidades distintas de frecuencias,... 1- Fosc/64 \\\ 2-Fosc/16 \\\ 3-Fosc/4 \\\ 4- Fosc=timer2/2
(3) en este caso tenemos que utilizar indefectiblemente un cristal de 20Mhz para que al seleccionar el divisor de frecuencia de clock a 64 (opcion1 item anterior) logremos obtener una frecuencia de clock de aproximadamente 312Khz... (frecuencia necesaria para inicializar la memoria)...
(4) luego debemos setear el tipo de polaridad del clock, momento en quese va a muestrear la entrada y ... haciendo CKP=1 CKE=0 SDI(SMP)=0 ...(son bits de los registros nombrados anteriormente)
(5) finalmente ya hemos inicializado el modulo del micro activandolo poniendo a "1" el bit SSPEN

ahora sigue la secuencia de pasos inalterables:

los son pasos muy precisos y específicos... cada comando entrega una respuesta de parte de la tarjeta.
a continuacion se detalla la cadena de cada comando a enviar y que se debe esperar de parte de la tarjeta.

CMD0--- cadena a enviar: 0x40,0x00,0x00,0x00,0x00,0x95 esperar respuesta: 0x01 (significa tarjeta en modo idle).
CMD41--- cadena a enviar: 0x41,0x00,0x00,0x00,0x00, 0xXX. Como la tarjeta ya esta en modo SPI el CRC (0xXX) puede tomar cualquier valor. se aconseja cargarle 0xFF. esperar respuesta 0x00 (significa tarjeta lista!!!! )
CMD55--- ESTE COMANDO NO ES UTILIZA PARA TARJETAS KINGSTON... SI TU TARJETA NO ES DE ESTA MARCA DEBERÁS ENVIARLE ESTE COMANDO. cadena a enviar: 0x77,0x00,0x00,0x00,0x00, 0xXX Y ESPERAR UN 0X00 DE RESPUESTA.
CMD58--- este comando es muy importante ya que se le "pregunta" a la tarjeta si está posibilitada a funcionar con una tension de alimentacion de 3.3v. cadena a enviar 0x7A,0x00,0x00,0x00,0x00, 0xXX. esperar respuesta 0x00 (significa que todo va OK!!!!)

luego de haber terminado la inicializacion, la tarjeta ya estla lista para realizar operaciones de lecto-escritura... pero lamentablemente acá se me recomplicó la cuestión.... hace una semana que estoy intentando escribirle algo y se vé que algun moco me estoy mandando o saltié algun paso,...porque no me responde nada cuando peticiono la escritura mediante el comando 24... nosé la verdad... voy a seguir intentando,.... y si hay progreso voy a seguir publicando más info...

si alguien está interesado en este proyecto no duden en intentar... por cualquier duda de hard o soft comunicate conmigo

vamos!!!! vamos!!!! pongansé las pilas e investiguen en este tema!!!!!! que está muy GROSSOOOO!!!

(tengo mucha informacion al respecto como para compartir sin problema)

Páginas: [1]