Urządzenia peryferyjne USB - programowanie. Wykład 7



Podobne dokumenty
USB firmware changing guide. Zmiana oprogramowania za przy użyciu połączenia USB. Changelog / Lista Zmian

USB firmware changing guide. Zmiana oprogramowania za przy użyciu połączenia USB. Changelog / Lista Zmian

Vinculum scalony host USB

USB firmware changing guide. Zmiana oprogramowania za przy użyciu połączenia USB. Changelog / Lista Zmian

Volcano MC-GM4 OPTICAL MOUSE USER S MANUAL MODECOM

DVD MAKER USB2.0 Instrukcja instalacji

Volcano MC-GMX4 OPTICAL MOUSE USER S MANUAL MODECOM

USB firmware changing guide. Zmiana oprogramowania za przy użyciu połączenia USB. Changelog / Lista Zmian

INSTRUKCJA UŻYTKOWNIKA MPCC

Aktualizacja Oprogramowania Firmowego (Fleszowanie) Microprocessor Firmware Upgrade (Firmware downloading)

Kamera internetowa TRACER Prospect Cam. Instrukcja obsługi. TRACER Prospect Cam Webcam User Manual

Realizacja systemów wbudowanych (embeded systems) w strukturach PSoC (Programmable System on Chip)

Dodatkowy przewodnik programisty dla D2XX

Rozwiązywanie problemów z konfliktem driverów RFID czytnika 3M RTE8000 i Vicomp VPR600/610/620e

Instrukcja instalacji interfejsu komunikacyjnego RUD-1

Instrukcja konfiguracji wybranych funkcji skanera Datalogic Heron HD3130

Urządzenia peryferyjne RS-232 oprogramowanie pod WINDOWS. Wykład 3

Instytut Teleinformatyki

USB - Universal Serial Bus

PRZETWORNIK USB - RS232

Debugger/programator z interfejsem JTAG oraz SWD dla mikrokontrolerów ARM zgodny z KEIL ULINK 2. Gotronik

4 bity zarezerwowane dla przyszłych zastosowań 11 bitów określających źródło błędu 16 bitów określających rodzaj błędu.

używania narzędzia MStar do: aktualizacji oprogramowania i danych OTVC Samsung (cz.1)

Konfiguracja trybu pracy Real COM dla serwerów NPort:

inode instalacja sterowników USB dla adaptera BT 4.0

Instrukcja instalacji oprogramowania NPD PL

Kontrola dostępu do kodu i własności intelektualnej w Zintegrowanej Architekturze. Copyright 2012 Rockwell Automation, Inc. All rights reserved.

Instrukcja implementacji sterownika wirtualnego portu szeregowego dla systemu Android. Opracowanie: Elzab Soft sp. z o.o.

USB 2.0 DVD MAKER INSTRUKCJA OBSŁUGI. Nr produktu Strona 1 z 6

KARTA INTERFEJSU RÓWNOLEGŁEGO PCI

Programowanie kontrolerów gier i aplikacji w systemie Windows

Czytnik Zbliżeniowy USB RUD- 2 v2.0

Strona główna > Produkty > Systemy regulacji > System regulacji EASYLAB - LABCONTROL > Program konfiguracyjny > Typ EasyConnect.

Zgrana para - NerO i CleO

Komputer PC Lenovo M57e - Cena netto 2 310,00 zł 1USD = 3,90 zł Kod produktu

Skrócony sposób działania przy użyciu po

Rev Źródło:

PRZETWORNIK USB - RS232

PanelView Plus 6 Odkryj zalety zintegrowanego rozwiązania HMI

Moduł odtwarzacza plików MP3 audio

TECHNIKA MIKROPROCESOROWA II

Plan wykładu. 1. Urządzenia peryferyjne 2. Rodzaje transmisji danych 3. Interfejs COM 4. Interfejs LPT 5. Plug and Play

1.1 Co to jest USBasp? Parametry techniczne Obsługiwane procesory Zawartość zestawu... 4

Załącznik nr 6 Uszczegółowienie przedmiotu zamówienia. Pakiet 1 (Gdańsk) Tabela 1. Komputer przenośny. Ilość 1 sztuka

