GPIO - General Purpose Input Output

Relevanta dokument
GPIO - General Purpose Input Output

Maskinorienterad programmering

Beskrivning av porthantering i mikroprocessorn SAM3U som används på vårt labkort SAM3U- EK.

Ett minneselements egenskaper. F10: Minneselement. Latch. SR-latch. Innehåll:

Föreläsningsanteckningar till Konstruktionsmetoder

Tangentbord/Display ML23

Tentamen med lösningsförslag

DAT 015 Maskinorienterad programmering 2010/2011. Uppbyggnad_och_funktion.pdf

Programmering av inbyggda system

Tentamen med lösningsförslag

KALKYLATOR LABORATION4. Laborationens syfte

COMBI Kanalers Kombinations Modul

Laboration 4: Knappstuds Drivrutiner för att eliminera störningar.

Tentamen. TSEA22 Digitalteknik 5 juni, 2015, kl

Att läsa en manual. Exempel Timern ECT_16B8C. Läs den allmänna beskrivningen (Overview) Vi ser att grundfunktionen är en räknare med prescaler

Undersökning av logiknivåer (V I

Digital och Datorteknik EDA /2011. EDA 451 Digital och datorteknik 2010/2011. Uppbyggnad_och_funktion.pdf

Kontrollskrivning Mikrodatorteknik CDT S2-704

Elektronik grundkurs Laboration 6: Logikkretsar

Konstruktion av en radiostyrd legobil. Digitala projekt av Arbon Vata Leonardo Vukmanovic Amid Bhatia

Sekvensnät vippor, register och bussar

Demonstration och konsultation Arbetsbokens avsnitt 7 Händelsestyrt processbyte Förberedande inför laboration 4

Tentamen med lösningsförslag

- Digitala ingångar och framförallt utgångar o elektrisk modell

Ansvarig lärare: Olof Andersson, Telefon (besöker skrivsalen)

Institutionen för elektrisk mätteknik

Digitalteknik EIT020. Lecture 15: Design av digitala kretsar

Program kan beskrivas på olika abstrak3onsnivåer. Högnivåprogram: läsbart (för människor), hög abstrak3onsnivå, enkelt a> porta (fly>a 3ll en annan ar

PROJEKT LJUD. KOPIERINGSUNDERLAG Martin Blom Skavnes, Staffan Melin och Natur & Kultur Programmera i teknik ISBN

Adressavkodning - busskommunikation

Minneselement,. Styrteknik grundkurs. Digitala kursmoment. SR-latch med logiska grindar. Funktionstabell för SR-latchen R S Q Q ?

Laborationshandledning

Träff 1 - Introduktion

DIGITAL ELEKTRONIK. Laboration DE3 VHDL 1. Namn... Personnummer... Epost-adress... Datum för inlämning...

Digital- och datorteknik

Kombinationskretsar. Föreläsning 4 Digitalteknik Mattias Krysander Institutionen för systemteknik

Quine McCluskys algoritm

Digitala kretsars dynamiska egenskaper

TENTAMEN Datorteknik (DO2005) D1/E1/Mek1/Ö1

Microprocessor / Microcontroller

Manual FKC01C924 TID/PULS/FREKVENSMÄTARE

Downloading av software till programmering av signalomvandlare.

Digital- och datorteknik

Styrteknik distans: Minneselement, register, räknare, AD-omv D4:1

Laborationshandledning

Effektpedal för elgitarr

Laboration 5. Temperaturmätning med analog givare. Tekniska gränssnitt 7,5 p. Förutsättningar: Uppgift: Temperatur:+22 C

Digital- och datorteknik

Datorprojekt, del 1. Digitala system 15 p

Robotfotboll med Arduino

Digital- och datorteknik

AVR 3 - datorteknik. Avbrott. Digitala system 15 hp. Förberedelser

Elektro och Informationsteknik LTH. Laboration 6 A/D- och D/A-omvandling. Elektronik för D ETIA01

Systemkonstruktion LABORATION LOGIK

Laborationskort - ML4

Programmera i teknik - kreativa projekt med Arduino

DATORTEKNIK. Tangentbord, knappsatser och deras avkodning

Arduinokurs. Kurstillfälle 4

Digital IC konstruktion

Adressrum, programmerarens bild

SMS-larm L Version Gjutarevägen Stenkullen

Tenta i Digitalteknik

Accelerometer. Rikard Ekström Mattias Kindborg. Informationsteknologi Lunds Universitet

Facit till övningsuppgifter Kapitel 13 Anslutning av minnes- och I/O-moduler till buss 13-1

Digital IC konstruktion

IE1205 Digital Design: F9: Synkrona tillståndsautomater

SMS-larm L Ver Gjutarevägen Stenkullen

Microprocessor / Microcontroller. Industrial Electrical Engineering and Automation

PARALLELL OCH SEKVENTIELL DATABEHANDLING. Innehåll

F1: Introduktion Digitalkonstruktion II, 4p. Digital IC konstruktion. Integrerad krets. System. Algorithm - Architecture. Arithmetic X 2.

Avant BRUKSANVISNING. FAKTARUTA AVANT Hög utnivå med förstärkning upp till 57 db. Automatiska funktioner för tilt och förstärkning

Elektroteknik MF1016 föreläsning 9 MF1017 föreläsning 7 Mikrodatorteknik

MANUAL ELBENSTÖD / WIZARD 6

LABORATION PIC-PROGRAMMERARE

Experiment med schmittrigger

Styrsystem M340. Kom-igång med räknarmodul till M340. Skapad: Rev.:

Digital elektronik CL0090

IE1204/IE1205 Digital Design

Krets- och mätteknik, fk

Kodlås. Kopplingsschema över kodlåset PAL-18

Digital IC konstruktion

Datakommunikation med IR-ljus.

Vad är en UART? Universal Asynchronous Receiver Transmitter parallella seriella parallell åttabitars signal mest signifikant bit

(2B1560, 6B2911) HT08

Lösningförslag till Exempel på tentamensfrågor Digitalteknik I.

TSEA22 Digitalteknik 2019!

Sekvensnät. William Sandqvist

Konstruktionsmetodik för sekvenskretsar

Analog till Digitalomvandling

CanCom C721 RadioTransceiver V1.19

Digitalteknik: CoolRunner-II CPLD Starter Kit

Digitalt eller Analogt

Digitalteknik: CoolRunner-II CPLD Starter Kit Med kommentarer för kursen ht 2012

Analog till Digitalomvandling

Fler exempel: Det sista uttrycket blir med NAND grindar: a b c. abc de. abc. d e

William Sandqvist

programmerbar mätomvandlare B Handhavandebeskrivning Detta är ett komplement till den tyska och engelska bruksanvisningen 2003.

Demonstration och konsultation Arbetsbokens avsnitt 5 och 6 LCD Grafisk display Introduktion till laboration 3

DIGITALTEKNIK I. Laboration DE2. Sekvensnät och sekvenskretsar

dametric GMS-SD1 Gap Control Beskrivning GMS-SD1 GapControl SE.docx / BL Sida 1 (5)

Transkript:

GPIO - General Purpose Input Output Ur innehållet: Ideala och verkliga signaler Bitvis in- och utmatning Anslutning - fysiskt gränssnitt F407 - GPIO-modul tillämpningar Läsanvisningar: Arbetsbok avsnitt 4 STM32F407 reference manual kap 8 GPIO - General Purpose Input Output 1

Ideala grindar - idealiserade signaler GPIO - General Purpose Input Output 2

Verkliga signaler - logiknivåer och anpassning Verkliga signaler måste anpassas till distinkta CMOS-nivåer representerande logikvärdena '0' och '1' Verklig signal "Tröskel" (threshold) - den punkt där omslag sker Anpassad signal GPIO - General Purpose Input Output 3

Ideala och verkliga grindar Hos ideala kretsar är tröskelnivån den samma. Hos verkliga kretsar kan det vara spridning. Tillverkarna specificerar "säkra" intervall för hög respektive låg nivå. För CMOS-kretsar med matningsspänning 5 Volt gäller: Acceptabla signaler på utgångar Acceptabla signaler på ingångar Hög Låg Skillnaden kallas störmarginal: Hög nivå 4,95-3,5 = 1,4 Volt Låg nivå: 1,5-0,05 = 1,45 Volt En signal mellan de angivna intervallen är obestämd. GPIO - General Purpose Input Output 4

Kontaktstuds Då en mekanisk omkopplare sluts kan den studsa flera gånger mot det slutande blecket innan den stabiliseras i slutet läge. Detta kan generera ett pulståg och kallas för "kontaktstudsar". 5V U GPIO - General Purpose Input Output 5

Schmitt-trigger Brusiga insignaler kan generera många oönskade omslag Med fastlagda tröskelnivåer VT+ för omslag från 0 till 1 och VT+ från 1 till 0 GPIO - General Purpose Input Output 6

Anslutningar STM32F407VGT7: Större delen av kretsens 100 pinnar har programmerbar funktion och organiserats i portar (A-E). Hos MD407 används portar D och E för generell IO (32 pinnar) medan övriga portar i olika utsträckning används till förutbestämda funktioner. GPIO - General Purpose Input Output 7

GPIO-port, programmerarens bild För varje port finns en uppsättning register där respektive pinnes funktion kan konfigureras. Registren kan läsas eller skrivas med byte, halfword eller word-operationer. Port D 16 pinnar IDR : Input data register ODR: Output data register De 16 pinnarna i en port kan konfigureras individuellt i mode register (MODER) för någon av funktionerna: 00: digital ingång 01: digital utgång 10: alternativ funktion 11: analog funktion nu behandlar vi pinnarnas funktion som digital IO, dvs. de första två alternativen. Bit 15............ Bit 0 GPIO - General Purpose Input Output 8

EXEMPEL: Skriv en assemblerfunktion app_init som sätter upp port D bitar 0-7 som en 8 bitars utport och port D bitar 8-15 som en 8-bitars inport. Verifiera app_init genom att, i C, skriva ett enkelt testprogram som läser från inporten och skriver till utporten. Vi löser på tavlan... GPIO - General Purpose Input Output 9

Digital ingång En obestämd signal lämnar ingången i ett flytande tillstånd Ger säker etta då brytaren är sluten, annars är signalen obestämd Ger säker nolla då brytaren är sluten, annars är signalen obestämd I ogynsamma fall kan detta resultera i en självsvängande krets som drar mycket ström och dessutom kan orsaka störningar på andra kretselement GPIO - General Purpose Input Output 10

pull-up eller pull-down För att säkerställa en stabil nivå på ingången kan man koppla in ett motstånd till antingen V DD eller GND. Oavsett vilken lösning vi väljer kan vi alltid avgöra om brytaren är öppen eller stängd. GPIO - General Purpose Input Output 11

IO-pinne konfigurerad som ingång Vi kan programmera pull-up eller pull-down -funktion, inget externt motstånd behövs. För varje portpinne används 2 bitar i PUPDR för att konfigurera pinnen enligt: 00: floating 01: pull-up 10: pull-down 11: reserverad GPIO - General Purpose Input Output 12

IO-pinne konfigurerad som utgång "push-pull" steg då motsvarande bit i OTYPER är 1 "open drain" steg då motsvarande bit i OTYPER är 0 GPIO - General Purpose Input Output 13

push-pull Ljusdioden tänds då utgången är 0. Ljusdioden tänds då utgången är 1. Utgångar från flera push-pull steg får inte kopplas samman, eftersom det kan leda till kortslutning mellan V DD och GND. GPIO - General Purpose Input Output 14

open drain Utgångar från flera open-drain steg kan kopplas samman utan problem. Nivån på den gemensamma "bussen" bestäms av att: Om alla utgångar är '1' är också bussnivån '1' Om någon utgång är '0' är också bussnivån '0' utgång A utgång B GPIO - General Purpose Input Output 15

output speed" Bestämmer hur ofta registrets innehåll överförs till utgångssteget. Ju lägre frekvens desto mindre strömförbrukning. För varje portpinne används 2 bitar i OSPEEDR för att konfigurera pinnen enligt: 00: Low speed, 2 MHz 01: Medium speed, 25 MHz 10: Fast speed, 50MHz 11: High speed, 100 MHz Om hastigheten är 50 MHz eller mer måste en så kallad "IOkompensationscell" aktiveras GPIO - General Purpose Input Output 16

Multiplex funktion Använd samma ingång för flera olika funktioner. 1 funktion 2 anslutningar 2 funktioner 3 anslutningar 4 funktioner 4 anslutningar GPIO - General Purpose Input Output 17

EXEMPEL Rutin för avsökning av ett tangentbord. unsigned char keyb( void ); Funktionen ska avsöka tangentbordet en gång. Omingen tangent är nedtryckt skafunktionen returnera värdet 0xFF. Om någon tangent är nedtryckt ska dess tangentkod returneras. Om flera tangenter är nedtryckta är valet av tangentkod, bland dessa, godtyckligt. En algoritm för tangentbordsfunktionen kan se ut som: Algoritm keyb: for row = 1..4 ActivateRow( row ); column = ReadColumn; if column!= 0 keyb = keyvalue [pressed key ]; keyb = 0xFF; Vi löser på tavlan... GPIO - General Purpose Input Output 18

BSRR synkroniserad uppdatering Kan användas för en synkroniserad ändring av flera utgångars pinnar. bit 0..15: bit reset bit 16-31: bit set. Bitlock funktion Då porten har programmerats kan konfigurationen låsas som skydd mot ofrivillig eller otillåten manipulation av portens inställningar. Detta sker genom att en speciell sekvens skrivs till detta register. GPIO - General Purpose Input Output 19

Alternativ funktion routa interna kretsar Analog funktion GPIO - General Purpose Input Output 20