Autor Tema: Memorias MultimediaCard reactivemos el tema les late !!!! MMC_SPI  (Leído 3906 veces)

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

Desconectado pantera

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 215
Hola he visto que hay foros muy interesantes hacerca del tema pero ya son algo de antoño y no he visto que se refresquen los Post.
Estado leyendo que las memorias tienen que inicializarce en modo SPI, asi mismo estas trabajan con un voltaje maximo de 3.6volts, Alguien ha puesto mas voltaje del que menciono.

Alguien ha intentado jalar la libreria del PCW vericion 3.245 ahi tiene una con funciones bien nice .... tales como la siguiente....

Ahora mismo me encuentro evaluandola solo que no encuentro la forma de aceder a los pines


Código: Matlab M
  1. ////////////////////// Driver for Multimedia Card ///////////////////////
  2. ////                                                                 ////
  3. ////  mmc_init() - Reset and Initialize the MMC.  Returns zero if OK ////
  4. ////                                                                 ////
  5. ////  mmc_modify_byte(address, val) - Modify the byte at address to  ////
  6. ////               change it's value to val.  Will read/write the    ////
  7. ////               entire 512 byte block but only change this        ////
  8. ////               specific byte.  Returns zero if OK.               ////
  9. ////                                                                 ////
  10. ////  mmc_modify_block(address, size, *ptr) - Modifies the bytes     ////
  11. ////               to change their value to whats stored at *ptr.    ////
  12. ////               Will read/write the entire 512 byte block(s) but  ////
  13. ////               only change the values defined by ptr and size.   ////
  14. ////               Returns zero if OK.                               ////
  15. ////                                                                 ////
  16. ////  mmc_write_block(address, size, *ptr) - Writes a 512 byte       ////
  17. ////               block to the MMC.  If size is less than 512 then  ////
  18. ////               unspecified data will be written as 0.  Returns   ////
  19. ////               zero if OK.                                       ////
  20. ////                                                                 ////
  21. ////  mmc_read_byte(address,*ptr) - Reads the byte specified at      ////
  22. ////               address.  Result is saved to ptr.  Returns zero   ////
  23. ////               if OK.                                            ////
  24. ////                                                                 ////
  25. ////  mmc_read_block(address, size, *ptr) - Reads the bytes          ////
  26. ////               specified at address.  Result is saved to ptr.    ////
  27. ////               Returns zero if OK.                               ////
  28. ////               NOTE: You might get an address error if you try   ////
  29. ////               to read over a page size.  For example, trying    ////
  30. ////               to read a block size of 512 starting at address   ////
  31. ////               0x100 may cause an error because you are reading  ////
  32. ////               two blocks.                                       ////
  33. ////                                                                 ////
  34. ////  mmc_erase(address, blocks) - Erases the block specified at     ////
  35. ////               address.  Will erase the entire 512 byte block.   ////
  36. ////               If you wish to erase more blocks after specified  ////
  37. ////               block use the blocks parameter to specifiy how    ////
  38. ////               many extra blocks to erase.  Returns zero if OK.  ////
  39. ////                                                                 ////
  40. ////              ~~~~~~~ MULTI-READ FUNCTIONS ~~~~~~~~              ////
  41. ////                                                                 ////
  42. ////  mmc_read_enable(address, size) - Start multi-reads at          ////
  43. ////               specified address.  Size is the size of each      ////
  44. ////               individual read.  Returns zero if OK.             ////
  45. ////                                                                 ////
  46. ////  mmc_read_mult_block(*ptr) - Reads data from the MMC, and saves ////
  47. ////               to ptr.  The number of bytes read is defined      ////
  48. ////               by mmc_read_enable().  You must call              ////
  49. ////               mmc_read_enable() before you can call this.       ////
  50. ////               Returns zero if OK.                               ////
  51. ////                                                                 ////
  52. ////  mmc_read_disable(void) - Stop a multi-read.                    ////
  53. ////               Returns zero if OK.                               ////
  54. ////               MAY BE BROKEN.                                    ////
  55. ////                                                                 ////
  56. /////////////////////////////////////////////////////////////////////////


Pantera
La targeta que tengo es:


La música es sinónimo de libertad, de tocar lo que quieras y como quieras, siempre que sea bueno y tenga pasión, que la música sea el alimento del amor y del alma.

        :-)El Rock es Cultura :-)

