HID com PIC18f4550 high-speed

Software e Hardware para uC PIC

Moderadores: andre_luis, 51, guest2003, Renie

HID com PIC18f4550 high-speed

Mensagempor valdir.pavan » 09 Set 2010 18:36

Olá pessoal,

Estou com um problema. Estou fazendo uma aplicação com PIC e o PC via USB. Eu estou conseguindo receber e enviar dados para o PC pelas endpoints normalmente, o problema é a velocidade. Eu gostaria de comunicar high-speed e não estou conseguindo. Eu já coloquei um resistor de pull-up de 1,5k no D+, mas eu não sei onde preciso mudar nos DESCRIPTORS para fazer o PC entender que é high-speed e fazer comunicar em alta velocidade.
Qual descriptor eu preciso alterar e qual parametro para conseguir comunicar em high-speed com o PC?
Tem algum software ou algum lugar onde eu possa ver se meu dispositivo esta nomeado, low-speed, full-speed ou high-speed?

obrigado.
Valdir Pavan Júnior
Graduando em Engenharia Elétrica - EESC USP
MSN: valdir.pavan@hotmail.com
Skype: valdir.pavan
valdir.pavan
Bit
 
Mensagens: 26
Registrado em: 21 Jun 2010 15:04

Mensagempor fabim » 09 Set 2010 19:15

bom, tem usb 1.1, 2.0, e os bulck high speed que dizem ser de 480mBPS que na verdade não chega a 2/10 disso...
qual você esta dizendo!!!
Mano, ve só.
Sou responsável pelo que escrevo!!! E não pelo que você entende !!!
fabim
Dword
 
Mensagens: 5001
Registrado em: 16 Out 2006 10:18
Localização: aqui uái!!!?

Mensagempor renatokodaira » 09 Set 2010 20:50

Dispositivos USB classe HID nao conseguem ter velocidade maior do que 64 bytes a cada milissegundo.
renatokodaira
Byte
 
Mensagens: 402
Registrado em: 11 Out 2006 15:15

Mensagempor valdir.pavan » 10 Set 2010 02:52

Como eu poderia fazer para conseguir comunicar com o PC a 480Mbps? Da para fazer isso com o compilador CCS? Existe alguma biblioteca pronta?
Valdir Pavan Júnior
Graduando em Engenharia Elétrica - EESC USP
MSN: valdir.pavan@hotmail.com
Skype: valdir.pavan
valdir.pavan
Bit
 
Mensagens: 26
Registrado em: 21 Jun 2010 15:04

Mensagempor fabim » 10 Set 2010 07:40

renatokodaira escreveu:Dispositivos USB classe HID nao conseguem ter velocidade maior do que 64 bytes a cada milissegundo.


e que na pratica não dá 64KBPS !!! da menos, hehehe.. Só o CDC que da 64K e mais ainda, chega a 152KB!!

O amigo do HS, seguinte.
Esquece, são poucos micros que conseguem em bulck chegar a 96Mb, e é necessario criar um drive especifico, onde o pc configura a interface usb host, com as devidas caracteristicas para o dado periférico.

Prestenção.
A interface USB do pic, precisa de 4 * CK, para que o PC consiga ler e escrever nos endpoints com sincronismo.
USB 2.0 = 12Mbps. Sendo assim, 48Mbps exatos para trabalhar em usb 2.0...
Lembrando que usb device, não manda nada para o PC, é o PC que lê e escreve na região de memoria qeu você informou pelo descriptor que são os endpoints!! Mas mesmo assim, é necessario um clock de sincronismo por causa da fifo e da velocidade de leitura BtoB.

Bom, em poucas palavras. Esquece, pic só serve para piscar led, e escrever em display. uauauauau
Brincadeira, ou amigo. Usb do pic é só 1.1 ou 2.0, 6 ou 12 Mbps.

Existem, coldfires, blackfins, ARM11, e até ARM9.
Que são usb HS, que chegam até a 96Mbps!! que é coisa bagarai !!!

O meu penisdrive, não passa de 76Mbps!!!

