Página 1 de 1
driver pra usb funcionar como serial

Enviado:
09 Nov 2006 15:53
por Andremp
eu queria fazer um programa que recebe dados da serial, receber da usb como se ela fosse uma serial.
Sou leigo no linux e tenho um programa no windows com o delphi e devo porta-lo pro kylix, portanto só estou sondando a viabilidade, se posso conseguir.
No windows tem um driver fornecido pela microchip (AN956) que faz com que a USB seja entendida pelo sistema como se fosse uma serial (chamasse CDC o que ainda não testei pra ter certeza se consigo) eu queria algo do mesmo tipo pro linux. O programa le uma serial, que é na verdade uma usb emulada como serial pelo sistema.

Enviado:
13 Nov 2006 23:35
por gibim
A Clone inc e a Leadership tem conversores USB->Serial, ambas usam um chip controlador chamado PL2303, e o driver pode ser encontrado na internet facilmente:
http://lxr.linux.no/source/drivers/usb/serial/pl2303.c
http://gimel.esc.cam.ac.uk/james/pl2303/index.html
O adaptador você encontra facilmente nas empresa de informática da sua região.
Funciona corretamente. É só compilar o Kernell com o novo driver que ele vira uma com virtual.
Você também terá que configurar os diversos itens, como taxa, controle de fluxo, bit de paridade...
Boa sorte.rs

Enviado:
14 Nov 2006 00:14
por gibim
Procura esse chip também FT232BM da FTDI.
Você consegue comprar esse chip na Farnell por 25 pilas, e os driver tem tudo da página da FTDI, é só procurar.
Eu vou usar no meu projeto o FT2232C, esse tem duas portas seriais, com um único cabo USB.
Essa é a única forma da gente começar a profissionalizar nossos projetos. Uma vez que escrever driver USB é quase que um trabalho infinito pra nós, seres mortais.
Falow

Enviado:
14 Nov 2006 00:56
por msamsoniuk
uma questao idiota: nao eh mais simples pegar um PIC ou HC908JB e programar eles para que se facam passar por dispositivos USB que com certeza jah possuem drivers genericos no windows e linux ? pergunto isso pq a maioria dos dispositivos USB disponiveis, que possuem uma memoria flash, como cameras, celulares e pen-drivers, quando acoplados no linux ou windows, sao reconhecidos prontamente como unidade de disco e nao eh necessario instalar qq especie de driver.
no caso do usb-serial do linux:
- Código: Selecionar todos
Generic Serial driver
If your device is not one of the above listed devices, compatible with
the above models, you can try out the "generic" interface. This
interface does not provide any type of control messages sent to the
device, and does not support any kind of device flow control. All that
is required of your device is that it has at least one bulk in endpoint,
or one bulk out endpoint.
To enable the generic driver to recognize your device, build the driver
as a module and load it by the following invocation:
insmod usbserial vendor=0x#### product=0x####
where the #### is replaced with the hex representation of your device's
vendor id and product id.
This driver has been successfully used to connect to the NetChip USB
development board, providing a way to develop USB firmware without
having to write a custom driver.
supostamente, deve existir algo similar no windows e, com isso, nao seria necessario baixar e instalar drivers, aumentando imensamente a possibilidade de sucesso no uso. disso isso pq 70% dos dispositivos USB que testei, em maquinas e sistemas operacionais variados, falharam vergonhosamente. os raros casos de sucesso eram justamente os dispositivos genericos, que nao precisavam de drivers.

Enviado:
14 Nov 2006 21:09
por gibim
Adorei sua solução, mas não faço a menor idéia de como funciona o tal suposto driver genérico.
Algumas perguntas não querem calar:
1º - Qual o nome do driver genérico e que software irá emular isso no PIC ou HC08?
2º - Exite exemplos de utilização do Driver?
3º - (Estou afirmando) Eu precisaria codificar o Driver genérico para fazer controle de fluxo por software e hardware, controlar os comandos DTE, RTS, RS, CS, RI... Implementar isso tudo no microcontrolador, e pior... Isso ia ter que estar absolutamente sincronizado com o driver genérico.
4º - Além de que seria mais um chip para gravar na placa.
5° - A demanda não compensaria o custo de desenvolvimento e adaptação do driver genérico
6º - Existem os drivers HID, mas são tão genérico, que daria pra ligar uma torradeira neles..rs.
7º -E qual seria o custo?? apenas 2 ou 3 dólares, dos 4 do microcontrolador, de diferença entre comprar um PIC ou HC08.
Fora que existem CHIPS USB->Serial que emulam duas COM, (estou usando isso com o FT2232).
Deve ter mais uns 30 motivos... Quando lembrar eu posto aqui.
Mas se alguém ou algum cara "Santo", adepto do "OpenSource", resolver postar o código, ficarei eternamente grato e retiro metade dos meus argumentos.
Abraços

Enviado:
15 Nov 2006 01:37
por msamsoniuk
bom, vc falou com tanta conviccao que uma solucao USB baseada em microcontroladores nao presta que eu ateh desisti de postar o codigo da solucao opensource que eu encontrei para o HC908JB8 hehehe


Enviado:
15 Nov 2006 12:06
por gibim
Como disse: "Mas se alguém ou algum cara "Santo", adepto do "OpenSource", resolver postar o código, ficarei eternamente grato e retiro metade dos meus argumentos."
Pois acho um pouco de desperdício de processamento. Uma outra comparação seria como querer emular uma memória 24C02 em um PIC, vai funcionar e tem muitas vantagens, mas na hora da produção, é um saco ficar gravando.
Mas se você tiver uma solução, eu terei maior prazer de implementar para testar. E ainda coloco as coisas para os outros companheiros do fórum.
Abraços