Metody připojování periferií

Podobné dokumenty
Metody připojování periferií

Metody připojování periferií

Metody připojování periferií BI-MPP Přednáška 1

Metody připojování periferií

Vestavné systémy. BI-VES Přednáška 9. Ing. Miroslav Skrbek, Ph.D.

Metody připojování periferií

Metody připojování periferií BI-MPP Přednáška 2

Metody připojování periferií

Rozhraní USB. Rozhraní USB. Specifikace USB. Doplnění (upřesnění) 1.0. Rychlosti Low Speed (1.5 Mb/sec) a Full Speed (12 Mb/sec).

Metody připojování periferií

Distribuované systémy a počítačové sítě

Universal Serial Bus. Téma 12: USB. Komunikační principy Enumerace Standardní třídy zařízení

Fakulta informačních technologií VUT v Brně Ústav počítačových systémů Periferní zařízení, cvičení IPZ Analýza komunikace na sběrnici USB

Vestavné systémy BI-VES Přednáška 5

IPZ laboratoře. Analýza komunikace na sběrnici USB L305. Cvičící: Straka Martin, Šimek Václav, Kaštil Jan. Cvičení 2

1. Úvod, návrhový systém MPLAB, úvod do programování v C

Vestavné systémy BI-VES Přednáška 10

Přednáška. Vstup/Výstup. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012

5. Čtení/zápis sektorů z/do USB paměťového média I

1. Úvod do předmětu, seznámení s vývojovými prostředky

Vestavné systémy BI-VES Přednáška 1

Správa paměti. doc. Ing. Miroslav Beneš, Ph.D. katedra informatiky FEI VŠB-TUO A-1007 /

Počítač jako elektronické, Číslicové zařízení

pouˇzití USB nebo SPI

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ Fakulta informačních technologií

Reference. Přílohy. Měřicí přístroj kruhovitosti součástek

Činnost CPU. IMTEE Přednáška č. 2. Několik úrovní abstrakce od obvodů CPU: Hodinový cyklus fáze strojový cyklus instrukční cyklus

USB. Universal Serial Bus. revize 2.0 z 27.dubna 200

ČEMU ROZUMÍ MIKROPROCESOR?

INFORMAČNÍ A KOMUNIKAČNÍ TECHNOLOGIE

Rozhraní ATA a ATAPI. Rozhraní ATA a ATAPI. Koncepce ATA. Řadič je součástí diskové jednotky. Původní fyzické rozhraní odvozeno od sběrnice ISA.

Měřič krevního tlaku. 1 Měření krevního tlaku. 1.1 Princip oscilometrické metody 2007/

PŘÍLOHY. PRESTO USB programátor

zení Koncepce připojení V/V zařízení POT POT ... V/V zařízení jsou připojena na sběrnici pomocí řadičů. Řadiče Připojení periferních zařízení

Struktura a architektura počítačů (BI-SAP) 7

TW15 KONCOVÝ PRVEK MSKP. Popis výrobku Technická data Návod k obsluze. Technologie 2000 s.r.o., Jablonec nad Nisou

PES lib (C + PASCAL) KNIHOVNY KOMUNIKAÈNÍCH FUNKCÍ 03/ PESlib KOMUNIKAČNÍ KNIHOVNY C, PASCAL 03/ stran 1

Přednáška A3B38MMP. Bloky mikropočítače vestavné aplikace, dohlížecí obvody. 2015, kat. měření, ČVUT - FEL, Praha J. Fischer

Výpočet v módu jádro. - přerušení (od zařízení asynchronně) - výjimky - softvérové přerušení. v důsledku událostí

