Struktura mikrokontrolera MC68332

Podobne dokumenty
Struktura QSM (Queued Serial Module)

Wbudowane układy komunikacyjne cz. 1 Wykład 10

Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

Magistrala SPI. Linie MOSI i MISO sąwspólne dla wszystkich urządzeńna magistrali, linia SS jest prowadzona do każdego Slave oddzielnie.

Mikroprocesory i mikrosterowniki Wydział Elektroniki Mikrosystemów i Fotoniki Politechniki Wrocławskiej Ćwiczenie nr 4

Instytut Teleinformatyki

Komunikacja w mikrokontrolerach Laboratorium

Podstawy systemów mikroprocesorowych. Interfejs USART. Interfejsy szeregowe w mikrokontrolerach AVR

Mikroprocesory i Mikrosterowniki Laboratorium

Zewnętrzne układy peryferyjne cz. 1 Wykład 12

Moduł uruchomieniowy mikrokontrolera MC68HC912B32

Współpraca procesora ColdFire z urządzeniami peryferyjnymi

MIKROKONTROLERY - MAGISTRALE SZEREGOWE

Współpraca procesora z urządzeniami peryferyjnymi

Komunikacja w mikrokontrolerach. Magistrala szeregowa I2C / TWI Inter-Integrated Circuit Two Wire Interface

Płytka labortoryjna z modułem MC Jan Kędzierski Marek Wnuk

Mikroprocesory i Mikrosterowniki Magistrala szeregowa I2C / TWI Inter-Integrated Circuit Two Wire Interface

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

Interfejsy szeregowe TEO 2009/2010

Uniwersalny asynchroniczny. UART Universal Asynchronous Receier- Transmiter

Marek Wnuk. Interfejs SPI. materiały pomocnicze 2002

Stereofoniczny moduł sonaru (((STEREO)))

4 Transmisja szeregowa na przykładzie komunikacji dwukierunkowej z komputerem PC, obsługa wyświetlacza LCD.

ICD Interfejs BDM dla CPU32. Marek Wnuk

(przykład uogólniony)

Konfiguracja i programowanie Gamepad'a PlayStation2 na mikrokontrolerze STM32

Opis bezprzewodowego układu do pomiaru oporu elektrycznego skóry

Procesory osadzone ETD 7211 W

Współpraca procesora z urządzeniami peryferyjnymi

MAGISTRALE MIKROKONTROLERÓW (BSS) Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

Expandery wejść MCP23S17 oraz MCP23017

16. Szeregowy interfejs SPI

Wyświetlacz alfanumeryczny LCD zbudowany na sterowniku HD44780

Układy czasowo-licznikowe w systemach mikroprocesorowych

Inż. Kamil Kujawski Inż. Krzysztof Krefta. Wykład w ramach zajęć Akademia ETI

Zestaw uruchomieniowy z mikrokontrolerem LPC1114 i wbudowanym programatorem ISP

Programowanie Mikrokontrolerów

Magistrala I 2 C. Podstawy systemów mikroprocesorowych. Wykład nr 5 Interfejsy szeregowe c.d.

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

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

TECHNIKA MIKROPROCESOROWA

Wykład 10. Komunikacja

Pamięci i urządzenia peryferyjne Wprowadzenie do przedmiotu

Projekt MARM. Dokumentacja projektu. Łukasz Wolniak. Stacja pogodowa

Technika Mikroprocesorowa

Podstawowe urządzenia peryferyjne mikrokontrolera ATmega8 Spis treści

LITEcompLPC1114. Zestaw ewaluacyjny z mikrokontrolerem LPC1114 (Cortex-M0) Sponsorzy:

Komputery klasy PC. Dariusz Chaberski

Proste metody obsługi akcelerometrów zastosowanie w robotach mobilnych na przykładzie ADXL202 oraz MMA7260.

2. Architektura mikrokontrolerów PIC16F8x... 13

Moduł z mikrokontrolerem MC Marek Wnuk

4 Transmisja szeregowa, obsługa wyświetlacza LCD.

Kurs Elektroniki. Część 5 - Mikrokontrolery. 1/26

Charakterystyka mikrokontrolerów. Przygotowali: Łukasz Glapiński, Mateusz Kocur, Adam Kokot,

Wykład 4. Przegląd mikrokontrolerów 16-bit: - PIC24 - dspic - MSP430

2. Budowa układów procesorowych rodziny TMS320C

TECHNIKA MIKROPROCESOROWA

Programowanie mikrokontrolerów AVR z rodziny ATmega.

