Goto page 1, 2 Next
MichaĹ Lankosz
Guest
Wed Feb 20, 2013 1:21 pm
Do tematu USB podchodzę jak do jeża. Chcę koledze zaprojektować
urządzenie, które ma się komunikować na USB. Projekt komercyjny,
urządzenie będzie sprzedawane w ilościach... może 10 szt/mies.
Transmisja wolna, przesyłane będą pojedyncze bajty..
Zastanawiam się, jak to najprościej zrobić.
FT232R ze sterownikiem VCP na dzień dzisiejszy jest chyba cofaniem się -
poszukiwanie w systemie odpowiedniego COMa i potem jakieś rozpoznanie
urządzenia nie jest IMHO eleganckie.
Użycie sterownika FTD2xx pozwala chyba na bardziej eleganckie wykrycie
podłączonego urządzenia (poprzez nazwę), ale co jeśli ktoś do tego
komputera wsadzi przejściówkę USB/UART też na FTDI? Załaduje nie ten
sterownik i nie będzie widziany wirtualny port szeregowy?
Kolega proponował, żeby to było urządzenie HID. No tak, nawet na
Atmedze16 takie coś uruchamiałem (a w zasadzie to uruchomiło mi się, bo
wiele na kod i sposób działania nie spoglądałem), ale VID/PID tylko
raczej do testów się nadawały.
Czytałem gdzieś (link zagubiony), że pojedynczą parę PID+VID można
gdzieś kupić, ale to niby nie do końca jest zgodne z prawem. Kupno VID
ze względu na koszty nie wchodzi w grę.
Macie jakieś swoje rozwiązania?
--
Michał
Michoo
Guest
Wed Feb 20, 2013 1:27 pm
On 20.02.2013 13:21, Michał Lankosz wrote:
Quote:
Kolega proponował, żeby to było urządzenie HID.
Masz VID+PID + wbudowany sterownik. Jak chcesz pewność z czym gadać a
nie wybierać po COM to szukasz dodatkowo po nazwie i producencie.
Quote:
No tak, nawet na
Atmedze16 takie coś uruchamiałem (a w zasadzie to uruchomiło mi się, bo
wiele na kod i sposób działania nie spoglądałem), ale VID/PID tylko
raczej do testów się nadawały.
Nieprawda. Poczytaj o VOTI shared ID.
--
Pozdrawiam
Michoo
MichaĹ Lankosz
Guest
Wed Feb 20, 2013 1:31 pm
W dniu 2013-02-20 13:21, Michał Lankosz pisze:
Quote:
Użycie sterownika FTD2xx pozwala chyba na bardziej eleganckie wykrycie
podłączonego urządzenia (poprzez nazwę), ale co jeśli ktoś do tego
komputera wsadzi przejściówkę USB/UART też na FTDI? Załaduje nie ten
sterownik i nie będzie widziany wirtualny port szeregowy?
A, zapomniałem napisać - jest niby sterownik CDM dla FTDI - uniwersalny.
Czy on mi pomoże ominąć powyższy problem? Czyli po podłączeniu mojego
urządzenia w systemie pojawia się port COM, ale program będzie się
komunikował używając FTD2xx.dll, a nie portu COM?
--
Michał
Michoo
Guest
Wed Feb 20, 2013 1:33 pm
On 20.02.2013 13:31, Michał Lankosz wrote:
Quote:
A, zapomniałem napisać - jest niby sterownik CDM dla FTDI - uniwersalny.
Czy on mi pomoże ominąć powyższy problem? Czyli po podłączeniu mojego
urządzenia w systemie pojawia się port COM, ale program będzie się
komunikował używając FTD2xx.dll, a nie portu COM?
Dlaczego chcesz się komunikować przez FTD2xx.dll a nie np libusb?
--
Pozdrawiam
Michoo
MichaĹ Lankosz
Guest
Wed Feb 20, 2013 2:07 pm
W dniu 2013-02-20 13:33, Michoo pisze:
Quote:
On 20.02.2013 13:31, Michał Lankosz wrote:
A, zapomniałem napisać - jest niby sterownik CDM dla FTDI - uniwersalny.
Czy on mi pomoże ominąć powyższy problem? Czyli po podłączeniu mojego
urządzenia w systemie pojawia się port COM, ale program będzie się
komunikował używając FTD2xx.dll, a nie portu COM?
Dlaczego chcesz się komunikować przez FTD2xx.dll a nie np libusb?
Nie znam się, ale czy libusb jest sterownikiem, który zainstaluje się
przy pierwszym podłączeniu mojego urządzenia (oczywiście po wskazaniu
odpowiednich plików) zamiast sterownika od FTDI i będzie używany też za
każdym razem po włożeniu przejściówki USB/RS232 i ona też będzie
działać? Czy to nie ta warstwa?
O FTD2xx mówię dlatego, że jest gotowy przykład akurat pod Visual C++ w
którym to kolega pisze całe oprogramowanie - w ten sposób liczę na
bezbolesne uruchomienie układu. Przy okazji lubusb miałem kiedyś problem
z ogarnięciem kompilacji OpenOCD. Co rusz czegoś brakowało, a narzędzi
nie znałem, nie znam.
Z HIDem może by było troszkę więcej pracy... a może nie. W każdym razie
chodzi też o to, że mając praktycznie zerową wiedzę o USB i sterownikach
systemu, chcę uruchomić program wysyłający jeden bajt i będący
przykładem do przekazania osobie programującej w VC++.
A, no i nie wiem jaka jest licencja na libusb, co mówi w przypadku
używania tej biblioteki w komercyjnym, zamkniętym kodzie?
--
Michał
Marek
Guest
Wed Feb 20, 2013 5:01 pm
On Wed, 20 Feb 2013 13:21:22 +0100, Michał Lankosz<mike2001@tlen.pl>
wrote:
Quote:
gdzieś kupić, ale to niby nie do końca jest zgodne z prawem. Kupno
VID
ze względu na koszty nie wchodzi w grę.
Macie jakieś swoje rozwiązania?
Jeśli chodzi o sama komunikację polecam HID, jest libhid, dziala na
Linux/Windows/MacOS. Szybka komunikacja, nie potrzeba sterowników po
stronie hosta.
Możesz wybrać mcu z usb albo zewnetrzny hid-uart np mcp2200 lub
hid-spi mcp2210.
Wtedy pid wezmiesz sobie z microchipa a vid sobie wymyśl, naprawde
nic wielkiego się nie stanie.
--
Marek
identyfikator: 20040501
Guest
Wed Feb 20, 2013 5:53 pm
to może jednak WinUSB? nigdzie nie ma opisu jak powinnno wyglądać
urządznenie pracujące z WinUSB, jak znajdziesz to koniecznie daj linka.
AK
Guest
Wed Feb 20, 2013 8:24 pm
W dniu 2013-02-20 13:21, Michał Lankosz pisze:
Quote:
Kolega proponował, żeby to było urządzenie HID. No tak, nawet na
Atmedze16 takie coś uruchamiałem (a w zasadzie to uruchomiło mi się, bo
wiele na kod i sposób działania nie spoglądałem), ale VID/PID tylko
raczej do testów się nadawały.
JAk bedziesz robil na atmelu, to to moze ci wystarczy ?
http://support.atmel.com/bin/customer.exe?=&action=viewKbEntry&id=220
NXP ma tez podobny program, i chyba ST tez - warunkiem jest oczywiscie
uzycie ich procesora.
Pozdr
AK
jan kowalski
Guest
Thu Feb 21, 2013 1:18 am
On 20 Lut, 13:21, Michał Lankosz <mike2...@tlen.pl> wrote:
Quote:
Do tematu USB podchodzę jak do jeża. Chcę koledze zaprojektować
urządzenie, które ma się komunikować na USB. Projekt komercyjny,
urządzenie będzie sprzedawane w ilościach... może 10 szt/mies.
Transmisja wolna, przesyłane będą pojedyncze bajty..
Zastanawiam się, jak to najprościej zrobić.
Warto poswiecic kilka godzin i pobawic sie w zmiane vid i pid ft232
Quote:
FT232R ze sterownikiem VCP na dzień dzisiejszy jest chyba cofaniem się -
poszukiwanie w systemie odpowiedniego COMa i potem jakieś rozpoznanie
urządzenia nie jest IMHO eleganckie.
D2XX driver ze strony ftdi
Quote:
Użycie sterownika FTD2xx pozwala chyba na bardziej eleganckie wykrycie
podłączonego urządzenia (poprzez nazwę), ale co jeśli ktoś do tego
komputera wsadzi przejściówkę USB/UART też na FTDI?
Zmienia sie vid i pid w ft232 + taki sam w pliku ini, robisz komplet
pasujacy do twojego urzadzenia
vid i pid z pliku ini maja byc zgodne z vid i pid w eepromie ft232
Quote:
Załaduje nie ten
sterownik i nie będzie widziany wirtualny port szeregowy?
u mnie nie ma konfliktu programatora z portem com i innymi
urzadzeniami
Quote:
Kolega proponował, żeby to było urządzenie HID. No tak, nawet na
Atmedze16 takie coś uruchamiałem (a w zasadzie to uruchomiło mi się, bo
wiele na kod i sposób działania nie spoglądałem), ale VID/PID tylko
raczej do testów się nadawały.
Czytałem gdzieś (link zagubiony), że pojedynczą parę PID+VID można
gdzieś kupić, ale to niby nie do końca jest zgodne z prawem. Kupno VID
ze względu na koszty nie wchodzi w grę.
MPROG od ftdi twoim rozwiazaniem
http://www.ftdichip.com/Support/Utilities.htm
wklepisz sobie do eeproma ft232 nazwe firmy i produktu. Po podlaczeniu
urzadzenia system krzyczy" wykryto urzadzenia super chruper" firmy xxx
podaj lokalizacje sterownika lub wyszukaj automatycznie. Podajesz
lokalizacje do zmodyfikowanego pliku ini. Mozesz wklepac numer seryjny
do FT232, bibloteka D2XX ma procedure odczytu tego numeru, to jest
opcja. Byc moze sa lepsze rozwiazania ale ja opisuje FT232 z punktu
widzenia amatora. Jak zmienisz domyslny vid i pid w FT to dalsza jego
zmiana jest upierdliwa ale da sie.
Michał Lankosz
Guest
Thu Feb 21, 2013 8:00 am
W dniu 2013-02-21 00:18, jan kowalski pisze:
Quote:
Obecnie FT_PROG
Quote:
wklepisz sobie do eeproma ft232 nazwe firmy i produktu. Po podlaczeniu
urzadzenia system krzyczy" wykryto urzadzenia super chruper" firmy xxx
podaj lokalizacje sterownika lub wyszukaj automatycznie. Podajesz
Nawet wtedy, gdy już wcześniej było podpinane urządzenie o tym samym
VID/PID tylko innej nazwie, poprosi o nowy sterownik? Czyli dwa
urządzenia o takich samych vid/pid mogą pracować z różnymi sterownikami?
Quote:
lokalizacje do zmodyfikowanego pliku ini. Mozesz wklepac numer seryjny
do FT232, bibloteka D2XX ma procedure odczytu tego numeru, to jest
opcja. Byc moze sa lepsze rozwiazania ale ja opisuje FT232 z punktu
widzenia amatora. Jak zmienisz domyslny vid i pid w FT to dalsza jego
zmiana jest upierdliwa ale da sie.
Że da się zmienić numerki to ja wiem i nawet zdaje się w jakimś JTAGu
tak robiłem aby udawał inny. Pytanie - jakie numerki?
--
Michał
Zbych
Guest
Thu Feb 21, 2013 8:22 am
W dniu 21.02.2013 08:00, Michał Lankosz pisze:
Quote:
Programowanie VID/PID w ftdi pod windowsem to jest masakra. Najpierw
musisz zainstalować sterowniki pod oryginalny VID/PID, potem
przeprogramować i znów instalować sterowniki pod nowy VID/PID.
Jak masz więcej jak jedną sztukę do przeprogramowania, to można się
pociąć suchą bułką. Dużo wygodniej można to zrobić pod linuksem (np.
ft232r_prog)
Quote:
Że da się zmienić numerki to ja wiem i nawet zdaje się w jakimś JTAGu
tak robiłem aby udawał inny. Pytanie - jakie numerki?
Ściągnij sobie listę VIDów ze strony usb.org i wybierz VID jakiejś
firmy, która już nie istnieje. Jak robisz pojedyncze sztuki to i tak się
nie będziesz bawił w kupowanie VID.
http://www.usb.org/developers/tools/comp_dump
Michał Lankosz
Guest
Thu Feb 21, 2013 8:26 am
W dniu 2013-02-21 08:22, Zbych pisze:
Quote:
Nie podoba mi się pomysł, mógłbym narazić firmę kolegi na nieprzyjemności.
MAC ethernet też sobie pseudo losowo wybierałem, ale jakbym miał
sprzedawać urządzenia to bym kupował numerki w układach Microchipa. Może
dla USB też takie coś istnieje...
--
Michał
Zbych
Guest
Thu Feb 21, 2013 8:43 am
W dniu 21.02.2013 08:26, Michał Lankosz pisze:
Quote:
W dniu 2013-02-21 08:22, Zbych pisze:
Ściągnij sobie listę VIDów ze strony usb.org i wybierz VID jakiejś
firmy, która już nie istnieje. Jak robisz pojedyncze sztuki to i tak się
nie będziesz bawił w kupowanie VID.
http://www.usb.org/developers/tools/comp_dump
Nie podoba mi się pomysł, mógłbym narazić firmę kolegi na nieprzyjemności.
A kto mu będzie robił koło pióra przy 10 szt/mies?
Marek
Guest
Thu Feb 21, 2013 8:49 am
Użytkownik "jan kowalski" <donek999bronek@gmail.com> napisał w wiadomości
news:9df15382-6df4-482c-8751-e12b1dcffaa0@y9g2000vbb.googlegroups.com...
Quote:
Warto poswiecic kilka godzin i pobawic sie w zmiane vid i pid ft232
(..)
Zmienia sie vid i pid w ft232 + taki sam w pliku ini, robisz komplet
pasujacy do twojego urzadzenia vid i pid z pliku ini maja byc zgodne z vid
i pid w eepromie ft232
Tak, ale grzebiąc w plikach "inf" sterowników FTDI naruszasz ich oryginalność, co wiąże
się z tym, że podpis cyfrowy nie będzie się zgadzał, a to oznacza, że będzie problem
z instalacją takich sterowników w systemach 64-bitowych, wymagających sterowników
podpisanych cyfrowo, chyba że użytkownikowi przed instalacją sterowników włączysz
tryb testu sterowników, co objawi się niezbyt eleganckim pokazywaniem w prawym
dolnym rogu pulpitu informacji o włączeniu tego trybu.
--
Pzdr.
Marek
MichaĹ Lankosz
Guest
Thu Feb 21, 2013 9:45 am
W dniu 2013-02-20 13:21, Michał Lankosz pisze:
Quote:
Czytałem gdzieś (link zagubiony), że pojedynczą parę PID+VID można
gdzieś kupić,
Znalazłem:
http://tinyurl.com/25fdx52
(
http://www.mcselec.com/index.php?page=shop.product_details&flypage=shop.flypage&product_id=92&option=com_phpshop&Itemid=1
)
--
Michał
Goto page 1, 2 Next