Desconectado pantera

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 215
Re: Memorias MultimediaCard reactivemos el tema les late !!!! MMC_SPI
« Respuesta #1 en: 27 de Junio de 2006, 23:37:45 »
Bueno ya porfin pude terminar la targeta con la cual voy a accesar a los pines de la targeta la forma en que se accesa es con una gota de soldadura para hacer un relieve y tocar los pines de la MMC..... Si alguien siente curiosidad  por el hecho de que tenga mas pines... solo puedo decir que estos son los pines ....


Código: Matlab M
  1. SPI Mode
  2. 1 CS I Chip Select ( neg true )
  3. 2 DI I/PP Data In
  4. 3 VSS S Supply voltage ground
  5. 4 VDD S Supply voltage
  6. 5 SCLK I Clock
  7. 6 VSS2 S Supply voltage ground
  8. 7 DO O/PP Data Out
  9. 8 Not used
  10. 9 Not used
  11. 10 Not used
  12. 11 Not used
  13. 12 Not used
  14. 13 Not used
  15. Table 5-1 : MultiMediaCard Interface Pin Configuration
« Última modificación: 28 de Junio de 2006, 03:31:31 por pantera »
La música es sinónimo de libertad, de tocar lo que quieras y como quieras, siempre que sea bueno y tenga pasión, que la música sea el alimento del amor y del alma.

        :-)El Rock es Cultura :-)

Desconectado pantera

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 215
Re: Memorias MultimediaCard reactivemos el tema les late !!!! MMC_SPI
« Respuesta #2 en: 30 de Junio de 2006, 01:29:56 »
Pues resulta que me atore un poco. ya que el impreso que hice no hacia bien contacto con los pines asi que el diseño anterior no sirve para nada. Aunque lo mejore un poco por si alguien lo quiere, Resulta que un compañero me suirio que hiciera dos perforaciones y por ahi pasara unos cablesitos. y pues parece muy buena idea. . Por otra parte un amigo de un ciber me regalo un lector que ya no servia y de ahi me vole el chasis de las targetas.... genial por que queda todo exacto ya hoy pruebo el codigo que he estado haciendo... espero hoy quede

  Pantera
Por una cultura del ROCK
« Última modificación: 30 de Junio de 2006, 01:35:06 por pantera »
La música es sinónimo de libertad, de tocar lo que quieras y como quieras, siempre que sea bueno y tenga pasión, que la música sea el alimento del amor y del alma.

        :-)El Rock es Cultura :-)

Desconectado pantera

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 215
Re: Memorias MultimediaCard reactivemos el tema les late !!!! MMC_SPI
« Respuesta #3 en: 30 de Junio de 2006, 03:57:18 »
Demonios ............. Tengo problemas por que nose bien como debo de conectar los pines de la memoria ya tengo identificado tanto los pines del micro con los de la memoria sin embargo hice una prueba con el codigo que tengo, probe con un par de pilas, sin embargo no puedo utilizar el LCD ya que el LCD no enciende debe ser la corriente.

Pues probe algo asiegas ... el problema es que escribi en el primer bloque de la memoria pero creo que  borre el formato ya que al quererla leer con WinHex no reconoce, por un momento pense que ya le habia dado en la torre a la memoria. pero bueno lo solucione con darle formato con windows. Lo que pretendo es con un LCD escribir a donde pueda y posteriormente leer el bloque de 512 bytes pero no tengo 3.3 volts

La forma de conseguirlos 3.3 volts, es armar algo con el LM317 a 3.3 volts, para los datos y el reloj voy a utilizar un par de resistencias, un divisor  5* (3.3/(3.3+1.8 ) ) = 3.2 volts.
 
lei en otro foro  por El Coach
Lo primero que hice fué crearme desde windows un fichero "PRUEBA.TXT" y escribir dentro "Hola".
Entonces con el WinHEX localicé el sector donde estaba ese texto y procedí a leerla con ese mismo driver, que como digo he hecho unos pequeños cambios, y mostraba los 4 primeros bytes por el lcd, y efectivamente esos bytes eran "Hola".
Despues probé a cambiar desde el pic lo que había escrito, pero solo 4 carácteres que son los que habían. Entonces leí primero el sector completo y luego escribí en los 4 primeros bytes "Juan" y escribí el sector completo con los 4 primeros bytes modificados.
Luego con un lector de tarjetas, desde el explorador de windows, abro el fichero "PRUEBA.TXT" y pone "Juan".

Y una vez conseguí esto, me cree unas funciones para abrir un fichero, leer y escribir en FAT16. Aunque no es funcional al 100%, para lo que yo necesitaba es suficiente.