INTERNAL CARD READER WITH USB 2.0 MC-CR103

Kopie zapasowe PAWEŁ PŁAWIAK. Training and Development Manager for Microsoft Technology Compendium - Centrum Edukacyjne pawel.plawiak@compendium.

KOMPUTER. jaki jest, każdy widzi. Mówiąc komputer, mamy najczęściej na myśli zestaw... urządzeń podłączonych jednocześnie do jednostki centralnej.

Systemy wbudowane. Wprowadzenie. Struktura. Mikrokontrolery AVR. Wprowadzenie do programowania w C

Instrukcja obsługi. Odtwarzacz MEASY z systemem Android. Model: U2A. Tylko stosowanie się do niżej wymienionych zaleceń zagwarantuje długą

NARZĘDZIE KONFIGURACYJNE VNX SETUP TOOL MODUŁÓW RODZINY VNX ADVANCED

Instalacja Właściwości

ZL24PRG. Interfejs JTAG dla mikrokontrolerów ARM

Tychy, plan miasta: Skala 1: (Polish Edition)

INTERFEJS LPG/CNG FTDI USB INSTRUKCJA INSTALACJI ORAZ KONFIGURACJI URZĄDZENIA

Robotic Arm Assembly Manual

Wstęp. Ale po co? Implementacja

ADAPTER USB INTERFEJS SZEREGOWY

INSTRUKCJA INSTALACJI DRUKARKI. (Dla Windows CP-D70DW/D707DW)

Installation of EuroCert software for qualified electronic signature

UWAGA!!! Komputery stacjonarne

Przejściówka z USB typu C do złącza szeregowego

Car MP3 Player MM211. Aby zapewnić prawidłową obsługę sprzętu zapoznaj się dokładnie z instrukcją i zachowaj ją na przyszłość.

1. Tworzenie nowego projektu.

Układy interfejsowe Microchip (SMSC)

WPROWADZENIE DO. Instalowania sterowników Nokia Connectivity Cable Drivers

Instrukcja obsługi. RUD-3 v2.0. RUD-3-DES v2.0

WPROWADZENIE DO. Instalowania sterowników Nokia Connectivity Cable Drivers

NB Sweex Card Reader 16 in 1 USB 2.0

TAB9-200 XENTA 97ic 9.7 TABLET ANDROID JELLY BEAN - INSTRUKCJA AKTUALIZACJI

Best Connectivity. UA0042 Adapter USB2.0 na port szeregowy. Instrukcja szybkiej instalacji

1x Wejście antenowe, 1x S-Video, 1x Composite Audio/Video. Zestaw zawiera: Tuner, Pilot, Antena FM, Instrukcja szybkiego uruchomienia

Ćwiczenia z S Komunikacja S z miernikiem parametrów sieci PAC 3200 za pośrednictwem protokołu Modbus/TCP.

Livebox podłączenie drukarki USB

Jak skonfigurować bezpieczną sieć bezprzewodową w oparciu o serwer RADIUS i urządzenia ZyXEL wspierające standard 802.1x?

Zakopane, plan miasta: Skala ok. 1: = City map (Polish Edition)

BIOS - (czyli Basic Input/Output System)

Sposób pracy przy użyciu po raz pierwszy Rozdział 1. Łącza (3.1)

Podsumowanie. semestr 1 klasa 2

