LusoRobótica - Robótica em Português

Sistemas específicos => PIC => Tópico iniciado por: r.mota em 29 de Julho de 2010, 22:18

Título: Copiar Pen USB c/ PIC
Enviado por: r.mota em 29 de Julho de 2010, 22:18
Boas noites,

Permito fazer um dispositivo que me permita copiar uma Pen USB para outra Pen USB e/ou cartão de memória SD/MMC recorrendo para tal a um microcontrolador PIC. Estive a analisar a oferta disponibilizada pela microchip e no que me parace as minhas escolhas quanto ao microcontrolador resumem-se a um PIC24 ou PIC32, assim a primeira das minhas dúvidas é por qual optar.

Andei também a ver algumas placas de desenvolvimento para este projecto visto que não tenho nenhum material para desenvolvimento em microcontroladores PIC entre as quais:

(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fwww.microchip.com%2Fstellent%2Fgroups%2Fdevtools_sg%2Fdocuments%2Fdevtools%2F%7Eexport%2Fen535092%7E5%7Een006096%7EPressReleaseLayout%2F123260-1.png&hash=a9a9d2f3ca304ac0ada251fefe95c9312ad0749a)
http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en535092 (http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en535092)

(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fwww.microchip.com%2Fstellent%2Fimages%2Fmchpsiteimages%2FPIC32%2520USB%2520Starter%2520Kit%2520II.gif&hash=fd4de884272e598625d752ece9656d1effe60014)
http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=2615&dDocName=en535536 (http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=2615&dDocName=en535536)

(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fwww.microchip.com%2Fstellent%2Fgroups%2Fdevtools_sg%2Fdocuments%2Fdevtools%2F%7Eexport%2Fen024858%7E18%7Een006096%7EPressReleaseLayout%2F125807-2.png&hash=931ed1b54fe864093f516d97575998c8b0bb2501)
http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en024858 (http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en024858)

(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fwww.mikroe.com%2Fimg%2Fdevelopment-tools%2Fpic32%2Flv32mx-v6%2Fgallery%2Flv32mxv6_01.jpg&hash=d7d975300edcf98916145044d610f5236d6d73d5)
http://www.mikroe.com/eng/products/view/462/lv-32mx-v6-development-system/ (http://www.mikroe.com/eng/products/view/462/lv-32mx-v6-development-system/)

Qual destes sistemas de desenvolvimento aconselham para este projecto em questão?

Outra das minhas preocupações prende-se com a velocidade de transferência de dados entre os dispositivos e pela informação que obti por um dos membros do fórum da microchip pode chegar a um tempo de transferência de 2h30 para um ficheiro com tamanho de 4GB por exemplo, será então que este projecto não é viável de ser concebido apenas com um microcontrolador?


Agradeço desde já a vossa ajuda,

Ricardo Mota

Título: Re: Copiar Pen USB c/ PIC
Enviado por: Sérgio_Sena em 30 de Julho de 2010, 00:35
Eu optaria sempre pelas ferramentas da marca.
A Explorer 16 é uma boa placa para PIC24, dsPIC33 e PIC32.
Escolhem o PIM com o PIC32 que tenha o periférico de USB Host e On-the-go, e podem fazer a vossa aplicação.

O resto está tudo em bibliotecas, e a MCHIP já disponibiliza boas stacks para PEN-USB e SD Card.

E eu avançaria para um PIC32, sem dúvida. Para o processamento que vão precisar, têem que ter muito cavalo a puxar. :)


Vejam as placas adaptadoras para a Explorer 16, se não estou em erro há umas com as fichas USB. E há outra para SD/MMC card.
É correr os exemplos Demo que a MCHIP tem, e estão logo exemplos rápidos a funcionar.