Pues pienso probar eso pero ya sera mañana que abra la viejita de la tienda  :D
La música es sinónimo de libertad, de tocar lo que quieras y como quieras, siempre que sea bueno y tenga pasión, que la música sea el alimento del amor y del alma.

        :-)El Rock es Cultura :-)

Desconectado pantera

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 215
Re: Memorias MultimediaCard reactivemos el tema les late !!!! MMC_SPI
« Respuesta #4 en: 30 de Junio de 2006, 11:15:25 »
Estaba pensando se podre ulilizar el regulador de 3.3 volts que incorpora el micro 18F4550/2550 ya que el pin VUSB genera los tres 3.3 Volts

mmmmmmmmm

La música es sinónimo de libertad, de tocar lo que quieras y como quieras, siempre que sea bueno y tenga pasión, que la música sea el alimento del amor y del alma.

        :-)El Rock es Cultura :-)

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
Re: Memorias MultimediaCard reactivemos el tema les late !!!! MMC_SPI
« Respuesta #5 en: 30 de Junio de 2006, 11:40:07 »
Si quieres, como solución rápida y de emergencia, ponle tres diodos en serie a tu Vdd y se caerá a una cifra aproximada a los 3,3V.

Desconectado pantera

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 215
Re: Memorias MultimediaCard reactivemos el tema les late !!!! MMC_SPI
« Respuesta #6 en: 30 de Junio de 2006, 15:19:00 »
aaa Ya funciono.............  :-/

Encuanto a la alimentacion utilice el LM317 con un par de resistencias de salida a entrada de 220 ohms al adj y del adj a tierra dos, una de10 ohms en serie con una de 330 ohms......

La cosa fou como sugiere el compañero solamente crear un archivo en un block de notas de ahi checar donde esta la direccion y ponerla en las funciones de escritura. Finalmente solamente escribir y listo la unica cosa es que al imprimirse los caracteres en ASCII mande a escribir un 0x22 todos los 512 bytes y pues si los imprime pero como """"""" => Alt+22 =  "


Pues bueno haber que idea se me ocurre ya con esto jalando bye
La música es sinónimo de libertad, de tocar lo que quieras y como quieras, siempre que sea bueno y tenga pasión, que la música sea el alimento del amor y del alma.

        :-)El Rock es Cultura :-)

Desconectado pantera

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 215
Re: Memorias MultimediaCard reactivemos el tema les late !!!! MMC_SPI
« Respuesta #7 en: 19 de Julio de 2006, 14:19:24 »
Tengo un nuevo reto. El cual es poder crear un fichero TXT escribir en los cluster debidos para poder especificar el tamaño del archivo, Donde comienzo a escribir y todas esas cosas.

Sin embargo Realmente tengo muy pocos conocimientos de esto. Alguien podria ayudarme a aterrizar un poco de por donde comenzar.

Gracias
La música es sinónimo de libertad, de tocar lo que quieras y como quieras, siempre que sea bueno y tenga pasión, que la música sea el alimento del amor y del alma.

        :-)El Rock es Cultura :-)

Desconectado BrunoF

  • Administrador
  • DsPIC30
  • *******
  • Mensajes: 3865
Re: Memorias MultimediaCard reactivemos el tema les late !!!! MMC_SPI
« Respuesta #8 en: 19 de Julio de 2006, 15:03:09 »
pantera:

Es la quinta vez que veo que publicas la misma duda en diversos hilos/sub-foros. Por favor, postea tu duda sólo una vez.Gracias.
Saludos.
"All of the books in the world contain no more information than is broadcast as video in a single large American city in a single year. Not all bits have equal value."  -- Carl Sagan

Sólo responderé a mensajes personales, por asuntos personales. El resto de las consultas DEBEN ser escritas en el foro público. Gracias.

Desconectado pantera

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 215
Re: Memorias MultimediaCard reactivemos el tema les late !!!! MMC_SPI
« Respuesta #9 en: 19 de Julio de 2006, 15:34:06 »
jeee sorry pero es que haber si logro llamar la atencion de alguien. Se que no es la manera pero almenos veo que llame la tu ya

Por cierto esta es la idea

http://www.zator.com/Hardware/H8_1_2c2.htm#SectoresGrande-16
La música es sinónimo de libertad, de tocar lo que quieras y como quieras, siempre que sea bueno y tenga pasión, que la música sea el alimento del amor y del alma.

        :-)El Rock es Cultura :-)