Autor Tema: Comenzando con memorias SD/MMC. Librería a nivel hardware.  (Leído 158507 veces)

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

Desconectado federics

  • PIC10
  • *
  • Mensajes: 1
Re: Comenzando con memorias SD/MMC. Librería a nivel hardware.
« Respuesta #195 en: 01 de Diciembre de 2012, 00:03:56 »
Hola. Tengo un problema, he implementado las funciones de inicializacion y escritura y cuando envio los comandos, la tarjeta responde perfectamente. Pero cuando escribo el comando CMD24, y recibo la respuesta, envio el token(0xFE), los datos y el CRC. Nunca recibo una respuesta y no logro escribir datos en la memoria. Hace dias reniego. Por favor si alguien sabe porque puede ser. Muchas gracias.

Desconectado cosmic

  • PIC16
  • ***
  • Mensajes: 175
Re: Comenzando con memorias SD/MMC. Librería a nivel hardware.
« Respuesta #196 en: 20 de Agosto de 2013, 20:01:38 »
Saludo a todos los amigos del foro.
Hola amigo suki. ((:-))
Tengo que hacer un sistema para guardar claves a traves de un teclado matricial 4x4
en 4 y 6 digitos ¿el  largo del bloque para escritura lectura lo puedo configurar como 6
para guardar los números char Buffer[6]?. Mi idea es que al a leer la memoria con winhex.
pueda ver algo como esto.

1234 000000000000
567899000000000000
9854 000000000000
116587 00000000000

es para consultarlas a traves de un pc normal.
Gracais por tu ayuda. :-/



Desconectado Suky

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Comenzando con memorias SD/MMC. Librería a nivel hardware.
« Respuesta #197 en: 20 de Agosto de 2013, 21:22:44 »
Hola! No, se puede escribir solo de a 512 bytes, leer si se puede seleccionar cualquier rango.


Saludos!
No contesto mensajes privados, las consultas en el foro

Desconectado cosmic

  • PIC16
  • ***
  • Mensajes: 175
Re: Comenzando con memorias SD/MMC. Librería a nivel hardware.
« Respuesta #198 en: 21 de Agosto de 2013, 00:01:26 »
Gracias por contestar.
Me dejas medio frio, entonces como me puedo plantear este problema.
mi necesidad es poder leer ordenadamente estas claves? con un formato coherente.
agradezco la ayuda que me puedas dar.
Un saludo.

Desconectado cosmic

  • PIC16
  • ***
  • Mensajes: 175
Re: Comenzando con memorias SD/MMC. Librería a nivel hardware.
« Respuesta #199 en: 21 de Agosto de 2013, 15:26:42 »
Amigo suky. :-/
Perdon por molestar tanto.
Tome este ejemplo para modificarlo, pero al sólo compilarlo me da un monton de errores
tengo ccs 4.104. sera que se compilo antes con otro codigo fuente algo distinto a este..
Te agradezco me des una mano con esto. :oops:

Desconectado cosmic

  • PIC16
  • ***
  • Mensajes: 175
Re: Comenzando con memorias SD/MMC. Librería a nivel hardware.
« Respuesta #200 en: 28 de Agosto de 2013, 01:04:41 »
Hola amigo Suki.
Veo que estas ocupado; ya le queme bastante tiempo a esto de la memoria SD, usando los ejemplos de arossini.com.ar.
Logre simular perfecto lectura y escritura de la memoria, pero al pasar a protoboard, lo primero dañe la fat de la memoria y me toco formatear con win xp. Preciso leo y me pasa.
 :oops:
Ahora solo tengo el sector físico.
Tengo libre en 00000 desde el segundo bloque y empieza desde 512, ahora, ¿como calculo esta dirección para escribir la SD?
En el documento de arossini dice que es sector*512, pero ya no aparece physical sector No ni lógicas sector No
al leer la memoria con  winhex.
Al copiar archivos desde xp la memoria se deja escribir y leer.
¿Me podrías dar una manito con esto?
 :?
Gracias.

Desconectado RICHI777

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1498
Re: Comenzando con memorias SD/MMC. Librería a nivel hardware.
« Respuesta #201 en: 28 de Agosto de 2013, 13:44:55 »
Hola, mi punto de vista. La memorias MMC/SD viene normalmente preformateadas en FAT ( 12/16/32 ) dependiendo del tamaño de la misma. Toda tarjeta internamente tiene una(s) memoria Nand Flash y un controlador. El protocolo de comunicación con la memoria unicamente sabe de sectores lógicos ( LBA logical block address ) y el formato FAT es una interpretación hecha por una capa de más alto nivel. Lo que desarrollo Suky ( ampliamente desarrollado en este post y posiblemente unos de los mejores del foro ) es justamente como hacer la interpretación lógica desde tu firmware para poder acceder/leer/escribir en la memoria. Finalizando, no te metas en tratar de escribir en sectores lógicos perdidos por ahí, posiblemente rompas el formato. Simplemente utiliza la librería de Suky y creas un archivo y escribís sobre el mismo lo que quieras.

Saludos !

Desconectado cosmic

  • PIC16
  • ***
  • Mensajes: 175
Re: Comenzando con memorias SD/MMC. Librería a nivel hardware.
« Respuesta #202 en: 28 de Agosto de 2013, 18:58:29 »
La verdad es que en proteus todo funciona bien, pero en el rpotoboard  nada anda..

Desconectado Suky

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Comenzando con memorias SD/MMC. Librería a nivel hardware.
« Respuesta #203 en: 28 de Agosto de 2013, 20:46:57 »
La verdad es que en proteus todo funciona bien, pero en el rpotoboard  nada anda..

En protoboard puede dar problemas.. Proba bajando la velocidad de SPI y asegura las conexiones, y que no sean cables muy largos.