Existem algumas interfaces para equipos de medição, que chegam a mais de 150Mbps. Mais ai ta a pergunta, sabe porque dizem que não presta que não funciona direito ? o usb é adaptativo se o fabricante prever isto no projeto, só que foda-se isto, o cara faz o device drive, e o descriptor pra 150Mbps, e foda-se novamente o restante. Ai o cara pega uma mainboard vagaba, com um windows pesado, e o task da usb não da conta de acompanhar as porradas!!! uauaua odeio pic, odeio pic!! To nervoso !!! AAAAAAAAAAAARRRRGGGGGGGGGGGGGG
Mano, ve só.
Sou responsável pelo que escrevo!!! E não pelo que você entende !!!
fabim
Dword
 
Mensagens: 5001
Registrado em: 16 Out 2006 10:18
Localização: aqui uái!!!?

Mensagempor valdir.pavan » 10 Set 2010 09:45

Como posso fazer um driver para um DEVICE USB se comunique em alto velocidade com o PC. Tem algum site ou algum tutorial que ensine?

obrigado
Valdir Pavan Júnior
Graduando em Engenharia Elétrica - EESC USP
MSN: valdir.pavan@hotmail.com
Skype: valdir.pavan
valdir.pavan
Bit
 
Mensagens: 26
Registrado em: 21 Jun 2010 15:04

Mensagempor fabim » 10 Set 2010 11:01

valdir.pavan escreveu:Como posso fazer um driver para um DEVICE USB se comunique em alto velocidade com o PC. Tem algum site ou algum tutorial que ensine?

obrigado

Meo, pelo amor de Deus.
A bosta do pic.. Bosta do PIC, não chega a HS, pois o seu clock e seu hW não são projetados para isto... Será que vou ter que desenhar pra você. meo!!! ta doido, que cara complicado.
Mano, ve só.
Sou responsável pelo que escrevo!!! E não pelo que você entende !!!
fabim
Dword
 
Mensagens: 5001
Registrado em: 16 Out 2006 10:18
Localização: aqui uái!!!?

Mensagempor valdir.pavan » 10 Set 2010 16:53

Você me convenceu. O PIC é uma bosta mesmo.
Semana que vem vou comprar um kit de ARM para começar minha nova saga. Gostaria que VC me desse alguma dica de qual comprar. ARM9 ou ARM11?
Como se programa um ARM? Da para usar ele como um PIC, programando diretamente nele ou eu vou ter que instalar um SO para fazer um programa para ele?
Se eu quiser fazer do ARM um slave USB eu tenho bibliotecas prontas para fazer isso? Como faria um Driver para o PC entender que eu quero comunicar em alta velocidade?
Como programo um ARM? Existem bastante bibliotecas como no CCS para PIC?
Me ajude com o inicial para eu começar a desenvolver.

Obrigado
Valdir Pavan Júnior
Graduando em Engenharia Elétrica - EESC USP
MSN: valdir.pavan@hotmail.com
Skype: valdir.pavan
valdir.pavan
Bit
 
Mensagens: 26
Registrado em: 21 Jun 2010 15:04

Mensagempor fabim » 10 Set 2010 16:57

Cara, tu só consegue escrever um drive pro pc ´pro negocio ir a 100Mbps, se o uC chegar a 100Mbps, caso contrario é simplesmente inutil escrever o drive.

Abraços
Mano, ve só.
Sou responsável pelo que escrevo!!! E não pelo que você entende !!!
fabim
Dword
 
Mensagens: 5001
Registrado em: 16 Out 2006 10:18
Localização: aqui uái!!!?

Mensagempor valdir.pavan » 10 Set 2010 17:02

Mas e as outras respostas? Como posso começar com ARM, por onde, qual compildor? linguagem?
Valdir Pavan Júnior
Graduando em Engenharia Elétrica - EESC USP
MSN: valdir.pavan@hotmail.com
Skype: valdir.pavan
valdir.pavan
Bit
 
Mensagens: 26
Registrado em: 21 Jun 2010 15:04

Mensagempor valdir.pavan » 10 Set 2010 17:04

