Ir ao conteúdo
  • Cadastre-se

Pic USB e SDCard via PC


drolha

Posts recomendados

Caros colegas,

Estou fazendo um projeto com pic18f4520 que grava dados num SDCard.

Estou usando as bibliotecas do compilador Mikroc.

Já consigo gravar os arquivos de dados no SD Card e agora desejo acessar estes dados via USB pelo computador, da mesma forma que alguns dispositivos comerciais e câmeras fotográficas fazem.

Porém, pelos diagramas mostrados na documentação do mikroc, os pinos RC4 e RC5 do microcontrolador são utilizados para gravar os dados no SD e também para usar a comunicação USB.

é viável este projeto com o PIC? Consigo acessar os dados do SD card pelo USB, como se estivesse inserindo o próprio SD Card no driver?

Se puderem dar alguma luz sobre isto, agradeço muito!

Saudações!

Link para o comentário
Compartilhar em outros sites

voce quer acessar os dados que voce gravou pela sua placa no cartão, no PC apenas inserindo o cartão em um Slot do PC?

voce quer acessar os dados do cartão através de sua placa conectada na USB do PC?

é viável este projeto com o PIC? Consigo acessar os dados do SD card pelo USB, como se estivesse inserindo o próprio SD Card no driver?

voce vai precisar de um PIC tipo 18F2550(poucos pinos) ou 18F4550.

Uma observação,se estiver começando,não acho boa ideia usar MikroC com USB.

Link para o comentário
Compartilhar em outros sites

Olá vtrx,

Quero acessar e colocar os dados no cartão SD que está na minha placa de circuito via USB, como é feito nas máquinas fotográficas. Você pode colocar um cabo usb e visualizar a memória do cartão como se tivesse colocado um pendrive no PC.

Nunca usei a biblioteca de USB do Mikroc e não sei como funciona, mas já tenho alguma experiência com pic e já fiz vários projetos no Mikroc.

Na verdade, o que eu pensei seria colocar um adaptador de serial para USB, tipo ft232 e, através da serial passar os dados do cartão para o PC e vice-versa. Só não sei como faria para ficar do jeito que falei, tipo pasta.

Porém, se desse pra usar a biblioteca do Mikroc mesmo, seria bom. Quais são os problemas que ela apresenta?

Agradeço a resposta!

Saudações

Link para o comentário
Compartilhar em outros sites

um ft232 custa o mesmo de um PIC 18F2550 (seu Hardware vai custar o dobro),mas todo o processo é complicado para quem não tem experiencia.

Se voce for realmente querer aprender de 'verdade',deve estudar e utilzar a USB como todo mundo ,no mundo,faz.

Sobre o MikroC,ele é chato para alterar descritores para algumas classe USB.

Para ler no PC igual aos equipamentos fazem,voce pode programar um aplicativo dedicado no PC para gerar as pastas e ler os arquivos igual ao explorer do windows faz.

Aguarde alguem que utiliza ele com USB.

Link para o comentário
Compartilhar em outros sites

Vtrx

Você me sugere estudar o protocolo USB e implementar as funções por assembly?

Entendo que é complicada a implementação, mas preciso de um direcionamento, senão fica tudo muito vago.

Para acessar os arquivos pelo PC, como você falou, eu passaria os dados serialmente pelo cabo USB e um programa interpretaria estes dados, é isto? Como você pensou neste programa?

Obrigado

Link para o comentário
Compartilhar em outros sites

Você me sugere estudar o protocolo USB e implementar as funções por assembly?

voce só deve usar assembly se conhecer profundamente o microcontrolador e a linguagem,pois rotinas para USB HOST (quando o microcontrolador pode ler diretamente um dispositivo USB conectado a ele)são fechadas e 'escondida' por traz de bibliotecas em C.

O MikroC,CCS trabalham assim,voce programa o PIC para ser reconhecido como um dispositivo USB,mas não tem acesso ao 'core' do código,apenas as rotinas.

Existe bibliotecas em C que são pagas.

voce deve estudar o protocolo USB para saber qual as classes ele usa e qual voce vai usar.

Na verdade estude os 'descriptors',como são feitos.

Exemplo,a classe HID não precisa de driver,voce conecta o PIC e o sistema operacional (Windows/Linux)ja reconhece e acessa o dispositivo,mas tem algumas limitações de velocidade e quantidade do pacote de bytes enviado por vez.

Para acessar os arquivos pelo PC, como você falou, eu passaria os dados serialmente pelo cabo USB e um programa interpretaria estes dados, é isto? Como você pensou neste programa?

SE voce usa a comunicação USB diretamente,voce envia e recebe pacotes de bytes.

Se voce usar a comunicação USB 'emulado',tipo usando o FTD232,voce na verdade estará utilizando uma porta serial emulada com baudrate e velocidades de uma serial,esta comunicação se chama CCD.

Um programa no pC,teria que 'emular' o PIC como se fosse um disco virtual,mas isso é feito criando rotinas para isso,passo a passo.

O pic pode ser gravado como se fosse um pen drive,mas isso vai consumir muita memória do PIC,não sei se funcionaria como quer.

Se voce vai usar linguagem C,utilize o CCS se não tem muita experiencia em usar USB,mas o CCS não tem suporte a USB HOST,mas de qualquer maneira não é isso que voce quer.

Para programação plena usando todos os recursos do pic vai ter que usar compiladores da Microchip,no seu caso C18.

Link para o comentário
Compartilhar em outros sites

Tem muita coisa na internet,eu não tenho material completo para postar pois fui direto da serial para USB,mas da uma pesquisada no Google.

Não esqueça o detalhe que usando CCD,voce tem que instalar um driver no windows ou Linux e um PIC não faz essa comunicação sem um Chip dedicado,como o FTD.

Link para o comentário
Compartilhar em outros sites

  • 5 semanas depois...

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!