2. PORTY WEJŚCIA/WYJŚCIA (I/O)



Podobne dokumenty
Organizacja pamięci VRAM monitora znakowego. 1. Tryb pracy automatycznej

PROGRAMOWANIE PWM. Porty, które mogą być zamienione na PWM w każdym module RaT16 to port 3,4,5,6

Mikrokontroler ATmega32. System przerwań Porty wejścia-wyjścia Układy czasowo-licznikowe

Wstęp Architektura... 13

Hardware mikrokontrolera X51

Funkcje: wejściowe, wyjściowe i logiczne. Konfigurowanie zabezpieczeń.

Funkcje: wejściowe, wyjściowe i logiczne. Konfigurowanie zabezpieczeń.

KAŻDY Z 8-MIO BITOWYCH PORTÓW MIKROKONTROLERÓW RODZINY 51 MA JEDYNIE REJESTR PORTU: P0, P1, P2, P3, PEŁNIĄ ONE ROLĘ REJESTRÓW DANYCH WE/WY.

Funkcje: wejściowe, wyjściowe i logiczne. Konfigurowanie zabezpieczeń.

M-1TI. PRECYZYJNY PRZETWORNIK RTD, TC, R, U NA SYGNAŁ ANALOGOWY 4-20mA Z SEPARACJĄ GALWANICZNĄ. 2

Podstawowe urządzenia peryferyjne mikrokontrolera ATmega8 Spis treści

Uproszczony schemat blokowy konwertera analogowo-cyfrowego przedstawiony został na rys.1.

XMEGA. Warsztaty CHIP Rok akademicki 2014/2015

Spis treœci. Co to jest mikrokontroler? Kody i liczby stosowane w systemach komputerowych. Podstawowe elementy logiczne

ĆWICZENIE 7. Wprowadzenie do funkcji specjalnych sterownika LOGO!

LABORATORIUM PROCESORY SYGNAŁOWE W AUTOMATYCE PRZEMYSŁOWEJ. Przetwornik ADC procesora sygnałowego F/C240 i DAC C240 EVM

KOMUNIKACJA Z OTOCZENIEM MIKROKONTROLERA

Mikrokontrolery AVR Wprowadzenie

Laboratorium 2 Sterowanie urządzeniami z wykorzystaniem systemu plików Intel Galileo

Firma DAGON Leszno ul. Jackowskiego 24 tel Produkt serii DAGON Lighting

Mikroprocesor Operacje wejścia / wyjścia

Technika Mikroprocesorowa

Porty wejścia/wyjścia w układach mikroprocesorowych i w mikrokontrolerach

Funkcje: wejściowe, wyjściowe i logiczne. Konfigurowanie zabezpieczeń.

Technika mikroprocesorowa I Studia niestacjonarne rok II Wykład 2

ASTOR IC200ALG320 4 wyjścia analogowe prądowe. Rozdzielczość 12 bitów. Kod: B8. 4-kanałowy moduł ALG320 przetwarza sygnały cyfrowe o rozdzielczości 12

Wyjście do drukarki Centronix

INSTRUKCJA OBSŁUGI. Przekaźnik czasowy ETM ELEKTROTECH Dzierżoniów. 1. Zastosowanie

RS485 MODBUS Module 6RO

Funkcje: wejściowe, wyjściowe i logiczne. Konfigurowanie zabezpieczeń.

Rozdział 19 Analogowa karta rozszerzeń we / wy

Przetworniki cyfrowo-analogowe C-A CELE ĆWICZEŃ PODSTAWY TEORETYCZNE

Szkolenia specjalistyczne

Edukacyjny sterownik silnika krokowego z mikrokontrolerem AT90S1200 na płycie E100. Zestaw do samodzielnego montażu.

Multi-CZUJNIK 68. Programowany Multi-CZUJNIK zawierający czujnik. położenia, uderzenia i spadku napięcia.

1 Moduł Neuronu Cyfrowego

Samba OPLC SM35-J-R20

Programowanie mikrokontrolerów. 8 listopada 2007

dokument DOK wersja 1.0

Wstęp: Interfejs portu równoległego 6821 i portu szeregowego 6850 firmy Motorola

SML3 październik

Samba OPLC SM35-J-T20

ZL9ARM płytka bazowa dla modułów diparm z mikrokontrolerami LPC213x/214x

Układ sterowania wyłącznikiem.

RS485 MODBUS Module 6RO

Bramki Instrukcja do laboratorium AGH w Krakowie Katedra Elektroniki Ernest Jamro Aktualizacja:

2.1 Przesył danych między procesorem a tabelą zmiennych

Parametryzacja przetworników analogowocyfrowych

AN ON OFF TEMPERATURE CONTROLLER WITH A MOBILE APPLICATION

Funkcje: wejściowe, wyjściowe i logiczne. Konfigurowanie zabezpieczeń.

Porty wejścia/wyjścia w układach mikroprocesorowych i w mikrokontrolerach

2. Architektura mikrokontrolerów PIC16F8x... 13

Wykład 12. Przetwornik ADC

Interfejs analogowy LDN-...-AN

Technika Mikroprocesorowa Laboratorium 5 Obsługa klawiatury

Adresowanie obiektów. Adresowanie bitów. Adresowanie bajtów i słów. Adresowanie bajtów i słów. Adresowanie timerów i liczników. Adresowanie timerów

Konfiguracja parametrów pozycjonowania GPS /5

SML3 październik

Instytut Teleinformatyki

LABORATORIUM STEROWNIKÓW MIKROPROCESOROWYCH

Kod produktu: MP01611-ZK

ASQ systemy sterowania zestawami pomp

Instrukcja do oprogramowania ENAP DEC-1

Karta katalogowa V E3XB. Moduł wejść/wyjść Snap. 18 (podzielone na dwie grupy) Typ wejść

Programowanie w językach asemblera i C

Podstawy techniki cyfrowej Układy wejścia-wyjścia. mgr inż. Bogdan Pietrzak ZSR CKP Świdwin

Sterownik nagrzewnic elektrycznych HE module

Laboratorium Elektrycznych Systemów Inteligentnych

SPECYFIKACJA HTC-VR, HTC-VVR-RH, HTC-VVR-T, HTCVVVR, HTC-VR-P, HTC-VVR-RH-P

PRZETWORNIK PROGRAMOWALNY NAPIÊCIA I PR DU STA EGO TYPU P20H

PRZETWORNIK ADC w mikrokontrolerach Atmega16-32

Architektura komputerów

3.2. Zegar/kalendarz z pamięcią statyczną RAM 256 x 8

EPPL 1-1. KOMUNIKACJA - Interfejs komunikacyjny RS Sieciowa Karta Zarządzająca SNMP/HTTP

Multi-CZUJNIK 68. Programowany Multi-CZUJNIK zawierający czujnik. położenia, uderzenia i spadku napięcia.

Spis treści. 1 Moduł RFID (APA) 3

OSTER 2 Sterownik programowalny z wbudowanym modemem GPRS

LITEcomp aplikacje Cyfrowy potencjometr audio sterowany pilotem RC5

SPECYFIKACJA HTC-VR, HTC-VVR-RH, HTC-VVR-T, HTC-VVVR, HTC-VR-P, HTC-VVR-RH-P

Regulator wielostopniowy ETT-6 12

dv-2ps INSTRUKCJA OBSŁUGI

Funkcje sterowania cyfrowego przekształtników (lista nie wyczerpująca)

Modułowy programowalny przekaźnik czasowy firmy Aniro.

Podstawowe usługi oferowane przez centralę telefoniczną

Programator układów HCS

PRZETWORNIK TYPU P21Z INSTRUKCJA OBSŁUGI

Licznik rewersyjny MD100 rev. 2.48

1.2 Schemat blokowy oraz opis sygnałów wejściowych i wyjściowych

Wbudowane układy peryferyjne cz. 1 Wykład 7

RS485 MODBUS Module 6RO

Komunikacja w mikrokontrolerach Laboratorium

PC 3 PC^ TIMER IN RESET PC5 TIMER OUT. c 3. L 5 c.* Cl* 10/H CE RO WR ALE ADO AD1 AD2 AD3 AD4 A05 A06 LTJ CO H 17 AD7 U C-"

RS485 MODBUS Module 8AI

TECHNIKA MIKROPROCESOROWA II

Instrukcja Obsługi. Modułu wyjścia analogowego 4-20mA PRODUCENT WAG ELEKTRONICZNYCH

Elastyczne systemy wytwarzania

1 DYNAMICZNA REDUKCJA MOCY W FALOWNIKACH FRONIUS SNAPINVERTER

Moduł wejść/wyjść VersaPoint

INSTRUKCJA OBSŁUGI Neuron Analogowy Nr katalogowy AIQx-42T-00

M-1TI. PROGRAMOWALNY PRECYZYJNY PRZETWORNIK RTD, TC, R, U / 4-20mA ZASTOSOWANIE:

Transkrypt:

2. PORTY WEJŚCIA/WYJŚCIA (I/O) 2.1 WPROWADZENIE Porty I/O mogą pracować w kilku trybach: - przesyłanie cyfrowych danych wejściowych i wyjściowych a także dla wybrane wyprowadzenia: - generacja przerwania zewnętrznego - alternatywne sygnały wejścia/wyjścia dla wbudowanych układów peryferyjnych. Port I/O zawiera do ośmiu wyprowadzeń. Każde z nich może być programowane niezależnie jako wejście cyfrowe (z generacją przerwania lub bez) lub wyjście cyfrowe. 2.2 OPIS FUNKCJONALNY Każdy port posiada dwa podstawowe rejestry: - rejestr danych, Data Register (DR) - rejestr kierunku danych, Data Direction Register (DDR) oraz jeden rejestr dodatkowy: - rejestr opcji, Option Register (OR) Każde wyprowadzenie może być zaprogramowane za pomocą odpowiadających mu bitów rejestrów DR, DDR i OR, przy czym bit numer odpowiedniego rejestru x odpowiada wyprowadzeniu x danego portu. Zasada działania portów I/O została przedstawiona na rys 2.1. 2.2.1 Tryby wejściowe Wybór konfiguracji wejściowej jest dokonywany za pomocą wyzerowania odpowiednich bitów rejestru DDR. W tym przypadku, odczytanie wartości rejestru DR zwraca wartość stanu logicznego przyłożonego do portu. Inne tryby wejściowe pracy portu mogą być wybierane za pomocą rejestru OR. Uwagi: 1. Wpisanie wartości do rejestru DR modyfikuje zatrzaskiwaną wartość lecz nie zmienia stanu na wyprowadzeniu. 2. Przy przełączaniu trybu pracy z wejściowego na wyjściowy, należy najpierw wpisać wartość do rejestru DR, tak aby wymagany stan logiczny pojawił się na wyjściu natychmiast po przełączeniu kierunku. Funkcja przerwania zewnętrznego W przypadku gdy skonfigurujemy port jako wejście z przerwaniem, każde zdarzenie (zmiana stanu logicznego) na tym wyprowadzeniu może wygenerować żądanie przerwania zewnętrznego. Każde wyprowadzenie może generować przerwanie niezależnie. Bity rejestrów Miscellaneous konfigurują jakie wydarzenie ma wywoływać przerwanie, czyli tzw. czułość. Każdy wektor przerwania zewnętrznego jest przypisany do odpowiednich grup portów I/O (zobacz Opis wyprowadzeń oraz rozdział Przerwania). Jeśli więcej wyprowadzeń jest wybrane równocześnie jako źródło tego samego przerwania, to są one dołączone za pomocą bramki AND. Dlatego, jeśli na jednym lub więcej z tych wyprowadzeń wystąpi stan niski to zamaskuje on przerwanie, które nie zostanie zgłoszone.

Rys. 2.1. Zasada działania portów I/O Tab. 2.1. Tryby pracy portów I/O Konfiguracja Pull-Up P-Buffer Diody (podwieszone) do V DD do V SS Wejście Pływające z/bez przerwania Off Off Pull-Up z/bez przerwania On ON Push-Pull Off On On Wyjście Otwarty Dren (stan logiczny) Off Otwarty dren (fizycznie) NI NI NI* Legenda: NI nie zaimplementowane Off zaimplementowane, wyłączone On zaimplementowane, załączone * Diody do V DD nie są implemetowane w wyprowadzeniach z fizycznie zrealizowanym wyjściem typu Otwarty Dren (True Open Drain). Zabezpieczenie między wyprowadzeniem a V SS jest zastosowane w celu zabezpieczenia układu przed przekroczeniem zakresu dopuszczalnych napięć

Tab. 2.2. Konfiguracje portów I/O Uwagi: 1. Jeśli port I/O jest skonfigurowany jako wejście a funkcja alternatywna wymusza jego pracę jako wyjścia, odczytanie wartości z rejestru DR zwraca wartość wystawioną przez funkcję alternatywną. 2. Jeśli port I/O jest skonfigurowany jako wyjście a skojarzona z nim funkcja alternatywna wymusza jego pracę jako wejścia, to stan odczytany przez funkcję alternatywną będzie odpowiadał temu wpisanemu do DR. W przypadku konfiguracji wejścia jako pływającego z przerwaniem, należy zwrócić szczególną uwagę na niepożądane przerwania przy zmianie konfiguracji portu (patrz rys. 2.2). Przerwania zewnętrzne są przerwaniami sprzętowymi, co oznacza, że znacznik przerwania (niedostępny bezpośrednio) jest kasowany automatycznie w momencie skoku do

odpowiedniego wektora przerwań. Aby programowo wyzerować niepożądane przerwania oczekujące, należy zmodyfikować bity odpowiadające za czułość w rejestrze Miscellaneous. 2.2.2 Tryby wyjściowe Konfiguracja wyjściowa jest wybierana przez ustawienie odpowiednich bitów w rejestrze DDR. W tym przypadku wpisanie wartości do DR powoduje ich zatrzaśnięcie na wyjściu. Odczyt wartości z DR zwróci więc wcześniej wpisaną wartość. Za pomocą rejestru OR można zmienić konfigurację sprzętową portu wyjściowego. Dostępne są dwa tryby pracy portów wyjściowych: wyjście podwieszone (push-pull) i wyjście z otwartym drenem (open drain). Wartość rejestru DR i stan na wyjściu: DR Podwieszone Otwarty dren 0 V SS V SS 1 V DD Pływające (Floating) 2.2.3 Funkcje alternatywne Jeśli któryś z wewnętrznych układów peryferyjnych korzysta z zewnętrznych wyprowadzeń, to odpowiedni port jest konfigurowany automatycznie. Funkcja alternatywna danego wyprowadzenia ma wyższy priorytet niż standardowa funkcja I/O. Sygnał wychodzący z danego układu peryferyjnego powoduje automatyczną konfigurację odpowiedniego wyprowadzenia jako wyjścia (zależnie od potrzeb układu, jako PP lub OD). Jeśli sygnał wchodzi do układu peryferyjnego, wyprowadzenie jest konfigurowane w tryb wejściowy. W tym przypadku stan logiczny na tym wyprowadzeniu może być także odczytany za pomocą rejestru DR. Uwagi: 1. Konfiguracja wejścia w pull-up może powodować pojawienie się niespodziewanych wartości na wejściu układu peryferyjnego. Jeśli wyprowadzenie jest używane jako wejście lub wyjście dla układów peryferyjnych, należy je skonfigurować jako wejście pływające. 2. Funkcja alternatywna danego wyprowadzenia nie powinna być włączana dopóki jest ono skonfigurowane jako wejście z przerwaniem, będzie to powodowało zgłaszanie niepożądanych przerwań. Analogowa funkcja alternatywna Kiedy wyprowadzenie jest używane jako wejście przetwornika A/C, musi być ono skonfigurowane jako wejście pływające. Multiplekser analogowy (sterowany za pomocą rejestrów ADC), przełącza napięcie analogowe podane na wybrane wyprowadzenie do wspólnej szyny analogowej dołączonej do wejścia przetwornika A/C. Zaleca się aby w trakcie przetwarzania poziom napięcia i obciążenie na wyprowadzeniu wejściowym nie były zmieniane. Ponadto zaleca się by podczas przetwarzania nie zmieniać stanów logicznych na sąsiednich (względem wejścia analogowego) wyprowadzeniach. OSTRZEŻENIE: Poziom analogowy napięcia wejściowego musi się mieścić w dopuszczalnych granicach (określonych w tabeli maksymalnych parametrów dopuszczalnych).

2.3 REALIZACJA PORTÓW I/O Sprzętowa realizacja każdego z portów I/O zależy od ustawień odpowiednich bitów w rejestrach DDR i OR, oraz możliwości specyficznych zastosowań danego portu, jak wejście przetwornika A/C czy wyjście True Open Drain (wyjście typu otwarty dren zrealizowane fizycznie, bez bufora P). Przełączanie funkcji tych portów z jednego trybu pracy do innego powinno się odbywać w pewnej ustalonej sekwencji co pozwoli uniknąć niepożądanych efektów ubocznych. Zalecana bezpieczna kolejność przełączania została przedstawiona na rys.2.2. Inne przejścia stwarzają potencjalne ryzyko i nie powinno się ich stosować jeśli chcemy uniknąć efektów typu zgłaszanie niepożądanych przerwań. Rys.2.2 Zalecana sekwencja przełączania trybów pracy portów I/O Porty standardowe PA5:4, PC7:0, PD7:0, PE7:4, PE1:0, PF7:6, PF4 Tryb pracy DDR OR wejście pływające 0 0 wejście pull-up 0 1 wyjście z otwartym drenem 1 0 wyjście push-pull 1 1 Porty z przerwaniami PA2:0, PB7:5, PB2:0, PF1:0 (pull-up) Tryb pracy DDR OR wejście pływające 0 0 wejście pull-up (z przerwaniem) 0 1 wyjście z otwartym drenem 1 0 wyjście push-pull 1 1 Porty z przerwaniami PA3, PA4, PB3, PF2 (bez pull-up) Tryb pracy DDR OR wejście pływające 0 0 wejście pull-up 0 1 wyjście z otwartym drenem 1 0 wyjście push-pull 1 1 Porty typu otwarty dren realizowany fizycznie PA7:6 Tryb pracy DDR wejście pływające 0 wyjście z otwartym drenem 1 (wysokoprądowe)

2.4 TRYBY OBNIŻONEGO POBORU MOCY Tryb WAIT HALT Opis Wprowadzenie w tryb WAIT nie powoduje zmian na portach I/O. Zgłoszenie przerwania zewnętrznego powoduje przejście procesora z trybu WAIT do normalnej pracy. Wprowadzenie w tryb HALT nie powoduje zmian na portach I/O. Zgłoszenie przerwania zewnętrznego powoduje przejście procesora z trybu HALT do normalnej pracy. 2.5 PRZERWANIA Zdarzenie zewnętrzne może powodować zgłoszenie przerwania jeśli skonfigurowane są właściwie odpowiednie bity rejestrów DDR i OR oraz wyzerowany jest bit I w rejestrze CC (za pomocą instrukcji RIM). Tab.2.3. Konfiguracja portów I/O Port Nazwa Wejście Wyjście OR=0 OR=1 OR=0 OR=1 Wysoko prądowe PA7:6 pływające otwarty dren (fizycznie) Tak Port A PA5:4 pływające pull-up z przerw. otwarty dren push-pull PA3 pływające pływ. z przerw. otwarty dren push-pull PA2:0 pływające pull-up z przerw. otwarty dren push-pull Port B PB4:4 pływające pływ. z przerw. otwarty dren push-pull Nie PB7:5, PB2:0 pływające pull-up otwarty dren push-pull Port C PC7:4, PC1:0 pływające pull-up otwarty dren push-pull PC3:2 pływające pull-up otwarty dren push-pull Tak Port D PD7:0 pływające pull-up otwarty dren push-pull Nie Port E PE7:4 pływające pull-up otwarty dren push-pull Tak PE1:0 pływające pull-up otwarty dren push-pull Nie PF7:6 pływające pull-up otwarty dren push-pull Tak Port F PF4 pływające pull-up otwarty dren push-pull PF2 pływające pływ. z przerw. otwarty dren push-pull Nie PF1:0 pływające pull-up z przerw. otwarty dren push-pull

2.5.1 Opis rejestrów REJESTR DANYCH (DR Data Register) Rejestr danych portu x PxDR gdzie x = A,B,C D,E lub F Zapis/Odczyt Wartość początkowa po resecie: 0000 0000 (00h) 7 6 5 4 3 2 1 0 D7 D6 D5 D4 D3 D2 D1 D0 Rejestr DR zachowuje się odmiennie w zależności od trybu pracy portu. Wpisanie wartości do rejestru DR zawsze powoduje zatrzaśnięcie w nim danych, nawet jeśli port jest skonfigurowany jako wejściowy. Pozwala to na natychmiastowe uzyskanie oczekiwanego stanu na wyjściu przy przełączeniu trybu pracy portu. Odczyt wartości z portu DR zwraca zatrzaśniętą wartość (konfiguracja jako wyjście) lub stan logiczny podany na wyprowadzenie (konfiguracja jako wejście). REJESTR KIERUNKU DANYCH (DDR Data Direction Register) Rejestr kierunku przepływu danych portu x PxDDR gdzie x = A,B,C,D,E lub F Zapis/Odczyt Wartość początkowa po resecie: 0000 0000 (00h) 7 6 5 4 3 2 1 0 DD7 DD6 DD5 DD4 DD3 DD2 DD1 DD0 Rejestr DDR umożliwia konfigurację trybu pracy portu jako wejście lub wyjście. Każdy bit jest ustawiany i zerowany programowo. 0: tryb wejściowy 1: tryb wyjściowy REJESTR OPCJI (OR Option Register) Rejestr opcji portu x PxOR gdzie x = A,B,C,D,E lub F Zapis/Odczyt Wartość początkowa po resecie: 0000 0000 (00h) 7 6 5 4 3 2 1 0 O7 O6 O5 O4 O3 O2 O1 O0 Dla niektórych wyprowadzeń ten rejestr nie jest zaimplementowany. W tych przypadkach wystarczy skonfigurować rejestr DDR.

Rejestr OR konfiguruje port w zależności od jego trybu pracy: w trybie wejściowym port może pracować w konfiguracji pull-up z możliwością zgłaszania przerwań lub pływające (floating), w trybie wyjściowym możliwe są konfiguracje typu push-pull lub otwarty dren (open drain). Każdy bit jest ustawiany i zerowany programowo. Tryb wejściowy: 0: wejście pływające (floating) 1: wejście pull-up z przerwaniem lub bez Tryb wyjściowy 0: wyjście z otwartym drenem (wyłączony bufor-p) 1: wyjście typu push-pull Tab. 2.4. Mapa portów rejestrów konfiguracyjnych portów I/O Adres Nazwa 7 6 5 4 3 2 1 0 (Hex) rejestru Wartości po Resecie 0 0 0 0 0 0 0 0 (dla wszystkich rej.) 0000h PADR 0001h PADDR MSB 0002h PAOR 0004h PBDR 0005h PBDDR MSB 0006h PBOR 0008h PCDR 0009h PCDDR MSB 000Ah PCOR 000Ch PDDR 000Dh PDDDR MSB 000Eh PDOR 0010h PEDR 0011h PEDDR MSB 0012h PEOR 0014h PFDR 0015h PFDDR MSB 0016h PFOR