PRZERWANIA. 1. Obsługa zdarzeń, odpytywanie i przerwania Obsługa zdarzeń jest jedną z kluczowych funkcji w prawie każdym systemie czasu rzeczywistego.

Zagadnienia zaliczeniowe z przedmiotu Układy i systemy mikroprocesorowe elektronika i telekomunikacja, stacjonarne zawodowe

Programowanie mikrokontrolerów AVR z rodziny ATmega.

Programowanie mikrokontrolerów. 15 stycznia 2008

Hardware mikrokontrolera X51

1. Tworzenie nowego projektu.

Mikrokontroler AVR ATmega32 - wykład 9

Mikroprocesory i Mikrosterowniki Analog-Digital Converter Konwerter Analogowo-Cyfrowy

Start Bity Bit Stop 1 Bit Par Rys. 1

Poradnik programowania procesorów AVR na przykładzie ATMEGA8

(Rysunek z książki T.Starecki. Mikokontrolery jednoukładowe rodziny 51. NOZOMI W-wa 1996)

XMEGA. Warsztaty CHIP Rok akademicki 2014/2015

Programowalne układy logiczne kod kursu: ETD Układy sekwencyjne W

Funkcje czasowe (multifunction timer)

Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

Budowa mikrokontrolera UC3C. - 3 rodzaje obudów

Podstawowe urządzenia peryferyjne mikrokontrolera ATmega8 Spis treści

MIKROKONTROLERY - MAGISTRALE SZEREGOWE

Opis funkcjonalny i architektura. Modu³ sterownika mikroprocesorowego KM535

Systemy Wbudowane. Raspberry Pi Sterowanie serwomechanizmem (wersja 2019) Serwomechanizm. Serwomechanizm z silnikiem krokowym

Moduł wspierający diagnostykę i sprzętowe debugowanie

PRZERWANIA. P1 - Procedura obslugi przerwania. Obsługa zdarzenia Z1 poprzez procedurę obsługi przerwania P1

ZL15AVR. Zestaw uruchomieniowy dla mikrokontrolerów ATmega32

Układy czasowo-licznikowe w systemach mikroprocesorowych

Systemy wbudowane. Wprowadzenie. Wprowadzenie. Mikrokontroler 8051 Budowa

PROGRAMOWALNE SYSTEMY MECHATRONIKI

PRZETWORNIK ADC w mikrokontrolerach Atmega16-32

Praktyka programowania w C Laboratorium 5.

Interfejsy szeregowe. Dariusz Chaberski

Współpraca procesora z urządzeniami peryferyjnymi

Programowanie Układów Logicznych kod kursu: ETD6203. Komunikacja z układami cyfrowymi W dr inż. Daniel Kopiec

OPIS STEROWNIKA 841 USB

Sprzężenie mikrokontrolera (nie tylko X51) ze światem zewnętrznym lokalne interfejsy szeregowe

ĆWICZENIE. TEMAT: OBSŁUGA PRZETWORNIKA A/C W ukontrolerze 80C535 KEILuVISON

PMiK Programowanie Mikrokontrolera 8051

LABORATORIUM PROCESORY SYGNAŁOWE W AUTOMATYCE PRZEMYSŁOWEJ. Mechanizm przerwań i menadżer zdarzeń procesora sygnałowego F/C240

Charakterystyka mikrokontrolerów

ZL15AVR. Zestaw uruchomieniowy dla mikrokontrolerów ATmega32

SYSTEM PRZERWAŃ ATmega 32

Tab. 1. Opis wyprowadzeń układu SC16IS760

Wstęp. Opis ATMEGA128 MINI MODUŁ VE-APS-1406

Wykład 12. Przetwornik ADC

Transkrypt:

Struktura mikrokontrolera MC68332 MW-ZPCiR-ICT-PWr 1

Rozmieszczenie bloków w przestrzeni aderesowej MW-ZPCiR-ICT-PWr 2

Rejestry procesora CPU32 31 16 15 8 7 0 D0 D1 D2 D3 D4 D5 D6 D7 31 16 15 0 A0 A1 A2 A3 A4 A5 A6 USP (A7) SSP (A7 ) X N Z V C T S I2 I1 I0 X N Z V C CCR SR MW-ZPCiR-ICT-PWr 3

Organizacja danych w pami eci MW-ZPCiR-ICT-PWr 4

Interfejs ICD (In-Circuit Debugger) do wbudowanego układu uruchomieniowego BDM (Background Debug Mode) ICD INTERFACE BDM connector printer port HOST TARGET MW-ZPCiR-ICT-PWr 5

Komendy interfejsu BDM MW-ZPCiR-ICT-PWr 6

Wektory obsługi zdarzeń specjalnych (Exception Vectors) MW-ZPCiR-ICT-PWr 7

Struktura SIM (System Integration Module) MW-ZPCiR-ICT-PWr 8

Cykle odczytu i zapisu na magistrali zewn etrznej MW-ZPCiR-ICT-PWr 9

Cykl RMW (Read Modify Write) MW-ZPCiR-ICT-PWr 10

Układ obsługi przerwań MW-ZPCiR-ICT-PWr 11

Układ generowania sygnałów wyboru urzadzeń MW-ZPCiR-ICT-PWr 12

Przyklad konfiguracji pami eci MW-ZPCiR-ICT-PWr 13

Programowanie sygnałów CS #define SIMBASE 0xfffffa00 #define CSPAR1 (*((WORD *) (SIMBASE+0x46))) /* CS Pin Assignment 1 */ #define CSBAR9 (*((WORD *) (SIMBASE+0x70))) /* CS9 Base */ #define CSOR9 (*((WORD *) (SIMBASE+0x72))) /* CS9 Option */ #define LCD_IR 0xeff800 /* adres rejestru danych LCD */ #define LCD_DR 0xeff801 /* adres rejestru sterujacego LCD */ volatile BYTE LcdIr @LCD_IR; /* rejestr sterujacy LCD */ volatile BYTE LcdDr @LCD_DR; /* rejestr danych LCD */ void PutData(BYTE data) /* funkcja wpisu danych do LCD */ { while((lcdir & 0x80) == 0x80); /* oczekiwanie na gotowosc */ LcdDr = data; } main() /* glowna funkcja programu */ { char *ptr = "Hello!"; /* uruchomienie linii CS9 - wybor LCD */ CSBAR9 = (LCD_IR & 0xfff800) >> 8; /* adres bazowy, blok 2k */ CSOR9 = 0xdbf0; /* 1 10 11 0 1111 11 000 0 */ /* s ub rw d dack su 0 n */ CSPAR1 = (CSPAR1 & 0xff3f) 0x0080; /* port 8-bitowy */ } while(*ptr) PutData(*ptr++); MW-ZPCiR-ICT-PWr 14

Układ generacji przerwań cyklicznych (PIT) T PIT = 4 29 (PTP) (PIT M) f EXTAL MW-ZPCiR-ICT-PWr 15

Obsługa programowa PIT #define SIMBASE 0xfffffa00 #define PICR (*((WORD *) (SIMBASE+0x22))) /* PIT Control */ #define PITR (*((volatile WORD *) (SIMBASE+0x24))) /* PIT Modulus */ #define XTAL (32768.L) /* czestotliwosc kwarcu */ #define PIT_TB (XTAL/4) /* podstawa czasu dla PIT */ #define TPSEC 64 /* ilosc przerwan na sekunde */ /* wyliczenie stalej dla dzielnika PITR */ #define PI_CONST ((PIT_TB+(TPSEC>>1))/TPSEC) #define PI_LEVEL 6 /* poziom przerwania PIT */ #define PI_VECT 111 /* wektor przerwania PIT */ int tick; /* licznik taktow */ long secs; /* licznik sekund */ interrupt void myclock() /* procedura obslugi przerwania */ { if(++tick>=tpsec){ tick = 0; secs += 1; } } main() /* glowna funkcja programu */ { tick = secs = 0; /* inicjalizacja zmiennych globalnych */ *((void (**) ())(4*PI_VECT)) = myclock; /* ustawienie wektora */ PICR = (PI_LEVEL<<8)+PI_VECT; /* poziom i wektor przerwania PIT */ PITR = PI_CONST; /* sta/la dzielnika PIT */ asm { ANDI #0xf8ff,SR } /* ustawienie poziomu przerwan na 0 */ } while(1) {} /* petla glowna */ MW-ZPCiR-ICT-PWr 16

Struktura QSM (Queued Serial Module) MW-ZPCiR-ICT-PWr 17

Synchroniczny interfejs urzadzeń (SPI) MO SI SHIFT REGISTER MI SCK SO SCK CLK SHIFT REGISTER CLOCK PORT SS ENABLE MASTER SLAVE MASTER MOSI MISO SCK SS SI SO SCK SS SI SO SCK SLAVE 1 SLAVE n CPHA = 0 CPOL = 0 CPOL = 1 MOSI MSB LSB MISO MSB LSB # CPHA = 1 CPOL = 0 CPOL = 1 MOSI MSB LSB MISO # MSB LSB MW-ZPCiR-ICT-PWr 18