Título: Re: Copiar Pen USB c/ PIC
Enviado por: r.mota em 30 de Julho de 2010, 00:56
Quanto ao ser necesssário copiar uma pen para outra para tal vou precisar de dois PICs cada um com a sua porta USB e comunicar de alguma forma entre eles, estou correcto? Ou com um único PIC consigo o mesmo efeito?
Título: Re: Copiar Pen USB c/ PIC
Enviado por: senso em 30 de Julho de 2010, 01:06
Penso eu de que, de que pode ir por várias abordagens, ler de uma pen, escrever num buffer, usar um multiplexer para trocar de pen e escrever na outra pen, ou então, se for possivel,  fazer host e usb device no pic e fazer uma bulk transfer, mas isto pensando em fazer uma cópia completa, agora se a pen de destino tiver dados e não os quiser-mos estragar a coisa já é um pouco mais chata, acho eu que não sei como o usb dos pics trabalha.
Título: Re: Copiar Pen USB c/ PIC
Enviado por: r.mota em 30 de Julho de 2010, 01:15
Penso eu de que, de que pode ir por várias abordagens, ler de uma pen, escrever num buffer, usar um multiplexer para trocar de pen e escrever na outra pen, ou então, se for possivel,  fazer host e usb device no pic e fazer uma bulk transfer, mas isto pensando em fazer uma cópia completa, agora se a pen de destino tiver dados e não os quiser-mos estragar a coisa já é um pouco mais chata, acho eu que não sei como o usb dos pics trabalha.

senso podes explicar melhor o conceito de bulk transfer? Quanto a multiplexagem devo esperar uma grande quebra na taxa de transferência de dados não? E sim o objectivo era não destruir os dados na pen de destino.
Título: Re: Copiar Pen USB c/ PIC
Enviado por: Sérgio_Sena em 30 de Julho de 2010, 09:08
Ou usas dois PIC32 para fazer esse trabalho, ou então usas multiplexers preparados para sinais USB.

A situação com o multiplexer, é que vais estar sempre a renegociar a ligação do USB. Isso demora tempo, vai atrasar todo o processo.


Eu sou prol de usar dois PIC32, e ligá-los um-ao-outro pela sua porta paralela/DMA.
Estes PICs têem um throughput muito elevado, bom para esses trabalhos.


Vocês têem aí um projecto bastante exigente.
Dou-vos os parabéns por quererem agarrar em algo assim.
Bom trabalho!  ;)
Título: Re: Copiar Pen USB c/ PIC
Enviado por: r.mota em 30 de Julho de 2010, 09:40
Contudo continua-me a preocupar a possível realização deste projecto com um PIC 32, o pessoal do forum da microchip diz que um PIC32 não tem 'poder' suficiente para este tipo de aplicações e que é necessário um microcontrolador com USB full speed e capacidade de host.
Título: Re: Copiar Pen USB c/ PIC
Enviado por: Sérgio_Sena em 30 de Julho de 2010, 10:00
Espero que esta página te dê algumas conclusões ::

http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=2654 (http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=2654)
Título: Re: Copiar Pen USB c/ PIC
Enviado por: r.mota em 30 de Julho de 2010, 10:13
Sim eu sei que tem canal USB Full Speed mas o que queria dizer e que se calhar seja necessario um micro que possua dois destes canais.
Título: Re: Copiar Pen USB c/ PIC
Enviado por: Njay em 30 de Julho de 2010, 10:24
Pelo que eu percebi, nenhuma das placas tem 2 blocos USB independentes, excepto talvez a "PIC32 Starter Kit" mas não sei se esta permite usar o "USB debug port" para ligar um dispositivo USB normal. Se permitir, parece ser a placa mais adequada e ao mesmo tempo mais barata para fazer o que te propões. Se não permitir usar 2 blocos USB independentemente, a melhor aposta parece-me ser usar 2 destas placas ligadas pelo conector de expansão (que continua a ser o mais barato).
Parece haver bastantes aplicações de exemplo para esta placa relacionadas com USB.

A placa escolhida terá que suportar USB host sim. Qualquer dispositivo USB de ligar "ao PC" (chamado "USB device") tem que ser ligado a um USB host.

Mas com as perguntas que fazes e as dúvidas que tens, terás "estaleca" para este projecto? Se te atirares a algo que esteja muito "além" das tuas capacidades actuais vais sair frustado e não voltas a pegar nestas coisas. É melhor começar por algo pouco ambicioso e ir aumentando a dificuldade à medida que se aprende mais.
Título: Re: Copiar Pen USB c/ PIC
Enviado por: r.mota em 30 de Julho de 2010, 10:32
Confesso que um projecto de esta dimensão se calhar seja muito ambicioso, para mim que apenas trabalhei com PIC16 em assembly e tenho conhecimentos apenas de C e C# ao nível de aplicações informáticas, contudo gostaria de começar com os exemplos fornecidos com a placa para copiar uma pen para um cartão SD que penso não ser assim tão complicada como a ideia de ter duas pens.