jaki uklad do USB

Witam. Musze przesylac dane z uP do PC po USB. Wzwiazku z tym chcialbym poznac opinnie osob, ktore juz zajmowaly sie tym tematem. Jakie uklady najlepiej zastosowac? Znalazlem uklady, ktore mozna do tego uzyc FT232 firmy FTDI, oraz PDIUSBD11, Philips. Czy ktos je stosowal i moglby przyblizyc je od strony praktycznego stosowania. Glownie chodzi mi o dzialanie sterownikow po stronie PC i maksymalna szybkosc transmisji.

pozdrawiam Goral.

Reply to
goral
Loading thread data ...

sa procki AVR ktore zamiast zwyklego UARTU maja port USB, wiec moze warto sie zainteresowac?

Pozdrawiam Piotr

Reply to
BYRRT!

Moje doswiadczenia z wymienionymi przez Ciebie: FT232 - fajne, proste rozwiazanie - darmowe, certyfikowane i dzialajace drivery (nie tylko pod Windows): dostajesz wirtualny port COM, oczywiscie mozesz rowniez dobierac sie przez uchyt (jak do pliku)

PDIUSB11D - to "goly scalak" - tzn zglasza ze odebral jakis pakiet po USB, zas Ty decydujesz co odpowiesz (caly proces enumeracji obslugiwany "recznie"). Oczywiscie dzieki temu mozesz emulowac dowolne urzadzenie USB - kiedys uklad byl stosowany w aparatach foto do transmisji danych). Walczylem z nim przynajmniej 2 tygodnie z powodu dokumentacji do bani - brak w niej istotnych danych: np. dokumentacja nie zawiera poprawnego przykladu inicjacji ukladu - proponowany przez producenta nie dziala :) Divery - beda takie jakie sobie napiszesz :)

11D nie jest juz produkowana.

W Twoim zastosowaniu chyba lepiej zabrac sie za FTDI, oczywiscie uklady w wersji BM.

Pzdr, jr

Reply to
beryl123456

Pomyśl o tym od drugiej strony - może będzie lepiej zmienić procesor na taki z wbudowanym portem USB? Zajmie mniej miejsca na płytce, może być też tańsze (to zależy, co teraz stosujesz). Ostatnio bawię się AT91SAM7S256 i polecam go - ma wbudowany USB device, 256KB Flash, 64KB RAM, jądro ARM7TDMI i taktowanie kilkadziesiąt MHz (w praktyce przy włączonym USB trzeba ograniczyć się do 48 MHz).

Reply to
Adam Dybkowski

Tue, 12 Apr 2005 23:20:23 +0200, na pl.misc.elektronika, Adam Dybkowski napisał(a):

Czekamy na sprzedaż detaliczną :-) Czy mógłbyś trochę więcej o środowisku ? Łatwo wszystko skompletować czy trzeba jakieś detale (plik startowy, headery, drivery usb itp. ) mozolnie zbierać / dopisywać ? ( domyslnie mowa o użyciu gcc ).

Reply to
Jurek Szczesiul

Tue, 12 Apr 2005 10:16:22 +0200, na pl.misc.elektronika, goral napisał(a):

PDIUSBD11 to już raczej historia. Jest to praktycznie tylko sprzętowy kontroler a całą obróbkę programową protokołu usb musisz samodzielnie napisać w kodzie uP. Nie ma też dedykowanych sterowników - albo musisz napisac własne albo zastosować jakiś uniwersalny ( np. systemowy HID ) - przeważnie o dość ograniczonych możliwościach. Może być natomiast przydatny jeśli chcesz się skomunikować z uP tylko dorywczo i z niewielką ilością danych ( jakieś konfiguracje itp. ) gdyż korzysta z magistrali i2c i nie zajmuje w związku z tym wielu zasobów i/o uP.

Ft8u232 BM używam na co dzień w różnych warsztatowych rozwiązaniach (programatory, rejestratory itp.) i bardzo polecam - 250kbaud bez problemu (raczej usart uP ogranicza ). Można do prototypów kupić gotowe moduły (Soyter, Propox). Od strony PC używasz jako wirtualny port COM ( tak jak w typowych sklepowych adapterkach ale z mozliwością ustawienia prawie dowolnej szybkości co czasem się przydaje - np. w przejściówce usb<>midi), albo we własnej aplikacji używasz firmowego API , które stwarza dodatkowe możliwości ( np. wykrywanie wg nazwy urządzenia czy numeru seryjnego itp.)

Jeśli potrzebujesz większych strumieni danych i szybszego transferu można wziąć równoległy Ft8u245 ( do 1 MByte / s przy nie obciążonej magistrali )

- przykłady stosowania np. w schematach Yampp'a.

Niedawno pokazała się całkiem nowa kostka - pracuje prawie bez elementów zewnętrznych ale w zamian jest trudniejsza w ręcznym montażu, na razie trudno dostępna i nie ma bezpłatnych sterowników.

Reply to
Jurek Szczesiul
Reply to
invalid unparseable

na 98 nie udało mi się żadnego USB podłączyć. 98SE czasami działa.

Waldek

Reply to
Waldemar Krzok

My też. :) Naciskajcie dystrybutorów to sprowadzą większą partię - na razie rzucili termin rzędu kilkunastu tygodni. :-|

Jak ARM to oczywiście arm-elf-gcc. Niektórzy w tym dziubią w Linuxie, niektórzy w Win (cygwin). Resztę środowiska stanowi ulubiony edytor (UltraEdit/Kate) i TotalCommander czy mc.

Do zaprogramowania procesora przyda się kabelek LPT->JTAG, bo te 'SAMy nie mają bootloadera a Flash fabrycznie jest czysty (trzeba wgrać swój soft do RAMu). Samo programowanie z poziomu własnego kodu idzie potem sprawnie (około 2 ms / stronę 256B). Niestety na pokładzie nie ma pamięci EEPROM, ale w końcu można sobie ją emulować we Flashu (sprzyjają temu małe strony po 256 bajtów).

Trochę przykładów łącznie z inicjalizacją CPU i definicjami rejestrów/bitów daje Atmel, większą część mamy swoją z poprzednich projektów ARMowych. Drivery USB na komputerze są standardowe (np. klasa CDC ACM), dla ARMa Atmel daje kod przykładowy z notą aplikacyjną, która nawet działa po kilku poprawkach (widać w pececie modem, z którym można zagadać przez wirtualny COM). Całą resztę trzeba samemu napisać no ale w końcu każdy ma inne potrzeby - my w firmie mamy swój system operacyjny czasu rzeczywistego na ARMa i sterowniki piszemy specjalnie pod niego.

Procesory AT91SAM7xx mają peryferia prawie identyczne z AT91RM9200, a na to już jest gotowy Linux - stamtąd można czerpać garściami pomysły/rozwiązania do własnego kodu. Dla AT91RM9200 jest też trochę przykładowego kodu na Sieci. Do AT91SAM7xx nie ma jeszcze erraty ale wychodzi na to, że trzeba uwzględnić większość problemów '9200. Chyba chłopcy u Atmela zrobili copy-and-paste jądra procesora i wielu peryferiów a nic im się nie chciało przy okazji poprawić.

Reply to
Adam Dybkowski

Przez JTAG oczywiście można, jak każdego ARMa, natomiast '9200 ma bootloader w ROMie i wygodniej ładować soft interfejsem szeregowym (DBGU) czyli zwykłym kabelkiem RS232. Może też bootować się z innych źródeł (DataFlash, Flash równoległy, USB) - zobacz w dokumentacji.

Reply to
Adam Dybkowski

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.