32-bitni mikrokontroleri i primena - MS1BMP 3. deo

Slides:



Advertisements
Similar presentations
Test tri sita. U staroj Grčkoj je Sokrat bio poznat po tome, da je veoma visoko cenio znanje.
Advertisements

Bistabilna kola i osnovne sekvencijalne mreže
7/23 Timers in Coldfire Processor Computer Science & Engineering Department Arizona State University Tempe, AZ Dr. Yann-Hang Lee (480)
ARM Timers.
System Clocks.
MS_uC / fue1 / V TIMx - Timer Programming Microcontroller TIMx - Timer Autumn term 2012.
Timer Peripherals.
ECE 447 Fall 2009 Lecture 10: TI MSP430 Timers and Capture Modes.
1 General Purpose and Alternate Function I/O (GPIO and AFIO)
Prof: doc.dr. Samir Lemeš student: Samir Hrnjić. System restore je komponenta Microsoftovih operativnih sistema Windows Serveri ne podržavaju opciju System.
Strange jobs Jelena Maksimovic VIII-3 Jovana Maksimovic VIII-3 Ljubica Radenkovic VIII-3 Milena Jovanovic VIII-3.
#1 of 10 Tutorial Introduction PURPOSE -To explain how to configure and use the Timer Interface Module in common applications OBJECTIVES: -Identify the.
Why are Timer Functions Important?
Lecture 10: TI MSP430 Timers and Capture Modes
V.V.P. ENGINEERING COLLEGE,RAJKOT
PWM and DC Motor Control
TENSES: PAST SIMPLE and PAST CONTINUOUS Prošla vremena: forma i upotreba Past simple ili obično prošlo vreme gradi se tako što se na infinitiv glagola.
AVR Addressing Modes Subject: Microcontoller & Interfacing
MSP432 ARM Timer Programming
32-bitni mikrokontroleri i primena - MS1BMP 2. deo
Predavanje br. 7 Formiranje GIS-a II Relacione klase.
32-bitni mikrokontroleri i primena - MS1BMP 2. deo
32-bitni mikrokontroleri i primena - MS1BMP
Struktura i princip rada računara
Programi zasnovani na prozorima
Uvod u programiranje - matematika – VI predavanje
Petlje WHILE – WEND.
32-bitni mikrokontroleri i primena - MS1BMP
Algoritamske/programske strukture
Arhitektura računarskog sistema
32-bitni mikrokontroleri i primena - MS1BMP
32-bitni mikrokontroleri i primena - MS1BMP 6. deo
Interrupt and Exception Programming
32-bitni mikrokontroleri i primena - MS1BMP
Grafičke kartice.
CheckBox RadioButton RadioGroup
Naredbe ciklusa.
OPERACIONI POJAČAVAČI SA DIFERENCIJALNIM ULAZOM I IZLAZOM
Petlje FOR - NEXT.
SPREGA SA U/I UREDJAJIMA
PROGRAMSKE PETLJE Milenković Gabrijela.
ISE Tutorijal II deo.
32-bitni mikrokontroleri i primena - MS1BMP
KREIRANJE OBJEKATA.
32-bitni mikrokontroleri i primena - MS1BMP
Video zapis.
Uvod u programiranje - matematika – X predavanje
RAZGRANATA STRUKTURA Zadaci i rešenja
LABORATORIJSKA VEŽBA VEŽBA 4
32-bitni mikrokontroleri i primena - MS1BMP 5. deo
Arhitektura računarskog sistema
Standardne kombinacione mreže
32-bitni mikrokontroleri i primena - MS1BMP
Arhitektura računarskog sistema
MIKROPROCESORSKI SISTEMI
Organizacija sistema zasnovana na
32-bitni mikrokontroleri i primena
M-datoteke.
InputBox i naredba IF.
32-bitni mikrokontroleri i primena - MS1BMP
Lazarus okruženje TIPOVI UNIT-a
Osnovni simboli jezika Pascal
STM Arm Timer Programming
Do While ... Loop struktura
UNIT 19 PWM 로봇 SW 교육원 조용수.
Skup instrukcija procesora
Programski jezik C++ - Vježbe - 1. dio
Lecture 12 Multi-Function Timer Pulse Unit 2 (MTU2a)
Programski jezik C++ - Vježbe - 2. dio
Presentation transcript:

32-bitni mikrokontroleri i primena - MS1BMP 3. deo 2016 Nenad Jovičić

