-
1. Data: 2013-02-20 13:21:22
Temat: Robię urządzenie na USB - jak ominąć VID/PID?
Od: Michał Lankosz <m...@t...pl>
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ł
-
2. Data: 2013-02-20 13:27:09
Temat: Re: Robię urządzenie na USB - jak ominąć VID/PID?
Od: Michoo <m...@v...pl>
On 20.02.2013 13:21, Michał Lankosz wrote:
>
> 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.
> 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
-
3. Data: 2013-02-20 13:31:56
Temat: Re: Robię urządzenie na USB - jak ominąć VID/PID?
Od: Michał Lankosz <m...@t...pl>
W dniu 2013-02-20 13:21, Michał Lankosz pisze:
> 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ł
-
4. Data: 2013-02-20 13:33:08
Temat: Re: Robię urządzenie na USB - jak ominąć VID/PID?
Od: Michoo <m...@v...pl>
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?
--
Pozdrawiam
Michoo
-
5. Data: 2013-02-20 14:07:04
Temat: Re: Robię urządzenie na USB - jak ominąć VID/PID?
Od: Michał Lankosz <m...@t...pl>
W dniu 2013-02-20 13:33, Michoo pisze:
> 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ł
-
6. Data: 2013-02-20 17:01:02
Temat: Re: Robię urządzenie na USB - jak ominąć VID/PID?
Od: Marek <f...@f...com>
On Wed, 20 Feb 2013 13:21:22 +0100, Michał Lankosz<m...@t...pl>
wrote:
> 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
-
7. Data: 2013-02-20 17:53:12
Temat: Re: Robię urządzenie na USB - jak ominąć VID/PID?
Od: "identyfikator: 20040501" <N...@g...pl>
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.
-
8. Data: 2013-02-20 20:24:58
Temat: Re: Robię urządzenie na USB - jak ominąć VID/PID?
Od: AK <a...@g...com>
W dniu 2013-02-20 13:21, Michał Lankosz pisze:
> 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=v
iewKbEntry&id=220
NXP ma tez podobny program, i chyba ST tez - warunkiem jest oczywiscie
uzycie ich procesora.
Pozdr
AK
-
9. Data: 2013-02-21 00:18:15
Temat: Re: Robię urządzenie na USB - jak ominąć VID/PID?
Od: jan kowalski <d...@g...com>
On 20 Lut, 13:21, Michał Lankosz <m...@t...pl> wrote:
> 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
>
> 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
> 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
> 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
> 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.
-
10. Data: 2013-02-21 08:00:38
Temat: Re: Robię urządzenie na USB - jak ominąć VID/PID?
Od: Michał Lankosz <m...@t...pl>
W dniu 2013-02-21 00:18, jan kowalski pisze:
> MPROG od ftdi twoim rozwiazaniem http://www.ftdichip.com/Support/Utilities.htm
Obecnie FT_PROG
> 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?
> 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ł