Mas e as outras respostas? Como posso começar com ARM, por onde, qual compilador? linguagem? Qual melhor caminho a seguir? Onde tem exemplos?
Valdir Pavan Júnior
Graduando em Engenharia Elétrica - EESC USP
MSN: valdir.pavan@hotmail.com
Skype: valdir.pavan
valdir.pavan
Bit
 
Mensagens: 26
Registrado em: 21 Jun 2010 15:04

Mensagempor msamsoniuk » 10 Set 2010 17:04

e depois eu falo que ethernet eh melhor que usb vcs ficam bravos neh? :)

bricandinho atoa pega 100mbps full-duplex, 1000mbps se vc comecar a falar serio, 10Gbps se vc tiver bandwidth de memoria e jah tem nego trabalhando com 100Gbps por ae.

caraca! e ethernet nem precisa de device driver! hehehe :)

fabim escreveu:
renatokodaira escreveu:Dispositivos USB classe HID nao conseguem ter velocidade maior do que 64 bytes a cada milissegundo.


e que na pratica não dá 64KBPS !!! da menos, hehehe.. Só o CDC que da 64K e mais ainda, chega a 152KB!!

O amigo do HS, seguinte.
Esquece, são poucos micros que conseguem em bulck chegar a 96Mb, e é necessario criar um drive especifico, onde o pc configura a interface usb host, com as devidas caracteristicas para o dado periférico.

Prestenção.
A interface USB do pic, precisa de 4 * CK, para que o PC consiga ler e escrever nos endpoints com sincronismo.
USB 2.0 = 12Mbps. Sendo assim, 48Mbps exatos para trabalhar em usb 2.0...
Lembrando que usb device, não manda nada para o PC, é o PC que lê e escreve na região de memoria qeu você informou pelo descriptor que são os endpoints!! Mas mesmo assim, é necessario um clock de sincronismo por causa da fifo e da velocidade de leitura BtoB.

Bom, em poucas palavras. Esquece, pic só serve para piscar led, e escrever em display. uauauauau
Brincadeira, ou amigo. Usb do pic é só 1.1 ou 2.0, 6 ou 12 Mbps.

Existem, coldfires, blackfins, ARM11, e até ARM9.
Que são usb HS, que chegam até a 96Mbps!! que é coisa bagarai !!!

O meu penisdrive, não passa de 76Mbps!!!

Existem algumas interfaces para equipos de medição, que chegam a mais de 150Mbps. Mais ai ta a pergunta, sabe porque dizem que não presta que não funciona direito ? o usb é adaptativo se o fabricante prever isto no projeto, só que foda-se isto, o cara faz o device drive, e o descriptor pra 150Mbps, e foda-se novamente o restante. Ai o cara pega uma mainboard vagaba, com um windows pesado, e o task da usb não da conta de acompanhar as porradas!!! uauaua odeio pic, odeio pic!! To nervoso !!! AAAAAAAAAAAARRRRGGGGGGGGGGGGGG
Avatar do usuário
msamsoniuk
Dword
 
Mensagens: 2935
Registrado em: 13 Out 2006 18:04

Mensagempor msamsoniuk » 10 Set 2010 17:07

e depois eu falo que ethernet eh melhor que usb vcs ficam bravos neh? :)

bricandinho atoa pega 100mbps full-duplex, 1000mbps se vc comecar a falar serio, 10Gbps se vc tiver bandwidth de memoria e jah tem nego trabalhando com 100Gbps por ae.

caraca! e ethernet nem precisa de device driver! hehehe :)

fabim escreveu:
renatokodaira escreveu:Dispositivos USB classe HID nao conseguem ter velocidade maior do que 64 bytes a cada milissegundo.


e que na pratica não dá 64KBPS !!! da menos, hehehe.. Só o CDC que da 64K e mais ainda, chega a 152KB!!

O amigo do HS, seguinte.
Esquece, são poucos micros que conseguem em bulck chegar a 96Mb, e é necessario criar um drive especifico, onde o pc configura a interface usb host, com as devidas caracteristicas para o dado periférico.