EXTI Spoljašnji prekidi Do 19 Interrupt/Events zahteva Do 80 pinova se može koristiti kao EXTI ulaz. EXTI linija 16 povezana na PVD izlaz EXTI linija 17 povezana na RTC Alarm događaj. EXTI linija 18 povezana na USB Wake-up from suspend događaj EXTI[15:0] Interrupt Mask Register Pending Request Software Interrupt Event Register Rising Trigger Selection Register To NVIC Edge Detect Circuit Pulse Generator Falling Trigger Event Mask Dva konfiguraciona moda: Interrupt mode: generisanje prekida Event mode: generisanje buđenja sistema koji je u SLEEP modu. Nezavisni trigeri (rastuća, opadajuća ili obe ivice) Status bit svake linije EXTI periferija je povezana na APB2 da bi se skratilo vreme ragovanja (APB2 je u opštem slučaju brža od APB1 magistrale) Mogućnost softverskog forsiranja bilo kog prekida/događaja.

EXTI prekidi

External interrupt configuration register 1 (AFIO_EXTICR1) Na EXTIx ide uvek pinx

Interrupt mask register (EXTI_IMR)

Event mask register (EXTI_EMR)

Rising trigger selection register (EXTI_RTSR)

Falling trigger selection register (EXTI_FTSR)

Software interrupt event register (EXTI_SWIER)

Pending register (EXTI_PR)

Memorijska mapa EXTI registara

Projekat GPIO_EXTI Low level inicijalizacija

Inicijalizacija EXTI prekida

Reakcija na prekid! Drajverske funkcije – korisnik ne menja Korisničke funkcije

STM32F1xx - Tajmeri STM32 ahitektura poseduje nekoliko vrsta tajmera: Tajmeri opšte namene koji se koriste iz generisanje običnih PWM signala (output comapre), pojedinačnih impulsa (one-pulse), hvatanje ulaznih signala (input capture), specifični senzorski iterfejsi (enkoder, hall-effect senzor) Napredni tajmeri (advanced timers) koji osim opštih funkcija imaju neke prednosti za generisanje signala koji se koriste u motornim pogonima ili digitalnom upravljanju pretvaračima. Primer: komlementarni izlazi sa regulisanjem mrtvog vremena, automatski isključivanje svih kanali i slično. N-kanalni tajmeri (N-channel timer), koji imaju karakteristike tajmera opšte namene ali imaju ograničen broj kanala. N-kanalni tajmeri tajmeri sa komplementarnim izlazima, i sa regulacijom mrtvog vremena samo na jednom kanalu. Osnovni tajmer (basic timer), koji nema izlaze i ulaze već se koristi za generisanje vremenske baze, ili periodično trigerovanje DAC periferije.

Tajmeri – pregled po STM32F familiji

Uporedne karakteristike tajmera

Tajmeri opšte namene TIMx (x=2,3,4,5) 16-bitni brojač na gore, dole ili gore/dole. 16-bitni preskaler za ulazni takt Do 4 nezavisna kanala koji mogu da rade u izlaznom (output comapre), ulaznom (input capture), PWM ili pojedinačnom impulsnom modu. Mogućnost sinhronizacije sa ostalim tajmerima. Prekid/DMA zahtev za sledeće događaje: Input capture Output compare Reload tajmera, inicijalizacija (softverska ili spoljašnja) Podržavaju kvadraturne inkrementalne enkodere i hall-effect senzore.

Tajmer opšte namene Opšta šema tajmera

Vremenska baza Deo tajmera koji generiše vremensku bazu čine: -Tajmerski brojač TIMx_CNT -Preskaler takta TIMx_PSC -Reload registar TIMx_ARR Svi registri su duplo baferovani tako da mogu da se očitavaju i menjaju i u toku rada tajmera. Izmene PSC i ARR registra se dešavaju na svaki Update Event UEV

Brojač na gore – UP counting Ako je ARPE (auto-reload preload enable) bit u TIMxCR1 kontrolnom registru resetovan (ARPE=0) automatski se ažurira moduo brojanja

Brojač na gore – UP counting Ako je ARPE (auto-reload preload enable) bit u TIMxCR1 kontrolnom registru setovan (ARPE=1) moduo se ažurira tek nakon jednog završenog ciklusa.

Downcounting mode

Brojač gore-dole (Center-aligned / Up-down counting mode)

Taktovanje - Internal mode Tajmer je taktovan internim taktom

External mode 1 Tajmer broji spoljašnje rastuće ili opadajuće ivice na kanalima 1 ili 2

External mode 2 Tajmer broji spoljašnje rastuće ili opadajuće preskalirane ivice na ETR ulazu. Postoji ulazni preskaler.

Kaskadna veza tajmera Interni triger ulazi ITRx koji se koriste kada se kaskadiraju različiti tajmeri. Na primer, TIM3 može da radi kao preskaler za TIM2. Jedan tajmer, konfigurisan u master modu može da resetuje, zaustavi, startuje ili taktuje drugi tajmer, koji je konfigurisan u slave modu.

