Dedykowany sterownik Hosta USB

Universal Serial Bus (USB) jest szybkim oraz elastycznym interfejsem, który umożliwia podłączanie do komputera różnych urządzeń peryferyjnych poprzez jedno standardowe złącze. Oferuje funkcjonalność „Plug and Play” wraz z możliwością podłączania oraz odłączania urządzeń bez konieczności wyłączania systemu. Interfejs ten został zaprojektowany w celu umożliwienia podłączania szerokiego spektrum urządzeń zaczynając od typowych peryferiów jak klawiatury, myszy i drukarki, a kończąc na specjalizowanych urządzeniach. Nasz klient zachęcony wspomnianą elastycznością oraz funkcjonalnością tego interfejsu (oraz wynikającą z tego ogromną popularnością wśród konsumentów oraz producentów różnego rodzaju sprzętu) zlecił nam stworzenie dedykowanego sterownika Hosta USB dla swojej specjalizowanej platformy sprzętowej.

Cechy szczególne:

Sterownik Hosta USB dla dedykowanego kontrolera typu ASIC zdolny do zarządzania i komunikacji z urządzeniami USB klasy CDC (poprzez dedykowany protokół komunikacyjny zbudowany nad protokołem CDC).

  • kontroler typu ASIC firmy Atmel bazujący na architekturze ARM9
  • kontroler Hosta USB zgodny ze specyfikacją Open HCI 1.0a
  • stos sterowników USB poprawnie obsługujący podłączenie dowolnego urządzenia USB
  • środowisko testowe zawierające dedykowany sterownik urządzenia USB klasy CDC

Przykładowe ekrany:

  

Warstwa aplikacji


  • aplikacje testowe – dwie odrębne aplikacje (jedna po stronie Hosta USB, druga po stronie urządzenia USB) tworzące środowisko testowe stosu sterowników Hosta USB

Warstwa sterowników


  • sterownik dopasowujący – sterownik tłumaczący interfejs sterownika Hosta USB do wymogów warstwy aplikacji
  • sterownik Hosta USB – sterownik odpowiedzialny za przeprowadzanie procesu enumeracji oraz wysokopoziomową komunikację z podłączonym urządzeniem
  • sterownik kontrolera Hosta USB – sterownik sprzętowego kontrolera Hosta USB oferujący detekcję podłączania / odłączania urządzeń, zarządzanie stanem i niskopoziomową komunikację z urządzeniami
  • dedykowany sterownik urządzenia CDC, Sterownik urządzenia USB, Sterownik kontrolera urządzenia USB – stos sterowników urządzenia USB realizujący proces enumeracji, nisko- oraz wysokopoziomową komunikację z urządzeniami. Dostarczony przez zleceniodawcę dostosowany przez nas do potrzeb środowiska testowego.

Warstwa sprzętu


  • kontroler Hosta USB – część mikrokontrolera typu ASIC oferująca łączność USB ze strony hosta zgodnie ze specyfikacją Open HCI
  • kontroler urządzenia USB – część mikrokontrolera płyty referencyjnej oferująca łączność USB ze strony urządzenia.

Projekt


  • środowisko programistyczne: Green Hills Software MULTI
  • język programowania: C
  • wielkość: 3 osobo-miesiące.
Jeden z naszych zespołów w czasie pracy nad projektem: