Cvičení z NMS

Post on 31-Jan-2016

83 views 0 download

description

Cvičení z NMS. Rozvrh cvičení Přehled použitého hardware Přehled úloh a některé podrobnosti. Rozvrh cvičení. Rozvrh cvičení. Prezentace. Velmi stručné seznámení s řešením zadané úlohy: použité technické prostředky (vazba mezi jednotlivými funkčními jednotkami, ... ), - PowerPoint PPT Presentation

transcript

1

NMS Cvičení z NMS

Cvičení z NMS

1. Rozvrh cvičení

2. Přehled použitého hardware

3. Přehled úloh a některé podrobnosti

2

NMS Cvičení z NMS

Rozvrh cvičení

3

NMS Cvičení z NMS

Rozvrh cvičení

5.10. Přehled hardware pro zadané úlohy

Přehled úloh

12.10. Podrobné zadání úloh

19.10. – 7.12.

Konzultační cvičení

14.12. Prezentace – řešení úloh s tématy A

4

NMS Cvičení z NMS

Prezentace

• Velmi stručné seznámení s řešením zadané úlohy:– použité technické prostředky (vazba mezi jednotlivými

funkčními jednotkami, ... ),

– funkce vytvořeného SW.

• Časový rozsah cca 10 min (není závazný).

5

NMS Cvičení z NMS

Technické prostředkypro samostatné úlohy

6

NMS Cvičení z NMS

Blokové schéma procesoru H8S/2633F

7

NMS Cvičení z NMS

Funkční bloky H8S/2633F• Interní paměti

– SRAM 16 kB,– Flash 128 kB.

• Periferie– max. 10 paralelní porty,– 8 vstupů pro vnější přerušení,– 2 DMA řadič (DMAC),– 1 přenosová jednotka (DTC),– 5 sériové rozhraní (SCI),– 6 16bitová časovací a pulsní jednotka (TPU),– 2 8bitový časovač (TMR),– generátor PWM a PPG,– 16kanálový 10bitový AD převodník,– 2 kanálový DA převodník.

8

NMS Cvičení z NMS

Funkční jednotka TPU

TPU = Timer Pulse Unit

• 6 kanálů (0, 3), (1, 2, 4, 5).

• 16bitový čítač.

• 16bitové registry capture/compare.

• Režimy činnosti:– Čítač/časovač.

– Capture/compare.

– PWM generátor.

– Dekodér signálů polohových čidel.

9

NMS Cvičení z NMS

Funkční jednotka TPU

10

NMS Cvičení z NMS

Funkční jednotka PWM

PWM = Pulse Width Modulator

• 2 výstupy pulsů.

• Rozlišení 14 bitů.

T

11

NMS Cvičení z NMS

Funkční jednotka PWM

12

NMS Cvičení z NMS

Funkční jednotka PPG

PPG = Programmable Pattern Generator

• Max. 8 výstupních průběhů.

• Nastavitelný „non – overlapping“ režim.

• Lze aktivovat z TPU.

P1

P2

P3

P4

1

0

0

1

1

0

0

0

1

1

0

0

0

1

0

0

Aktivace z TPU

13

NMS Cvičení z NMS

Funkční jednotka PPG

14

NMS Cvičení z NMS

ADC

• 10bitový převod (cca 10 s).• 16 kanálový multiplexor.• Skenování max. 4 kanálů.• Lze aktivivat z TPU.• Interrupt po ukončení převodu A/D.

15

NMS Cvičení z NMS

ADC

16

NMS Cvičení z NMS

Mikrokontrolér MSP430

• 16bitové procesorové jádro RISC.

• Maximální frekvence CLK = 8 MHz (instr. cykl 125 ns ).

• Navržen pro nízký příkon (Icc < 3 mA / 8 MHz).

• Vybavení:– 60 kB Flash, 2 kB SRAM, 256 B EEPROM,

– HW násobička (MAC 16 16 bitů).

– 2 časovač + WDT,

– 2 USART,

– 8kanálový AD 12bitů, 10 µs.

– programování a ladění programů prostřednictvím JTAG.

17

NMS Cvičení z NMS

Mikrokontrolér MSP430

18

NMS Cvičení z NMS

Časovací základna MSP430

XT1LF oscillator(32.768 kHz)

XT2HF oscillator

(up to 8 MHz)

DCO(up to 8 MHz)

ClockSelectors

ClockDivider

: 1, 2, 4, 8

ClockDivider

: 1, 2, 4, 8

Aux. Clock

CPU Clock

Subsystems Clock

19

NMS Cvičení z NMS

Přehled úloh

20

NMS Cvičení z NMS

Přehled úloh (témata A)1. Nízkopříkonové režimy mikrokontroléru Texas Instruments MCS430.

Úkolem je naprogramovat úlohu, která bude periodicky měřit napětí na vstupu A/D převodníku a upravená data vysílat na sériovém rozhraní. Program musí být navržen tak, aby byla minimalizována spotřeba energie.

2. Řízení otáček ss. motoru potenciometrem (MCU H8S).Pomocí A/D převodníku bude měřeno natočení hřídele potenciometru a v závislosti na něm řízena rychlost otáčení stejnosměrného motoru. Řízení bude v maximální míře využívat hardwarové prostředky MCU H8S.

3. Řízení natočení hřídele krokového motoru (MCU H8S).Program bude snímat úhel natočení hřídele inkrementálního snímače polohy (jednotka TPU) a v závislosti na něm nastavovat úhel natočení hřídele krokového motoru (jednotka PPG).

4. Řízení otáčení krokového motoru sériovou linkou (MCU H8S).Program bude ze sériové linky přijímat povely pro otáčení krokového motoru. Podle povelů bude generovat řídicí signály pro krokový motor tak, aby byl vykonán příslušný povel (jednotka PPG).

21

NMS Cvičení z NMS

Přehled úloh (témata B)

7. Práce s pamětí Flash (MCU H8S)Úkolem je napsat program, který bude demonstrovat práci s paralelní pamětí Flash: zápis a čtení bloku dat, nastavení ochranných zámků, vymazání zvoleného bloku).

8. Práce s paralelní pamětí EEPROM (MCU H8S).Úkolem je napsat program, který bude demonstrovat práci s paralelní pamětí EEPROM: zápis a čtení bloku dat, nastavení ochranných zámků, vymazání zvoleného bloku).

9. Práce s obvodem RTC (MCU H8S).Úkolem je napsat procedury pro demonstraci práce s obvodem RTC: nastavení časového údaje, čtení časového údaje, funkce zálohované paměti SRAM.

22

NMS Cvičení z NMS

Přehled úloh (témata B)

10. Demonstrace činnosti obvodu WatchDog.Program pro demonstraci obvodu WatchDog mikrokontroléru H8S. Program má umožnit nastavení maximální periody nulování WD, inicializaci WD a činnost WD v případě selhání kontrolovaného programu.

11. Práce se sériovou pamětí EEPROM.Úkolem je napsat program, který bude demonstrovat práci s  pamětí EEPROM se sériovým rozhraním SPI/Microwire: zápis a čtení bloku dat, nastavení ochranných zámků, vymazání zvoleného bloku).

12. Použití řadiče I2C na mikrokontroléru Philips PCF80C552.Program pro komunikaci s teplotním čidlem. Čidlo je vybaveno rozhraním I2C, pomocí něhož jej lze konfigurovat a číst údaj o teplotě. Je připojeno k mikrokontroléru PCF80C552, který je vybaven specializovaným řadičem pro rozhraní I2C.

23

NMS Cvičení z NMS

1. Nízkopříkonové režimy mikrokontroléruTexas Instruments MCS430

A/Dpřevodník

Timer_AXT132.760 kHz

přerušení

přerušení

start A/D

UART_0

vysílánídat

SWAI0 Data

XT2 / DCO

24

NMS Cvičení z NMS

1. Nízkopříkonové režimy mikrokontroléruTexas Instruments MCS430

• Timer_A a A/D převodník používají XT1.

• CPU používá XT2 nebo DCO.

• Timer_A odměřuje periodu převodu A/D.

• Převodník je aktivován hardwarově signálem z Timeru_A.

• A/D převodník generuje po ukončení převodu přerušení.

• Přerušení ukončí LPM CPU.

• CPU zpracuje naměřená data a vysílá je na RS232. Potom se přepne do Low Power Mode.

25

NMS Cvičení z NMS

1. Nízkopříkonové režimy mikrokontroléruTexas Instruments MCS430

StartA/D

Přerušení(A/D)

Perioda převodu (100 ms)

Přepnutído LPM

UkončeníLPM

převod zpracování vysílání převodidle

26

NMS Cvičení z NMS

2. Řízení otáček ss. motoru potenciometrem(MCU H8S)

TPU

A/D SW

Port 1

řízenísměru atd.

CPLD(PRINT_1) M

čtení napětí

nastavenístřídy TPU2

přerušenístart A/D

potenciometr

TPU2

šířkověmodulovanépulsy

27

NMS Cvičení z NMS

2. Řízení otáček ss. motoru potenciometrem(MCU H8S)

• Napětí na jezdci potenciometru je měřeno A/D převodníkem.

• A/D převod je periodicky spouštěn signálem z TPU.

• Po dokončení převodu generuje A/D převodník přerušení.

• CPU určí požadovanou rychlost a směr otáčení motoru a nastaví parametry PWM generátoru.

28

NMS Cvičení z NMS

2. Řízení otáček ss. motoru potenciometrem(MCU H8S)

TPU

A/D SW

TPU2

Port 1

CPLD(PRINT_1)

+L298M

TTGE

ADI

TIOCA2

P1.0P1.1P1.4

ENABBREAKDIR

PULS

1A11A2

AN0 AN0

29

NMS Cvičení z NMS

3. Řízení natočení hřídele krokového motoru(MCU H8S)

TPU2 SW PPG

TPU0

CPLD(SM_2)

čtenípolohykotouče

nastavenídalšíhokroku

přerušenívýstupbuzeníinkrementální

snímač

30

NMS Cvičení z NMS