Saludos!
No contesto mensajes privados, las consultas en el foro

Desconectado cosmic

  • PIC16
  • ***
  • Mensajes: 175
Re: Comenzando con memorias SD/MMC. Librería a nivel hardware.
« Respuesta #204 en: 28 de Agosto de 2013, 22:35:39 »
Gracias por responder. :-/
La verdad es que quiero hacer mi propia subrutina y no copiar y pegar, pues no aprendería nada.
Ya solucione el problema, tenia un while que no me dejaba pasar de ahí.
Ahora ya escribo y leo muy bien, pero a pesar de esto, cuando chequeo  "if(D_in!=0x05){output_a(0x05);} else{ output_a(0x01);}" después de escribir la memoria
para asegurar buena escritura esperando respuesta de la SD; se me ejecuta el else; y al revisar la memoria con winhex, esta fue bien escrita en el bloque seleccionado
y el resto de los 512 byte rellenados con 0xff.
Alguna sugerencia?
La estoy sudando pero quiero aprender bien el tema. :P
« Última modificación: 28 de Agosto de 2013, 22:41:59 por wilrey »

Desconectado cosmic

  • PIC16
  • ***
  • Mensajes: 175
Re: Comenzando con memorias SD/MMC. Librería a nivel hardware.
« Respuesta #205 en: 03 de Septiembre de 2013, 20:45:22 »
Hola amigos.
Alguien me puede decir, como creo imagenes de sd en fat16 con winimage.
Las imagenes que creo salen en fat12 y la simulación no reconoce estas; las imagenes de la sd reales que creo, demoran mucho
en ser creadas y ocupan mucho espacio, alguien me puede decir como crean estas, en un foro vi una en fat16 que pesaba solo 300kb y trabaja perfecto, esta en winimage .
Gracias.

Desconectado gajobar

  • PIC10
  • *
  • Mensajes: 13
Re: Comenzando con memorias SD/MMC. Librería a nivel hardware.
« Respuesta #206 en: 03 de Octubre de 2013, 17:11:12 »
Buenas a todos!!

Estoy comenzando con este tema y me baso en la librería se Suky, la versión que está disponible en su web, más lo que voy leyendo en este foro y en otras páginas.

El tema está en que en el simulador anda todo perfectamente, desde leer la SD hasta crear carpetas y directorios.

Ahora, cuando lo llevo a la realidad y quiero leer la SD, para poder inicializar el FAT, solo leo 0x00 en todo el bloque inicial. Pense que era la SD y la leo con el WinHex y están todos los datos, nada de 0x00, en el sector inicial. Me fijo si se inicia mal la SD, pero aparentemente, se inicia todo bien. El drama solo esta el la lectura, ya que, hata el CMD17 y el tocken se da todo bien.

Dejo lo que se lee por DEBUG:





--> Se inicia sincronizacion

--> Se envia CMD0 (Se desactiva SD Card)

Repuesta al ultimo CMDxx : 1)

--> Se envia CMD1 (Se activa SD Card)

Repuesta al ultimo CMDxx : 0)

--> Se envia CMD16 (Se fija largo del Bloque para escritura/lectura : 512)
Repuesta al ultimo CMDxx : 0)

--> Se envia CMD17 (Lectura de bloque)
Repeticiones para respuesta de CmdXX: 3; Respuesta recibida:0
Toquen recibido: 0xFE
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03
02 00 06 07 E0 C0 61 00 00 00 9F C0 03 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 55 AA

Terminada la lectura
FAT_init:
-->Bytes por sector:0
-->Sectores por cluster:0
-->Numero de sectores reservados:0
-->Numero de copias FATs:0
-->Numero de entradas directorio raiz:0
-->Numero de sectores ocupados por un FAT:0
-->Primer sector de FAT1:0
-->Primer sector de FAT2:0
-->Primer sector del directorio raiz:0
-->Numero de sectores utilizados por directorio raiz:0
-->Numero de bytes por cluster:0




Espero que me puedan dar una mano, porque ya no se qué mas hacer o modificar

Saludos!!

Desconectado Suky

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Comenzando con memorias SD/MMC. Librería a nivel hardware.
« Respuesta #207 en: 03 de Octubre de 2013, 20:20:20 »
Estas utilizando CCS o algún compilador de Microchip? Si usas este último intenta utilizar su librería haber si resulta lo mismo. Yo hace mucho que no toco nada del tema, así que no puedo ayudar.



Saludos!
No contesto mensajes privados, las consultas en el foro

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18310
    • MicroPIC
Re: Comenzando con memorias SD/MMC. Librería a nivel hardware.
« Respuesta #208 en: 04 de Octubre de 2013, 01:33:55 »
¿Será que hay alguna conexión mal hecha?

Desconectado gajobar

  • PIC10
  • *
  • Mensajes: 13
Re: Comenzando con memorias SD/MMC. Librería a nivel hardware.
« Respuesta #209 en: 07 de Octubre de 2013, 10:31:39 »
Gracias por las repuestas...

Suky, me he puesto a probar con la librería del CCS, como me decías, ya que programo con el CCS. Pero así mismo, en la memoria micro SD que es de 128MB marca Nokia, hace lo mismo. En el caso de una SanDisk, no se logra iniciar. Me falta probar con una kignston para ver si es problema de la marca, ya que con una logro algo más que con la otra.

Nocturno, no creo que sea una mala conexión, porque midiendo con el osciloscopio, hay comando que los recibe o por lo menos eso parece porque hay repuesta.

En general, ya me siento un poco decepcionado, porque al medir con el osciloscopio (voy a volver a corroborar bien), pero no encuentro que no se responda lo que debe ser. Ahora voy a probar leer comando por comando, para ver si se envía lo que se debe y se responde lo que se debe.

Saludos


 

anything