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
Top Related