Zaliczenie Termin zaliczenia: Sala IE 415 Termin poprawkowy: > (informacja na stronie:

USB interface in 8-bit microcontrollers PIC18F family manufactured by Microchip.

Konfigurowanie sterownika BC8150 firmy Beckhoff wprowadzenie

Wymagane parametry techniczne laptopa

WYMAGANIA. dla stacji roboczych stanowisk obsługi dla użytkowników końcowych SRP

solution for PC peripherals

Wersja polska. Wstęp. Sprzęt. Instalacja w Windows 98SE. PU007 Sweex 1 Port Parallel & 2 Port Serial PCI Card

G H J E PL. C A: Oznaczenia kart B: Gumowe nóżki C: Rzepy D: Kontrolka aktywności E: Kontrolka zasilania

FORMULARZ CENOWY DLA ZADANIA NR 3 DOSTAWA SPRZĘTU KOMPUTEROWEGO I TELEWIZYJNEGO. Producent/typ/model oferowanego sprzętu. Lenovo Essential S50-30

Programator AVR USBasp

Dlaczego Windows 10?

Karpacz, plan miasta 1:10 000: Panorama Karkonoszy, mapa szlakow turystycznych (Polish Edition)

Krótka historia o debugowaniu laptopa, który nie budził się z uśpienia , Warsaw C++ Users' Group Michał Redford Kowalczyk

Systemy na Chipie. Robert Czerwiński

SPRZĘT DLA JEDNOSTEK ORGANIZACYJNYCH

Instrukcja instalacji sterowników USB dla urządzeń Posnet Polska S.A.

PAKIET nr 14 Instytut Fizyki Teoretycznej

ERION KOMPUTE. Lenovo ThinkPad T440P i7-4810mq 16GB 14" FullHD 512GB [SSD] GT730M (1GB) W7Pro/W8.1Pro 3Y On-Site 20AWA1G3PB

WYMAGANIA. dla stacji roboczych stanowisk obsługi dla użytkowników końcowych SRP

Rodzaj kabla Kabel szeregowy skrosowany (tzw. zero modem kabel) Kabel USB host-to-host Kabel RS232/PPI multimaster Kabel USB/PPI multimaster *

Politechnika Poznańska, Instytut Informatyki, TWO. Interfejsy sprzętowe i ich programowanie

Transkrypt:

Urządzenia peryferyjne USB - programowanie Wykład 7

Skąd informacje: MSDN http://www.usb.org/developers/hidpage.ht ml USB Complete: Everything You Need to Develop Custom USB Peripherals, Second Edition 2

USB - drivers 3

USB sterownik HKEY_LOCAL_MACHINE\System\CurrentContr olset\services\class \winnt\inf pliki INI [Version] Signature="$CHICAGO$" Class=HID ;The GUID for HIDs ClassGUID={745al7aO-74d3- lldob6fe- OOaOc90f57da} provider=%provider% LayoutFile=layout.inf, layout1.inf [Classlnstall] Addreg=Class.AddReg 4

USB sterownik [Class.AddReg] HKR,,Installer,,mmci.dll [Manufacturer] %MfgName%=Lakeview [Lakeview],Uses Lakeview Research's Vendor ID (0925),Uses the Product ID 1234 %USB\VID_0925&PID_1234.DeviceDesc%=Sample HID, USB\VID 0925&PID 1234 [DestinationDirs] USBHID.CopyList = 11 ; LDID SYS 5

Audio Device. Klasy USB Chip/Smart Card Interface Devices. ISO/IEC 7816 specification. Communications Device. Telephones, modems, and other telecommunications devices Content Security Device Firmware Upgrade Human Interface Device (HID) IrDA Bridge Device. Mass Storage (usbstor.sys) Printer Imaging (usbscan.sys) 6

Class Driver Evolution In Windows Class Windows 98 Windows 2000 Windows ME Windows XP Audio HID RNDIS * * * Printing Scanning Storage - Content Protection - - Fax - Smart Cards - * - * Video - - - * Bluetooth - - - * Class driver exists in box at RTM * Class driver delivered post RTM If a class driver doesn t meet your needs, let us know why! 7

Common Installation Issues Devices must have unique VID/PID/REV for every model Microsoft working with USB Core Team to provide guidance to silicon manufacturers reselling their core to third-party OEMs Who sets the VID/PID Must device pass USB-IF and WHQL re-qualification? Microsoft recommendation white paper targeted for CY04H2 Never Copy INF manually into INF folder (use SetupCopyOEMINF) Composite devices must reference [Composite.Dev.NT] section in USB.inf file, using include/needs RAM based firmware devices must use unique VID/PID/REV for initial firmware download mode and different VID/PID/REV for operational mode 8

Common Hardware Issues VID/PID: Different models of devices must NOT reuse VID/PID/REV even if they load the same driver HCT failure! Serial Numbers: Lack of unique USB Serial Number (mandated in some class specs) HCT failure! Remote Wake: Remote wake bit set, even though device can never generate remote wake signaling HCT failure! String Address (0xEE): Devices must respond to address 0xEE and validate all parameters in USB requests! BIOS Wake Settings: Incorrect S<->D mappings for a USB host controller can prevent USB devices from waking up the system. Ensure that EHCI and companion controllers have similar S<->D mappings 9

HID Otwarcie urządzenia 10

HID - DirectInput utworzenie obiektu DirectInput HRESULT hr; //kod bledu hr=directinput8create(getmodulehandle(null), DIRECTINPUT_VERSION, IID_IDirectInput8, (VOID**)&g_pDI, NULL); zliczajanie urządzeń podłączonych: hr=g_pdi->enumdevices(di8devclass_gamectrl, EnumJoysticksCallback, NULL, DIEDFL_ATTACHEDONLY); Podczas wyliczania urządzeń dla każdego z nich wywoływana jest funkcja EnumJoysticksCallback, która tworzy interfejs urządzenia wywołując metodę CreateDevice. 11

HID BOOL CALLBACK EnumJoysticksCallback( const DIDEVICEINSTANCE* pdidinstance, VOID* pcontext) { HRESULT hr; CString k; hr=g_pdi->createdevice(pdidinstance- >guidinstance, &g_pjoystick, NULL); if( FAILED(hr) ) return DIENUM_CONTINUE; // pobieramy nazwe urzadzenia klasa->m_joyname = pdidinstance- >tszproductname; return DIENUM_STOP; } 12

HID - DirectInput ustawiamy format danych ( z pliku nagł.) hr=g_pjoystick->setdataformat(&c_dfdijoystick2); ustawienie sposobu zachowania się obiektu urządzenia hr=g_pjoystick->setcooperativelevel( this->m_hwnd, DISCL_EXCLUSIVE DISCL_FOREGROUND); Flaga DISCL_EXCLUSIVE oznacza, że żadna aplikacja nie może korzystać z naszego urządzenia, natomiast flaga DISCL_FOREGROUND oznacza, że aplikacja nie wymaga dostępu w tle Dalej odczytujemy informację o joystick u (ilość osi). Informacje te zapisujemy do struktury g_didevcaps: g_didevcaps.dwsize=sizeof(didevcaps); hr=g_pjoystick->getcapabilities(&g_didevcaps); enumeracja osi urządzenia hr=g_pjoystick->enumobjects(enumaxescallback, (VOID*)this->m_hWnd, DIDFT_AXIS); 13

HID - DirectInput BOOL CALLBACK EnumAxesCallback( const DIDEVICEOBJECTINSTANCE* pdidoi, VOID* pcontext ) { HWND hdlg = (HWND)pContext; DIPROPRANGE diprg; diprg.diph.dwsize = sizeof(diproprange); diprg.diph.dwheadersize = sizeof(dipropheader); diprg.diph.dwhow = DIPH_BYID; diprg.diph.dwobj = pdidoi->dwtype; //okreslenie enumerowanej osi diprg.lmin = -1000; diprg.lmax = +1000; //ustawienie zakresu osi if( FAILED( g_pjoystick->setproperty( DIPROP_RANGE, &diprg.diph ) ) ) return DIENUM_STOP; return DIENUM_CONTINUE; } 14

HID - DirectInput DIJOYSTATE2 js; //stan joystick a (DInput) //ustawienie urzadzenia w stan odczytywania aktualnych parametrow hr = g_pjoystick->poll(); if( FAILED(hr) ) { hr = g_pjoystick->acquire(); while( hr == DIERR_INPUTLOST ) hr = g_pjoystick->acquire(); return; } //pobranie stanu urzadzenia hr = g_pjoystick->getdevicestate( sizeof(dijoystate2), &js); 15

Układy USB - dedykowane klawiatury (producent: Alcor Micro,układ: AU9440); myszy (producent: Alcor Micro, układ: AU9610); huby (producent: Cypress Semiconductor, układ: CY7C65013); kamery internetowe (producent: Vista Imaging, układ:vicam III); czytniki kart inteligentnych (producent: Winbond, układ: W81E381); czytniki pamięci flash (producent: Prolific Technology Inc., układ: PL-2515); pamięci CF, SD, MMC, MicroDrive MS (producent: Winbond, układ: W86L586); kontrolery monitorów OSD (producent: Alcor Micro,układ: AU9814); przekaźniki sygnałów masowych (np modemy) (producent: K-Micro,układ: KL5KUSB200). 16

NXP Semiconductors - Philips - PDIUSBD12 cenowo zoptymalizowany kontroler urządzeń zewnętrznych ogólnego użytku. wykorzystywany do urządzeń opartych o mikrokontrolery komunikując się z nimi poprzez wysokiej prędkości ogólnego użytku port równoległy ograniczony pod kątem zdolności programowania oraz ustawień co powoduje zminimalizowanie czasu poświęconego na przygotowanie układu do pracy urządzeniem Zaprojektowany do działania z klasami USB: - imaging class; - mass storage devices; - communication devices; - printing devices; - HID devices. Przykładowe zastosowania układu: - interfejs USB aparatów cyfrowych; - zewnętrzne stacje ZIP; - drukarki; - skanery. 17

NXP Semiconductors - Philips - PDIUSBD12 18

NXP Semiconductors - Philips -ISP1181B wysokiej klasy kontroler USB urządzeń zewnętrznych w wbudowaną pamięcią FIFO, przekaźnikiem, regulatorem napięcia 3.3V oraz SIE. układ do współpracy z układami opartymi o mikrokontrolery oraz mikroprocesory operacyjne komunikacja z mikrokontrolerami odbywa się poprzez wysokiej prędkości konfigurowalny interfejs równoległy bogatsza wersja, i następca powszechnie stosowanego układu PDIUSBD12. Przykładowe zastosowania układu - drukarki; - skanery; - aparaty cyfrowe; - zewnętrzne stacje ZIP; - modemy; - interfejs dla urządzeń PDA. 19

NXP Semiconductors - Philips -ISP1181B 20

FTDI - FT 245BM/BL producent układu udostępnia biblioteki wraz ze sterownikami. w zależności od zastosowania układu, sterowniki występują w dwóch wersjach: - VCP wirtualnego portu COM; - Direct Drivers sterowniki wraz z biblioteką DLL ich wykorzystania konwersja danych USB do postaci portu równoległego Przykładowe zastosowania układu: - interfejs dla MCU / PLD / FPGA ; - czytniki kart flash; - interfejs dla odtwarzaczy MP3; - interfejs przekazu audio oraz niskiej jakości video; - interfejs dla urządzeń PDA; - interfejs modemów; - interfejs modemów wireless; - interfejs dla urządzeń S.T.B.; - przemysłowy sterownik urządzeń; - konwerter USB port równoległy 21

FTDI - FT 245BM/BL 22

FTDI - FT 245BM/BL - DirectDrivers FT_STATUS FT_Open (int idevice, FT_HANDLE *fthandle); FT_STATUS FT_OpenEx (PVOID pvarg1, DWORD dwflags, FT_HANDLE *fthandle) FT_STATUS FT_Close (FT_HANDLE fthandle); FT_STATUS FT_GetDeviceInfo (FT_HANDLE fthandle, FT_DEVICE *pfttype, LPDWORD lpdwid, PCHAR pcserialnumber, PCHAR pcdescription, PVOID pvdummy); FT_STATUS FT_SetBitMode (FT_HANDLE fthandle, UCHAR ucmask, UCHAR ucmode) FT_STATUS FT_Write (FT_HANDLE fthandle, LPVOID lpbuffer, DWORD dwbytestowrite, LPDWORD lpdwbyteswritten) FT_STATUS FT_GetDriverVersion (FT_HANDLE fthandle, LPDWORD lpdwdriverversion) FT_STATUS FT_GetLibraryVersion (LPDWORD lpdwdllversion) FT_STATUS FT_ResetDevice (FT_HANDLE fthandle) FT_STATUS FT_GetBitMode (FT_HANDLE fthandle, PUCHAR pucmode) 23