3. Řízení natočení hřídele krokového motoru(MCU H8S)

• Signály indikující otáčení osy inkrementálního snímače jsou hardwarově vyhodnocovány jednotkou TPU.

• Procesor periodicky odečítá natočení osy snímače.

• Podle natočení osy snímače a natočení osy motoru určuje směr dalšího otáčení a připraví data pro PPG.

• PPG je synchronizována z TPU, která určuje frekvenci generování řídicích pulsů pro motor.

31

NMS Cvičení z NMS

3. Řízení natočení hřídele krokového motoru(MCU H8S)

TPU2 SW PPG

TPU0

CPLD(SM_2)+ULNTCLKC

TCLKD

TGIA0

PO 8PO 9PO 10PO 11

1C2C3C4C

Port 1P1.4 ENAB

1B2B3B4B

DIG2DIG3

32

NMS Cvičení z NMS

4. Řízení otáčení krokového motoru sériovou linkou (MCU H8S)

SW PPG

TPU0

CPLD(SM_2)

čtení polohy

nastavení dalšíhokroku

přerušenívýstupbuzení

SCI1

příjempovelu

RS232

33

NMS Cvičení z NMS

4. Řízení otáčení krokového motoru sériovou linkou (MCU H8S)

• SCI1 přijímá povely pro otáčení motoru.

• Podle přijatého povelu připraví CPU data pro PPG (směr otáčení) a pro TPU (rychlost otáčení).

• Povely:

– otočení o n kroků doleva/doprava,

– nastavení rychlosti na stupeň 1, 2, 3, ... ,

– plynulé otáčení doleva/doprava,

– „home“.

34

NMS Cvičení z NMS

4. Řízení otáčení krokového motoru sériovou linkou (MCU H8S)

SW PPG

TPU0

SCI1

CPLD(SM_2)+ULN

1C2C3C4C

Port 1P1.4 ENAB

TGIA0

PO 8PO 9PO 10PO 11

1B2B3B4B

P3.2 DIG0

RS232

35

NMS Cvičení z NMS

Rozšiřující moduly – Pwr_2• CPLD XC9536,• Výkonové budiče,• Ochranné obvody AD

převodníků,• Vstupy pro fototranzistory,• Rozhraní SCI1.

12

4

4

4

2

2

3

2

2

2

2

2

2

4

4 4

22

CPLDXC9536

(XC9572)

Rozhraní JTAG

Hmůstek

Hmůstek

Hmůstek

Hmůstek

spínače0.6A

RS232SCI1

AN8 - AN9

AN0 - AN3

AN4 - AN7

IOporty

RO

ZH

RA

NÍ E

VB2

633

FX9

X4

X5

X6

X8

X7

P2

P3

P4

P5

P6

P7

X3

zdrojUref

P1

Uref

+12V

měřeníproudumůstků

36

NMS Cvičení z NMS

Připojení ss motoru

CPLD H můstekL298

KonektorX6

Snímačotáčení

ss. motorSvorkovniceP2

+12V

IN1

IN2

ENAB

OUT1

OUT2

Fáze A

Fáze B

Napájení

DIG0

DIG1

X6.1

X6.2

37

NMS Cvičení z NMS

Konfigurace Print_1

P1.0/TIOCA0/A20P1.1/TIOCB0/A21

P1.4/TIOCA1/IRQ0P1.6/PO14/TIOCA2/PWM2

P3.2/IRQ4P3.5/IRQ5

P3.6P3.7

P1.7/TCLKDP1.5/TCLKC

P1.2/TCLKA/A22P1.3/TCLKB/A23

ENABBREAKDIRPULS

95XC36

DIG0DIG1DIG2DIG3

X6

IN1IN2ENAB

U3

P2

1A11A2

CON4

X6.1X6.2X6.3X6.4

38

NMS Cvičení z NMS

Připojení krokového motoruFáze 1

Fáze 4

Fáze 3

Fáze 2

+12V

+12V

CPLDSpínače

ULN2003A

Krokovýmotor

SvorkovniceP6 a P7

Konektor X5

Úpravasignálu

SnímačpolohyDIG0

39

NMS Cvičení z NMS

Připojení inkrementálního snímače

CPLD

KonektorX6 Snímač

otáčení

Fáze A

Fáze B

Napájení

DIG2

DIG3

X6.3

X6.4

40

NMS Cvičení z NMS

Konfigurace SM_2

P1.0/PO8/TIOCA0/A20P1.1/PO9/TIOCB0/A21

P1.4/PO12/TIOCA1/IRQ0

P1.6/PO14/TIOCA2/PWM2

P3.2/IRQ4P3.5/IRQ5

P3.6P3.7

P1.7/PO15/TCLKD

P1.5/PO13/TCLKC

P1.2/PO10/TCLKA/A22P1.3/PO11/TCLKB/A23

95XC36

DIG0DIG1DIG2DIG3

X6

ENAB

CON4

X6.1X6.2X6.3X6.4

Sw 0Sw 1

Sw 2Sw 3

P6

P7

U5

1B2B3B4B

1C2C3C4C