-
Path: news-archive.icm.edu.pl!news.icm.edu.pl!news.chmurka.net!.POSTED.83.220.112.53.
mobile.static.t-mobile.pl!not-for-mail
From: Adam Górski <g...@w...pl>
Newsgroups: pl.misc.elektronika
Subject: Re: USB, czasem nie wykrywa urzadzenia
Date: Mon, 12 Jun 2023 19:40:22 +0200
Organization: news.chmurka.net
Message-ID: <u67l76$o6a$1$gorskia@news.chmurka.net>
References: <d...@g...com>
<u5l5rq$v4b$1$gorskia@news.chmurka.net>
<9...@g...com>
<u5lb6n$28r$2$gorskia@news.chmurka.net>
<5...@g...com>
NNTP-Posting-Host: 83.220.112.53.mobile.static.t-mobile.pl
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Mon, 12 Jun 2023 17:38:46 -0000 (UTC)
Injection-Info: news.chmurka.net; posting-account="gorskia";
posting-host="83.220.112.53.mobile.static.t-mobile.pl:83.220.112.53";
logging-data="24778";
mail-complaints-to="abuse-news.(at).chmurka.net"
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
Thunderbird/102.11.0
Cancel-Lock: sha1:R1eLcJTJ4N58Db81qbvyAc14HOY=
sha256:YmD3GiWT0at/rxdClHM9ExcdnpFcl6FvrhHy34T3l2s=
sha1:gYrK2sHAUdY7sisiml1Gidmtn7k=
sha256:uK+ET94EQKUNK07B9hpZl2AIYWpdGA48n8+HXaXx6zM=
Content-Language: en-GB
In-Reply-To: <5...@g...com>
Xref: news-archive.icm.edu.pl pl.misc.elektronika:781197
[ ukryj nagłówki ]W dniu 09.06.2023 o 23:41, Artur pisze:
> poniedziałek, 5 czerwca 2023 o 20:58:57 UTC+2 Adam Górski napisał(a):
>> W dniu 05.06.2023 o 20:45, Artur pisze:
>>> poniedziałek, 5 czerwca 2023 o 19:27:48 UTC+2 Adam Górski napisał(a):
>>>> W dniu 05.06.2023 o 18:54, Artur pisze:
>>>>> Cześć.
>>>>> Jest sobie urządzonko na STM32F3 w którym ktoś zrobił port USB w ten sposób, że
linia DP jest cały czas podciągnięta do +3.3V rezystorem 1.5k. Urządzenie jest
oczywiście "self powered" . Przeważnie to działa, ale problem jest podczas restartu
tego urządzenia z poziomu oprogramowania, bo raz na kilkanaście restartów Windows go
nie wykrywa. Zgaduję że problemem jest ten na stałe podłączony pull-upie.
>>>>> I teraz pytanie. Jaki jest mechanizm, że zwykle to działa tj. windows jest w
stanie zrobić enumerację nawet jeśli nie było odłączenia/podłączenia pull-up-a i
czemu czasem nie działa. Kombinuję, żeby przy starcie na chwilę wymusić poziom niski
na DP, ale pewnie jest ryzyko uszkodzenia albo portu USB albo mikrokontrolera, jeżeli
host będzie coś nadawał akurat?
>>>>>
>>>>> A.
>>>> Na 99% opisane jest to w punkcie 7.1.5.1 z pliku usb_20.pdf znajdującego
>>>> się w usb_20_20230224.zip ze strony
>>>> https://www.usb.org/document-library/usb-20-specific
ation
>>>>
>>>> W skrócie - enumeracja następuje po wykryciu lub zaniku pullup na D+ lub D-.
>>>>
>>>> Jeżeli chcesz zrobić to dynamicznie, dodaj tam coś co będzie odpinało
>>>> pullupa. Na ile czasu ? Tego nie wiem. 100 ms pewnie wystarczy.
>>>>
>>>> Pozdrawiam
>>>>
>>>> Adam Górski
>>>
>>> Ten pull-up jest podpięty na stałe do 3.3V. Jedyna opcja to skonfigurować pin DP
jako wyjście i ustawić 0 na kilkadziesiąt ms, a później zainicjować USB. Pytanie
tylko jak bardzo jest to ryzykowne.
>>> No i czemu przeważnie działa nawet jeśli host nie dostaje informacji w
standardowy sposób, że coś zostało odłączone i podłączone?
>> Zobacz jak działa wykrywanie urządzenia.
>>
>> To jednak 7.1.7.3 Connect and Disconnect Signaling
>>
>> Adam
> Spędziłem trochę czasu z analizatorem stanów logicznych bo mnie męczyło czemu to
jednak przeważnie działa, a nie powinno. Tzn. przeważnie po restarcie urządzenia jest
ono wykrywane przez windows tj. znika i pojawia się ponownie port COM. Okazuje się,
że podczas uruchamiania sterownika USB w tym urządzeniu, po zainicjalizowaniu gpio
przez chwilę tj. 4us na linii DP wymuszane jest "0". Windowsowy sterownik przeważnie
ten krótki impuls wykrywa i inicjalizuje ponownie połączenie. Linuxowy sterownik ten
impuls zawsze ignoruje i w 100% przypadków po restarcie port szeregowy nie działa. Co
ciekawe dokumentacja USB mówi, że 0 na obu liniach przez czas dłuższy niż 2.5us to
stan DISCONNECT. Czyli nawet ten krótki impuls powinien być zawsze wykrywany jako
rozłączenie urządzenia.
> Artur
I tak bywa.
Adam
Najnowsze wątki z tej grupy
- Cewka elektrozaworu
- zapytanie o chip r5f21275nfp
- nie naprawiam więcej telewizorów
- Zrobił TV OLED z TV LCD
- Zasilacz USB na ścianę.
- Gniazdo + wtyk
- Aliexpress zaczął oszukiwać na bezczelnego.
- OpenPnP
- taka skrzynka do kablowki
- e-paper
- 60 mA dużo czy spoko?
- Dziwne zachowanie magistrali adresowej w 8085
- Współczesne mierniki zniekształceń nieliniowych THD audio, produkują jakieś?
- Jaki silikon lub może klej?
- Smar do video
Najnowsze wątki
- 2025-03-08 Cięcie wysokich tui
- 2025-03-08 Środa Wielkopolska => SAP FI/CO Konsultant wewnętrzny <=
- 2025-03-08 Prawo "gminne"
- 2025-03-08 Warszawa => Senior Recruiter <=
- 2025-03-08 Warszawa => Key Account Manager IT <=
- 2025-03-08 Najszybciej ładujące się samochody elektryczne
- 2025-03-07 AION przejety
- 2025-03-07 Warszawa => Data Engineer (Tech Leader) <=
- 2025-03-07 Gliwice => Business Development Manager - Dział Sieci i Bezpieczeńst
- 2025-03-07 Warszawa => System Architect (background deweloperski w Java) <=
- 2025-03-07 Gliwice => Business Development Manager - Network and Network Security
- 2025-03-07 Chiny-Kraków => Senior PHP Symfony Developer <=
- 2025-03-07 Gliwice => IT Expert (Network Systems area) <=
- 2025-03-07 Chiny-Kraków => Backend Developer (Node + Java) <=
- 2025-03-07 Warszawa => Architekt rozwiązań (doświadczenie w obszarze Java, AWS