dspic33: Přerušení, čítače a Change Notification

Podobné dokumenty
Aplikace Embedded systémů v Mechatronice. Michal Bastl A2/713a

MIKROPROCESORY PRO VÝKONOVÉ SYSTÉMY. Stručný úvod do programování v jazyce C 2.díl. České vysoké učení technické Fakulta elektrotechnická

Microchip. PICmicro Microcontrollers

Aplikace Embedded systémů v Mechatronice. Michal Bastl A2/713a

2N LiftIP. IO Extender. Communicator for Lifts. Version

2. Entity, Architecture, Process

2N Voice Alarm Station

Základy digitální techniky

2N LiftIP. Voice Alarm Station. Communicator for Lifts. Version

MIKROPROCESORY PRO VÝKONOVÉ SYSTÉMY. Systém přerušení. České vysoké učení technické Fakulta elektrotechnická

UPM3 Hybrid Návod na ovládání Čerpadlo UPM3 Hybrid 2-5 Instruction Manual UPM3 Hybrid Circulation Pump 6-9

GUIDELINES FOR CONNECTION TO FTP SERVER TO TRANSFER PRINTING DATA

Úvod do mobilní robotiky NAIL028

Operační systémy. Tomáš Vojnar IOS 2009/2010. Vysoké učení technické v Brně Fakulta informačních technologií Božetěchova 2, Brno

MIKROPROCESORY PRO VÝKONOVÉ SYSTÉMY. Speciální obvody a jejich programování v C 2. díl

A0M38SPP - Signálové procesory v praxi - přednáška 10 2

Automatika na dávkování chemie automatic dosing

User manual SŘHV Online WEB interface for CUSTOMERS June 2017 version 14 VÍTKOVICE STEEL, a.s. vitkovicesteel.com

USER'S MANUAL FAN MOTOR DRIVER FMD-02

MIKROPROCESORY PRO VÝKONOVÉ SYSTÉMY. Speciální obvody a jejich programování v C 2. díl. České vysoké učení technické Fakulta elektrotechnická

x86 assembler and inline assembler in GCC

Pokyny k použití. Model-300. Napájecí zdroj. Návod na obsluhu Operating Instructions. se systémem Aquacontrol Napájací zdroj

CONFIGURATION zapisuje se na začátek inicializační části programu použitím direktivy preprocesoru pragma

CONFIGURATION zapisuje se na začátek programu použitím direktivy preprocesoru pragma

External ROM 128KB For Sinclair ZX Spectrum


PRAVIDLA ZPRACOVÁNÍ STANDARDNÍCH ELEKTRONICKÝCH ZAHRANIČNÍCH PLATEBNÍCH PŘÍKAZŮ STANDARD ELECTRONIC FOREIGN PAYMENT ORDERS PROCESSING RULES

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

SenseLab. z / from CeMaS. Otevřené sledování senzorů, ovládání zařízení, nahrávání a přehrávání ve Vaší laboratoři

Mechanika Teplice, výrobní družstvo, závod Děčín TACHOGRAFY. Číslo Servisní Informace Mechanika:

MySQL sežere vaše data

CHAIN TRANSMISSIONS AND WHEELS

Friction drives have constant or variable drives (it means variators). Friction drives are used for the transfer of smaller outputs.

Moduly MicroUnit serie. všechny typy s výjimkou řady MU-43x, MU-44x a MU-84x