PCMCIA(Personal Computer Memory Card PCMCIA (3) PCMCIA (2) PCMCIA (4)

Řízení IO přenosů DMA řadičem

Základní komunikační operace

Ovladače pro Windows. Ovladače Windows A4M38KRP. Str. 1

Gymnázium Vysoké Mýto nám. Vaňorného 163, Vysoké Mýto

Přerušení POT POT. Přerušovací systém. Přerušovací systém. skok do obslužného programu. vykonávaný program. asynchronní událost. obslužný.

Universal Serial Bus (USB)

České vysoké učení technické v Praze Fakulta elektrotechnická Katedra řídicí techniky. Diplomová práce

Vstupně - výstupní moduly

SIMATIC S GPRS. Micro Automation. Promoters Meeting October Aplikace pro GPRS. Vzdálená stanice. Server SINAUT MICRO SC.

Sběrnicová struktura PC Procesory PC funkce, vlastnosti Interní počítačové paměti PC

GRAFICKÉ ROZHRANÍ V MATLABU PRO ŘÍZENÍ DIGITÁLNÍHO DETEKTORU PROSTŘEDNICTVÍM RS232 LINKY

Koncepce DMA POT POT. Při vstupu nebo výstupu dat se opakují jednoduché činnosti. Jednotlivé kroky lze realizovat pomocí speciálního HW.

Profilová část maturitní zkoušky 2014/2015

Sběrnicová struktura PC Procesory PC funkce, vlastnosti Interní počítačové paměti PC

Základní principy konstrukce systémové sběrnice - shrnutí. Shrnout základní principy konstrukce a fungování systémových sběrnic.

Optika v počítačovém vidění MPOV

Systém řízení sběrnice

Úvod do mobilní robotiky AIL028

Vstupně výstupní moduly. 13.přednáška

NAPOJENÍ ZAŘÍZENÍ S KOMUNIKACÍ BELIMO MP-BUS NA SÍŤ AUTOMATŮ MICROPEL

11. Implementace ovladače ve Windows

CA21 PŘÍRUČKA UŽIVATELE

PK Design. Uživatelský manuál. Modul USB-FT245BM v2.2. Přídavný modul modulárního vývojového systému MVS. Verze dokumentu 1.0 (7. 11.

Využití ICT pro rozvoj klíčových kompetencí CZ.1.07/1.5.00/

Střední průmyslová škola a Vyšší odborná škola, Hrabákova 271, Příbram. III / 2 = Inovace a zkvalitnění výuky prostřednictvím ICT

Komunikace procesoru s okolím

Technické prostředky počítačové techniky

Principy komunikace s adaptéry periferních zařízení (PZ)

EC Motor. IO Modul EC200. EC200 Int. EC200 Ext. Verze 1.20, revize PMControl s.r.o.

Prostředí pro výuku vývoje PCI ovladačů do operačního systému GNU/Linux

Hardwarová realizace konečných automatů

Struktura programu v době běhu

Základní normalizované datové přenosy

Knihovna DataBoxLib TXV první vydání prosinec 2010 změny vyhrazeny

SPECIFIKACE DODÁVKY EPS A SERVISU EPS

Architektura počítače

Konfigurace portů u mikrokontrolérů

Periferní operace využívající přímý přístup do paměti

Sběrnicová struktura PC Procesory PC funkce, vlastnosti Interní počítačové paměti PC

Praktické úlohy- 2.oblast zaměření

Další aspekty architektur CISC a RISC Aktuálnost obsahu registru

Sběrnice a rozhraní. Josef Voltr

Základní deska (motherboard, mainboard)

Semestrální práce z předmětu Speciální číslicové systémy X31SCS

Pozice sběrnice v počítači

Mikrokontroléry. Doplňující text pro POS K. D. 2001

MIKROKONTROLÉRY PIC PRO POKROČILÉ

Real Time programování v LabView. Ing. Martin Bušek, Ph.D.

Počítač jako prostředek řízení. Struktura a organizace počítače

PCKIT LPT MODUL SBĚRNICE IOBUS PRO PC LPT. Příručka uživatele. Střešovická 49, Praha 6, s o f c o s o f c o n.

Přednášející: Zdeněk Kotásek. Ústav počítačových systémů, místnost č. 25

Návrh konstrukce odchovny 3. dil

2007/2008 ZS. operačních systémů

Identifikátor materiálu: ICT-1-15

Přerušovací systém s prioritním řetězem

Práce s vysokorychlostní sběrnicí. SPEED-Bus digitální signály

Konstruktory a destruktory

Obsah. Kapitola 1 Skříně počítačů 15. Kapitola 2 Základní deska (mainboard) 19. Kapitola 3 Napájecí zdroj 25. Úvod 11

Sériové komunikace KIV/PD Přenos dat Martin Šimek

Měřicí systémy. Obsah. Systémy složené z autonomních měřicích přístrojů a modulů Sériová rozhraní. Sériová rozhraní - pokračování 1

Transkript:

Metody připojování periferií BI-MPP Přednáška 7 Ing. Miroslav Skrbek, Ph.D. Katedra počítačových systémů Fakulta informačních technologií České vysoké učení technické v Praze Miroslav Skrbek 2010,2011 ZS2011/12 Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

Agenda Realizace USB zařízení USB podsystém v PIC24FJ256GB106 Příklady přenosů dat BI-MPP Přednáška 7 Miroslav Skrbek 2010,2011 2

Literatura Gook, M.: Hardwarová rozhraní Průvodce programátora. Computer Press, Brno 2006. ISBN 80-251-1019-2 Universal Serial Bus Specification 3.0, Revision 1.0, Listopad 2008 http://www.usb.org/developers/docs/usb_30_spec_0929 11.zip PIC24F Family Reference Manual, section 27, USB On- The-Go (OTG). Technická dokumentace Microchip Technology Incorporated. 2010 (http://www.microchip.com ) PIC24FJ256GB110 Family Data Sheet. Technická dokumentace Microchip Technology Incorporated. 2009. (http://www.microchip.com ) BI-MPP Přednáška 7 Miroslav Skrbek 2010,2011 3

Realizace USB zařízení USB řadiče a mikrokontroléry podporují USB zařízení USB host (On-the-Go) USB rozhraní a jeho programová obsluha závisí na konkrétním výrobci řadiče nebo mikrokontroléru Výrobci poskytují vzorové programové vybavení pro USB, které návrháři upravují pro potřeby vyvíjeného zařízení BI-MPP Přednáška 7 Miroslav Skrbek 2010,2011 4

USB v PIC24FJ256GB106 Hardware zajišťuje serializaci a deserializaci dat, detekci a řízení stavu linky (D+, D-) Data jsou ukládána/čtena do/z bufferů, které jsou definovány pro každý koncový bod zvlášť Dokončení přenosů dat, příjem speciálních paketů (např. SOF) a změny stavu linky vyvolávají přerušení Konfigurace USB řadiče se provádí přes registry řadiče BI-MPP Přednáška 7 Miroslav Skrbek 2010,2011 5

USB modul v PIC24FJ256GB106 +5V D+ D- USB modul Ř ídící Registry data adresa Paměť dat data adresa Jádro (PIC24) BI-MPP Přednáška 7 Miroslav Skrbek 2010,2011 6

Popisovače v USB modulu U1BDTP1 Buffer descriptor (BD) State B D T EP0 OUT EP0 IN EP1 OUT EP1 IN Count Addr L Addr H EP0 IN Buffer EP0 IN Buffer EP1 IN Buffer BDT buffer descriptor table (tabulka popisovačů bufferů) BD buffer descriptor (popisovač bufferu) BI-MPP Přednáška 7 Miroslav Skrbek 2010,2011 7

BDT (Buffer Descriptor Table) Tabulka obsahuje pro každý koncový bod a směr popisovač bufferu Popisovač bufferu obsahuje Stav bufferu (state) Počet přijatých/k odeslání bytů (count) Adresa bufferu v paměti (Addr L, Addr H) Bit 7 stavu bufferu se synchronozuje přístup do bufferu ze strany USB řadiče a CPU BI-MPP Přednáška 7 Miroslav Skrbek 2010,2011 8

Řízení přístupu do bufferu 0 po ukončení přenosu dat UOWN state BD USB modul Jádro PIC24 Buffer 1 pro příjem dat z PC 0 po ukončení přenosu dat UOWN state BD USB modul Jádro PIC24 Bit UOWN se řídí programově Buffer 1 pro odeslání dat do PC BI-MPP Přednáška 7 Miroslav Skrbek 2010,2011 9

Knihovna USBLIB Knihovna základních funkcí pro ovládání USB modulu v mikropočítačích PIC24 Poskytuje funkce pro Vytvoření tabulky popisovačů bufferů (BDT) Funkce pro detekci stavu USB modulu Funkce pro zahájení přenosu dat z/do PC Funkce pro kopírování dat z/do bufferů Knihovna byla vyvinuta pro potřeby výuky na FIT a FEL ČVUT v Praze, včetně portování pro mikropočítače řady PIC24F BI-MPP Přednáška 7 Miroslav Skrbek 2010,2011 10

Deklarace koncových bodů a Deklarace BDT vytvoření BDT DECLARE_EP_BEGIN DECLARE_EP(ep0); // IN/OUT Control EP DECLARE_EP(ep1); // IN Interrupt EP DECLARE_EP(ep2); // OUT data EP DECLARE_EP(ep3); // IN data EP DECLARE_EP_END Deklarace bufferů DECLARE_BUFFER_BEGIN DECLARE_BUFFER(ep0_buf_out, EP0_OUT_BUF_SIZE); DECLARE_BUFFER(ep0_buf_in, EP0_IN_BUF_SIZE); DECLARE_BUFFER(ep1_buf_in, EP1_IN_BUF_SIZE); DECLARE_BUFFER(ep2_buf_out, EP2_OUT_BUF_SIZE); DECLARE_BUFFER(ep3_buf_in, EP3_IN_BUF_SIZE); DECLARE_BUFFER_END BI-MPP Přednáška 7 Miroslav Skrbek 2010,2011 11

Funkce pro zjištění stavu USB modulu int is_attached(); vrací 1, pokud je zařízení připojeno k USB int is_powered(); vrací 1, pokud je USB datová linka ve stavu SE0 int is_reset(); vrací 1, pokud byl detekován reset na USB sběrnici. Volání funkce příznak nuluje. int is_idle(); detekuje požadavek přechodu do stavu snížené spotřeby int is_sof(); detekuje příchod SOF paketu int is_transfer_done(); vrací 1, pokud byl dokončen přenos. Volání funkce příznak nenuluje. int get_trn_status(); vracíčíslo koncového bodu, kde došlo k dokonšení přenosu. Tato funkce nuluje příznak dokončeného přenosu. BI-MPP Přednáška 7 Miroslav Skrbek 2010,2011 12

Funkce pro práci s endpointy a buffery extern void usb_init_ep(int num, byte ep_type, ep_buf_dsc_t* ep); inicializuje koncový bod void usb_ep_transf_start(volatile ep_buf_dsc_t* ep, byte transf_type, buf_ptr_t buffer, int size); zahajuje přenos dat z/do PC void copy_to_buffer(buf_ptr_t buf, byte* src, int size); kopíruje data z paměti do bufferu void copy_from_buffer(buf_ptr_t buf, byte* dest, int size); kopíruje data z bufferu do paměti BI-MPP Přednáška 7 Miroslav Skrbek 2010,2011 13

Přenos do PC - příklad Následující příklad ukazuje přenos odezvy na žádost GET_DESCRIPTOR Device Descriptor do zařízení // Inicializace koncového bodu usb_init_ep(0, EP_SETUP_INOUT, & bdt.ep0); copy_to_buffer(ep0_buf_in, &device_descriptor, sizeof(device_descriptor)); // Zahájení přenosu dat do PC (očekává se SETUP paket) usb_ep_transf_start(ep(ep0), USB_TRN_DATA1_IN, ep0_buf_in, 0); // čekej dokud není přenos dokončen while (!is_transfer_done()); // zjištění koncového bodu, kde došlo k dokončení přenosu int epnum = get_trn_status(); if (epnum == 0x00) { // naplánuj příjem potvrzení od PC } BI-MPP Přednáška 7 Miroslav Skrbek 2010,2011 14

Přenos z PC - příklad Následující příklad ukazuje přenos požadavku (USB DEVICE REQUEST) do zařízení // Inicializace koncového bodu usb_init_ep(0, EP_SETUP_INOUT, & bdt.ep0); // Zahájení přenosu dat z PC (očekává se SETUP packet) usb_ep_transf_start(& bdt.ep0, USB_TRN_SETUP, ep0_buf_out, EP0_OUT_BUF_SIZE); // čekej dokud není přenos dokončen while (!is_transfer_done()); // zjištění koncového bodu, kde došlo k dokonční přenosu int epnum = get_trn_status(); if (epnum == 0x00) { // data přijata na EP0, zkopírujeme obsah bufferu // do proměnné req (usb device request) copy_from_buffer(ep0_buf_out, (byte*)req, sizeof(usb_device_req_t)); } BI-MPP Přednáška 7 Miroslav Skrbek 2010,2011 15