ar1212020
(TAPIT)
GIOITHIEU
Cc ky thuat thiét ké ludng chong trinh cho hé thong nhung
éng thyc hign chyong trinh cho hé théng
nhing nhu: Polling, Interrupt, DMA, RTOS hode két hop céc phuon;
é k
C6 nhigu cach dé U
zg
phap trén Iai voi nhau, Bai viét nay sé gitp ede ban lam quen v6i cd
thugt thiét ké trén va nim duge cdc wu diém, nhuge diém cia méi
thugt d8 c6 thé Iya chon duge phwrong phép phi hgp cho hé théng cia
minh.
[HOC ONLINE: LAP TRINH VI DIEU KHIEN STM32, VI XU LY.
ARM CORTEX -M]
I. Phuong php Polling:
Bay la phuong phap pho bién nhdt ma ai ciing sit dung durge khi lp trinh
hing tir nhitng bai tap dau tién nhu nhdp nhay LED hay kiém tra trang,
théi mit nhén 48 digu khién LED. Véi polling moi cau lénh déu duge viet
trong him main() va cde vong lip vo han nhu while(1) hay for(;;) hay
loop() déi v6i Arduino. Cac khéi Iénh dim nhn mét chite ning eiia mot
hg théng s@ duge thye thi m6t cdch tuin ty bing cach kiém tra cde bién
trang théi, digu kign. CPU lién tue thye thi céc 1énh kiém tra, Phuong
phap nay phi hgp cho cae img dung don gian khong cé sy phan bigt vé
mite d6 wu tign gitta céc nhigm vu trong ting dung dé.
= Ui diém ciia Polling
Dé code, don gidn cho nhiing tg dung don gin
+ Dé debug, tim 15i, gidm sét qué trinh thyc hign cia chuong trinh
+ Cie hoat dng trong chung trinh 6 thé dé ding dye dodn duge
+ Cée tai nguyén duge str dung, chia sé gitta chite ning 1 rang.
—Nuegc diém.
Kho phat trién cho nhiing chuong trinh phite tap
+ Dap tg chim véi ca
Ludn luda tigu thy nang Ieng & mite cao nhat
phi thi nguy!
Polling
Flow chart
c sur kign
kha ning cia vi digu khién.
11, Phuong phap Interrupt
‘V6i Interrupt, phan cimg sé théng bio cho CPU biét vé mét yéu cau dich
vu (yéu cau ngiit — IRQ). Chuong trinh nén dang thye hién sé duge tam
‘ntps:Rapt viicac-ky-thualthiet-ke-uong-chuong-rinh-cho-thong-nhung!
DYAN BAOTAO
(Cac thud hid kd lung chyomg tinh cho he théng hing - TAPIT
Search
HOPTAC CONGDONG —LIENHE
Like Fanpage 48 cp nhat thong
tin!
G TAPIT - Leaming, Research @
‘Thich Tang AK inh
, TAPIT - Learning, Research and Sh
Community
vio Chi Nhe
(Chic mimg khéa hoc "Tri tué nha tao trong F
Thanh phé thong minh* da cién ra thanh cong
én canh céc chi 68 duge giang day bal cdc
va chuyén gia ti $6 Théng tn truyBn thong, D
Ning, Dai hoc quéc gia Ha NOI, Hoc vién Non
Vigtinam, Géng ty TNHH TAPIT cling Lab ngh
‘SmUZSMC efing 4 mang dn cho hgc gis rét
topic chat Ivong:
=Nnan dign Khun mgt va cm xic véi Al
=Xirly dnh voi Open CV, Python, va Google C
Ky thu. Xom thom
pr
Pee
Oe oy
Xem thém cdc bai viét tir TAPIT
Tim hiéu vé dinh dang cia mét sé géi tin
MaQTT
Giao thirc MQTT: Uu diém va ting dung
‘Thiét ké hé théng loT don gin dung giao
thirc MQTT két hop PHP-MySQL va
Nodeis
Tim higu v8 khung truy8n Modbus RTU
42oit2r2020
ngung dé thye thi chwong trinh phuc vu ngat (ISR) tuong tng voi yeu
cau diy. Sau khi thyc thi xong ISR thi chwong trinh s® quay vé thye thi
tiép chuong trinh nén. Phuong phdp Interrupt thuéng duge két hgp véi
phvong phap polling dé vi diéu khién cé thé lam nhiing vige khac ngoai
ISR hod c6 thé két hgp véi cdc ché d6 nang Iugng thdp dé tit kigm
ning lwgng cho hé théng. Ngit phii hop cho nhting Ging dung, chire nang
cdu dap img nhanh vé mit thoi gian, c6 46 wu tién thye thi cao.
Mot sé vi du don gidn véi ngit la cdc ban c6 thé phat hign ngudi ding
nhan niit ma khéng can phai lién tue kiém tra trang thai logic ciia chin
gan véi nat nhdn, hay cdc ban cé thé nhdp nhay LED 1 gidy bing cach sit
dung ngit timer thay vi céc ham delay thing thuéng.
— Un diém ctia ngdt:
+ Téc d6 dap tmg nhanh hon so véi polling
+ Cé thé sir dung ché d6 nang lugng thdp va ngit st danh thie CPU
+ Hé try Nested Interrupt (ngat c6 uu tién cao hon sé duge thye hign va
tam ngung thye thi n; thap hon).
— Khuyét diém.
+ Debug phite tap hon
+ Céc tai nguyén 6 thé duge str dung bat nga.
Interrupts
Flow chart
IIL. Phuong phap DMA
DMA 1a mt kj thudt truyén dit ligu ma khéng edn sy tham gia ctia CPU,
di ligu cé thé duge truyén gitta cde ngoai vi, gitta ngoai vi voi b6 nhé va
1b6 mhé véi bd nhé véi cdc kich c& o6 thé cdu hinh duge nhu byte, half-
word, word, DMA cé thé thong bao cho CPU biét 43 thye hign duge 1
nita qué trinh truyén hodc hoan thanh qué trinh truyén bing yéu cdu ngit.
Véi ché d9 circular ciia DMA cho phép dit igu duge cp nhat tai 1 vi tri
b6 nhé hoe mot ving nhé nhdt dinh, Cac duéng truyén DMA cé thé
duge cau hinh cde mic wu tién khae nhau,
= Ui diém cia phueomg phap DMA
+ Truyén dit ligu nhanh hon so véi sir dung CPU,
+ CPU 6 thé thyc thi cdc vige khdc trong khi dit ligu duge truyén, ting
téc d6 chung cua hé théng.
+ Cé kha nang tyr dong ting dja chi 6 ngoai vi hoa
Nhwoe diém:
+ Khéng phai dong vi diéu khign nao cing hé try DMA.
6 nhé dé hu tr.
Juong-chuong-tinh-cho-thong.-nhung!
(Cac thud hid kd tuéng chong tinh cho hé théng hing ~ TAPIT
LBiva cach khéc phuc khi str dung,
STM32CubeIDE dé lap trinh va debug cho
board STM32F 103 BluePill
Xem thém cdc chti dé khac
GIOITHIEU
by AN
DAOTAO
Khéa VOK MSP430
Khda Internet of Th
Khda lap trinh Arduino chuyén sau
Khéa Vi didu khidn STM32 - Vixirly
ARM CortexM
Khéa Xirly anh
Tailigu
Hoc vien
kidmtra
HOP TAC
CONG DONG
(Céccugec thi khoa hoc
Hei nghi - heithao
Hoat déng ngoai khda
HE THONG NHUNG
Vidibu khién
Vi diu khién MSP430
Vididu khién 161 ARM
Arduino Board
May tinh nhiing
INTERNET OF THING
Bluetooth
PHAN CUNG
Thidtké PCB
Thiétké. 3D
DSP-Al
LIEN HE
oy9r1212020 (Cac thud hid kd lung chyomg tinh cho he théng hing - TAPIT
Direct
Memory
Access
transfer Flow chart
complete IT
a
eed
Scum os
Pe)
eae)
Se eR eu
PN eats
aT ae
Pessoa
Cae
TV. Sir dung RTOS
Khéng nhat thiét phai sir dyng RTOS cho cdc img dung vita va nho,
hung sit dung RTOS sé lim don gin héa hitu ich cho nbimg chong
trinh phite tap, gitip churong trinh e6 t6 chite hon. Céc task etia RTOS s&
chia théi gian va chiém dung CPU va thyc thi m6t cach déng théi (nhin
vé mit cac task thi la dng théi, tuy nhién cac ban luu y ring, trong |
thi diém thi 1 CPU chi 6 thé thyc thi duge 1 lénh). C6 nhieu bin mign
phi cé thé str dung trén nhiéu dong Vi diéu khién nhu FreeRTOS.
= Uie diém ctia RTOS:
+ Don gid héa cée chuong trinh thite tap
+ Hé trg tot cho cée ting dung multitasking
+ Cé dinh duge bé nhé sit dung cho timg task.
Nhuegc diém:
+ Tén thém b9 nhé cho RTOS
RTOS
Flow chart
Initialization of
Cee eso)
Petal
arr)
ele)
RTOS
Bere
V. Két hyp cdc phuong phap trén
‘Thuéng thi cde chwong trinh sé két hyp nhiéu phuong php lai véi nhau
-ntps:!Rapt vaicac-ky-thualthiet-ke-luong-chuong-rinh-cho-thong-nnungl
aiaar1212020
t6t nat.
Chic cae ban thanh cong!
atapiT 19/07/2019
(Cac thud hid kd tuéng chuomg tinh cho hé théng hing ~ TAPIT
nh Polling + Interrupt, DMA hay RTOS + Interrupt dé khai théc durge
téi da vi diéu khién va xay dyng duge chuong trinh, hé théng mét cach
Nhém TAPIT R&D
| HE THONG NHUNG, Uncategorized, Vididu khidn, Vididu khidn 161 ARM.
PNoComments
—Hidu va doc gia tri ADC STM32F411 | BO chuyén di tin higu tong tw
86
‘Tim higuva str dung ctia timer trén STM32F 411 —
Facebook Comments:
Obinh tuan
Bi rremoinivan
Pug teh tag Facebook
Sp xép theo mot nt
CONG TY TNHH CONGBONGTAPIT CACLIEN KET LIEN HE
TAPIT ang « ,
- . CongdingTAPIT awe than css uuéctiochinneioaie ‘ME-Newén Hujmh hat
chugeaient doenn ede grb Heeb ucte sinh én vA icyngagiotgothvongauyén SET O8btaaLtA8
ign i; Cung cap dich vu tue
van, nghién ecu, thigt ké va.
thi cing cée gidi phap cong
rghé; Dong thai eé ede chung
teinh dio tao ky thuat ngin
han truc tigp cho sinh vien va
ky su.
@rapir2018
khoa hoc ky thuét khéc nhau.
én vai céng dng, ede thank
vign ciing hoc tap, nghién eu,
chia sé ede kien thie, kY nang
vva cée ca hdl phat trign ban
than.
‘ntps:Rapt viicac-ky-thualthiet-ke-uong-chuong-rinh-cho-thong-nhung!
enh Vi
0 hung dn ky thudt
(Chg Linh kign aig tr
nhatthuongqn@gmail.com
Facebook: Thuong Nguyen
TAPIT
Build the furure with us!
46