Projekat TIM_TimeBase

Google: UM1850 HAL System Driver

HAL_TIM_Base_Init() HAL_TIM_Base_MspInit()

Zato imamo još jedan user file

Generalna Inicijalizacija hardvera

Generalna Inicijalizacija hardvera

Podešavanje prekida

Reakcija na prekid Ova funkcija odradi dosta posla....

I opet korisnik piše neki krajnji Callback...

Možemo li da ubrzamo stvar? Zadatak: Proveriti koliko “nepotrebnog” koda je uneo poziv svih ovih funkcija. Predviđen pokazivač na strukturu se nigde ne koristi???

Zadatak U postojećem primeru TIM3 upravlja diodom LED3. Konfigurisati TIM4 da upravlja diodom LED4. Da bi stvar bila elegantnija očigledno je potrebno napisati funkciju HAL_TIM_Base_MspInit(TIM_HandleTypeDef *htim) tako da uzima u obzir predleđenu strukturu i automatski identifikuje selektovani tajmer Hint: pogledajte link: https://my.st.com/public/STe2ecommunities/mcu/Lists/STM32Java/Attachments/1249/tim.c

Capture/compare jedinica input capture deo Svaki capture događaj može da generiše prekid ili DMA zahtev.

Capture/compare jedinica centralni deo

Capture/compare jedinica output compare deo

PWM input capture Posebna input capture konfiguracija u kojoj se kombinuju dva kanala tako da može da se meri perioda i duty-cycle pwm signala na ulazu.

Output compare mod Koristi se uglavnom za generisanje periodičnih prekida. Nema generisanja PWM signala, ali može da se menja stanje =Cx pina.

Edge-aligned PWM U ovom modu brojač može da radi ili u UP ili u DOWN modu.

Center-aligned PWM Slično onome što se kod MSP-a zove phase-correct PWM mod. Brojač radi u up/down modu.

One pulse mod Zgodan za generisanje preciznih pozicioniranih impulsa.

Enecoder interface Povezivanje kvadraturnog enkodera na kanalima 1 i 2 u svim modovima brojanja: x1, x2, x4.

TIM1– Advanced control timer Pored osobina tajmera opšte namene poseduje sledeće specifičnosti: Komplementarni izlazi sa programabilnim mrtvim vremenom. Break signal koji jednovremeno deaktivira sve izlaze. Brojač ponavljanja koji obezbeđuje ažuriranje tajmerskih registara tek posle određenog broja ciklusa. Interfejs prema trofaznom hall-effect senzoru. Opšta šema tajmera

Izlazni stepen Output Capture jedinice – Kanali 1,2,3

TIM1 - Kanal 4 Kanal 4 je pojednostavljene strukture jer se TIM1 obično koristi u trofaznim PWM generatorima u kojima se sedmi kanal koristi uglavnom za potrebe “kočenja”.

Tajmeri TIM12, TIM13, TIM14 16-bitni brojač na gore. 16-bitni preskaler za ulazni takt. 1 (tim13 i tim 14) ili 2 (tim12) nezavisna kanala koji mogu da rade u izlaznom (output comapre), ulazno (input capture), PWM ili pojedinačnom impulsnom modu. Mogućnost sinhronizacije sa ostalim tajmerima. Prekid zahtev za sledeće događaje: Input capture Output compare Reload tajmera, inicijalizacija (softverska ili spoljašnja) Nije podržan DMA prenos.

TIM12 - Interna struktura

TIM13, TIM14 – Interna struktura

Tajmeri TIM15, TIM16, TIM17 16-bitni brojač na gore. 16-bitni preskaler za ulazni takt 1 (tim15) ili 2 (tim16, tim17) nezavisna kanala koji mogu da rade u izlaznom (output comapre), ulazno (input capture), PWM ili pojedinačnom impulsnom modu. Mogućnost sinhronizacije sa ostalim tajmerima. Prekid zahtev za sledeće događaje: Input capture Output compare Reload tajmera, inicijalizacija (softverska ili spoljašnja) Podržan je DMA prenos Uvek postoji jedan komplementarni izlaz. Brojač ponavljanja.

TIM15

TIM16, TIM17

Osnovni tajmeri (Basic Timer) TIM6 i TIM7 16-bitni brojač na gore. 16-bitni preskaler za ulazni takt. Mogućnost startovanja DAC-a. Prekid i DMA zahtev overflow događaj. Podržan je DMA prenos. Uvek postoji jedan komplementarni izlaz. Brojač ponavljanja.