[pso] Răspuns: [USB core]Intervalul intre doua USB frame-uri

Matei ŢENE matei.tene at cti.pub.ro
Tue Jul 5 03:30:22 EEST 2011


Salut!

Daca nu vrei sa-ti implementezi propriul driver pt FTDI, ai la dispozitie doar cele 2 metode:
a) folosesti libftdi
b) utilizezi unul din fisierele /dev/ttyUSB* pe care ti le creeaza driver-ul (am folosit FT2232D, care are 2 interfete seriale, deci ttyUSB0 si ttyUSB1).

Eu am testat ambele variante, si am tras concluzia ca sunt echivalente (i.e. dadeau aceleasi erori de kernel acum un an, cand era un bug in driver).
Nu am experienta in utilizarea SPI. Citind pe wiki, am inteles ca la fiecare tick de ceas ai transmisie full duplex a unui bit intre master si slave (deci 1 bit dus si 1 bit intors = 2 biti transmisi).
Clock frquencies are "commonly in the range of 1–70 MHz". Deci ai maxim 2*70MegaBiti pe secunda, ceea ce este sub viteza maxima a USB 2.0 (60 MegaBytes/secunda), dar este problematic, daca nu imposibil, pentru RS232.
Deci daca ai o problema de viteza, nu cred ca USB-ul este sursa, ci device-ul cu care vrei sa comunici pe seriala.
O idee, la care banuiesc ca te-ai gandit, ar fi sa incerci sa maresti baud rate-ul, atat in configurarea device-ului cat si al host-ului, si vezi daca asta rezolva problema.

Altfel, ai putea sa incerci sa conectezi placa de PM la FTDI, sa-i spui pe seriala ce vrei sa faca, si ea sa se ocupe de comunicatia SPI prin interfata proprie (dar esti limitat la maxim 16 MHz).

Succes!
Matei
________________________________________
De la: pso-bounces at cursuri.cs.pub.ro [pso-bounces at cursuri.cs.pub.ro] În numele Alex Stefan [alexandru.stefan at cti.pub.ro]
Trimis: 4 iulie 2011 18:30
Către: pso at cursuri.cs.pub.ro
Subiect: [pso] [USB core]Intervalul intre doua USB frame-uri

Salut,

Apelez la ajutorul vostru si in 'vacanta' :).

Am un chip FTDI conectat prin USB. Biblioteca pe care o folosesc pentru a
comunica cu chip-ul (libftdi) apeleaza 'usb_control_msg()', M-am uitat in
functia din kernel si ea initiaza cate un URB (USB RequestBlock) pentru fiecare
operatie.

Problema e ca timingul e crucial (mesajele transmise catre FTDI sunt folosite
pentru a implementa software protocolul SPI) si sunt curios daca e vreo solutie
ca driver-ul USB sa transmita frame-urile mai rapid.

Mersi,
Alex

_______________________________________________
http://elf.cs.pub.ro/so2/wiki/resurse/lista-discutii


More information about the pso mailing list