Witam, pracuję nad interfejsem USB. Zgromadziłem różne materiały na ten temat. Moim celem jest dokładniejsze poznanie USB na najniższym poziomie w celu modyfikacji gotowych kodów dla mikrokontrolerów nie wyposażonych w USB.
Więc proszę o nie odpisywanie typu: ... po co się w to bawić jak można skorzystać np z procka AT90USB162.
Zabrałem sie za doświadczenia z magistralą z wykorzystaniem poniżej zamieszczonego schematu, zaczerpnięty jest on z noty aplikacyjnej o numerze AVR309
(zamiast stabilizatora podłączyłem diodę LED i w ten sposób uzyskałem napięcie 3,2V)
Pierwszym moim celem jest sprawdzenie co sie dzieje na magistrali USB zaraz po podłączeniu urządzenia. Zrobiłem więc tak - wyciągałem z podstawki DIP mikrokontroler ATTINY2313 i podłączyłem się z oscyloskopem do linii magistralowych D+ oraz D-
Od strony Hosta USB (komputera) wygląda to tak ze w momencie podłączenia mojego urządzenia zauważa on podciągnięcie linii D- do plusa zasilania i reaguje na tę sytuację co zarejestrowałem oscyloskopem.
Otrzymałem poniższe przebiegi.
Na pierwszym oznaczyłem charakterystyczne elementy transmisji, które nie w pełni rozumiem
kolorem czerwonym oznaczony jest przebieg linii D-
w kolorze niebieskim widoczny przebieg dla linii D+
1 - podłączenie kabla USB do komputera i mojego urządzenia, pojawia się napięcie na liniach D+ i D- (D- ściągnięte do masy w obwodzie sterownika HOSTA)
2 - nie wiem co to jest - występuje zawsze przy każdym podłączeniu do USB
3 - stan IDLE -
4 - RESET - trwa minimum 10ms, taki RESET wystepuje 3razy. Jest przed kazdym wysłaniem danych z HOSTA (komputera) do urządzenia, piszą ze reset w tych momentach sie pojawia wtedy gdy urządzenie nie jest jeszcze skonfigurowane.
5 - TRANSMISJA - przesłanie pakietu danych - mamy takich 3
6 - na lini D- regularnie w odstępie 1ms pojawia się impuls a właściwie ściągnięcie linii D- na czas około 1,2us do masy - NIE WIEM CO TO, nigdzie nie znalazłem o tym informacji tak jakby tylko u mnie to coś występowało.
RESET który występuje przed wysłaniem danych do nie skonfigurowanego urzadzenia, trwa około 20ms jak widać poniżej przy dokładniejszej obserwacji. Polega on na ściągnięciu obu linii do potencjału poniżej 0,8V(według dokumentacji), na wykresie widać ze ściąga do masy
W odstępach 1ms na linii D- pojawia się to coś - ten impuls który widać poniżej na przebiegu a o którym nie mogę znaleźć sensownych informacji.
Wydaje mi się że ten impuls pojawia się też przed samym przesłaniem danych jeszcze przed tym co piszą w różnych opisach tzn przed SOP - Start Of Packet czyli przed wyjściem magistrali ze stanu IDLE do stanu "K" (na magistrali w trakcie transmisji bitów pojawia się różnicowy stan K lub J)
Stan "K" poniżej na rysunku: jest to przejście linii D+ (niebieski przebieg) ze stanu niskiego do wysokiego
Na przebiegu poniżej widać trzy takie charakterystyczne impulsy o które się pytam.
Pierwszy na samym początku, drugi po przesłaniu pierwszych 4bajtówi (SOF - Start Of Frame) i ostatni na samym końcu przed ponownym wejsciem magistrali w stan IDLE.
Moje pierwsze pytanie dotyczy właśnie tych charakterystycznych impulsów na linii D-
Co to są za impulsy?
Zachęcam do udziału w poszukiwaniu odpowiedzi i wspólnej nauki rozgryzania magistrali USB
Więc proszę o nie odpisywanie typu: ... po co się w to bawić jak można skorzystać np z procka AT90USB162.
Zabrałem sie za doświadczenia z magistralą z wykorzystaniem poniżej zamieszczonego schematu, zaczerpnięty jest on z noty aplikacyjnej o numerze AVR309
(zamiast stabilizatora podłączyłem diodę LED i w ten sposób uzyskałem napięcie 3,2V)
Pierwszym moim celem jest sprawdzenie co sie dzieje na magistrali USB zaraz po podłączeniu urządzenia. Zrobiłem więc tak - wyciągałem z podstawki DIP mikrokontroler ATTINY2313 i podłączyłem się z oscyloskopem do linii magistralowych D+ oraz D-
Od strony Hosta USB (komputera) wygląda to tak ze w momencie podłączenia mojego urządzenia zauważa on podciągnięcie linii D- do plusa zasilania i reaguje na tę sytuację co zarejestrowałem oscyloskopem.
Otrzymałem poniższe przebiegi.
Na pierwszym oznaczyłem charakterystyczne elementy transmisji, które nie w pełni rozumiem
kolorem czerwonym oznaczony jest przebieg linii D-
w kolorze niebieskim widoczny przebieg dla linii D+
1 - podłączenie kabla USB do komputera i mojego urządzenia, pojawia się napięcie na liniach D+ i D- (D- ściągnięte do masy w obwodzie sterownika HOSTA)
2 - nie wiem co to jest - występuje zawsze przy każdym podłączeniu do USB
3 - stan IDLE -
4 - RESET - trwa minimum 10ms, taki RESET wystepuje 3razy. Jest przed kazdym wysłaniem danych z HOSTA (komputera) do urządzenia, piszą ze reset w tych momentach sie pojawia wtedy gdy urządzenie nie jest jeszcze skonfigurowane.
5 - TRANSMISJA - przesłanie pakietu danych - mamy takich 3
6 - na lini D- regularnie w odstępie 1ms pojawia się impuls a właściwie ściągnięcie linii D- na czas około 1,2us do masy - NIE WIEM CO TO, nigdzie nie znalazłem o tym informacji tak jakby tylko u mnie to coś występowało.
RESET który występuje przed wysłaniem danych do nie skonfigurowanego urzadzenia, trwa około 20ms jak widać poniżej przy dokładniejszej obserwacji. Polega on na ściągnięciu obu linii do potencjału poniżej 0,8V(według dokumentacji), na wykresie widać ze ściąga do masy
W odstępach 1ms na linii D- pojawia się to coś - ten impuls który widać poniżej na przebiegu a o którym nie mogę znaleźć sensownych informacji.
Wydaje mi się że ten impuls pojawia się też przed samym przesłaniem danych jeszcze przed tym co piszą w różnych opisach tzn przed SOP - Start Of Packet czyli przed wyjściem magistrali ze stanu IDLE do stanu "K" (na magistrali w trakcie transmisji bitów pojawia się różnicowy stan K lub J)
Stan "K" poniżej na rysunku: jest to przejście linii D+ (niebieski przebieg) ze stanu niskiego do wysokiego
Na przebiegu poniżej widać trzy takie charakterystyczne impulsy o które się pytam.
Pierwszy na samym początku, drugi po przesłaniu pierwszych 4bajtówi (SOF - Start Of Frame) i ostatni na samym końcu przed ponownym wejsciem magistrali w stan IDLE.
Moje pierwsze pytanie dotyczy właśnie tych charakterystycznych impulsów na linii D-
Co to są za impulsy?
Zachęcam do udziału w poszukiwaniu odpowiedzi i wspólnej nauki rozgryzania magistrali USB
