Szybkosc F232/245 VCP vs DXX

Tak sie bawie tymi ukladami i sie zastanawiam , czy udalo sie innym osiagnac predkosc transferu przez VCP wieksza niz 1200B/sek . Chcialbym min 80kB/sek , pytanie czy musze sie przedzierac prez D2XX_Programmer's_Guide(FT_000071).pdf Nie ma znaczenia czy dane leca znak po znaku czy paczka z bufora , predkosc nigdy nie przekroczyla 1200znakow/sek.

Przez VCP to max. te 1200B dla tego ukladu ?

Reply to
nenik
Loading thread data ...

Powitanko,

FT232R bez problemu bangla na 9600 i 19200 jako VCP, wiecej nie probowalem, bo nie mialem potrzeby, ale zdaje sie, ze powinien chodzic do 1 MBodzia. Cos masz nie tak albo z kompem, albo z urzadzeniem. Jak to sie komunikuje z FT, pelny RS232, czy tylko RX/Tx?

Pozdroofka, Pawel Chorzempa

Reply to
Pawel "O'Pajak

W sumie nie wiadomo, czy on pyta o 'baudrate', czy o rzeczywistą prędkość transmisji... wiadomo, że jak będzie wysyłać bajt po bajcie, to nie wyciągnie pełnej prędkości. Gorzej, że to się dzieje także przy wysyłaniu paczek ;)... No ale faktem jest, że FT232 spokojnie powinien wyciągać pełne prędkości RSowe ;)..

Reply to
Konop

Uzywam ft245 ->8bitow-> Atmega16 Te moje 1200znakow / char/byte inaczej 9600 bitow bez zaglebiania sie :)wysylam z pc-towego programu , wzoruje sie na gotowych ksiazkowych przykladach obslugi .

Wykluczam kontroler odbierajacy dane , komputer ten sam wychodzi ze waskie gardlo to pc-owy soft wysylajacy dane .

Przez ft245 / sterownik DXX i aplikacje ktora posiadam chodzi prawidlowo tylko ze ja musze napisac samodzielnie wlasny program wysylajacy . Bede walczyl :) dzieki .

Reply to
nenik

W dniu 2010-06-14 18:06, nenik pisze:

Dlaczego we własnym programie sterującym nie możesz użyć sterownika D2XX ?

Pozdrawiam Miłosz.

Reply to
Miłosz Skowyra

A wysylasz z PCta caly rekord danych jednym poleceniem Write, zeby PC wyslal to jednym ciagiem przez USB (czyli pakiet 64B i kontynuacja), czy uzywasz wiele Write z niewielkimi ilosciami danych? W drugim przypadku mozesz miec tylko 64B/ms.

Reply to
Jerry1111

Sprecyzuje , mam program na pc ktory wysyla plik graficzny przez DXX do do ft245 a dalej do kontrolera , to jest program na ktorym sie wzoruje , wszystko dziala , predkosc przesylu danych jest odpowiednia .

I teraz chcialbym napisac wlasny program , wiec cwicze w builderze , wybralem droge przez VCP . Nie ukrywam to jest moj pierwszy program , nie wszystko rozumiem , obsluge portu com mam z ksiazki , obsluga znak po znaku jest realizowana przez funkcje pobierajaca jeden znak a obsluga wysylania paczk ibitow przez flush czyli po mojemu wyslanie bufora do portu .Chcialbym sie dowiedziec czy dalej warto kombinowac przez VCP , potrzebuje max 80kB czyli

640kb/sek .

W bibliotece DXX znalazlem #define FT_BAUD_921600 , przez VCP jest wolniej wiec o nim moge chyba zapomniec . Nie wiem skad wziela sie informacja rzedu 4MB przez DXX , tak sie chyba nie da .

Reply to
nenik

Powitanko,

Skoro przez Dxx sie da, to wniosek, ze sprzetowo uklad moze temu podolac. Ja w programowaniu na PC nie kumaty, ale moze to pomoze:

formatting link
Pozdroofka, Pawel Chorzempa

Reply to
Pawel "O'Pajak

nenik napisal 2010-06-14 01:32:

80kB/s * 1024 * 10bit/bajt = minimum 819200 bps Na VCP udało mi się bezproblemowo wyciągnąć okrągłe 1000000bps - transmisja bez kontroli przepływu. Wklej kawałek kodu - może samo wysyłanie jest źle zrealizowane?
Reply to
myrcioch

64B/ms ~= 64kB/s, a autor ma ok. 1,2kB/s, czyli znacznie, znacznie mniej ;P...
Reply to
Konop

J.F. pisze:

Jest dokładnie tak samo obsługiwany jak 232. Tylko zmiana prędkości na nic nie wpływa.

Reply to
Zbych

J.F. pisze:

Tak, od prędkości elektronów :-). Przecież to działa jak fifo. Im szybciej odbierzesz dane, tym szybciej komputer będzie mógł przesłać nowy pakiet.

Reply to
Zbych

No wlasnie .. wiec czemu koledzy sie na jakis boach skupiaja ?

J.

Reply to
J.F.

Moze wysyla po jednym bajcie.

Reply to
Jerry1111

Powinno byc bez problemow. Wklej kawalek kodu ktory wysyla dane.

Jaki flush? Otwierasz port i uzywasz WriteFile, np tak:

WriteFile(hComPort, cmd->recvdString, strlen(cmd->recvdString), &byteswritten, NULL);

Powinno sie dac - zakladajac ze elektronika odbiera to wystarczajaco szybko (a chyba odbiera skoro masz program ktory daje rade).

FT_BAUD jest dla 232, 245 dziala rownolegle.

Da sie.

Reply to
Jerry1111

Może są ofiologami?

Reply to
Zbych

No ale chyba sterownik bajty wysłane w jednym "okienku" 1ms zbierze do kupy i pośle "paczką", prawda?? W sumie - nieważne. Póki nie ma kodu, to to jest tylko gdybanie...

Reply to
Konop

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.