IMTEE Přednáška č. 8. interrupt vector table CPU při vzniku přerušení skáče na pevně dané místo v paměti (obvykle začátek CODE seg.


Uživatelská příručka. Xperia P TV Dock DK21

TechoLED H A N D B O O K

Transportation Problem

EURO přeshraniční platba

Laboratorní cvičení z předmětu Elektrická měření 2. ročník KMT

Konfigurace portů u mikrokontrolérů

VYSOKÁ ŠKOLA HOTELOVÁ V PRAZE 8, SPOL. S R. O.

Jednočipové mikropočítače (mikrokontroléry)

MIKROPROCESORY PRO VÝKONOVÉ SYSTÉMY. Systémová struktura počítače

WORKSHEET 1: LINEAR EQUATION 1

26. PERIFERIE PŘIPOJENÉ NA ETHERCAT

PC/104, PC/104-Plus. 196 ept GmbH I Tel. +49 (0) / I Fax +49 (0) / I I

CZ.1.07/1.5.00/

Mikrokontrolery. Úvod do obvodů Atmega 328 a PIC16F88

DMA jednotka pro BCE v systémech s AXI sběrnicí Zdeněk Pohl.

How to get to Hotel Step (venue of WWP AW 2018)

CCD 90 MV Cameras (Firewire) CCD 90 MV Cameras (GigE) CCD 90 MV Cameras (USB 2.0)

IUJCE Přednáška č. 11. další prvky globální proměnné, řízení viditelnosti proměnných, funkcí

Aplikace Embedded systémů v Mechatronice. Michal Bastl A2/713a

/*Dekodovani DFC signalu*/ // Projekt MMIA 2013 // Martin Dujicek, Milan Rejnus

MIDAM MW 240 modbus 2 x DI, 2 x DO

Instalace Pokyny pro instalaci v operačním systému Windows XP / Vista / Win7 / Win8

POPIS TUN TAP. Vysvetlivky: Modre - překlad Cervene - nejasnosti Zelene -poznamky. (Chci si ujasnit o kterem bloku z toho schematu se mluvi.

Introduction to MS Dynamics NAV

Modul řízení otáček stejnosměrného motorku

Přednáška - Čítače. 2013, kat. měření, ČVUT - FEL, Praha J. Fischer. A3B38MMP, 2013, J.Fischer, ČVUT - FEL, kat. měření 1

Gymnázium, Brno, Slovanské nám. 7 WORKBOOK. Mathematics. Teacher: Student:

Database systems. Normal forms

Úvod do mobilní robotiky AIL028

CHAPTER 5 MODIFIED MINKOWSKI FRACTAL ANTENNA

Radiova meteoricka detekc nı stanice RMDS01A


Tento materiál byl vytvořen v rámci projektu Operačního programu Vzdělávání pro konkurenceschopnost.

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

Koncept pokročilého návrhu ve VHDL. INP - cvičení 2

DC circuits with a single source

Převod prostorových dat katastru nemovitostí do formátu shapefile

TKGA3. Pera a klíny. Projekt "Podpora výuky v cizích jazycích na SPŠT"

IMP (Mikroprocesorové a vestavěné systémy)

Přerušení na PC. Fakulta informačních technologií VUT v Brně Ústav informatiky a výpočetní techniky. Personální počítače, technická péče cvičení

Standard VGA (Video Graphics Array)

1 st International School Ostrava-mezinárodní gymnázium, s.r.o. Gregorova 2582/3, Ostrava. IZO: Forma vzdělávání: denní

Microsoft Lync WEB meeting

Amp1.

1. MIKROPROCESOR ATMEGA A/D PŘEVODNÍK MÓDY PŘEVODNÍKU Single Conversion Mode Auto Triggering Start...


Programování PICAXE18M2 v Assembleru

APLIKACE MIKROKONTROLÉRŮ PIC32MX

Příklady popisu základních obvodů ve VHDL

EXACT DS OFFICE. The best lens for office work

Připojení internetového modulu econet300 Do regulátoru ecomax 810P3-L TOUCH.

setup() { I = 0; } loop() { I = I + 1; }

<surface name="pozadi" file="obrazky/pozadi/pozadi.png"/> ****************************************************************************

Zapojení vývodů. SPP Signal

M-LOCK Magnetický zámek pro křídlové sklněné dveře. M-LOCK Magnetic lock for glass swing doors

Právní formy podnikání v ČR

Arduino digitální multimetr

Číslicové měřicí systémy. Téma 4

Litosil - application

Chapter 7: Process Synchronization

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

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

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

MIKROPROCESORY PRO VÝKONOVÉ SYSTÉMY. Stručný úvod do programování v jazyce C 1.díl. České vysoké učení technické Fakulta elektrotechnická

Transkript:

1 z 6 26.3.2013 14:28 dspic33: Přerušení, čítače a Change Notification Přerušení Základní pojmy: přerušení maskování priority Preruseni na dspic33-fj128-mc804 15 priority levels Up to eight processor exceptions and software traps Seven user-selectable priority levels Interrupt Vector Table (IVT) with up to 126 vectors A unique vector for each interrupt or exception source Fixed priority within a specied user priority level Fixed interrupt entry and return latencies For description, see datasheet Family Reference Manual, Chapter 6 (Interrupts) Prislusne registry IFSx maintain all of the interrupt request flags. Each source of interrupt has a status bit, which is set by the respective peripherals or external signal and is cleared via software. IECx maintain all of the interrupt enable bits. These control bits are used to individually enable interrupts from the peripherals or external signals. IPCx used to set the interrupt priority level for each source of interrupt. Each user interrupt source can be assigned to one of eight priority levels. INTTREG, peripheral specific registers

2 z 6 26.3.2013 14:28 Napriklad: IEC0, bit 3 T1IE: Timer1 Interrupt Enable bit: 1 = Interrupt request enabled, 0 = Interrupt request not enabled IEC1, bit 3 CNIE: Input Change Notification Interrupt Enable bit: 1 = Interrupt request enabled, 0 = Interrupt request not enabled Ćítače Čítač je obecně logický obvod, který zajišťuje ukládá informaci o počtu proběhlých událostí. Jako periferie mikrokontroleru je touto událostí typicky vzestupná hrana hodinového signálu nebo signálu z externího vstupu. Jádrem čítače je registr, jehož bitová šířka udává počet událostí, které lze počítat. Čítače v mikrokontroleru dspic33-fj128-mc804 Mikrokontroler obsahuje celkem pět čítačů tří různých druhů. Typ A se odlišuje tím, že umožňuje běh v asynchronním režimu, dále jako zdroj čítání lze použít vestavěný oscilátor LPRC. Typy B a C mohou být zřetězeny do 32-bitových čítačů, kdy B vždy reprezentuje méně významné slovo (least-significant word) a C více významné slovo (most-significant word). Kontrolér obsahuje jeden čítač typu A (Timer1), a po dvou čítačích typu B (Timer2, Timer4) a typu C (Timer3, Timer5). Příslušné registry Registr TMRn reprezentuje stav čítače. Čtením z registru lze získat aktuální stav čítače, zápisem do registru jej lze nastavit. Registr PRn (Period Register) obsahuje hodnotu, vůči které se hodnota čítače při každé inkrementaci porovnává; v případě shody čítač generuje přerušení. Registr TnCON: obsahuje konfiguraci čítače: bit TCS (Timer Clock Source Select bit) umožňuje zvolit zdroj čítaného signálu 1 = External clock from TnCK pin 0 = Internal clock (Fosc/2)

3 z 6 26.3.2013 14:28 TON (Timer On bit) 1 = Starts the timer, 0 = Stops the timer TSIDL: Stop in Idle Mode bit: 1 = Discontinue timer operation when device enters Idle mode, 0 = Continue timer operation in Idle mode TGATE: Timer Gated Time Accumulation Enable bit: 1 = enabled, 0 = disabled (This bit is ignored when TCS = 1) TCKPS<1:0>: Timer Input Clock Prescale Select bits: 11 = 1:256 prescale value 10 = 1:64 prescale value 01 = 1:8 prescale value 00 = 1:1 prescale value TSYNC: Timer External Clock Input Synchronization Select bit: Postup nastaveni: 1 = Synchronize external clock input 0 = Do not synchronize external clock input when TCS = 0, this bit is ignored for the timer uses the internal clock nastaveni prescaleru (TCKPS v registru TnCON) spusteni casovace nastavenim TON = 1 v registru TnCONb nastaveni hodnoty registru PRn volitelne povoleni preruseni nastavenim bitu TnIE v registru IECx Change Notification slouzi k asynchronnimu osetreni udalosti, kdy dojde ke zmene stavu na vstupu

4 z 6 26.3.2013 14:28 Prislusne registry: The CNEN1 and CNEN2 registers contain the interrupt enable control bits for each of the CN input pins. Setting any of these bits enables a CN interrupt for the corresponding pins. Each CN pin also has a weak pull-up connected to it. The pull-ups act as a current source connected to the pin, and eliminate the need for external resistors when push-button or keypad devices are connected. The pull-ups are enabled separately using the CNPU1 and CNPU2 registers, which contain the control bits for each of the CN pins. Setting any of the control bits enables the weak pull-ups for the corresponding pins. Postup nastaveni: nastaveni bitu pro enable nastaveni bitu pro pull-up povoleni preruseni obsluha preruseni (_CNInterrupt) Programové použití časovače Základní varianta #define DELAY 0x6000 int main(int argc, char** argv) { /* init */ _TRISB9 = 0; // set port B as outputs T1CONbits.TCKPS = 0b11; // TMR1 prescaler // _TION possible, but ambiguous T1CONbits.TON = 1; // TMR1 on /* main program */ _LATB9 = 0; /* main loop */ while(1){ while (TMR1 < DELAY); _LATB9 = ~_LATB9; TMR1 = 0; Řízení pomocí přerušení #define DELAY 0x1000 /* * preruseni pro casovac Timer1 */ void attribute ((interrupt, no_auto_psv)) _T1Interrupt (void) { // udelej neco smyslulneho _LATB9 = ~_LATB9; // vymaz priznak preruseni IFS0bits.T1IF = 0; return; /* * main() */ int main(int argc, char** argv) {

5 z 6 26.3.2013 14:28 /* init */ _TRISB9 = 0; // set port B as outputs T1CONbits.TCKPS = 0b11; // TMR1 prescaler T1CONbits.TON = 1; // TMR1 on; _TION possible, but ambiguous _T1IE = 1; // enable TMR1 interrupt PR1 = DELAY; // set the PR value /* main program */ _LATB9 = 0; /* main loop */ while(1){ // nuda v Brne Programové použití přerušení Nastaveni preruseni // obsluha preruseni void attribute ((interrupt, no_auto_psv)) _CNInterrupt (void) {... do something // Clear interrupt flag IFS1bits.CNIF = 0; return; // change notification interrupt TRISBbits.TRISB4 = 1; CNPU1bits.CN1PUE = 0; CNEN1bits.CN1IE = 1; // global interrupt enable IFS1bits.CNIF = 0; // Clear interrupt flag IEC1bits.CNIE = 1; // Enable interrupts on CN5 Preddefinovana jmena pro jednotliva preruseni /******************************************************************************/ /* Interrupt Vector Options */ /******************************************************************************/ /* */ /* Refer to the C30 (MPLAB C Compiler for PIC24F MCUs and dspic33f DSCs) User */ /* Guide for an up to date list of the available interrupt options. */ /* Alternately these names can be pulled from the device linker scripts. */ /* */ /* dspic33f Primary Interrupt Vector Names: */ /* */ /* _INT0Interrupt _C1Interrupt */ /* _IC1Interrupt _DMA3Interrupt */ /* _OC1Interrupt _IC3Interrupt */ /* _T1Interrupt _IC4Interrupt */ /* _DMA0Interrupt _IC5Interrupt */ /* _IC2Interrupt _IC6Interrupt */ /* _OC2Interrupt _OC5Interrupt */ /* _T2Interrupt _OC6Interrupt */ /* _T3Interrupt _OC7Interrupt */ /* _SPI1ErrInterrupt _OC8Interrupt */ /* _SPI1Interrupt _DMA4Interrupt */ /* _U1RXInterrupt _T6Interrupt */ /* _U1TXInterrupt _T7Interrupt */ /* _ADC1Interrupt _SI2C2Interrupt */ /* _DMA1Interrupt _MI2C2Interrupt */ /* _SI2C1Interrupt _T8Interrupt */ /* _MI2C1Interrupt _T9Interrupt */ /* _CNInterrupt _INT3Interrupt */ /* _INT1Interrupt _INT4Interrupt */ /* _ADC2Interrupt _C2RxRdyInterrupt */ /* _DMA2Interrupt _C2Interrupt */ /* _OC3Interrupt _DCIErrInterrupt */ /* _OC4Interrupt _DCIInterrupt */ /* _T4Interrupt _DMA5Interrupt */ /* _T5Interrupt _U1ErrInterrupt */

6 z 6 26.3.2013 14:28 /* _INT2Interrupt _U2ErrInterrupt */ /* _U2RXInterrupt _DMA6Interrupt */ /* _U2TXInterrupt _DMA7Interrupt */ /* _SPI2ErrInterrupt _C1TxReqInterrupt */ /* _SPI2Interrupt _C2TxReqInterrupt */ /* _C1RxRdyInterrupt */... auth/picembc/dspic33_timers_interrupts.txt Last modified: 2013/03/26 14:27 by res