Upload
be-nguyen
View
34
Download
5
Embed Size (px)
DESCRIPTION
hiển thị số vòng quay lên led đơn
Citation preview
H iu khin thi gian thc SVTH: Nhm 1
1
MC LC
I. C s l thuyt .......................................................................................................... 3
1. Tm hiu v RTOS ............................................................................................... 3
1.1 RTOS l g ? ................................................................................................... 3
1.1.1 H thng thi gian thc (Real time System): .......................................... 3
1.1.2 Thi gian thc cng (Hard Real-time) v thi gian thc mm (Soft Real- Time): ............................................................................................. 3
1.1.3 nh ngha h iu hnh thi gian thc RTOS: ..................................... 4
1.2 Cc thnh phn trong RTOS: ......................................................................... 4
1.2.1 B lch trnh (Scheduler): ....................................................................... 4
1.2.2 B iu phi (Dispatcher): ...................................................................... 6
1.2.3 Cc i tng (Objects) trong RTOS: ..................................................... 7
1.3 nh ngha Tasks: ........................................................................................... 8
1.3.1 Task h thng (System Task): ................................................................. 8
1.3.2 Cc trng thi ca mt Task: ................................................................... 9
1.3.3 Cu trc ca mt Task: .......................................................................... 10
2. Tm hiu v SWI ................................................................................................ 10
2.1 nh ngha SWI ............................................................................................ 10
2.2 u tin SWI trong h thng .................................................................... 10
2.3 Quy tc lp lch trnh (Scheduling Rules) .................................................... 11
2.4 Cc bc x l trong h thng ...................................................................... 12
3. ng c bc ..................................................................................................... 12
3.1 Khi nim ..................................................................................................... 12
3.3 Phn loi ....................................................................................................... 13
3.4 u im v nhc im ............................................................................... 13
4. Gii thiu v Kit Launchpad dng vi iu khin TivaC .................................... 14
II. Thit k ................................................................................................................... 15
1. S khi ......................................................................................................... 15
2. Kt ni phn cng............................................................................................16
3. Thit k phn cng...........................................................................................16
3.1 Phm nhn ..................................................................................................... 15
H iu khin thi gian thc SVTH: Nhm 1
2
3.2 Led n ......................................................................................................... 17
3.3 Mch bo v .................................................................................................. 17
3.4 Mch m dng ............................................................................................ 18
4. Phn mm CCS................................................................................................... 18
III. Code iu khin ...................................................................................................... 18
IV. Kt qu nh gi ..................................................................................................... 24
1. Kt qu t c ................................................................................................. 24
2. u im v hn ch: ........................................................................................... 24
3. ngh ............................................................................................................... 24
TI LIU THAM KHO ...................................................................................... 24
H iu khin thi gian thc SVTH: Nhm 1
3
TM HIU SWI V NG C BC HIN TH
S VNG QUAY QUA LED N
Mc tiu:
Trong iu khin chuyn ng k thut s, ng c bc l mt c cu chp hnh c bit hu hiu bi n c th thc hin trung thnh cc lnh a ra di dng s. ng c bc c ng dng nhiu trong ngnh T ng ho, chng c ng dng trong cc thit b cn iu khin chnh xc. V d: iu khin robot, iu khin tiu c trong cc h quang hc, iu khin nh v trong cc h quan trc, iu khin bt, bm mc tiu trong cc kh ti quan st, iu khin lp trnh trong cc thit b gia cng ct gt, iu khin cc c cu li phng v chiu trong my bay... Trong cng ngh my tnh, ng c bc c s dng cho cc loi a cng, a mm, my in...
I. C s l thuyt
1. Tm hiu v RTOS
1.1 RTOS l g ?
1.1.1 H thng thi gian thc (Real time System):
Thi gian (Time) :
S chnh xc ca h thng khng ch ph thuc vo kt qu
tnh ton logic m cn ph thuc vo thi gian cho ra kt qu.
Thc (Real):
p ng ca h thng vi nhng s kin bn ngoi.
Thi gian thc (Real-Time):
Phi m bo cc yu t:
p ng nhanh
D on c.
Cc tc v (Real-time Task) c xc nh bng deadline.
Deadline l thi gian ti a mt tc v phi hon thnh
vic thnh ton.
1.1.2 Thi gian thc cng (Hard Real-time) v thi gian thc mm (Soft Real-Time):
Hnh 1: Thi gian thc cng v thi gian thc mm.
H iu khin thi gian thc SVTH: Nhm 1
4
Thi gian thc cng:
Mt tc v l thi gian thc cng nu nh thi gian tnh ton vt qu deadtime c th gy ra s ph v mi trng iu khin.
Thi gian thc mm: Mt tc v l thi gian thc mm nu nh m bo thc
thi trong deadtime cho php v nu nh khng m bo th s khng to ra nhng nguy hi no ng k cho h thng v khng lm nh hng n s ng x ca h thng.
1.1.3 nh ngha h iu hnh thi gian thc RTOS:
L h thng c:
Lch trnh thc thi theo thi gian.
Qun l ti nguyn h thng.
Cung cp nhng nn tng c bn pht trin cc ng dng
trn n.
1.2 Cc thnh phn trong RTOS:
Hnh 2: Cc i tng trong RTOS
B lch trnh (Scheduler):
L mt tp cc thut ton xc nh tc v (Task) no c
thc thi.
i tng (Object):
L nhng cu trc c bit (Kernel) gip ngi lp trnh to ra
cc ng dng.
Dch v (Service) :
L nhng iu khin m Kernel (li) thc thi trong i tng
(object): chia thi gian (Timing), ngt (interrupt), p ng (handling)
v qun l ti nguyn h thng (resource management).
1.2.1 B lch trnh (Scheduler):
H iu khin thi gian thc SVTH: Nhm 1
5
L mt phn v cng quan trng ca li h thng iu khin
(Operating System Kernel).
N gip xc nh tc v (task) no s dnh quyn CPU
thc thi tip theo. Sau , n thc hin vic chuyn trng thi
(context switching) c thc hin bng b iu phi (dispatcher).
Hnh 3: Chuyn i trng thi (Context Switching)
Trng thi (ng cnh) ca tc v (Task)
Mi task c mt trng thi ring ca n, n chnh l trng thi
ca nhng thanh ghi (registers).
Mi thi im 1 task mi c to ra, kernel s to ra v lu
gi mt block iu khin lin quan n task (TCBs). TCBs l
nhng cu trc d liu h thng m kernel dng lu tr nhng
thng tin c trung ca task. TCBs cha mi th m mt kernel cn
bit v mt task c th no . Khi task nag chy, trng thi ca
n l ng. Trng thi ng ny c lu tr trong TCB. Khi task
khng cn chy na, trng thi s b ng bng (frozen) trong TCB,
v c s dng cho ln thc thi tip theo ca task.
Cng tc chuyn i trng thi (Context Switch):
S xy ra khi b lch trnh (scheduler) chuyn t mt trng
thi ny sang mt trng thi khc.
Vic chuyn i trng thi bao gm:
Thi gian chuyn i:
L thi gian tiu tn cho b lch trnh chuyn t task ny
sang task khc.
N khng c lin quan no n cc lnh thc hin trong task.
Nu mt ng dng c thit k m xy ra chuyn i trng
thi thng xuyn th c th dn n nhng thc thi khng cn thit.
V vy, nn thit k ng dng theo cch m to ra t chuyn i trng
thi nht.
Khi no chuyn i xy ra:
Mi khi ng dng to mt li gi h thng (System Call), b
lch trnh s xc nh rng c cn chuyn i trng thi hay khng.
Khi b lch trnh xc nh vic chuyn i l cn thit th s gi b
phn phi (dispatcher) thc hin vic chuyn i.
H iu khin thi gian thc SVTH: Nhm 1
6
V d: Khi b thc thi ca Kernel xc nh cn dng vic thc thi
Task 1 chuyn qua trng Task 2 th n s thc thi theo cc bc
sau: Kernel s lu thng tin trng thi ca Task 1 Load thng tin
trng thi ca Task 2, Task 2 tr thnh lung (thread) thc thi hin
ti. Trng thi chuyn i ca Task 1 s c ng bang trong khi
Task 2 ang c thc thi, nhng nu nh b chuyn i xc nh
cn chy li Task 1 th Task 1 s quay li v tr ngay trc khi n b
chuyn i.
Hnh 4: V d v Contex Switch
1.2.2 B iu phi (Dispatcher):
Dng thc thi (Flow of Execution): Ti bt k thi im no RTOS ang chy, dng thc thi s
chuyn n 3 vng: n cc Task ng dng (application Task), n mt chng trnh phc v ngt (ISR), hoc n Kernel.
Khi no b phn phi c thc hin:
Khi mt Task hoc ISR to mt li gi h thng, dng iu
khin s chuyn n Kernel thc thi mt trong s nhng th tc
c cung cp bi Kernel.
Khi ri khi Kernel, dispatcher s c trch nhim l chuyn
lnh iu khin n mt trong s nhng Task ng dng.
Hnh 5: iu phi t mt Task
H iu khin thi gian thc SVTH: Nhm 1
7
Cch thc hin nh sau:
Khng cn thit chuyn ton b lnh iu khin n
cng mt task gi System Call. iu ny s c xc nh bng gii
thut phn chia thi gian biu (scheduling algorithms) ca b lch
trnh (scheduler).
Chuyn i thc thi t mt Task
Ty thuc vo cch truy cp vo Kernel nh th no m
dispatching s xy ra khc nhau. Khi mt Task thc hin mt li gi
h thng, dispatcher s c s dng thot khi Kernel mi khi
Li gi h thng c hon thnh. Trong trng hp ny, dispatcher
c dng nh mt li gi ca li gi (call-by-call basic) n c
th h tr cho vic chuyn i trng thi ca Task. Bt k Task no
cng c th gi system call. Mt hay nhiu Task c th trng thi
sn sng cho thc thi.
Chuyn i thc thi t 1 chng trnh phc v ngt (ISR):
Hnh 6: iu phi t mt ISR
Khi mt ISR to mt System Call, Dispatcher s b b v
hiu ha cho n khi ISR thc thi xong. Qu trinh ny s ng min
l c ti nguyn chuyn i gia cc Task. Chuyn i trng
thi ny s khng c din ra bi v ISR phi c thc thi xong
m khng c ngt bi cc Tasks. Sau khi ISR thc thi xong,
Kernel s thot n dispatcher c th iu phi n ng task thc
thi tip theo.
1.2.3 Cc i tng (Objects) trong RTOS:
Tasks:
L cc lung (thread) thc thi cng tn ti v c lp nhau c
th cnh tranh nhau dnh quyn thc thi.
Semaphores:
L i tng bt s kin ng b gia cc tasks, c th
tng hoc gim.
Message Queues:
H iu khin thi gian thc SVTH: Nhm 1
8
L mt kiu cu trc d liu c dng ng b ha hoc
trao i thng tin gia cc Tasks.
Real-time embedded applications:
L s kt ni gia cc i tng ca Kernel gii quyt vn
thi gian thc nh s ng thi, s ng b, v trao i d liu
1.3 nh ngha Tasks:
Hnh 7: S cu trc ca mt Task c bn.
Task l mt lung thc thi c lp m c th cnh tranh chim quyn
thc thi. Mt ng dng c chia ra lm nhiu Tasks ng thi
(Concurrent Task) ti u kh nng p ng vo ra trong lut thi
gian.
Mt Task c nh ngha thun ty l mt tp cc tham s v cu
trc d liu.
Cc thnh phn ca mt Task: Khi c to ra, Task s c tn, ID duy nht, u tin, mt
block iu khin Task (TCB), Stack, v cc th tc thc thi Task.
1.3.1 Task h thng (System Task):
Bao gm cc Task sau:
Task khi to (Initialization or Startup Task)
Khi to h thng v to task khi ng h thng.
Task Ri (Idle Task).
Idle Task chy theo chu k ri ca h thng (idle cycles),
c t u tin thp nht.
Thc thi mt vng lp v tn. Idle task chc chn rng b
m chng trnh lun lun c gi tr cho trong trng hp khng c
task no thc thi.
Kernel cho php cc thao tc c cu hnh bi ngi dng
(developer) chy nhng yu cu c bit: sleep mode.
H iu khin thi gian thc SVTH: Nhm 1
9
Task ng nhp (Logging Task).
L tin nhn truy cp vo h thng.
Task Li (Exception- Handling Task).
Thc thi cc trng hp li h thng hoc ng dng.
Task sa li (Debug Agent Task).
Cho php sa li thng qua cng c debug (host debugger).
Ch rng cc task h thng khc c th c to ra trong qu trnh
khi to, ph thuc vo cc thnh phn c trong Kernel.
Hnh 8: Cc trng thi ca mt Task.
1.3.2 Cc trng thi ca mt Task:
Trng thi ca mt Task:
Ti bt k mt thi im, mi task tn ti mt trong s nhng
trng thi nh bao gm: Sn sng (Ready), ang thc thi (Running),
hoc Kha (Blocked). Khi mt h thng nhng thi gian thc chy,
mi task thay i t trng thi ny n trng thi khc theo quy lut
logic ca mt trng thi hu hn n gin (Finite state machine
(FSM)).
V c bn, 3 trng thi chnh c s dng trong hu ht cc
h thng Kernel s dng phng php lch trnh thay th.
(preemptive scheduling).
H iu khin thi gian thc SVTH: Nhm 1
10
1.3.3 Cu trc ca mt Task:
Hnh 9: Hin thc cu trc ca mt Task
Chy n kt thc Task (Run to completion Task)
Mt v d ca Run to completion Task l Task khi to
cp ng dng (application level). Task khi to c nhim v khi
to ng dng v to ra cc dch v, Tasks, v mt s i tng ca
Kernel.
Vng v tn Task (Enless-Loop Task)
Mt cu trc Enless-Loop Task bao gm c phn code khi
to nhng phn khi to ch cn mt ln, sau s l vng lp v
tn.
Mt thnh phn khng th thiu ca vng lp v tn l mt
hay nhiu blocking call nm trong vng lp. Nhng blocking call
ny cho php cc Task c u tin thp hn c th chy c.
2. Tm hiu v SWI
2.1 nh ngha SWI
SWI (software interrupt) l mt ngt gy ra bi phn mm, thng l
bng mt chng trnh trong ch ngi dng.
2.2 u tin SWI trong h thng
H iu khin thi gian thc SVTH: Nhm 1
11
Hnh 10: u tin SWI trong h thng
CPU ch thc hin mt lnh mt thi im nn n ch c th tm ngng vic thc thi mt tin trnh ang chy thc thi mt tin trnh khc ri sau quay tr v thc thi tip tin trnh ang b tm ngng.
Khi mt ngt xut hin, vic thc thi trng trnh chnh tm thi b dng v CPU thc hin r nhnh n trnh phc v ngt ISR. Ta c th ni chng trnh chnh c thc thi mc nn cn ISR c thc thi mc ngt.
Mi mt nguyn nhn dn n ngt phi c thng qua thanh ghi cho php ngt IE (interrupt enable).
u tin ngt: Cc ngt c mc u tin cao hn s c phc v trc nh thanh ghi IP (interrupt priority).
2.3 Quy tc lp lch trnh (Scheduling Rules)
Hnh 11: Quy tc lp lch trnh
Biu di y cho thy u tin c sp xp theo th t tng dn t
di ln trn vi Hwi c u tin cao nht.
Trong hnh trn SWI c 2 qu trnh, swi_a (p1) v swi_b (p2) c u tin
cao hn.
Idle Task SWI HWI
Thi gian x l linh hot Thng t l khung hnh Chu k l mini giy Mc u tin
H iu khin thi gian thc SVTH: Nhm 1
12
Khi u swi_a ang trng thi running v sau Hwi yu cu mt ngt
swi_post (swi_b). Khi nhn c yu cu ngt t Hwi th lp tc swi_b t trng
thi ready chuyn sang trng thi running. Trong khi swi_a ang hng i
sn sng, khi tin trnh swi_b kt thc th swi_a s quay v trng thi running.
Hnh 12: K thut FIFO
Chin lc FIFO: CPU c cp pht cho tin trnh u tin trong danh
sch sn sng c yu cu, v ch c gii phng khi tin trnh t nguyn
hoc c mt yu cu xut nhp.
Sau khi Hwi gi yu cu ngt swi_post (swi_b) th CPU c tr li cho
swi_a (p1), trong khi swi_b vn trng thi ready v ch n khi swi_a thc
hin xong th swi_b mi chuyn sang trng thi running.
2.4 Cc bc x l trong h thng
Hnh 13: Cc bc x l trong h thng 3. ng c bc
3.1 Khi nim
ng c bc l mt thit b c - in dng bin i xung in mt chiu thnh chuyn ng quay c hc ri rc. Gc quay v tc quay tng ng vi s xung v tn s xung in cp cho ng c.
Mi vng quay ca trc ng c c thit lp bi mt s lng hu hn cc gc bc, l gc quay ca roto mi khi stato b o cc tnh.
3.2 Cu to
ng c bc c th c coi l tng hp ca hai loi ng c: ng c mt chiu khng tip xc v ng c ng b gim tc cng sut nh.
ng c bc c th c m t nh l mt ng c in khng dung chuyn mch.
INT! Hard R/T Process
Post Swi
Cleanup, RET
Swi Ready
Continue Processing
H iu khin thi gian thc SVTH: Nhm 1
13
C th, cc mu trong ng c l rotor v stato l cc nam chm vnh cu hoc trong trng hp ca ng c bin t tr n l nhng khi rng lm bng vt liu nh c t tnh, cho php chng quay kh nhanh v vi mt m iu khin thch hp cho php chng khi ng v dng li bt k v tr no ta mun mt cch d dng.
Hnh 14: Cu to ng c bc
3.3 Phn loi
ng c bc c th c phn loi da theo cu trc hoc cch qun cc cun dy trn stator. Da theo cu trc rotor, ng c bc c chia thnh 3 loi:
- ng c bc t tr bin thin. - ng c bc nam chm vnh cu. - ng c bc lai.
Da theo cc qun dy trn stator, ng c bc c chia thnh 2 loi: - ng c bc n cc. - ng c bc lng cc.
Ngoi ra, cc loi ny cn ri vo mt trong hai phng php cu to. Trong phng php th nht, rotor c cc rng bnh thng. Stator c cc rng tng t gi cc cun dy. Trong phng php th hai, mt rng ca rotor v stator c nhiu rng nh hn. u im ca rng nh ny l to ra cc gc bc nh hn.
3.4 u im v nhc im
u im: - Khi dng ng c bc khng cn mch phn hi cho iu khin v tr
v vn tc. - Thch hp vi cc thit b iu khin s vi kh nng iu khin s trc
tip. - D dng iu khin khi ng, dng v o chiu quay. - Khng c chi than nn lm vic tin cy.
Nhc im - Cng hng s xy ra khi iu khin khng ng cch. - Cng sut thp.
H iu khin thi gian thc SVTH: Nhm 1
14
4. Gii thiu v Kit Launchpad dng vi iu khin TivaC
Tiva C Series TM4C123G LaunchPad Evaluation Board l nn tng
dnh cho ARM Cortex-M4F. S dng chip TM4C123GH6PMI vi tnh
nng h tr USB 2.0, ch ng ng, module iu xung (MC PWM). Trn kit
c cc nt nhn, LED RGB, d dng np v debug chng trnh vi CCS hoc
IAR.
Mt s tnh nng c bn:
Chuyn ng kim sot PWM USB micro-ab kt ni:
Thit b ch cu hnh mc nh. My ch/OTG ch supportable.
Rgb dn ngi s dng. Hai ngi s dng cc thit b chuyn mch (ng dng/Wake) C sn I/O a ra tiu trn mt 0.1-in (2,54-mm) li Chuyn i-la chn ngun in:
ICDI
Thit b USB Chuyn i thit lp li Ci t sn rgb QuickStart ng dng c h tr bi Tivaware C lot phn mm bao gm th vin USB v
driver cc thit b ngoi vi. Tiva C lot TM4C123G b phng Boosterpack xl giao din, c tnh nng
Stackable tiu m rng kh nng ca cc Tiva C lot b phng nn tng pht trin.
Hnh 15: KIT Tiva C Launchpad
H iu khin thi gian thc SVTH: Nhm 1
15
II. Thit k
1. S khi
Hnh 16. S khi
2. Kt ni phn cng
KEY ni t port PA2 n PA5 ca Kit Tiva C. LED N ni t port PC4 n PC7 ca Kit Tiava C.
T KIT TIVA C ni t port PD0 n PD3 vi u vo MCH BO V (PC817).
u ra MCH BO V ni t chn 1 n chn 4 ca ULN2803 (mch m dng).
Chn 15 n chn 18 ca ULN2803 ni vi MOTOR BC.
3. Thit k phn cng
3.1 Phm nhn
Hnh 17. Khi phm nhn
H iu khin thi gian thc SVTH: Nhm 1
16
Chc nng:
A1 quay thun mt vng.
A2 quay nghch mt vng.
A3 quay nghch 900.
A4 quay thun 1800.
3.2 Led n
Hnh 18. Khi hin th
S dng 4 led n c tnh theo m nh phn hin th s vng quay ca motor bc. V d:
0001: gi tr mc nh. 0010: hin th m nh phn gi tr l 2. 0011: hin th m nh phn gi tr l 3.
H iu khin thi gian thc SVTH: Nhm 1
17
3.3 Mch bo v
Hnh 19. Khi mch bo v
Chc nng: bo v kit Tiva C.
3.4 Mch m dng
Hnh 20. Khi m dng
Chc nng: m dng cho motor bc.
H iu khin thi gian thc SVTH: Nhm 1
18
4. Phn mm CCS
Hnh 21. Giao din CCS (Code Composer Studio)
III. Code iu khin
/*
* ======== empty.c ========
*/
/* XDCtools Header files */
#include
#include
#include
/* BIOS Header files */
#include
/* TI-RTOS Header files */
#include
// #include
// #include
// #include
// #include
// #include
H iu khin thi gian thc SVTH: Nhm 1
19
/* Board Header file */
#include "Board.h"
// TivaWare Header Files
//------------------------------------------
#include
#include
#include "inc/hw_types.h"
#include "inc/hw_memmap.h"
#include "driverlib/sysctl.h"
#include "driverlib/gpio.h"
#include "inc/hw_ints.h"
#include "driverlib/interrupt.h"
#include "driverlib/timer.h"
#include "string.h"
//----------------------------------------
// Prototypes
//----------------------------------------
void hardware_init(void);
void quay(void);
void Timer_ISR(void);
//---------------------------------------
// Globals
//---------------------------------------
unsigned char code[]={0x08,0x0b,0x02,0x06,0x04,0x05,0x01,0x0a};
int i, k;
unsigned char key;
uint8_t ReadData;
H iu khin thi gian thc SVTH: Nhm 1
20
uint8_t ReadData2;
uint8_t ReadData3;
uint8_t ReadData4;
uint8_t ReadData5;
//---------------------------------------------------------------------------
// main()
//---------------------------------------------------------------------------
void main(void)
{
hardware_init(); // init hardware via Xware
BIOS_start();
}
//---------------------------------------------------------------------------
// hardware_init()
//
// inits GPIO pins for toggling the LED
//---------------------------------------------------------------------------
void hardware_init(void)
{
//Set CPU Clock to 40MHz. 400MHz PLL/2 = 200 DIV 5 = 40MHz
SysCtlClockSet(SYSCTL_SYSDIV_5|SYSCTL_USE_PLL|SYSCTL_XTAL_
16MHZ|SYSCTL_OSC_MAIN);
// setup PORT D 0,1,2,3 lam output motor
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOD);
GPIOPinTypeGPIOOutput(GPIO_PORTD_BASE,
GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3);
//pa
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOA);
//pa2
H iu khin thi gian thc SVTH: Nhm 1
21
GPIOPinTypeGPIOInput(GPIO_PORTA_BASE, GPIO_PIN_2); // Khai bao
chan PF4 la Input
GPIOPadConfigSet(GPIO_PORTA_BASE, GPIO_PIN_2,
GPIO_STRENGTH_2MA, GPIO_PIN_TYPE_STD_WPU);
//pa3
GPIOPinTypeGPIOInput(GPIO_PORTA_BASE, GPIO_PIN_3); // Khai bao
chan PF4 la Input
GPIOPadConfigSet(GPIO_PORTA_BASE, GPIO_PIN_3,
GPIO_STRENGTH_2MA, GPIO_PIN_TYPE_STD_WPU);
//pa4
GPIOPinTypeGPIOInput(GPIO_PORTA_BASE, GPIO_PIN_4); // Khai bao
chan PF4 la Input
GPIOPadConfigSet(GPIO_PORTA_BASE, GPIO_PIN_4,
GPIO_STRENGTH_2MA, GPIO_PIN_TYPE_STD_WPU);
//pa5
GPIOPinTypeGPIOInput(GPIO_PORTA_BASE, GPIO_PIN_5); // Khai bao
chan PF4 la Input
GPIOPadConfigSet(GPIO_PORTA_BASE, GPIO_PIN_5,
GPIO_STRENGTH_2MA, GPIO_PIN_TYPE_STD_WPU);
//timer for 500ms
uint32_t ui32Period;
SysCtlPeripheralEnable(SYSCTL_PERIPH_TIMER2); // enable Timer 2
periph clks
TimerConfigure(TIMER2_BASE, TIMER_CFG_PERIODIC); // cfg Timer 2
mode - periodic
ui32Period = (SysCtlClockGet() /2); // period = CPU clk div 2 (500ms)
TimerLoadSet(TIMER2_BASE, TIMER_A, ui32Period); // set Timer 2 period
TimerIntEnable(TIMER2_BASE, TIMER_TIMA_TIMEOUT); // enables
Timer 2 to interrupt CPU
TimerEnable(TIMER2_BASE, TIMER_A); // enable Timer 2
}
H iu khin thi gian thc SVTH: Nhm 1
22
void quay(){
//Semaphore_pend(LEDSem, BIOS_WAIT_FOREVER); // wait for Sem from
ISR
ReadData2 = GPIOPinRead(GPIO_PORTA_BASE, GPIO_PIN_2); // Doc gia
tri chan PA
ReadData3 = GPIOPinRead(GPIO_PORTA_BASE, GPIO_PIN_3); // Doc gia
tri chan PA
ReadData4 = GPIOPinRead(GPIO_PORTA_BASE, GPIO_PIN_4); // Doc gia
tri chan PA
ReadData5 = GPIOPinRead(GPIO_PORTA_BASE, GPIO_PIN_5); // Doc gia
tri chan PA
if ((ReadData2&0x04)==0) //quay thuan 1 vong
{
for(i=0;i0;i--){
int st=i%8;
GPIOPinWrite(GPIO_PORTD_BASE, 0x0f,code[st]&0x0f);
SysCtlDelay(80000);
}
}
else if ((ReadData4&0x10)==0)//quay thuan 1/2 vong
{
for(i=200;i>0;i--){
int st=i%8;
GPIOPinWrite(GPIO_PORTD_BASE, 0x0f,code[st]&0x0f);
H iu khin thi gian thc SVTH: Nhm 1
23
SysCtlDelay(80000);
}
}
else if ((ReadData5&0x20)==0)//quay thuan 1/4 vong
{
for(i=100;i>0;i--){
int st=i%8;
GPIOPinWrite(GPIO_PORTD_BASE, 0x0f,code[st]&0x0f);
SysCtlDelay(80000);
}
}
}
void Timer_ISR(void)
{
TimerIntClear(TIMER2_BASE, TIMER_TIMA_TIMEOUT); // must clear
timer flag FROM timer
Swi_post(mtstep);
}
Cc thnh phn:
HWI l Timer to xung 500ms post SWI.
SWI khi c gi th c cc ng vo. Xt iu kin cho motor quay.
H iu khin thi gian thc SVTH: Nhm 1
24
IV. Kt qu nh gi
1. Kt qu t c
Mch iu khin ng c bc hot ng tt, hon thnh yu cu ti t ra.
2. u im v hn ch:
u im:
Phn cng c thit k theo dng module nn d kim tra li.
Mch hot ng nhanh v chnh xc.
Hn ch:
Lp trnh trn phn mm CCS cn hn ch.
Phn cng cha ti u.
3. ngh
Cn nhiu thi gian hn tm hiu v ngn ng CCS trn Kit Tiva C
cng nh hot ng ca ng c bc v cc cch kt ni cn thit iu
khin c ng c bc.
CM N
Nhm xin chn thnh cm n s hng dn nhit tnh ca Thy Nguyn
Khc Nguyn hng dn tn tnh v gip nhm chng em trong qu trnh
thc hin n. Nhm cng xin cm n cc bn trong lp ng gp kin
v gii thch nhng ch cha hiu thc hin n ny.
TI LIU THAM KHO
http://www.ti.com/tool/ek-tm4c123gxl
http://www.ti.com/tool/CCSTUDIO
http://www.payitforward.edu.vn/wordpress/tutorials/arm-cortex-m4/
H iu khin thi gian thc SVTH: Nhm 1
25
BNG CNG VIC CA CC THNH VIN
BUI Thnh vin trong nhm
L Trng Giang Tng V Hi Nguyn Trng Minh
1 C C C
2 C C C
3 C C C
4 C C C
5 C C C
6 C C C
7 C C C
8 C C C
9 C C C
10 C C C
11 C C C
12 C C C
Thit k mch v lm mch thc t: Nguyn Trng Minh + Tng V Hi
Thuyt trnh: L Trng Giang
Bi bo co: Tng V Hi + L Trng Giang
Powerpoint: Nguyn Trng Minh
Vit code CCS: C nhm