Prestenção.
A interface USB do pic, precisa de 4 * CK, para que o PC consiga ler e escrever nos endpoints com sincronismo.
USB 2.0 = 12Mbps. Sendo assim, 48Mbps exatos para trabalhar em usb 2.0...
Lembrando que usb device, não manda nada para o PC, é o PC que lê e escreve na região de memoria qeu você informou pelo descriptor que são os endpoints!! Mas mesmo assim, é necessario um clock de sincronismo por causa da fifo e da velocidade de leitura BtoB.

Bom, em poucas palavras. Esquece, pic só serve para piscar led, e escrever em display. uauauauau
Brincadeira, ou amigo. Usb do pic é só 1.1 ou 2.0, 6 ou 12 Mbps.

Existem, coldfires, blackfins, ARM11, e até ARM9.
Que são usb HS, que chegam até a 96Mbps!! que é coisa bagarai !!!

O meu penisdrive, não passa de 76Mbps!!!

Existem algumas interfaces para equipos de medição, que chegam a mais de 150Mbps. Mais ai ta a pergunta, sabe porque dizem que não presta que não funciona direito ? o usb é adaptativo se o fabricante prever isto no projeto, só que foda-se isto, o cara faz o device drive, e o descriptor pra 150Mbps, e foda-se novamente o restante. Ai o cara pega uma mainboard vagaba, com um windows pesado, e o task da usb não da conta de acompanhar as porradas!!! uauaua odeio pic, odeio pic!! To nervoso !!! AAAAAAAAAAAARRRRGGGGGGGGGGGGGG
Avatar do usuário
msamsoniuk
Dword
 
Mensagens: 2935
Registrado em: 13 Out 2006 18:04

Mensagempor msamsoniuk » 10 Set 2010 17:10

e depois eu falo que ethernet eh melhor que usb vcs ficam bravos neh? :)

bricandinho atoa pega 100mbps full-duplex, 1000mbps se vc comecar a falar serio, 10Gbps se vc tiver bandwidth de memoria e jah tem nego trabalhando com 100Gbps por ae.

caraca! e ethernet nem precisa de device driver! hehehe :)

fabim escreveu:
renatokodaira escreveu:Dispositivos USB classe HID nao conseguem ter velocidade maior do que 64 bytes a cada milissegundo.


e que na pratica não dá 64KBPS !!! da menos, hehehe.. Só o CDC que da 64K e mais ainda, chega a 152KB!!

O amigo do HS, seguinte.
Esquece, são poucos micros que conseguem em bulck chegar a 96Mb, e é necessario criar um drive especifico, onde o pc configura a interface usb host, com as devidas caracteristicas para o dado periférico.

Prestenção.
A interface USB do pic, precisa de 4 * CK, para que o PC consiga ler e escrever nos endpoints com sincronismo.
USB 2.0 = 12Mbps. Sendo assim, 48Mbps exatos para trabalhar em usb 2.0...
Lembrando que usb device, não manda nada para o PC, é o PC que lê e escreve na região de memoria qeu você informou pelo descriptor que são os endpoints!! Mas mesmo assim, é necessario um clock de sincronismo por causa da fifo e da velocidade de leitura BtoB.

Bom, em poucas palavras. Esquece, pic só serve para piscar led, e escrever em display. uauauauau
Brincadeira, ou amigo. Usb do pic é só 1.1 ou 2.0, 6 ou 12 Mbps.

Existem, coldfires, blackfins, ARM11, e até ARM9.
Que são usb HS, que chegam até a 96Mbps!! que é coisa bagarai !!!

O meu penisdrive, não passa de 76Mbps!!!

Existem algumas interfaces para equipos de medição, que chegam a mais de 150Mbps. Mais ai ta a pergunta, sabe porque dizem que não presta que não funciona direito ? o usb é adaptativo se o fabricante prever isto no projeto, só que foda-se isto, o cara faz o device drive, e o descriptor pra 150Mbps, e foda-se novamente o restante. Ai o cara pega uma mainboard vagaba, com um windows pesado, e o task da usb não da conta de acompanhar as porradas!!! uauaua odeio pic, odeio pic!! To nervoso !!! AAAAAAAAAAAARRRRGGGGGGGGGGGGGG
Avatar do usuário
msamsoniuk
Dword
 
Mensagens: 2935
Registrado em: 13 Out 2006 18:04


Voltar para PIC

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante

x