Blok QSPI (Queued Serial Peripheral Interface) MW-ZPCiR-ICT-PWr 19

MW-ZPCiR-ICT-PWr 20

Przetwornik A/C TLC541 MW-ZPCiR-ICT-PWr 21

#define QSMBASE 0xfffffc00 Obsługa programowa QSPI #define QPDR (*((volatile BYTE *) (QSMBASE+0x15))) /* QSM Port Data */ #define QPAR (*((BYTE *) (QSMBASE+0x16))) /* QSM Pin Assignment */ #define QDDR (*((BYTE *) (QSMBASE+0x17))) /* QSM Data Direction */ #define SPCR0 (*((WORD *) (QSMBASE+0x18))) /* QSPI Control 0 */ #define SPCR1 (*((WORD *) (QSMBASE+0x1a))) /* QSPI Control 1 */ #define QsmSPE 0x8000 /* flaga uruchomienia QSPI */ #define SPCR2 (*((WORD *) (QSMBASE+0x1c))) /* QSPI Control 2 */ #define SPCR3 (*((BYTE *) (QSMBASE+0x1e))) /* QSPI Control 3 */ #define SPSR (*((volatile BYTE *) (QSMBASE+0x1f))) /* QSPI Status */ #define QsmSPIF 0x80 /* flaga zakonczenia transmisji */ #define QREC ( ((volatile WORD *) (QSMBASE+0x100))) /* QSPI Rx RAM ptr */ #define QTRAN ( ((WORD *) (QSMBASE+0x120))) /* QSPI Tx RAM ptr */ #define QCOMD ( ((BYTE *) (QSMBASE+0x140))) /* QSPI Cmd RAM ptr */ #define QsmCONT 0x80 /* nastapi kontynuacja */ #define QsmBITSE 0x40 /* wybor dlugosci slowa wedlug BITS */ #define QsmDT 0x20 /* wlaczenie opoznienia koncowego */ #define QsmDSCK 0x10 /* wlaczenie opoznienia poczatkowego */ #define QsmSELMASK 0x0f /* maska adresu SLAVE */ MW-ZPCiR-ICT-PWr 22

#define ADCSEL 0xc /* wybor ADC stanem niskim na PCS1 */ #define DESELECT 0xe /* zaden SLAVE nie jest wybrany */ int ReadAdc(WORD kanal) { if(spcr1 & QsmSPE) /* jesli QSPI jest wlaczone, to: */ { while(!(spsr & QsmSPIF)); /* czekaj na koniec operacji */ SPSR &= ( QsmSPIF); /* zgas flage zakonczenia */ } QDDR = 0xfe; /* PCSx, SCK, MOSI - wyjscia */ QPDR = DESELECT<<3; /* wylaczenie wszystkiego */ QPAR = 0x7b; SPCR0 = 0xa817; /* master, cpol 0, cpha 0, 493kHz */ SPCR1 = 0x7fc0; /* DSCKL=2us, DTL=22us */ SPCR2 = 0x0100; /* kolejka od 0 do 1 (2 slowa) */ QTRAN[0] = kanal<<4; /* kanal mierzony */ QTRAN[1] = 11<<4; /* kanal testowy */ QCOMD[0] = QsmDT QsmDSCK ADCSEL; /* 8 bitow */ QCOMD[1] = QsmDT QsmDSCK ADCSEL; /* 8 bitow */ SPCR1 = QsmSPE; /* wlacz QSPI */ while(!(spsr & QsmSPIF)); /* czekaj na koniec operacji */ SPSR &= ( QsmSPIF); /* zgas flage zakonczenia */ } return (QREC[1]); /* wynik w QREC[1] */ MW-ZPCiR-ICT-PWr 23

Asynchroniczna transmisja szeregowa MSB LSB Tx SHIFT REGISTER TxD RxD MSB LSB Rx SHIFT REGISTER Rx SHIFT REGISTER RxD TxD Tx SHIFT REGISTER x16 x1 x16 x1 BAUD RATE CLOCK BAUD RATE CLOCK TxD START LSB MSB STOP(S) BAUD RATE CLOCK X1 RxD START LSB MSB STOP(S) BAUD RATE CLOCK X16 START BIT BIT #0 BIT #1 BIT #2 RxD BAUD RATE CLOCK X16 8 16 16 16 MW-ZPCiR-ICT-PWr 24

Nadajnik transmisji asynchronicznej (SCI) MW-ZPCiR-ICT-PWr 25

Odbiornik transmisji asynchronicznej (SCI) MW-ZPCiR-ICT-PWr 26