Página 1 de 1

PIC + MMC ou SD card

MensagemEnviado: 27 Jun 2009 20:32
por eduardo_gsp_oliveira
ola a todos

jas pesquisei bastante sobre esse assunto mas ainda naum consegui sair do lugar, ai vai alguns sites que eu andei lendo, para quem quiser ver algumas informações

http://cc5x.de/MMC/ --> esta em alemão (google translate)
http://www.microchipc.com/sourcecode/index.php#mmc
http://en.wikipedia.org/wiki/Serial_Per ... erface_Bus
http://www.captain.at/electronics/pic-mmc/

quem puder me passar um programa exemplo agradeceria muito, pq eu vi muita coisa sobre como ligar e fuincionamento, mas estou com problema na programação

desde ja agradeço

MensagemEnviado: 27 Jun 2009 20:38
por eduardo_gsp_oliveira
ola

Só para atualizar achei uma LIB chamada "mmcsd.c"

Parece ser muito boa pq funciona com card MMC e SD
mas ainda naum consegui fazer funcionar.
Segue o link :

http://user.chollian.net/~ascbbs/ccscdrv2/mmcsd.c

outra questão
funciona com pic16f877, pois li em muitos lugares que funcionava
porem em alguns lugares dizia que a memoria do pic era muito baixa e precisava ser pic18

Alguem sabe algo a respeito?
obrigado

MensagemEnviado: 27 Jun 2009 22:16
por proex
Eu ja fiz um gravador de audio com cartao SD e um PIC 16F916, tudo em assembler. Naõ ha restriçao alguma em usar o 877.

Depois migrei esse projeto para um 18F.

Além da velocidade maior, a familia 18F esta mais barata que a 16F.

A literatura sobre o funcionamento do SD que tem disponivel na internet esta cheia de erros. O proprio datasheet do fabricante é muito confuso.

apanhei muito nao pra entender o funcionamento mas sim pra entender a confusao que os caras fazem tentando explicar como funciona.

No final é tão simples.

MensagemEnviado: 27 Jun 2009 22:44
por eduardo_gsp_oliveira
obrigado pelo enteresse

Vc teria algum exemplo de programa de preferencia em C pode ser um bem simples .. qq coisa ja ajuda
Eu achei bastante coisa falando do funcionamento, inclusive lendo aqui no forum outros topicos mas naum achei nenhum programa de exemplo

e referente a Lib mmcsd.c -- vc sabe algo a respeito
ja usou? é boa? funciona?

MensagemEnviado: 27 Jun 2009 22:54
por fabim
hehehehe

MensagemEnviado: 27 Jun 2009 23:14
por eduardo_gsp_oliveira
a melhor parte é que isso é só um começo de um TCC
vou fazer uma automação residencial por comando de voz, utilizando um CODEC para fazer a modulação da voz e utilizar o pic + SD para fazer uma comparação e armazenar os comandos rsrsrsrs

sei que é dificil mas vou tentar pois gosto muito desse tema :D
para os que ja tiverem uma experiencia nesse assunto qq coisa ajuda

obrigado

MensagemEnviado: 27 Jun 2009 23:17
por eduardo_gsp_oliveira
outra coisa importante é que naum vai ser necessario ler o cartão no PC
o cartão vai ficar só no dispositivo

e de preferencia exemplos em C pq naum entendo nada de assembly
como ja disse qq ajuda é bem vinda

obrigado

MensagemEnviado: 28 Jun 2009 00:48
por fabim
hehe 2

Cuidado....

MensagemEnviado: 01 Jul 2009 17:22
por eduardo_gsp_oliveira
proex escreveu:Eu ja fiz um gravador de audio com cartao SD e um PIC 16F916, tudo em assembler. Naõ ha restriçao alguma em usar o 877.

Depois migrei esse projeto para um 18F.

Além da velocidade maior, a familia 18F esta mais barata que a 16F.

A literatura sobre o funcionamento do SD que tem disponivel na internet esta cheia de erros. O proprio datasheet do fabricante é muito confuso.

apanhei muito nao pra entender o funcionamento mas sim pra entender a confusao que os caras fazem tentando explicar como funciona.

No final é tão simples.


E como faz pra transmitir pelo 16F877 sendo que o SD só funciona com blocos de 512b e o pic tem de ram 387 +/-

Obrigado pela atenção

MensagemEnviado: 02 Jul 2009 06:28
por proex
Não entendi sua questão.

O cartão SD é uma memoria, e como tal vc pode gravar um byte apenas se quiser.

MensagemEnviado: 02 Jul 2009 14:09
por eduardo_gsp_oliveira
proex escreveu:Não entendi sua questão.

O cartão SD é uma memoria, e como tal vc pode gravar um byte apenas se quiser.


eis a minha duvida, até onde eu sei os cartões de meória SD são do tipo NAND que só escrevem em blocos
sendo que eu só consigo escrever nele se eu mandar um bloco de 512B e como a memoria RAM do pic é de
+/-300 isso se torna impossivel

Tive a prova disso quando tentei escrever um programa usando a lib mmcsd.c e deu erro... qdo mudei o pic de
16 para 18 o erro desapareceu.

Mas pelo que eu estou vendo naum é bem assim que funciona certo?

Obrigado pela ajuda

MensagemEnviado: 02 Jul 2009 17:05
por proex
Talvez isso seja um imposição dessa biblioteca que vc usou, na pratica isso não existe.

Além disso, o cartão SD permite que vc mude o tamanho do bloco de memoria.

Por defaut é 512 bytes mas vc pode mudar para 128, 64 ou até mesmo 1 byte.

Mesmo mantendo o tamanho de 512, vc pode gravar somente 37 bytes, por exemplo. E no dia seguinte, continuar gravando de onde parou.

MensagemEnviado: 02 Ago 2009 15:11
por eduardo_gsp_oliveira
proex escreveu:Talvez isso seja um imposição dessa biblioteca que vc usou, na pratica isso não existe.

Além disso, o cartão SD permite que vc mude o tamanho do bloco de memoria.

Por defaut é 512 bytes mas vc pode mudar para 128, 64 ou até mesmo 1 byte.

Mesmo mantendo o tamanho de 512, vc pode gravar somente 37 bytes, por exemplo. E no dia seguinte, continuar gravando de onde parou.


obrigado a todos pela ajuda
quanto ao projeto, optei pelo pic18f452 porque atende melhor as necessidades do projeto, mas ainda não consegui fazer a comunicação entre o pic e o SD.
Se alguem tiver algum projeto de pic em comunicação com um SD ficaria muito grato se posta-se, pode ser bem simples

desde ja agradeço

MensagemEnviado: 02 Ago 2009 22:11
por Jeovadj
Baixe o livro abaixo "Advanced PIC MICROCONTROLLER PROJECTS in C from USB to RTOS with 18F series - Dogan Ibrahim" e veja no "cap. 7" documentação do SD e 04 projetos com SD e 18F452, incluindo um Temperature Logger, programado no MIKROC.


http://rapidshare.com/files/161394462/e ... 686111.rar
| 12997 KB