USB-protokollet, förklarat

USB-protokollet, förklarat

Källnod: 2003646

Om du kan förklara vad ett USB PID, ett J-tillstånd, ett K-tillstånd och ett SOF är, kan du förmodligen sluta läsa nu. Men om du inte vet eller vill ha en uppfräschning kan du spendera 15 minuter på att titta på [Sine Lab's] enkel förklaring av USB-protokollets detaljer. Du hittar videon nedan.

Motivationen för detta är att han vill lägga till USB till sina projekt med hjälp av en ATMega med en hårdvaru-USB-implementering. Ärligt talat, för det mesta kommer du bara att konsumera något färdigt bibliotek och få det att fungera på det sättet. Men att förstå terminologin kan hjälpa dig, särskilt om saker och ting inte går som planerat.

Naturligtvis är en annan användbar metod att bara använda en burk USB "serieport" och behandla det hela som en gammaldags seriell port. Men för vissa saker vill du dra nytta av USB-specifikationens hastighet och möjligheter.

De sista minuterna av videon kommer till ett praktiskt exempel. Vi håller med om beslutet att använda ett bibliotek, och i det här fallet använder han LUFA, en USB-stack med öppen källkod för processorn han vill använda. Men att förstå det faktiska protokollet hjälper dig att förstå dokumentationen och felsöka. Exemplet använder en HID-enhet, vilket är ännu mer protokoll du måste läsa upp separat.

Om du vill läs mer om USB-C, [Arya Voronovas] täckte dig. CDC USB-profilen kan stödja flera seriella portar, men om du hellre vill missbruka en enda seriell port för att få flera virtuella portar, det är också möjligt.

[Inbäddat innehåll]

Tidsstämpel:

Mer från Hacka en dag