1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

ĐỒ án hệ THỐNG NHÚNG THIẾT kế ROBOT dò ĐƯỜNG TRONG mê CUNG đơn GIẢN

55 372 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 55
Dung lượng 2,01 MB

Nội dung

: ống nhúng ội dung ớc 4 dây step motorstandard memory layout.M t trong nh ng thành ph n chính c a lõi Cortex-M3 là NVIC Nestedội dung ữa ần cứng cơ bản ủa STM32Vector Interr

Trang 1

Đ TÀI Ề TÀI : THI T K ROBOT DÒ Đ ẾT KẾ ROBOT DÒ ĐƯỜNG TRONG MÊ ẾT KẾ ROBOT DÒ ĐƯỜNG TRONG MÊ ƯỜNG TRONG MÊ NG TRONG MÊ

CUNG Đ N GI N ƠN GIẢN ẢN

Trang 2

M c l c ục lục ục lục

CHƯƠN GIẢNNG 1 T NG QUANỔNG QUAN 4

I.GI I THI U V ROBOT T HÀNHỚI THIỆU VỀ ROBOT TỰ HÀNH ỆU VỀ ROBOT TỰ HÀNH Ề ROBOT TỰ HÀNH Ự HÀNH 4

1.1.M c tiêuục tiêu 6

1.2.N i dungội dung 6

CHƯƠN GIẢNNG II: CÁC THÀNH PH N VÀ C U TRÚC ROBOTẦN VÀ CẤU TRÚC ROBOT ẤU TRÚC ROBOT 7

I.VI X LÝ ARMỬ LÝ ARM 7

1.1.Cortex là gì? 7

1.2.M t vài đ c đi m n i b t c a STM32ội dung ặc điểm nổi bật của STM32 ểm nổi bật của STM32 ổi bật của STM32 ật của STM32 ủa STM32 10

1.3.Ki n trúc đến trúc đường ống ường ốngng ngống nhúng 11

1.4 Mô hình l p trình (programmer’s model)ật của STM32 12

1.5.Thanh ghi xPSR 13

1.6 B x lí Cortexội dung ử lí Cortex 14

1.7.Timer h th ng (system timer)ệ thống nhúng ống nhúng 15

1.8.X lí ng t (interrupt handling)ử lí Cortex ắt (interrupt handling) 15

1.9.B đi u khi n vector ng t l ng nhau (Nested Vector Interrupt ội dung ều khiển vector ngắt lồng nhau (Nested Vector Interrupt ểm nổi bật của STM32 ắt (interrupt handling) ồ án hệ thống nhúng Controller) 15

1.10.Ng t ngo i (EXTI)ắt (interrupt handling) ại (EXTI) 15

1.11 S đ ph n c ng c b nơ đồ phần cứng cơ bản ồ án hệ thống nhúng ần cứng cơ bản ứng cơ bản ơ đồ phần cứng cơ bản ản 17

1.12.Các c ng I/O đa d ngổi bật của STM32 ục tiêu 17

II C M BI N SIÊU ÂM SRF05ẢN ẾT KẾ ROBOT DÒ ĐƯỜNG TRONG MÊ 19

2.1.Ch đ 1ến trúc đường ống ội dung 19

2.2.Ch đ 2ến trúc đường ống ội dung 20

III M t s linh ki n khácội dung ống nhúng ệ thống nhúng 22

Trang 3

3.1 IC c u H (L293D)ần cứng cơ bản 22

3.2 Tranzitor C828 23

3.3 Đ ng c bội dung ơ đồ phần cứng cơ bản ước 4 dây (step motor)c 4 dây (step motor) 24

3.4 C u trúc c khí c a xeấu trúc cơ khí của xe ơ đồ phần cứng cơ bản ủa STM32 25

CHƯƠN GIẢNNG 3: THU T TOÁN DÒ ĐẬT TOÁN DÒ ĐƯỜNG – CODE ƯỜNG TRONG MÊNG – CODE

S N PH M VÀ NG D NGẢN ẨM VÀ ỨNG DỤNG ỨNG DỤNG ỤNG 27

I S Đ KH I T NG QUÁTƠN GIẢN Ồ KHỐI TỔNG QUÁT ỐI TỔNG QUÁT ỔNG QUAN 27

1.1.S đ kh i t ng quátơ đồ phần cứng cơ bản ồ án hệ thống nhúng ống nhúng ổi bật của STM32 27

1.2 Thu t toán dò đật của STM32 ường ống 28ng 1.3 L u đ thu t toánư ồ án hệ thống nhúng ật của STM32 29

1.4:Code 29

II.PHÁT TRI N VÀ NG D NGỂN VÀ ỨNG DỤNG ỨNG DỤNG ỤNG 50

III TÀI LI U THAM KH OỆU VỀ ROBOT TỰ HÀNH ẢN 51

Trang 4

CH ƯƠNG 1 TỔNG QUAN NG 1 T NG QUAN ỔNG QUAN

I.GI I THI U V ROBOT T HÀNH ỚI THIỆU VỀ ROBOT TỰ HÀNH ỆU VỀ ROBOT TỰ HÀNH Ề ROBOT TỰ HÀNH Ự HÀNH

Robot tự hành hay robot di đ ngội dung (mobile robots, thường ống đng ược g ic ọi t tắt (interrupt handling) là mobot) được đ nhc ịnh nghĩa là m tội dung lo i ại xe robot có khả năng tự d ch ịch chuy n, ển, tự v n ận độ

ng (có th l p trình l i đ ển, ận ại ược) dưới sự điều khiển tự động để thực hiện thành c) d ưới sự điều khiển tự động để thực hiện thành ự ều khiển tự động để thực hiện thành i s đi u khi n t đ ng đ th c hi n thành ển, ự ộ ển, ự ện thành công công vi c đ ện thành ược) dưới sự điều khiển tự động để thực hiện thành c giao.

Theo lý thuy t,ến trúc đường ống môi trường ống ho tng ại (EXTI) đ ngội dung c aủa STM32 robot tự hành có thểm nổi bật của STM32 là đ t,ấu trúc cơ khí của xe nưc,

ớc 4 dây (step motor) không khí, không gian vũ trục tiêu hay sự tổi bật của STM32 h pợc gi aữa chúng Đ aịnh hình bều khiển vector ngắt lồng nhau (Nested Vector Interrupt m tặc điểm nổi bật của STM32 mà robot di chuy nểm nổi bật của STM32 trên đó có thểm nổi bật của STM32 b ngằng ph ngẳng ho cặc điểm nổi bật của STM32 thay đ i,ổi bật của STM32 l iồ án hệ thống nhúng lõm Theo bội dung ph nật của STM32 t

h cự hi nệ thống nhúng chuy nểm nổi bật của STM32 đ ng,ội dung ta có thểm nổi bật của STM32 chia robot tự hành làm 2 l p:ớc 4 dây (step motor) chuy nểm nổi bật của STM32 đ ngội dung

bánh.Trong l pớc 4 dây (step motor) đ uần cứng cơ bản tiên, chuy nểm nổi bật của STM32 đ ngội dung có được nhờng ống các chân cơ đồ phần cứng cơ bản khí b tc ắt (interrupt handling) chước 4 dây (step motor) chc

uy nểm nổi bật của STM32 đ ngội dung c aủa STM32 con ngường ống và đ ngi ội dung v t.ật của STM32

Robot lo iại (EXTI) này có thểm nổi bật của STM32 di chuy nểm nổi bật của STM32 r tấu trúc cơ khí của xe t tống nhúng trên các đ nhịnh hình l iồ án hệ thống nhúng lõm, ph cứng cơ bản tại (EXTI)

p Tuy nhiên, cách ph i h p các chân cũng nh v n đ gi v ng t th là côngống nhúng ợc ư ấu trúc cơ khí của xe ều khiển vector ngắt lồng nhau (Nested Vector Interrupt ữa ữa ư ến trúc đường ống

vi c c c kì khó khăn L p còn l i (di chuy n b ng bánh) t ra th c t h n, chúngệ thống nhúng ự ớc 4 dây (step motor) ại (EXTI) ểm nổi bật của STM32 ằng ỏ ra thực tế hơn, chúng ự ến trúc đường ống ơ đồ phần cứng cơ bản

có th làm vi c t t trên h u h t các đ a hình do con ngểm nổi bật của STM32 ệ thống nhúng ống nhúng ần cứng cơ bản ến trúc đường ống ịnh ường ống ại (EXTI)i t o ra Đi u khi nều khiển vector ngắt lồng nhau (Nested Vector Interrupt ến trúc đường ốngrobot di chuy n b ng bánh cũng đ n gi n h n nhi u, g n nh luôn đ m b oểm nổi bật của STM32 ằng ơ đồ phần cứng cơ bản ản ơ đồ phần cứng cơ bản ều khiển vector ngắt lồng nhau (Nested Vector Interrupt ần cứng cơ bản ư ản ảntính n đ nh cho robot L p này có th chia thành 3 lo i: lo i chuy n đ ng b ngổi bật của STM32 ịnh ớc 4 dây (step motor) ểm nổi bật của STM32 ại (EXTI) ại (EXTI) ểm nổi bật của STM32 ội dung ằngbánh xe, lo i chuy n đ ng b ng vòng xích và lo i h n h p bánh và xích.ại (EXTI) ểm nổi bật của STM32 ội dung ằng ại (EXTI) ỗn hợp bánh và xích ợc

Ti m năng c a robot t hành là h t s c r ng l n Có th k đ n robot vânều khiển vector ngắt lồng nhau (Nested Vector Interrupt ủa STM32 ự ến trúc đường ống ứng cơ bản ội dung ớc 4 dây (step motor) ểm nổi bật của STM32 ểm nổi bật của STM32 ến trúc đường ốngchuy n v t li u, hàng hóa trong các nhà máy, tòa nhà, c a hàng, sân bay và thểm nổi bật của STM32 ật của STM32 ệ thống nhúng ủa STM32 ư

vi n; robot ph c v quét d n đệ thống nhúng ục tiêu ục tiêu ọi ường ốngng ph ; khoang chân không … M c dù ngống nhúng ặc điểm nổi bật của STM32 ứng cơ bản

d ng cao nh ng h n ch ch a gi i quy t đục tiêu ư ại (EXTI) ến trúc đường ống ư ản ến trúc đường ống ượcc c a robot t hành nh chi phíủa STM32 ự ư

ch t o, đã không cho phép chúng đến trúc đường ống ại (EXTI) ược ử lí Cortex ục tiêuc s d ng r ng rãi M t nhội dung ội dung ượcc đi m khácểm nổi bật của STM32

c a robot t hành ph i k đ n là còn thi u tính linh ho t và thích ng khi làmủa STM32 ự ản ểm nổi bật của STM32 ến trúc đường ống ến trúc đường ống ại (EXTI) ứng cơ bản

Trang 5

vi c nh ng v trí khác nhau Bài toán tìm đệ thống nhúng 5 ữa ịnh ường ốngng c a robot t hành cũng khôngủa STM32 ự

ph o là lo i bài toán đ n gi n nh nhi u ngản ại (EXTI) ơ đồ phần cứng cơ bản ản ư ều khiển vector ngắt lồng nhau (Nested Vector Interrupt ường ốngi nghĩ lúc ban đ u Trong đ ánần cứng cơ bản ồ án hệ thống nhúngmôn h c này, bài toán tìm đọi ường ốngng sẽ đượcc gi i quy t m c đ không quá ph cản ến trúc đường ống 5 ứng cơ bản ội dung ứng cơ bản

t p.ại (EXTI)

Hình 1.1 m t s hình nh v robot t hànhội dung ống nhúng ản ều khiển vector ngắt lồng nhau (Nested Vector Interrupt ựDò đường ốngng (navigation) là m t khoa h c d n hội dung ọi ẫn hướng robot tự hành di ước 4 dây (step motor)ng robot t hành diựchuy n trong không gian làm vi c c a nó Trong v n đ dò đểm nổi bật của STM32 ệ thống nhúng ủa STM32 ấu trúc cơ khí của xe ều khiển vector ngắt lồng nhau (Nested Vector Interrupt ường ốngng, bài toán đượccquan tâm nhi u nh t là tìm đều khiển vector ngắt lồng nhau (Nested Vector Interrupt ấu trúc cơ khí của xe ường ốngng v đích mà không ch m v t c n trên đều khiển vector ngắt lồng nhau (Nested Vector Interrupt ại (EXTI) ật của STM32 ản ường ốngng

đi Có hai bài toán tìm đường ốngng cho robot: bài toán c c b (local) và bài toán toànục tiêu ội dung

c c (global) Trong bài toán toàn c c, b n đ môi trục tiêu ục tiêu ản ồ án hệ thống nhúng ường ốngng làm vi c c a robotệ thống nhúng ủa STM32hoàn toàn bi t trến trúc đường ống ước 4 dây (step motor)c, v n đ chính là tìm đấu trúc cơ khí của xe ều khiển vector ngắt lồng nhau (Nested Vector Interrupt ượcc đường ốngng đi cho robot trước 4 dây (step motor)c khi nó

Trang 6

xu t phát bài toán c c b , môi trấu trúc cơ khí của xe 7 ục tiêu ội dung ường ốngng làm vi c c a robot ch a bi t ho c chệ thống nhúng ủa STM32 ư ến trúc đường ống ặc điểm nổi bật của STM32 ỉ

bi t 1 ph n, robot hoàn toàn ph i nh vào s c m nh n môi trến trúc đường ống ần cứng cơ bản ản ờng ống ự ản ật của STM32 ường ốngng thông qua

c m bi n g n trên nó đ dò đản ến trúc đường ống ắt (interrupt handling) ểm nổi bật của STM32 ường ốngng Bài toán toàn c c t rõ l i th là ta bi tục tiêu ỏ ra thực tế hơn, chúng ợc ến trúc đường ống ến trúc đường ống

trước 4 dây (step motor)c đường ốngng đi t i đích hay không trớc 4 dây (step motor) ước 4 dây (step motor)c khi robot kh i hành Tuy v y nó l i có5 ật của STM32 ại (EXTI)

h n ch t là đòi h i nhi u l nh tính toán và b nh , và đ c bi t tình hu ng x uại (EXTI) ến trúc đường ống ỏ ra thực tế hơn, chúng ều khiển vector ngắt lồng nhau (Nested Vector Interrupt ệ thống nhúng ội dung ớc 4 dây (step motor) ặc điểm nổi bật của STM32 ệ thống nhúng ống nhúng ấu trúc cơ khí của xe

có th x y ra n u b n đ môi trểm nổi bật của STM32 ản ến trúc đường ống ản ồ án hệ thống nhúng ường ốngng làm vi c không đệ thống nhúng ượcc khai báo chính xác,yêu c u bi t trần cứng cơ bản ến trúc đường ống ước 4 dây (step motor)c hoàn toàn môi trường ốngng làm vi c cũng là m t nhệ thống nhúng ội dung ượcc đi m c aểm nổi bật của STM32 ủa STM32

nó Trong khi đó, robot tìm đường ốngng c c bô ch bi t đục tiêu ỉ ến trúc đường ống ượcc thông tin xung quanh quasensor c m nh n môi trản ật của STM32 ường ốngng g n cùng Vì th , robot tìm đắt (interrupt handling) ến trúc đường ống ường ốngng c c b có thục tiêu ội dung ểm nổi bật của STM32không ho n thành vi c t i đích, khái ni m t i u không có ý nghĩa trong bài toánản ệ thống nhúng ớc 4 dây (step motor) ệ thống nhúng ống nhúng ưnày Tuy nhiên, dung lươ đồ phần cứng cơ bảnng b nh và khôi lội dung ớc 4 dây (step motor) ượcng tính toán l i th p Ngày nay,ại (EXTI) ấu trúc cơ khí của xecách ti p c n gi a c c b và toàn c c đang ngày càng ph bi n, giúp robot tến trúc đường ống ật của STM32 ữa ục tiêu ội dung ục tiêu ổi bật của STM32 ến trúc đường ống ựhành tăng tính linh ho t và hi u qu ại (EXTI) ệ thống nhúng ản

1.1.M c tiêu ục lục

M c tiêu c a đ tài là thi t k , thi công, đi u khi n robot t hành Robotục tiêu ủa STM32 ều khiển vector ngắt lồng nhau (Nested Vector Interrupt ến trúc đường ống ến trúc đường ống ều khiển vector ngắt lồng nhau (Nested Vector Interrupt ểm nổi bật của STM32 ự

t hành có th ho t đ ng n đ nh, t tìm đự ểm nổi bật của STM32 ại (EXTI) ội dung ổi bật của STM32 ịnh ự ường ốngng đi t i đích xác đ nh c a mêớc 4 dây (step motor) ịnh ủa STM32cung, có th h c nhanh chóng cách tìm đểm nổi bật của STM32 ọi ường ốngng đi khi thay đ i hình d ng mê cung,ổi bật của STM32 ại (EXTI)

s d ng thu t toán tìm ki m theo hử lí Cortex ục tiêu ật của STM32 ến trúc đường ống ước 4 dây (step motor)ng u tiên rẽ 1 hư ước 4 dây (step motor)ng trước 4 dây (step motor)c S d ng kitử lí Cortex ục tiêu

vi x lý đ x lý thu t toán dò đử lí Cortex ểm nổi bật của STM32 ử lí Cortex ật của STM32 ường ốngng

1.2.N i dung ội dung

N i dung nghiên c u: ội dung ứng cơ bản

Tìm hi u v kit arm cortex m3ểm nổi bật của STM32 ều khiển vector ngắt lồng nhau (Nested Vector Interrupt

Kh o sát phân tích t ng h p: phân tích cách th c ho t đ ng c a robot tản ổi bật của STM32 ợc ứng cơ bản ại (EXTI) ội dung ủa STM32 ựhành theo thi t k b ph n dò tìm.ến trúc đường ống ến trúc đường ống ội dung ật của STM32

Kh o sát tính kh thi c a thu t toán dò đản ản ủa STM32 ật của STM32 ường ốngng

Th c nghi m: ki m tra tính n đ nh c a robot, t i u codeự ệ thống nhúng ểm nổi bật của STM32 ổi bật của STM32 ịnh ủa STM32 ống nhúng ư

Đánh giá k t qu đ t đến trúc đường ống ản ại (EXTI) ượcc

Trang 8

CH ƯƠNG 1 TỔNG QUAN NG II: CÁC THÀNH PH N VÀ C U TRÚC ROBOT ẦN VÀ CẤU TRÚC ROBOT ẤU TRÚC ROBOT

I.VI X LÝ ARM Ử LÝ ARM

Trong vài năm tr l i đây, m t trong nh ng xu h5 ại (EXTI) ội dung ữa ước 4 dây (step motor)ng ch y u trong cácủa STM32 ến trúc đường ốngthi t k v i vi đi u khi n là s d ng các chíp ARM7 và ARM9 nh m t vi đi uến trúc đường ống ến trúc đường ống ớc 4 dây (step motor) ều khiển vector ngắt lồng nhau (Nested Vector Interrupt ểm nổi bật của STM32 ử lí Cortex ục tiêu ư ội dung ều khiển vector ngắt lồng nhau (Nested Vector Interrupt khi n đa d ng Ngày nay các nhà s n xu t IC đ a ra th trểm nổi bật của STM32 ục tiêu ản ấu trúc cơ khí của xe ư ịnh ường ốngng h n 240 dòng viơ đồ phần cứng cơ bản

đi u khi u s d ng lõi ARM T p đoàn ST Microelectronic v a cho ra m t dòngều khiển vector ngắt lồng nhau (Nested Vector Interrupt ểm nổi bật của STM32 ử lí Cortex ục tiêu ật của STM32 ừa cho ra mắt dòng ắt (interrupt handling)STM32, vi đi u khi n đ u tiên d a trên n n lõi ARM Cortex-M3 th h m i doều khiển vector ngắt lồng nhau (Nested Vector Interrupt ểm nổi bật của STM32 ần cứng cơ bản ự ều khiển vector ngắt lồng nhau (Nested Vector Interrupt ến trúc đường ống ệ thống nhúng ớc 4 dây (step motor)hãng ARM thi t k , lõi ARM Cortex-M3 là s c i ti n c a lõi ARM7 truy n th ng,ến trúc đường ống ến trúc đường ống ự ản ến trúc đường ống ủa STM32 ều khiển vector ngắt lồng nhau (Nested Vector Interrupt ống nhúng

t ng mang l i s thành công vang d i cho công ty ARM Dòng STM32 thi t l pừa cho ra mắt dòng ại (EXTI) ự ội dung ến trúc đường ống ật của STM32các tiêu chu n m i v hi u su t, chi phí, cũng nh kh năng đáp ng các ng: ớc 4 dây (step motor) ều khiển vector ngắt lồng nhau (Nested Vector Interrupt ệ thống nhúng ấu trúc cơ khí của xe ư ản ứng cơ bản ứng cơ bản

d ng tiêu th năng lục tiêu ục tiêu ượcng th p và tính đi u khi n th i gian th c kh t khe.ấu trúc cơ khí của xe ều khiển vector ngắt lồng nhau (Nested Vector Interrupt ểm nổi bật của STM32 ờng ống ự ắt (interrupt handling)

1.1.Cortex là gì?

Dòng ARM Cortex là m t b x lý th h m i đ a ra m t ki n trúc chu nội dung ội dung ử lí Cortex ến trúc đường ống ệ thống nhúng ớc 4 dây (step motor) ư ội dung ến trúc đường ống :cho nhu c u đa d ng v công ngh Không gi ng nh các chip ARM khác, dòngần cứng cơ bản ại (EXTI) ều khiển vector ngắt lồng nhau (Nested Vector Interrupt ệ thống nhúng ống nhúng ưCortex là m t lõi vi x lý hoàn thi n, đ a ra m t chu n CPU và ki n trúc hội dung ử lí Cortex ệ thống nhúng ư ội dung : ến trúc đường ống ệ thống nhúng

th ng chung Dòng Cortex g m có 3 phân nhánh chính: dòng A dành cho các ngống nhúng ồ án hệ thống nhúng ứng cơ bản

d ng cao c p, dòng R cho các ng d ng th i gian th c nh các đ u đ c và dòngục tiêu ấu trúc cơ khí của xe ứng cơ bản ục tiêu ờng ống ự ư ần cứng cơ bản ọi

M cho các ng d ng vi đi u khi n và chi phí th p STM32 đứng cơ bản ục tiêu ều khiển vector ngắt lồng nhau (Nested Vector Interrupt ểm nổi bật của STM32 ấu trúc cơ khí của xe ượcc thi t k d a trênến trúc đường ống ến trúc đường ống ựdòng Cortex-M3, dòng Cortex-M3 đượcc thi t k đ c bi t đ nâng cao hi u su tến trúc đường ống ến trúc đường ống ặc điểm nổi bật của STM32 ệ thống nhúng ểm nổi bật của STM32 ệ thống nhúng ấu trúc cơ khí của xe

h th ng, k t h p v i tiêu th năng lệ thống nhúng ống nhúng ến trúc đường ống ợc ớc 4 dây (step motor) ục tiêu ượcng th p, Cortex-M3 đấu trúc cơ khí của xe ượcc thi t k trênến trúc đường ống ến trúc đường ống

n n ki n trúc m i, do đó có chi phí s n xu t th p đ đ c nh tranh v i các dòngều khiển vector ngắt lồng nhau (Nested Vector Interrupt ến trúc đường ống ớc 4 dây (step motor) ản ấu trúc cơ khí của xe ấu trúc cơ khí của xe ủa STM32 ểm nổi bật của STM32 ại (EXTI) ớc 4 dây (step motor)

vi đi u khi n 8 và 16-bit truy n th ng.ều khiển vector ngắt lồng nhau (Nested Vector Interrupt ểm nổi bật của STM32 ều khiển vector ngắt lồng nhau (Nested Vector Interrupt ống nhúng

Các chip ARM7 và ARM9 đượcc các nhà s n xu t bán d n thi t k v i gi iản ấu trúc cơ khí của xe ẫn hướng robot tự hành di ến trúc đường ống ến trúc đường ống ớc 4 dây (step motor) ảnpháp riêng c a mình, đ c bi t là ph n x lý các ng t đ c bi t (exception) và cácủa STM32 ặc điểm nổi bật của STM32 ệ thống nhúng ần cứng cơ bản ử lí Cortex ắt (interrupt handling) ặc điểm nổi bật của STM32 ệ thống nhúng

ng t thông thắt (interrupt handling) ường ốngng (interrupt) Cortex-M3 đ a ra m t lõi vi đi u khi n chu nư ội dung ều khiển vector ngắt lồng nhau (Nested Vector Interrupt ểm nổi bật của STM32 :

nh m cung c p ph n t ng quát, quan tr ng nh t c a m t vi đi u khi n, baoằng ấu trúc cơ khí của xe ần cứng cơ bản ổi bật của STM32 ọi ấu trúc cơ khí của xe ủa STM32 ội dung ều khiển vector ngắt lồng nhau (Nested Vector Interrupt ểm nổi bật của STM32

g m h th ng ng t (interrupt system), SysTick timer (đồ án hệ thống nhúng ệ thống nhúng ống nhúng ắt (interrupt handling) ượcc thi t k cho h đi uến trúc đường ống ến trúc đường ống ệ thống nhúng ều khiển vector ngắt lồng nhau (Nested Vector Interrupt hành th i gian th c), h th ng ki m l i (debug system) và memory map, khôngờng ống ự ệ thống nhúng ống nhúng ến trúc đường ống ỗn hợp bánh và xích

Trang 9

gian đ a ch 4Gbyte c a Cortex-M3 định ỉ ủa STM32 ượcc chia thành các vùng cho mã chươ đồ phần cứng cơ bảnngtrình, SRAM, ngo i vi và ngo i vi h th ng Không gi ng v i ARM7 đại (EXTI) ại (EXTI) ệ thống nhúng ống nhúng ống nhúng ớc 4 dây (step motor) ượcc thi t kến trúc đường ống ến trúc đường ốngtheo ki n trúc Von-Neumann (b nh chến trúc đường ống ội dung ớc 4 dây (step motor) ươ đồ phần cứng cơ bảnng trình và b nh d li u chung v iội dung ứng cơ bản ữa ệ thống nhúng ớc 4 dây (step motor)nhau), Cortex-M3 đượcc thi t k theo ki n trúc Harvard (b nh chến trúc đường ống ến trúc đường ống ến trúc đường ống ội dung ớc 4 dây (step motor) ươ đồ phần cứng cơ bảnng trình và

b nh d li u đội dung ớc 4 dây (step motor) ữa ệ thống nhúng ượcc tách bi t v i nhau), và có nhi u bus cho phép th c hi n cácệ thống nhúng ớc 4 dây (step motor) ều khiển vector ngắt lồng nhau (Nested Vector Interrupt ự ệ thống nhúngthao tác song song v i nhau, do đó làm tăng hi u su t c a chip Không gi ng v iớc 4 dây (step motor) ệ thống nhúng ấu trúc cơ khí của xe ủa STM32 ống nhúng ớc 4 dây (step motor)các kiên trúc ARM trước 4 dây (step motor)c đó, dòng Cortex cho phép truy c p d li u không x pật của STM32 ữa ệ thống nhúng ến trúc đường ốnghàng (unaligned dât, vì chip ARM là ki n trúc 32-bit, do đó t t c các d li uến trúc đường ống ấu trúc cơ khí của xe ản ữa ệ thống nhúng

ho c mã chặc điểm nổi bật của STM32 ươ đồ phần cứng cơ bảnng trình đ u đều khiển vector ngắt lồng nhau (Nested Vector Interrupt ược ắt (interrupt handling)c s p x p khít v i vùng b nh là b i c a 4byte).ến trúc đường ống ớc 4 dây (step motor) ội dung ớc 4 dây (step motor) ội dung ủa STM32

Đ c đi m này cho phép s d ng hi u qu SRAM n i Dòng Cortex còn h trặc điểm nổi bật của STM32 ểm nổi bật của STM32 ử lí Cortex ục tiêu ệ thống nhúng ản ội dung ỗn hợp bánh và xích ợc

vi c đ t và xóa các bit bên trong hai vùng 1Mbyte c a b nh b ng phệ thống nhúng ặc điểm nổi bật của STM32 ủa STM32 ội dung ớc 4 dây (step motor) ằng ươ đồ phần cứng cơ bảnng pháp

g i là bit banding Đ c đi m này cho phép truy c p hi u qu t i các thanh ghiọi ặc điểm nổi bật của STM32 ểm nổi bật của STM32 ật của STM32 ệ thống nhúng ản ớc 4 dây (step motor)ngo i vi và các c đại (EXTI) ờng ống ượcc dùng trên b nh SRAM mà không c n m t b x lý lu nội dung ớc 4 dây (step motor) ần cứng cơ bản ội dung ội dung ử lí Cortex ật của STM32

lý (Boolean processor)

Hình 2.1 Ki n trúc vi x lý ARM Cortex-M3ến trúc đường ống ử lí Cortex

Kh i trung tâm c a STM32 là b x lý Cortex-M3 B x lý Cortex-M3 làống nhúng ủa STM32 ội dung ử lí Cortex ội dung ử lí Cortex

m t vi đi u khi n đội dung ều khiển vector ngắt lồng nhau (Nested Vector Interrupt ểm nổi bật của STM32 ượcc tiêu chu n hóa g m m t CPU 32-bit, c u trúc bus (bus: ồ án hệ thống nhúng ội dung ấu trúc cơ khí của xe

Trang 10

structure), đ n v x lý ng t có h tr tính năng l ng ng t vào nhau (nestedơ đồ phần cứng cơ bản ịnh ử lí Cortex ắt (interrupt handling) ỗn hợp bánh và xích ợc ồ án hệ thống nhúng ắt (interrupt handling)interrupt unit), h th ng ki m l i (debug system) và tiêu chu n b trí b nhệ thống nhúng ống nhúng ến trúc đường ống ỗn hợp bánh và xích : ống nhúng ội dung ớc 4 dây (step motor)(standard memory layout).

M t trong nh ng thành ph n chính c a lõi Cortex-M3 là NVIC (Nestedội dung ữa ần cứng cơ bản ủa STM32Vector Interrupt Controller) NVIC cung c p m t c u trúc ng t chu n cho t t cấu trúc cơ khí của xe ội dung ấu trúc cơ khí của xe ắt (interrupt handling) : ấu trúc cơ khí của xe ảncác vi đi u khi n đều khiển vector ngắt lồng nhau (Nested Vector Interrupt ểm nổi bật của STM32 ượcc thi t k d a trên lõi Cortex và cách x lý các ng t đ cến trúc đường ống ến trúc đường ống ự ử lí Cortex ắt (interrupt handling) ặc điểm nổi bật của STM32

bi t (exceptional interrupt) NVIC cung c p các vector ng t chuyên d ng lên t iệ thống nhúng ấu trúc cơ khí của xe ắt (interrupt handling) ục tiêu ớc 4 dây (step motor)

240 ngu n ng t t ngo i vi, m i ngu n ng t đó có th đồ án hệ thống nhúng ắt (interrupt handling) ừa cho ra mắt dòng ại (EXTI) ỗn hợp bánh và xích ồ án hệ thống nhúng ắt (interrupt handling) ểm nổi bật của STM32 ược ưc u tiên hóa v i cácớc 4 dây (step motor)

m c riêng bi t NVIC đư ệ thống nhúng ượcc thi t k đ x lý các ng t đòi h i th i gian đáp ngến trúc đường ống ến trúc đường ống ểm nổi bật của STM32 ử lí Cortex ắt (interrupt handling) ỏ ra thực tế hơn, chúng ờng ống ứng cơ bản

c c kì nhanh (extremely fast interrupt) Th i gian t lúc nh n m t tín hi u ng tự ờng ống ừa cho ra mắt dòng ật của STM32 ội dung ệ thống nhúng ắt (interrupt handling)cho t i khi th c thi dòng l nh đ u tiên trong trình ph c v ng t ch là 12 chu kìớc 4 dây (step motor) ự ệ thống nhúng ần cứng cơ bản ục tiêu ục tiêu ắt (interrupt handling) ỉxung nh p Công vi c này định ệ thống nhúng ượcc th c hi n t đ ng b i m t vi chự ệ thống nhúng ự ội dung 5 ội dung ươ đồ phần cứng cơ bảnng trình(microcode) đượcc cài s n trong CPU Trong trẵn trong CPU Trong trường hợp xuất hiện các interrupt ường ốngng h p xu t hi n các interruptợc ấu trúc cơ khí của xe ệ thống nhúng

l ng nhau (t c là x y ra ng t khi đang x lý ng t trồ án hệ thống nhúng ứng cơ bản ản ắt (interrupt handling) ử lí Cortex ắt (interrupt handling) ước 4 dây (step motor)c đó), NVIC s d ng m tử lí Cortex ục tiêu ội dung

phươ đồ phần cứng cơ bảnng pháp g i là “tail chain” cho phép ng t lien ti p đọi ắt (interrupt handling) ến trúc đường ống ượcc ph c v v i đ trục tiêu ục tiêu ớc 4 dây (step motor) ội dung ễ

nh ch chó 6 chu kì xung nh p Trong su t giai đo n l u tr d li u lên vùngỏ ra thực tế hơn, chúng ỉ ịnh ống nhúng ại (EXTI) ư ữa ữa ệ thống nhúng

nh stack đ b t đ u th c thi chớc 4 dây (step motor) ểm nổi bật của STM32 ắt (interrupt handling) ần cứng cơ bản ự ươ đồ phần cứng cơ bảnng trình ph c v ng t, m t ng t có m c uục tiêu ục tiêu ắt (interrupt handling) ội dung ắt (interrupt handling) ứng cơ bản ưtiên cao h n ng t hi n t i có th c nh tranh v i (pre-empt) ng t hi n t i màơ đồ phần cứng cơ bản ắt (interrupt handling) ệ thống nhúng ại (EXTI) ểm nổi bật của STM32 ại (EXTI) ớc 4 dây (step motor) ắt (interrupt handling) ệ thống nhúng ại (EXTI)không ch u b t kì s trì hoãn nào C u trúc ng t cũng đi kèm v i ch đ ti tịnh ấu trúc cơ khí của xe ự ấu trúc cơ khí của xe ắt (interrupt handling) ớc 4 dây (step motor) ến trúc đường ống ội dung ến trúc đường ống

ki m năng lệ thống nhúng ượcng c a trong lõi Cortex-M3 CPU có th đủa STM32 ểm nổi bật của STM32 ược ấu trúc cơ khí của xec c u hình t đ ng vàoự ội dung

ch đ ti t ki m năng lến trúc đường ống ội dung ến trúc đường ống ệ thống nhúng ượcng sau khi thoát kh i ng t Sau đó lõi ti p t c ng choỏ ra thực tế hơn, chúng ắt (interrupt handling) ến trúc đường ống ục tiêu ủa STM32

đ n khi m t exceptiong (ng t đ c bi t) xu t hi n.ến trúc đường ống ội dung ắt (interrupt handling) ặc điểm nổi bật của STM32 ệ thống nhúng ấu trúc cơ khí của xe ệ thống nhúng

M c dù Cortex-M3 đặc điểm nổi bật của STM32 ượcc thi t k là m t lõi chi phí th p (low cost core),ến trúc đường ống ến trúc đường ống ội dung ấu trúc cơ khí của xe

nh ng nó v n là m t CPU 32-bit và v n h tr hai ch đ ho t đ ng: Thread vàư ẫn hướng robot tự hành di ội dung ẫn hướng robot tự hành di ỗn hợp bánh và xích ợc ến trúc đường ống ội dung ại (EXTI) ội dungHander, m i ch đ có th đỗn hợp bánh và xích ến trúc đường ống ội dung ểm nổi bật của STM32 ược ấu trúc cơ khí của xec c u hình v i m i vùng stack riêng bi t c a nó,ớc 4 dây (step motor) ỗn hợp bánh và xích ệ thống nhúng ủa STM32

đi u này cho phép thi t k các ph n m m ph c t p và h tr các h đi u hànhều khiển vector ngắt lồng nhau (Nested Vector Interrupt ến trúc đường ống ến trúc đường ống ần cứng cơ bản ều khiển vector ngắt lồng nhau (Nested Vector Interrupt ứng cơ bản ại (EXTI) ỗn hợp bánh và xích ợc ệ thống nhúng ều khiển vector ngắt lồng nhau (Nested Vector Interrupt

th i gian th c Lõi Cortex có h tr m t timer 24-bit t đ ng n p l i giá tr , nóờng ống ự ỗn hợp bánh và xích ợc ội dung ự ội dung ại (EXTI) ại (EXTI) ịnhcũng sẽ cung c p m t ng t timer đ u đ n cho m t nh n RTOS (Real Timeấu trúc cơ khí của xe ội dung ắt (interrupt handling) ều khiển vector ngắt lồng nhau (Nested Vector Interrupt ặc điểm nổi bật của STM32 ội dung ật của STM32Operating System) Các chip ARM7 và ARM9 có hai t p l nh (t p l nh ARM 32-ật của STM32 ệ thống nhúng ật của STM32 ệ thống nhúng

Trang 11

bit và t p l nh Thumb 16-bit), trong khi đó dòng Cortex đật của STM32 ệ thống nhúng ượcc thi t k h tr t pến trúc đường ống ến trúc đường ống ỗn hợp bánh và xích ợc ật của STM32

l nh ARM Thumb-2, t p l nh này đệ thống nhúng ật của STM32 ệ thống nhúng ượcc pha tr n gi a t p l nh 16 và 32-bit,ội dung ữa ật của STM32 ệ thống nhúng

nh m đ t đằng ại (EXTI) ượcc hi u su t cao c a t p l nh ARM 32-bit v i m t đ mã chệ thống nhúng ấu trúc cơ khí của xe ủa STM32 ật của STM32 ệ thống nhúng ớc 4 dây (step motor) ật của STM32 ội dung ươ đồ phần cứng cơ bảnngtrình t i u c a t p l nh Thumb 16-bit T p l nh Thumb-2 đống nhúng ư ủa STM32 ật của STM32 ệ thống nhúng ật của STM32 ệ thống nhúng ượcc thi t k đ cến trúc đường ống ến trúc đường ống ặc điểm nổi bật của STM32

bi t dành cho trình biên d ch C/C++, t c là các ng d ng d a trên n n Cortexệ thống nhúng ịnh ứng cơ bản ứng cơ bản ục tiêu ự ều khiển vector ngắt lồng nhau (Nested Vector Interrupt hoàn toàn có th đểm nổi bật của STM32 ượcc vi t b ng ngôn ng C mà không c n đ n chến trúc đường ống ằng ữa ần cứng cơ bản ến trúc đường ống ươ đồ phần cứng cơ bảnng trình

kh i đ ng vi t b ng assembler nh ARM7 và ARM9.5 ội dung ến trúc đường ống ằng ư

1.2.M t vài đ c đi m n i b t c a STM32 ội dung ặc điểm nổi bật của STM32 ểm nổi bật của STM32 ổi bật của STM32 ật của STM32 ủa STM32

ST đã đ a ra th trư ịnh ường ốngng 4 dòng vi đi u khi n d a trên ARM7 và ARM9,ều khiển vector ngắt lồng nhau (Nested Vector Interrupt ểm nổi bật của STM32 ự

nh ng STM32 là m t bư ội dung ước 4 dây (step motor)c ti n quan tr ng trên đến trúc đường ống ọi ường ốngng cong chi phí và hi u su tệ thống nhúng ấu trúc cơ khí của xe(price/performace), giá ch g n 1 Euro v i s lỉ ần cứng cơ bản ớc 4 dây (step motor) ống nhúng ượcng l n, STM32 là s thách th cớc 4 dây (step motor) ự ứng cơ bản

th t s v i các vi đi u khi n 8 và 16-bit truy n th ng STM32 đ u tiên g m 14ật của STM32 ự ớc 4 dây (step motor) ều khiển vector ngắt lồng nhau (Nested Vector Interrupt ểm nổi bật của STM32 ều khiển vector ngắt lồng nhau (Nested Vector Interrupt ống nhúng ần cứng cơ bản ồ án hệ thống nhúng

bi n th khác nhau, đến trúc đường ống ểm nổi bật của STM32 ượcc phân thành hai nhóm: dòn performance có t n s ho tần cứng cơ bản ống nhúng ại (EXTI)

đ ng c a CPU lên t i 72Mhz và dòng Access có t n s ho t đ ng lên t i 36Mhz.ội dung ủa STM32 ớc 4 dây (step motor) ần cứng cơ bản ống nhúng ại (EXTI) ội dung ớc 4 dây (step motor)Các bi n th STM32 trong hai nhóm này tến trúc đường ống ểm nổi bật của STM32 ươ đồ phần cứng cơ bảnng thích ho t toàn v cách b tríại (EXTI) ều khiển vector ngắt lồng nhau (Nested Vector Interrupt ống nhúngchân (pin) và ph n m m, đ ng th i kích thần cứng cơ bản ều khiển vector ngắt lồng nhau (Nested Vector Interrupt ồ án hệ thống nhúng ờng ống ước 4 dây (step motor)c b nh Flash Rom có th lên t iội dung ớc 4 dây (step motor) ểm nổi bật của STM32 ớc 4 dây (step motor)128k và 20k SRAM

Hình 2.2 Ki n trúc STM32 nhánh performance và Accessến trúc đường ống

Trang 12

B x lí Cortex và đ n v x lí trung tâm Cortex sẽ đội dung ử lí Cortex ơ đồ phần cứng cơ bản ịnh ử lí Cortex ượcc x d ng đ phânử lí Cortex ục tiêu ểm nổi bật của STM32

bi t gi a nhúng lõi Cortex hoàn ch nh và b x lí trung tâm RISC n i (internalệ thống nhúng ữa ỉ ội dung ử lí Cortex ội dungRISC CPU)

Trang 13

1.3.Ki n trúc đ ến trúc đường ống ường ống ng ng ống

CPU Cortex có th th c thi h u h t các l nh trong m t chu kì đ n Gi ngểm nổi bật của STM32 ự ần cứng cơ bản ến trúc đường ống ệ thống nhúng ội dung ơ đồ phần cứng cơ bản ống nhúng

nh CPU c a ARM7/9, vi c th c thi này đ t đư ủa STM32 ệ thống nhúng ự ại (EXTI) ượcc v i m t đớc 4 dây (step motor) ội dung ường ốngng ng ba t ng.ống nhúng ần cứng cơ bảnTuy nhiên Cortex-M3 kh năng d đoán vi c rẽ nhánh đ gi m thi u s l n làmản ự ệ thống nhúng ểm nổi bật của STM32 ản ểm nổi bật của STM32 ống nhúng ần cứng cơ bản

r ng (flush) đỗn hợp bánh và xích ường ốngng ng.ống nhúng

Hình 2.3 Ki n trúc đến trúc đường ống ường ốngng ng c a ARM Cortex-M3ống nhúng ủa STM32Trong khi m t l nh đang đội dung ệ thống nhúng ượcc th c thi, thì l nh ti p theo đự ệ thống nhúng ến trúc đường ống ượcc gi i mã vàản

l nh ti p theo n a sẽ đệ thống nhúng ến trúc đường ống ữa ược ấu trúc cơ khí của xec l y v t b nh Phều khiển vector ngắt lồng nhau (Nested Vector Interrupt ừa cho ra mắt dòng ội dung ớc 4 dây (step motor) ươ đồ phần cứng cơ bảnng th c ho t đ ng này sẽứng cơ bản ại (EXTI) ội dungphát huy hi u qu t i đa cho mã tuy n tính (linear code), nh ng khi g p ph iệ thống nhúng ản ống nhúng ến trúc đường ống ư ặc điểm nổi bật của STM32 ản

m t rẽ nhánh (ví d nh c y trúc l nh if else) thì các đội dung ục tiêu ư ấu trúc cơ khí của xe ệ thống nhúng ường ốngng ng ph i đống nhúng ản ượcc làm

r ng (flush) và làm đ y (refill) trỗn hợp bánh và xích ần cứng cơ bản ước 4 dây (step motor)c khi mã có th ti p t c th c thi V i CPU c aểm nổi bật của STM32 ến trúc đường ống ục tiêu ự ớc 4 dây (step motor) ủa STM32ARM7/9, vi c rẽ nhánh là r t t n kém v m t hi u su t mã (code performance).ệ thống nhúng ấu trúc cơ khí của xe ống nhúng ều khiển vector ngắt lồng nhau (Nested Vector Interrupt ặc điểm nổi bật của STM32 ệ thống nhúng ấu trúc cơ khí của xeTrong CPU Cortex có đường ốngng ng ba t ng đống nhúng ần cứng cơ bản ượcc tăng cường ốngng kh năng d đoán rẽản ựnhánh, có nghĩa r ng khi m t l nh rẽ nhánh có đi u ki n xu t hi n, m t thao tácằng ội dung ệ thống nhúng ều khiển vector ngắt lồng nhau (Nested Vector Interrupt ệ thống nhúng ấu trúc cơ khí của xe ệ thống nhúng ội dung

l y l nh d a trên suy đoán đấu trúc cơ khí của xe ệ thống nhúng ự ượcc th c hi n, do đó l nh rẽ nhánh có đi u ki nự ệ thống nhúng ệ thống nhúng ều khiển vector ngắt lồng nhau (Nested Vector Interrupt ệ thống nhúng

s n sàng đ th c hi n mà không c n ch u them m t thao tác nào Trẵn trong CPU Trong trường hợp xuất hiện các interrupt ểm nổi bật của STM32 ự ệ thống nhúng ần cứng cơ bản ịnh ội dung ường ốngng h pợc

x u nh t khi g p m t l nh rẽ nhánh gián ti p, khi đó không th th c hi n l yấu trúc cơ khí của xe ấu trúc cơ khí của xe ặc điểm nổi bật của STM32 ội dung ệ thống nhúng ến trúc đường ống ểm nổi bật của STM32 ự ệ thống nhúng ấu trúc cơ khí của xe

l nh d a trên vi c suy đoán, do đó ph i làm r ng đệ thống nhúng ự ệ thống nhúng ản ỗn hợp bánh và xích ường ốngng ng d n Ki n trúcống nhúng ẫn hướng robot tự hành di ến trúc đường ống

đường ốngng ng là chìa khóa d n đ n hi u su t t ng th c a CPU Cortex, vì v yống nhúng ẫn hướng robot tự hành di ến trúc đường ống ệ thống nhúng ấu trúc cơ khí của xe ổi bật của STM32 ểm nổi bật của STM32 ủa STM32 ật của STM32không c n b t kì cân nh c, xem xét đ c bi t nào đần cứng cơ bản ấu trúc cơ khí của xe ắt (interrupt handling) ặc điểm nổi bật của STM32 ệ thống nhúng ượcc th c hi n trong mã ngự ệ thống nhúng ứng cơ bản

d ng.ục tiêu

Trang 14

1.4 Mô hình l p trình (programmer’s model) ật của STM32

CPU Cortex là b x lí d a trên ki n trúc RISC, do đó h tr ki n trúc n pội dung ử lí Cortex ự ến trúc đường ống ỗn hợp bánh và xích ợc ến trúc đường ống ại (EXTI)và l u tr (load and store architecture) Đ th c hi n l nh x lí d li u, các toánư ữa ểm nổi bật của STM32 ự ệ thống nhúng ệ thống nhúng ử lí Cortex ữa ệ thống nhúng

h ng ph i đại (EXTI) ản ượcc n p vào m t t p thanh ghi trung tâm, các phép tính d li u ph iại (EXTI) ội dung ật của STM32 ữa ệ thống nhúng ản

đượcc th c hi n trên các thanh ghi này và k t qu sau đó đự ệ thống nhúng ến trúc đường ống ản ược ư ại (EXTI)c l u l i trong bội dung

nh ớc 4 dây (step motor)

Hình 2.4 Ki n trúc load and store c a ARM Cortex-M3ến trúc đường ống ủa STM32

Do v y t t c các ho t đ ng c a chật của STM32 ấu trúc cơ khí của xe ản ại (EXTI) ội dung ủa STM32 ươ đồ phần cứng cơ bảnng trình t p trung xung quanh t pật của STM32 ật của STM32thanh ghi c a CPU T p thanh ghi này bao g m 16 thanh ghi 32-bit Các thanh ghiủa STM32 ật của STM32 ồ án hệ thống nhúngR0-12 là các thanh ghi đ n gi n, có th đơ đồ phần cứng cơ bản ản ểm nổi bật của STM32 ượcc dùng đ ch a các bi n c a chểm nổi bật của STM32 ứng cơ bản ến trúc đường ống ủa STM32 ươ đồ phần cứng cơ bảnngtrình Các thanh ghi R13-15 có ch c năng đ c bi t trong CPU Cortex Thanh ghiứng cơ bản ặc điểm nổi bật của STM32 ệ thống nhúngR13 là con tr ngăn x p (stack pointer) Thanh ghi này đỏ ra thực tế hơn, chúng ến trúc đường ống ượcc chia thành nhóm(banked), cho phép CPU Cortex có hai ch đ ho t đ ng, m i ch đ có khôngến trúc đường ống ội dung ại (EXTI) ội dung ỗn hợp bánh và xích ến trúc đường ống ội dunggian ngăn x p riêng bi t Đ c đi m này thến trúc đường ống ệ thống nhúng ặc điểm nổi bật của STM32 ểm nổi bật của STM32 ường ốngng đượcc h đi u hành th i gianệ thống nhúng ều khiển vector ngắt lồng nhau (Nested Vector Interrupt ờng ống

th c (Real Time Operating System) s d ng đ có th ch y mã h th ng c aư ử lí Cortex ục tiêu ểm nổi bật của STM32 ểm nổi bật của STM32 ại (EXTI) ệ thống nhúng ống nhúng ủa STM32mình trong m t ch đ b o v Trong CPU Cortex có hai ngăn x p đội dung ến trúc đường ống ội dung ản ệ thống nhúng ến trúc đường ống ượcc g i làọimain stack và process stack Thanh ghi R14 ti p theo đến trúc đường ống ượcc g i là thanh ghi lienọi

k t (link register) Thanh ghi này đến trúc đường ống ược ử lí Cortex ục tiêuc s d ng đ l u tr các đ a ch tr v khiểm nổi bật của STM32 ư ữa ịnh ỉ ỏ ra thực tế hơn, chúng ều khiển vector ngắt lồng nhau (Nested Vector Interrupt

m t cu c g i th t c (call a procedure) đội dung ội dung ọi ủa STM32 ục tiêu ượcc th c hi n Đi u này cho phép CPUự ệ thống nhúng ều khiển vector ngắt lồng nhau (Nested Vector Interrupt Cortex th c hi n r nhanh vi c nh p và thoát kh i m t th t c (fast entry andự ệ thống nhúng ấu trúc cơ khí của xe ệ thống nhúng ật của STM32 ỏ ra thực tế hơn, chúng ội dung ủa STM32 ục tiêuexit to a procedure) N u chến trúc đường ống ươ đồ phần cứng cơ bảnng trình c a b n g i sâu vào nhi u l p chủa STM32 ại (EXTI) ọi ều khiển vector ngắt lồng nhau (Nested Vector Interrupt ớc 4 dây (step motor) ươ đồ phần cứng cơ bảnngtrình con, trình biên d ch sẽ t đ ng l u R14 trên ngăn x p Thanh ghi cu i cùngịnh ự ội dung ư ến trúc đường ống ống nhúngR15 là b đ m chội dung ến trúc đường ống ươ đồ phần cứng cơ bảnng trình (program counter), nó là m t ph n c a t p thanhội dung ần cứng cơ bản ủa STM32 ật của STM32ghi trung tâm nó có th đểm nổi bật của STM32 ượcc đ c và thao tác gi ng nh b t kỳ thanh ghi khác.ọi ống nhúng ư ấu trúc cơ khí của xe

Trang 15

Hình 2.5 Mô hình l p trình c a ARM Cortex-M3ật của STM32 ủa STM32

vi c th c thi c a CPU Cortex.ệ thống nhúng ự ủa STM32

Hình 2.6 Thanh ghi tr ng thái chại (EXTI) ươ đồ phần cứng cơ bảnng trình c a CPU Cortexủa STM32Thanh ghi xPSR cũng có th đểm nổi bật của STM32 ượcc truy c p thông qua ba bi t hiêu đ c bi tật của STM32 ệ thống nhúng ặc điểm nổi bật của STM32 ệ thống nhúng(special alias names) cho phép truy c p vào các bit trong xPSR Năm bit đ u làật của STM32 ần cứng cơ bản

nh ng c mã đi u ki n và đữa ờng ống ều khiển vector ngắt lồng nhau (Nested Vector Interrupt ệ thống nhúng ượcc gán bi t hi u (aliased) nh thanh ghi tr ng tháiệ thống nhúng ệ thống nhúng ư ại (EXTI)

chươ đồ phần cứng cơ bảnng trình ng d ng B n c N,Z,C,V (Negative, Zero, Cary và Overflow) sẽứng cơ bản ục tiêu ống nhúng ờng ống

đượcc thi t l p và xóa tùy thu c vào k t qu c a m t l nh x lí d li u Bit Q làến trúc đường ống ật của STM32 ội dung ến trúc đường ống ản ủa STM32 ội dung ệ thống nhúng ử lí Cortex ữa ệ thống nhúng

được ử lí Cortex ục tiêuc s d ng b i các l nh toán h c DPS đ ch ra r ng m t bi n đã đ t giá tr5 ệ thống nhúng ọi ểm nổi bật của STM32 ỉ ằng ội dung ến trúc đường ống ại (EXTI) ịnh

t i đa ho c giá tr t i thi u c a nó Gi ng nh t p l nh ARM 32-bit, các l nhống nhúng ặc điểm nổi bật của STM32 ịnh ống nhúng ểm nổi bật của STM32 ủa STM32 ống nhúng ư ật của STM32 ệ thống nhúng ệ thống nhúngThumb-2 ch đỉ ươ đồ phần cứng cơ bảnc th c hi n n u mã đi u ki n c a l nh phù h p v i tr ng tháiự ến trúc đường ống ến trúc đường ống ều khiển vector ngắt lồng nhau (Nested Vector Interrupt ệ thống nhúng ủa STM32 ệ thống nhúng ợc ớc 4 dây (step motor) ại (EXTI)

c a các c trong thanh ghi tr ng thái chủa STM32 ờng ống ại (EXTI) ươ đồ phần cứng cơ bảnng trình ng d ng (applicationứng cơ bản ục tiêuprogram status register) N u mã đi u ki n c a l nh không phù h p, thì l nh điến trúc đường ống ều khiển vector ngắt lồng nhau (Nested Vector Interrupt ệ thống nhúng ủa STM32 ệ thống nhúng ợc ệ thống nhúngngang qua đường ốngng ng nh là m t l nh NOP (l nh này không làm gì c ) Đi u nàyống nhúng ư ội dung ệ thống nhúng ệ thống nhúng ản ều khiển vector ngắt lồng nhau (Nested Vector Interrupt

đ m b o r ng các l nh đi qua đản ản ằng ệ thống nhúng ường ốngng ng m t cách tr n tru và gi m thi u làmống nhúng ội dung ơ đồ phần cứng cơ bản ản ều khiển vector ngắt lồng nhau (Nested Vector Interrupt

r ng đỗn hợp bánh và xích ường ốngng ng Trong CPU Cortex, ki thu t này đống nhúng ật của STM32 ượcc m r ng v i thanh ghi5 ội dung ớc 4 dây (step motor)

Trang 16

trang thái chươ đồ phần cứng cơ bảnng trình th c thi Đây là m t bi t hi u c a bit các bit t 8-26 c aự ội dung ệ thống nhúng ệ thống nhúng ủa STM32 ừa cho ra mắt dòng ủa STM32xPSR Nó g m ba trồ án hệ thống nhúng ường ốngng: trường ốngng ‘if then”, trường ốngng “interrupt continuableinstruction” và trường ốngng l nh thumb L nh Thumb-2 có m t phệ thống nhúng ệ thống nhúng ội dung ươ đồ phần cứng cơ bảnng pháp hi uệ thống nhúng

qu khi th c hi n các kh i l nh nh “if then” Khi có m t ki m tra là đúng nó cóản ự ệ thống nhúng ống nhúng ệ thống nhúng ỏ ra thực tế hơn, chúng ội dung ểm nổi bật của STM32

th thi t l p m t giá tr trong vung IT, báo cho CPU th c thi b n l nh N u vi cểm nổi bật của STM32 ến trúc đường ống ật của STM32 ội dung ịnh ự ống nhúng ệ thống nhúng ến trúc đường ống ệ thống nhúng

ki m tra đi u ki n sai, các l nh này sẽ đi qua đểm nổi bật của STM32 ều khiển vector ngắt lồng nhau (Nested Vector Interrupt ệ thống nhúng ệ thống nhúng ường ống'ng ng nh m t l nh NOP Vìống nhúng ư ội dung ệ thống nhúng

v y, m t dòng l nh C đi n hình sẽ đật của STM32 ội dung ệ thống nhúng ểm nổi bật của STM32 ượcc mã hóa nh sau:ư

H u h t các l nh Thumb-2 th c thi trong m t chu kì đ n, m t s khácần cứng cơ bản ến trúc đường ống ệ thống nhúng ự ội dung ơ đồ phần cứng cơ bản ội dung ống nhúng(nh l nh load và store) c n nhi u chu kì Vì v y, đ CPU Cortex có th có m tư ệ thống nhúng ần cứng cơ bản ều khiển vector ngắt lồng nhau (Nested Vector Interrupt ật của STM32 ểm nổi bật của STM32 ểm nổi bật của STM32 ội dung

th i gian đáp ng ng t xác đ nh, các l nh c n nhi u chu kì th c thi ph i đờng ống ứng cơ bản ắt (interrupt handling) ịnh ệ thống nhúng ần cứng cơ bản ều khiển vector ngắt lồng nhau (Nested Vector Interrupt ư ản ươ đồ phần cứng cơ bảnc

ng t Khi m t l nh ch m d t s m, vùng ICI (interrupt continuable instruction)ắt (interrupt handling) ội dung ệ thống nhúng ấu trúc cơ khí của xe ứng cơ bản ớc 4 dây (step motor)trong thanh ghi xPSR sẽ l u l i s các thanh ghi ti p theo đư ại (EXTI) ống nhúng ến trúc đường ống ượcc dùng trong l nhệ thống nhúngload ho c store nhi u d li u cùng lúc Vì v y, m t khi ng t đặc điểm nổi bật của STM32 ều khiển vector ngắt lồng nhau (Nested Vector Interrupt ữa ệ thống nhúng ật của STM32 ội dung ắt (interrupt handling) ượcc ph c v , l nhục tiêu ục tiêu ệ thống nhúngload/store b ng t trịnh ắt (interrupt handling) ước 4 dây (step motor)c đó có th ti p t c đểm nổi bật của STM32 ến trúc đường ống ục tiêu ượcc th c hi n Trự ệ thống nhúng ường ốngng Thumb cu iống nhúngcùng đượcc th a hừa cho ra mắt dòng ư5ng t phiên b n CPU ARM trừa cho ra mắt dòng ản ước 4 dây (step motor)c đó

1.6 B x lí Cortex ội dung ử lí Cortex

B x lí cortex-M3 đội dung ử lí Cortex ượcc thi t k d a trên ki n trúc Harvad v i bus mã vàến trúc đường ống ến trúc đường ống ự ến trúc đường ống ớc 4 dây (step motor)bus d li u riêng bi t Chúng đữa ệ thống nhúng ệ thống nhúng ược ọic g i là bus I-code và D-code C hai đ u có thản ều khiển vector ngắt lồng nhau (Nested Vector Interrupt ểm nổi bật của STM32truy c p mã và d li u trong ph m vi b nh t 0x00000000-0x1fffffff M t busật của STM32 ữa ệ thống nhúng ại (EXTI) ội dung ớc 4 dây (step motor) ừa cho ra mắt dòng ội dung

h th ng b sung đệ thống nhúng ống nhúng ổi bật của STM32 ượcc s d ng đ truy c p vào không gian đi u khi n hử lí Cortex ục tiêu ểm nổi bật của STM32 ật của STM32 ều khiển vector ngắt lồng nhau (Nested Vector Interrupt ểm nổi bật của STM32 ệ thống nhúng

th ng Cortex trong ph m vi 0x20000000-0xdfffffff và 0xe0100000-0xffffffff Hống nhúng ại (EXTI) ệ thống nhúng

th ng g l i trên chip c a Cortex có them m t c u trúc bus đống nhúng = ỗn hợp bánh và xích ủa STM32 ội dung ấu trúc cơ khí của xe ượcc g i là busọingo i vi riêng.ại (EXTI)

Bus h th ng và bus d li u đệ thống nhúng ống nhúng ữa ệ thống nhúng ượcc k t n i v i vi đi u khi n bên ngoàiến trúc đường ống ống nhúng ớc 4 dây (step motor) ều khiển vector ngắt lồng nhau (Nested Vector Interrupt ểm nổi bật của STM32thông qua m t t p các bus t c đ cao đội dung ật của STM32 ống nhúng ội dung ượcc s p x p nh m t ma tr n bus Nóắt (interrupt handling) ến trúc đường ống ư ội dung ật của STM32

Trang 17

cho phép m t s đội dung ống nhúng ường ốngng d n song song gi a bus Cortex và bus ch khác bênẫn hướng robot tự hành di ữa ủa STM32ngoài.

1.7.Timer h th ng (system timer) ệ thống (system timer) ống

Lõi cortex có m t b đ m xu ng 24-bit, v i tính nhăng t đ ng n p l i giáội dung ội dung ến trúc đường ống ống nhúng ớc 4 dây (step motor) ự ội dung ại (EXTI) ại (EXTI)

tr b đ m và t o s ki n ng t khi đ m xu ng zero.nó định ội dung ến trúc đường ống ại (EXTI) ự ệ thống nhúng ắt (interrupt handling) ến trúc đường ống ống nhúng ược ại (EXTI)c t o ra v i d ng ýớc 4 dây (step motor) ục tiêucung c p m t b đ m th i gian chu n cho t t c các vi đi u khi n d a trênấu trúc cơ khí của xe ội dung ội dung ến trúc đường ống ờng ống : ấu trúc cơ khí của xe ản ều khiển vector ngắt lồng nhau (Nested Vector Interrupt ểm nổi bật của STM32 ựcortex Đ ng h SysTick đồ án hệ thống nhúng ồ án hệ thống nhúng ược ử lí Cortex ục tiêuc s d ng đ cung c p m t nh p đ p h th ng choểm nổi bật của STM32 ấu trúc cơ khí của xe ội dung ịnh ật của STM32 ệ thống nhúng ống nhúng

m t RTOS, ho c đ t o ra m t ng t có tính chu kì đ ph c v cho các tác vội dung ặc điểm nổi bật của STM32 ểm nổi bật của STM32 ại (EXTI) ội dung ắt (interrupt handling) ểm nổi bật của STM32 ục tiêu ục tiêu ục tiêu

được ật của STM32 ịnhc l p l ch B ng cách thi t l p bit CLKSOURCE, đ ng h SysTick sẽ ch y ằng ến trúc đường ống ật của STM32 ồ án hệ thống nhúng ồ án hệ thống nhúng ại (EXTI) 5

t n s đúng b ng t n s ho t đ ng c a CPU Khi bit này đần cứng cơ bản ống nhúng ằng ần cứng cơ bản ống nhúng ại (EXTI) ội dung ủa STM32 ượcc xóa, SysTick sẽ

ch y t n s b ng 1/8 CPU.ại (EXTI) 5 ần cứng cơ bản ống nhúng ằng

Đ ng h SysTick có ba thanh ghi Giá tr hi n t i và giá tr t i (currentồ án hệ thống nhúng ồ án hệ thống nhúng ịnh ệ thống nhúng ại (EXTI) ịnh ảnvalue và reload value) nên đượcc kh i t o v i chu kì đ m Thanh ghi tr ng thái và5 ại (EXTI) ớc 4 dây (step motor) ến trúc đường ống ại (EXTI)

đi u khi n có m t bit cho phép (enable bit) đ b t đ u ch y b đ m th i gianều khiển vector ngắt lồng nhau (Nested Vector Interrupt ểm nổi bật của STM32 ội dung ểm nổi bật của STM32 ắt (interrupt handling) ần cứng cơ bản ại (EXTI) ội dung ến trúc đường ống ờng ốngvà m t bit TICKINT cho phép tín hi u ng t ội dung ệ thống nhúng ắt (interrupt handling)

1.8.X lí ng t (interrupt handling) ử lí Cortex ắt (interrupt handling)

Th i gian đ th c hi n vi c ch m d t hay h y b m t l nh đang th c thiờng ống ểm nổi bật của STM32 ự ệ thống nhúng ệ thống nhúng ấu trúc cơ khí của xe ứng cơ bản ủa STM32 ỏ ra thực tế hơn, chúng ội dung ệ thống nhúng ựkhi x y ra ng t là không xác đ nh C c u ng t c a ARM7/9 không h tr ng tản ắt (interrupt handling) ịnh ơ đồ phần cứng cơ bản ấu trúc cơ khí của xe ắt (interrupt handling) ủa STM32 ỗn hợp bánh và xích ợc ắt (interrupt handling)

l ng nhau mà c n có s h tr c a ph n m m.ồ án hệ thống nhúng ần cứng cơ bản ự ỗn hợp bánh và xích ợc ủa STM32 ần cứng cơ bản ều khiển vector ngắt lồng nhau (Nested Vector Interrupt

1.9.B đi u khi n vector ng t l ng nhau (Nested Vector Interrupt ội dung ều khiển vector ngắt lồng nhau (Nested Vector Interrupt ểm nổi bật của STM32 ắt (interrupt handling) ồng nhau (Nested Vector Interrupt Controller)

NVIC là m t đ n v tiêu chu n trong lõi Cortex T t c c vi đi u khi nội dung ơ đồ phần cứng cơ bản ịnh : ấu trúc cơ khí của xe ản ản ều khiển vector ngắt lồng nhau (Nested Vector Interrupt ểm nổi bật của STM32

đ u d a trên lõi Cortex sẽ có cùng m t c u trúc ng t ều khiển vector ngắt lồng nhau (Nested Vector Interrupt ự ội dung ấu trúc cơ khí của xe ắt (interrupt handling)

NVIC cũng đượcc thi t k đ có m t đ tr khi đáp ng ng t r t th p Đâyến trúc đường ống ến trúc đường ống ểm nổi bật của STM32 ội dung ội dung ễ ứng cơ bản ắt (interrupt handling) ấu trúc cơ khí của xe ấu trúc cơ khí của xelà m t đ c đi m c a chính b n than b NVIC và c a t p l nh Thumb-2, nó choội dung ặc điểm nổi bật của STM32 ểm nổi bật của STM32 ủa STM32 ản ội dung ủa STM32 ật của STM32 ệ thống nhúngphép th c thi các l nh nhi u chu kì nh l nh t i, l nh l u d li u.ự ệ thống nhúng ều khiển vector ngắt lồng nhau (Nested Vector Interrupt ư ệ thống nhúng ản ệ thống nhúng ư ữa ệ thống nhúng

Trang 18

1.10.Ng t ngo i (EXTI) ắt (interrupt handling) ại (EXTI)

B đi u khi n ng t ngo i có 19 ng t và k t nói vào b ng vector ng tội dung ều khiển vector ngắt lồng nhau (Nested Vector Interrupt ểm nổi bật của STM32 ắt (interrupt handling) ại (EXTI) ắt (interrupt handling) ến trúc đường ống ản ắt (interrupt handling)thông qua b NVIC 16 ng t đội dung ắt (interrupt handling) ượcc k t nói thông qua chân c a c ng CPIO và t oến trúc đường ống ủa STM32 ổi bật của STM32 ại (EXTI)

ng t khi phát khi có xung lên (rasing) ho c xu ng (falling) ho c c hai 3 ng tắt (interrupt handling) ặc điểm nổi bật của STM32 ống nhúng ặc điểm nổi bật của STM32 ản ắt (interrupt handling)còn l i đại (EXTI) ượcc n i v i “RTC alarm”, “USB wake up” và “Power voltage detect”.ống nhúng ớc 4 dây (step motor)

NVIC cung c p b n vector ng t riêng bi t dành cho các ng t t 0-4, ng tấu trúc cơ khí của xe ản ắt (interrupt handling) ệ thống nhúng ắt (interrupt handling) ừa cho ra mắt dòng ắt (interrupt handling)RTC, ng t Power detect và ngăt USB wake up Các ng t ngo i còn l i chia làm 2ắt (interrupt handling) ắt (interrupt handling) ại (EXTI) ại (EXTI)nhóm 5-10 và 11-15 đượcc cung c p them 2 b ng ng t b sung Các ng t ngo iấu trúc cơ khí của xe ản ắt (interrupt handling) ổi bật của STM32 ắt (interrupt handling) ại (EXTI)

r t qua tr ng trong qu n lý tiêu th năng lấu trúc cơ khí của xe ọi ản ục tiêu ượcng c a STM32 Chúng có th đủa STM32 ểm nổi bật của STM32 ượcc

s d ng đ đánh th c nhân vi x lí t ch đ STOP khi c 2 ngu n t o xungử lí Cortex ục tiêu ểm nổi bật của STM32 ứng cơ bản ử lí Cortex ừa cho ra mắt dòng ến trúc đường ống ội dung ản ồ án hệ thống nhúng ại (EXTI)

nh p chính ng ng ho t đ ng EXTI có th t o ra các ng t đ thoát kh i s khi nịnh ư ại (EXTI) ội dung ểm nổi bật của STM32 ại (EXTI) ắt (interrupt handling) ểm nổi bật của STM32 ỏ ra thực tế hơn, chúng ự ệ thống nhúngwait c a ch đ interrupt và thoát kh i s ki n wait c a ch đ event.ủa STM32 ến trúc đường ống ội dung ỏ ra thực tế hơn, chúng ự ệ thống nhúng ủa STM32 ến trúc đường ống ội dung

Hình 2.7 Ng t ngo i EXTIắt (interrupt handling) ại (EXTI)

16 ng t ngo i có th đắt (interrupt handling) ại (EXTI) ểm nổi bật của STM32 ượcc ánh x t i b t kỳ chân nào c a vi x lí thôngại (EXTI) ớc 4 dây (step motor) ấu trúc cơ khí của xe ủa STM32 ử lí Cortexqua 4 thanh ghi c u hình đi u khi n M i ng t đấu trúc cơ khí của xe ều khiển vector ngắt lồng nhau (Nested Vector Interrupt ểm nổi bật của STM32 ỗn hợp bánh và xích ắt (interrupt handling) ượcc đi u khi n b i trều khiển vector ngắt lồng nhau (Nested Vector Interrupt ểm nổi bật của STM32 5 ường ốngng 4 bit,

đo n mã sau mô t cách c u hình ng t cho chân GPIO.ại (EXTI) ản ấu trúc cơ khí của xe ắt (interrupt handling)

Trang 19

1.11 S đ ph n c ng c b n ơ đồ phần cứng cơ bản ồng nhau (Nested Vector Interrupt ần cứng cơ bản ứng cơ bản ơ đồ phần cứng cơ bản ản

M t m ch reset bên ngoài không c n thi t kees c a STM32 Tuy nhiên,ội dung ại (EXTI) ần cứng cơ bản ến trúc đường ống ủa STM32trong quá trình phát tri n chân nRST có th đểm nổi bật của STM32 ểm nổi bật của STM32 ượcc k t nói v i m t nút reset đ nến trúc đường ống ớc 4 dây (step motor) ội dung ơ đồ phần cứng cơ bản

gi n, đ ng th i chân nRST cũng đản ồ án hệ thống nhúng ờng ống ượcc k t n i đ n c ng JTAG, đ công c phátến trúc đường ống ống nhúng ến trúc đường ống ổi bật của STM32 ểm nổi bật của STM32 ục tiêutri n có th t o ra tín hi u reset vi đi u khi n STM32 có m t s các ngu n resetểm nổi bật của STM32 ểm nổi bật của STM32 ại (EXTI) ệ thống nhúng ều khiển vector ngắt lồng nhau (Nested Vector Interrupt ểm nổi bật của STM32 ội dung ống nhúng ồ án hệ thống nhúng

n i có th phát hi n các đi u ki n v n hành b l i:ội dung ểm nổi bật của STM32 ệ thống nhúng ều khiển vector ngắt lồng nhau (Nested Vector Interrupt ệ thống nhúng ật của STM32 ịnh ỗn hợp bánh và xích

Trang 20

Hình 2.8 S đ ph n c ng m ch Cortex-M3ơ đồ phần cứng cơ bản ồ án hệ thống nhúng ần cứng cơ bản ứng cơ bản ại (EXTI)

1.12.Các c ng I/O đa d ng ổi bật của STM32 ục lục

STM32 có 5 c ng I/O đa d ng v i 80 chân đi u khi nổi bật của STM32 ục tiêu ớc 4 dây (step motor) ều khiển vector ngắt lồng nhau (Nested Vector Interrupt ểm nổi bật của STM32

Các c ng I/O đổi bật của STM32 ượcc đánh s t A->E và m c đi n áp tiêu th 5V Nhi uống nhúng ừa cho ra mắt dòng ứng cơ bản ệ thống nhúng ục tiêu 5 ều khiển vector ngắt lồng nhau (Nested Vector Interrupt chân ngo i có th đại (EXTI) ểm nổi bật của STM32 ược ấu trúc cơ khí của xec c u hình nh là Input/Output tư ươ đồ phần cứng cơ bảnng tác v i các thi t bớc 4 dây (step motor) ến trúc đường ống ịnhngo i vi riêng c a ngại (EXTI) ủa STM32 ường ốngi dùng nh USART hay I2C Thêm n a có th c u hìnhư ữa ểm nổi bật của STM32 ấu trúc cơ khí của xecác chân này nh là ngu n ng t ngo i k t h p v i c ng GPIO khácư ồ án hệ thống nhúng ắt (interrupt handling) ại (EXTI) ến trúc đường ống ợc ớc 4 dây (step motor) ổi bật của STM32

M i c ng GPIO đ u có 2 thanh ghi 32-bit đi u khi n Nh v y ta có 64-bitỗn hợp bánh và xích ổi bật của STM32 ều khiển vector ngắt lồng nhau (Nested Vector Interrupt ều khiển vector ngắt lồng nhau (Nested Vector Interrupt ểm nổi bật của STM32 ư ật của STM32

đ c u hình 16 chân c a m t c ng GPIO Nh v y, m i chân c a c ng GPIO sẽ cóểm nổi bật của STM32 ấu trúc cơ khí của xe ủa STM32 ội dung ổi bật của STM32 ư ật của STM32 ỗn hợp bánh và xích ủa STM32 ổi bật của STM32

4 bit đ đi u khi n: 2 bit sẽ quy đ nh hểm nổi bật của STM32 ều khiển vector ngắt lồng nhau (Nested Vector Interrupt ểm nổi bật của STM32 ịnh ước 4 dây (step motor)ng ra vào d li u, 2 bit còn l i sẽ quyữa ệ thống nhúng ại (EXTI)

đ nh đ c tính d li u.ịnh ặc điểm nổi bật của STM32 ữa ệ thống nhúng

Đ d dàng đ c và ghi d li u trên c ng GPIO, STM32 cung c p 2 thanhểm nổi bật của STM32 ễ ọi ữa ệ thống nhúng ổi bật của STM32 ấu trúc cơ khí của xeghi Input và Output data Kĩ thu t bit banding đật của STM32 ượcc h tr nh m thao tác bit trênỗn hợp bánh và xích ợc ằngthanh ghi d li u.ữa ệ thống nhúng

Trang 21

II C M BI N SIÊU ÂM SRF05 ẢM BIẾN SIÊU ÂM SRF05 ẾN SIÊU ÂM SRF05

SRF05 là m t bội dung ước 4 dây (step motor)c phát tri n t SRF04, đểm nổi bật của STM32 ừa cho ra mắt dòng ượcc thi t k đ làm tăng tínhến trúc đường ống ến trúc đường ống ểm nổi bật của STM32linh ho t, tăng pham vi, ngoài ra còn gi m b t chi phí SRF05 là hoàn toàn tại (EXTI) ản ớc 4 dây (step motor) ươ đồ phần cứng cơ bảnngthích v i SRF04 Kho ng cách là tăng t 3 mét đ n 4 mét M t ch đ ho t đ ngớc 4 dây (step motor) ản ừa cho ra mắt dòng ến trúc đường ống ội dung ến trúc đường ống ội dung ại (EXTI) ội dung

m i, SRF05 cho phép s d ng m t chân duy nh t cho c kích ho t và ph n h i,ớc 4 dây (step motor) ử lí Cortex ục tiêu ội dung ấu trúc cơ khí của xe ản ại (EXTI) ản ồ án hệ thống nhúng

do đó ti t ki m có giá tr trên chân đi u khi n c a b n Khi chân ch đ khôngến trúc đường ống ệ thống nhúng ịnh ều khiển vector ngắt lồng nhau (Nested Vector Interrupt ểm nổi bật của STM32 ủa STM32 ại (EXTI) ến trúc đường ống ội dung

k t n i, SRF05 các ho t đ ng riêng bi t chân kích ho t và và chân h i ti p, nhến trúc đường ống ống nhúng ại (EXTI) ội dung ệ thống nhúng ại (EXTI) ồ án hệ thống nhúng ến trúc đường ống ưSRF04 SRF05 bao g m m t th i gian tr trồ án hệ thống nhúng ội dung ờng ống ễ ước 4 dây (step motor)c khi xung ph n h i đ mang l iản ồ án hệ thống nhúng ểm nổi bật của STM32 ại (EXTI)

đi u khi n ch m h n ch ng h n nh b đi u khi n th i gian c b n Stamps vàều khiển vector ngắt lồng nhau (Nested Vector Interrupt ểm nổi bật của STM32 ật của STM32 ơ đồ phần cứng cơ bản ẳng ại (EXTI) ư ội dung ều khiển vector ngắt lồng nhau (Nested Vector Interrupt ểm nổi bật của STM32 ờng ống ơ đồ phần cứng cơ bản ảnPicaxe đ th c hi n các xung l nh.ểm nổi bật của STM32 ự ệ thống nhúng ệ thống nhúng

S đ chân c m bi n:ơ đồ phần cứng cơ bản ồ án hệ thống nhúng ản ến trúc đường ống

Hinh 2.9 S đ chân c m bi nơ đồ phần cứng cơ bản ồ án hệ thống nhúng ản ến trúc đường ống

Trang 22

2.1.Ch đ 1 ến trúc đường ống ội dung

Tươ đồ phần cứng cơ bảnng ng SRF04 – tách bi t kích ho t và ph n h i ứng cơ bản ệ thống nhúng ại (EXTI) ản ồ án hệ thống nhúng Ch đ náy s d ngến trúc đường ống ội dung ử lí Cortex ục tiêuriêng bi t chân kích ho t và chân ph n h i, và là ch đ đ n gi n nh t đ sệ thống nhúng ại (EXTI) ản ồ án hệ thống nhúng ến trúc đường ống ội dung ơ đồ phần cứng cơ bản ản ấu trúc cơ khí của xe ểm nổi bật của STM32 ử lí Cortex

d ng T t c các chục tiêu ấu trúc cơ khí của xe ản ươ đồ phần cứng cơ bảnng trình đi n hình cho SRF04 sẽ làm vi c cho SRF05 chểm nổi bật của STM32 ệ thống nhúng 5 ến trúc đường ống

đ này Đ s d ng ch đ này, ch c n chân ch đ không k t n i – SRF05 cóội dung ểm nổi bật của STM32 ử lí Cortex ục tiêu ến trúc đường ống ội dung ỉ ần cứng cơ bản ến trúc đường ống ội dung ến trúc đường ống ống nhúng

m t n i d ng trên chân này T đó ta nh n th y: Đ cho sf05 ho t đ ng thì c nội dung ội dung ừa cho ra mắt dòng ừa cho ra mắt dòng ật của STM32 ấu trúc cơ khí của xe ểm nổi bật của STM32 ại (EXTI) ội dung ần cứng cơ bản

c p 1 xung m c cao có đ r ng >=10us trên chân Trig Sau khi nh n đấu trúc cơ khí của xe ứng cơ bản ội dung ội dung ật của STM32 ượcc xung

t chân Tri thì srf05 sẽ t o ra 8 xung đ phát siêu âm, sau khi hoàn thành vi cừa cho ra mắt dòng ại (EXTI) ểm nổi bật của STM32 ệ thống nhúngphát 8 xung này thì srf05 sẽ kéo chân echo lên m c 1, đ r ng c a m c 1 trênứng cơ bản ội dung ội dung ủa STM32 ứng cơ bảnchân echo tươ đồ phần cứng cơ bảnng ng v i kho n cách c a v t c n v i srf05, n u ko có v t c n thìứng cơ bản ớc 4 dây (step motor) ản ủa STM32 ật của STM32 ản ớc 4 dây (step motor) ến trúc đường ống ật của STM32 ản

nó sẽ đượcc tr v m c 0 sau 30ms( đây nhi u b n hi u sai là khi có v t c n thìản ều khiển vector ngắt lồng nhau (Nested Vector Interrupt ứng cơ bản 5 ều khiển vector ngắt lồng nhau (Nested Vector Interrupt ại (EXTI) ểm nổi bật của STM32 ật của STM32 ảnsrf05 m i tr v 1 xung m c cao có đ r ng t 100uS->30ms tớc 4 dây (step motor) ản ều khiển vector ngắt lồng nhau (Nested Vector Interrupt ứng cơ bản ội dung ội dung ừa cho ra mắt dòng ươ đồ phần cứng cơ bảnng ng v iứng cơ bản ớc 4 dây (step motor)kho ng cách) Đ c bi t là srf05 ch có th nh n xung trên chân Tri t i đa làản ặc điểm nổi bật của STM32 ệ thống nhúng ỉ ểm nổi bật của STM32 ật của STM32 ống nhúng20Hz, cho nên vi c kích xung trên chân Tri ph i phù h p thì srf05 m i ho t đ ngệ thống nhúng ản ợc ớc 4 dây (step motor) ại (EXTI) ội dungchính xác

Hình 2.10 SRF05 ho t đ ng ch đ 1ại (EXTI) ội dung 5 ến trúc đường ống ội dung

Trang 23

2.2.Ch đ 2 ến trúc đường ống ội dung

Dùng m t chân cho c kick ho t và ph n h i Cội dung ản ại (EXTI) ản ồ án hệ thống nhúng h đ này s d ng m tến trúc đường ống ội dung ử lí Cortex ục tiêu ội dungchân duy nh t cho c tín hi u kích ho t và h i ti p, và đấu trúc cơ khí của xe ản ệ thống nhúng ại (EXTI) ồ án hệ thống nhúng ến trúc đường ống ượcc thi t k đ l u cácến trúc đường ống ến trúc đường ống ểm nổi bật của STM32 ưgiá tr trên chân lên b đi u khi n nhúng Đ s d ng ch đ này, chân ch định ội dung ều khiển vector ngắt lồng nhau (Nested Vector Interrupt ểm nổi bật của STM32 ểm nổi bật của STM32 ử lí Cortex ục tiêu ến trúc đường ống ội dung ến trúc đường ống ội dung

k t n i vào chân mát Tín hi u h i ti p sẽ xu t hi n trên cùng m t chân v i tínến trúc đường ống ống nhúng ệ thống nhúng ồ án hệ thống nhúng ến trúc đường ống ấu trúc cơ khí của xe ệ thống nhúng ội dung ớc 4 dây (step motor)

hi u kích ho t SRF05 sẽ không tăng dòng ph n h i cho đ n 700uS sau khi k tệ thống nhúng ại (EXTI) ản ồ án hệ thống nhúng ến trúc đường ống ến trúc đường ốngthúc các tín hi u kích ho t B n đã có th i gian đ kích ho t pin xoay quanh vàệ thống nhúng ại (EXTI) ại (EXTI) ờng ống ểm nổi bật của STM32 ại (EXTI)làm cho nó tr thành m t đ u vào và đ có pulse đo mã c a b n đã s n sàng.5 ội dung ần cứng cơ bản ểm nổi bật của STM32 ủa STM32 ại (EXTI) ẵn trong CPU Trong trường hợp xuất hiện các interrupt

L nh PULSIN đệ thống nhúng ượcc tìm ra và đượcc dùng ph bi n hi n nay đ đi u khi n tổi bật của STM32 ến trúc đường ống ệ thống nhúng ểm nổi bật của STM32 ều khiển vector ngắt lồng nhau (Nested Vector Interrupt ểm nổi bật của STM32 ự

đ ng ội dung

Hình 2.11 SRF05 ho t đ ng ch đ 2ại (EXTI) ội dung 5 ến trúc đường ống ội dung

Đ s d ng ch đ 2 v i các Stamps BS2 c b n, b n ch c n s d ngểm nổi bật của STM32 ử lí Cortex ục tiêu ến trúc đường ống ội dung ớc 4 dây (step motor) ơ đồ phần cứng cơ bản ản ại (EXTI) ỉ ần cứng cơ bản ử lí Cortex ục tiêuPULSOUT và PULSIN trên cùng m t chân:ội dung

SRF05 PIN 15 s d ng cho c hai và kick ho t Echoử lí Cortex ục tiêu ản ại (EXTI)

Range VAR Word xác đ nh ph m vi bi n 16 bit.ịnh ại (EXTI) ến trúc đường ống

SRF05 =0 b t đ u b ng pin th pắt (interrupt handling) ần cứng cơ bản ằng ấu trúc cơ khí của xe

PULSIN SRF0, 1, range Echo đo th i gianờng ống

Trang 24

Range = range/29 đ chuy n đ i sang cmểm nổi bật của STM32 ểm nổi bật của STM32 ổi bật của STM32

Tính kho ng cáchản :

Gi n đ đ nh th i SRF05 th hi n trên đây cho m i ch đ B n ch c nản ồ án hệ thống nhúng ịnh ờng ống ểm nổi bật của STM32 ệ thống nhúng ỗn hợp bánh và xích ến trúc đường ống ội dung ại (EXTI) ỉ ần cứng cơ bảncung c p m t đo n xung ng n 10uS kích ho t đ u vào đ b t đ u đo kho ngấu trúc cơ khí của xe ội dung ại (EXTI) ắt (interrupt handling) ại (EXTI) ần cứng cơ bản ểm nổi bật của STM32 ắt (interrupt handling) ần cứng cơ bản ảncách Các SRF05 sẽ g i cho ra m t chu kỳ 8 burst c a siêu âm 40khz và tăng caoử lí Cortex ội dung ủa STM32 5dòng ph n h i c a nó (ho c kích ho t ch đ dòng 2) Sau đó ch ph n h i, vàản ồ án hệ thống nhúng ủa STM32 ặc điểm nổi bật của STM32 ại (EXTI) ến trúc đường ống ội dung ờng ống ản ồ án hệ thống nhúngngay sau khi phát hi n nó gi m các dòng ph n h i l i Dòng ph n h i là m tệ thống nhúng ản ản ồ án hệ thống nhúng ại (EXTI) ản ồ án hệ thống nhúng ội dungxung có chi u r ng là t l v i kho ng cách đ n đ i tều khiển vector ngắt lồng nhau (Nested Vector Interrupt ội dung ỷ lệ với khoảng cách đến đối tượng Bằng cách đo xung, ệ thống nhúng ớc 4 dây (step motor) ản ến trúc đường ống ống nhúng ượcng B ng cách đo xung,ằng

ta hoàn toàn có th đ tính toán kho ng cách ttheo inch / centimét ho c b t cểm nổi bật của STM32 ểm nổi bật của STM32 ản ặc điểm nổi bật của STM32 ấu trúc cơ khí của xe ứng cơ bản

đi u gì khác N u không phát hi n gì c SRF05 gi m th p h n dòng ph n h iều khiển vector ngắt lồng nhau (Nested Vector Interrupt ến trúc đường ống ệ thống nhúng ản ản ấu trúc cơ khí của xe ơ đồ phần cứng cơ bản ản ồ án hệ thống nhúng

c a nó sau kho ng 30ms SRF04 cung cáp m t xung ph n h i t l v i khoangủa STM32 ản ội dung ản ồ án hệ thống nhúng ỷ lệ với khoảng cách đến đối tượng Bằng cách đo xung, ệ thống nhúng ớc 4 dây (step motor)cách N u đ r ng c a pulse đến trúc đường ống ội dung ội dung ủa STM32 ượcc đo trong h uS, sau đó chia cho 58 sẽ choệ thống nhúngkho ng cách theo cm, ho c chia cho 148 sẽ cho kho ng cách theo inch Us/58=ản ặc điểm nổi bật của STM32 ản

cm hay us/148= inch

SRF05 có th đểm nổi bật của STM32 ượcc kích ho t nhanh chóng v i m i 50mS, ho c 20 l n m iại (EXTI) ớc 4 dây (step motor) ọi ặc điểm nổi bật của STM32 ần cứng cơ bản ỗn hợp bánh và xích.giây B n nên ch 50ms trại (EXTI) ờng ống ước 4 dây (step motor)c khi kích ho t k ti p, ngay c khi SRF05 phát hi nại (EXTI) ến trúc đường ống ến trúc đường ống ản ệ thống nhúng

m t đ i tội dung ống nhúng ượcng g n và xung ph n h i ng n h n Đi u này là đ đ m b o các siêuần cứng cơ bản ản ồ án hệ thống nhúng ắt (interrupt handling) ơ đồ phần cứng cơ bản ều khiển vector ngắt lồng nhau (Nested Vector Interrupt ểm nổi bật của STM32 ản ản

âm “beep” đã phai m và sẽ không gây ra sai ph n h i l n đo k ti p.ờng ống ản ồ án hệ thống nhúng 5 ần cứng cơ bản ến trúc đường ống ến trúc đường ống

III M t s linh ki n khác ội dung ống ệ thống (system timer)

3.1 IC c u H (L293D) ần cứng cơ bản

L293D là IC c u H đi u khi nần cứng cơ bản ều khiển vector ngắt lồng nhau (Nested Vector Interrupt ểm nổi bật của STM32 đ ng cội dung ơ đồ phần cứng cơ bản

L293D g m 4 kênh đi u khi n có th đi u khi n 2 đ ng c DC ho c 1ồ án hệ thống nhúng ều khiển vector ngắt lồng nhau (Nested Vector Interrupt ểm nổi bật của STM32 ểm nổi bật của STM32 ều khiển vector ngắt lồng nhau (Nested Vector Interrupt ểm nổi bật của STM32 ội dung ơ đồ phần cứng cơ bản ặc điểm nổi bật của STM32

đ ng c bội dung ơ đồ phần cứng cơ bản ước 4 dây (step motor)c 4 pha (5 dây) Đ đi u khi n đ ng c DC, b n sẽ s d ng 2 kênhểm nổi bật của STM32 ều khiển vector ngắt lồng nhau (Nested Vector Interrupt ểm nổi bật của STM32 ội dung ơ đồ phần cứng cơ bản ại (EXTI) ử lí Cortex ục tiêu

c a L293D cho 1 đ ng c ủa STM32 ội dung ơ đồ phần cứng cơ bản

L293D đã đượcc tích h p s n đi t b o v vi đi u khi n ch ng l i dòngợc ẵn trong CPU Trong trường hợp xuất hiện các interrupt ống nhúng ản ệ thống nhúng ều khiển vector ngắt lồng nhau (Nested Vector Interrupt ểm nổi bật của STM32 ống nhúng ại (EXTI)

c m ng khi đ ng c kh i đ ng ho c t t Vì v y, b n ch c n g n motor vàoản ứng cơ bản ội dung ơ đồ phần cứng cơ bản 5 ội dung ặc điểm nổi bật của STM32 ắt (interrupt handling) ật của STM32 ại (EXTI) ỉ ần cứng cơ bản ắt (interrupt handling)L293D và các chân c a vi đi u khi n tủa STM32 ều khiển vector ngắt lồng nhau (Nested Vector Interrupt ểm nổi bật của STM32 ươ đồ phần cứng cơ bảnng ng, là có th làm cho đ ng c ch yứng cơ bản ểm nổi bật của STM32 ội dung ơ đồ phần cứng cơ bản ại (EXTI)ngay Dòng L293 có 2 lo i: L293B/E và L293D, dòng L293B có kh năng ch u t iại (EXTI) ản ịnh ản

Trang 25

cao h n (1A so v i 600mA c a L293D) nh ng không có đi t b o v vi đi uơ đồ phần cứng cơ bản ớc 4 dây (step motor) ủa STM32 ư ống nhúng ản ệ thống nhúng ều khiển vector ngắt lồng nhau (Nested Vector Interrupt khi n.ểm nổi bật của STM32

V i m i motor, b n c n 3 chân tớc 4 dây (step motor) ỗn hợp bánh và xích ại (EXTI) ần cứng cơ bản ừa cho ra mắt dòng vi đi u khi nều khiển vector ngắt lồng nhau (Nested Vector Interrupt ểm nổi bật của STM32 k t n i v i L293D, trongến trúc đường ống ống nhúng ớc 4 dây (step motor)

đó có 1 chân đi u khi n t c đ đông c dùng xung PWM, 2 chân còn l i là logic 0ều khiển vector ngắt lồng nhau (Nested Vector Interrupt ểm nổi bật của STM32 ống nhúng ội dung ơ đồ phần cứng cơ bản ại (EXTI)

ho c 1 dùng đi u ch nh chi u quay c aặc điểm nổi bật của STM32 ều khiển vector ngắt lồng nhau (Nested Vector Interrupt ỉ ều khiển vector ngắt lồng nhau (Nested Vector Interrupt ủa STM32 motor

Tín hi u đi u khi n đệ thống nhúng ều khiển vector ngắt lồng nhau (Nested Vector Interrupt ểm nổi bật của STM32 ượcc x lý đ c l p v i nhau v i t ng đ u ra Ví d :ử lí Cortex ội dung ật của STM32 ớc 4 dây (step motor) ớc 4 dây (step motor) ừa cho ra mắt dòng ần cứng cơ bản ục tiêu

b n có th đi u khi n 2 đ ng c DC ch y v i t c đ khác nhau, hại (EXTI) ểm nổi bật của STM32 ều khiển vector ngắt lồng nhau (Nested Vector Interrupt ểm nổi bật của STM32 ội dung ơ đồ phần cứng cơ bản ại (EXTI) ớc 4 dây (step motor) ống nhúng ội dung ước 4 dây (step motor)ng khácnhau, 1 đ ng c d ng còn 1 đ ng c ch y ội dung ơ đồ phần cứng cơ bản ừa cho ra mắt dòng ội dung ơ đồ phần cứng cơ bản ại (EXTI)

M i kênh c a L293D ch u đỗn hợp bánh và xích ủa STM32 ịnh ược ảnc t i 600mA và dòng đ nh là 1A.ỉ

Đ s d ng các đ ng c công su t cao h n, b n ch vi c g n song song 2ểm nổi bật của STM32 ử lí Cortex ục tiêu ội dung ơ đồ phần cứng cơ bản ấu trúc cơ khí của xe ơ đồ phần cứng cơ bản ại (EXTI) ỉ ệ thống nhúng ắt (interrupt handling)

ho c nhi u L293 l i v i nhau V i 2 IC L293, b n sẽ có t i ch u đặc điểm nổi bật của STM32 ều khiển vector ngắt lồng nhau (Nested Vector Interrupt ại (EXTI) ớc 4 dây (step motor) ớc 4 dây (step motor) ại (EXTI) ản ịnh ượcc là 1.2A và

t i đ nh là 2A.ản ỉ

Ngoài ra, L293D có ch c năng t đ ng ng t khi b nóng quá m c nh mứng cơ bản ự ội dung ắt (interrupt handling) ịnh ứng cơ bản ằng

b o v IC.ản ệ thống nhúng

L u ý: tuy t đ i không bao gi làm ch p m ch các ngõ ra motor c aư ệ thống nhúng ống nhúng ờng ống ật của STM32 ại (EXTI) ủa STM32L293D, n u không b n sẽ làm cháy m t bên c u H ngay l p t c.ến trúc đường ống ại (EXTI) ội dung ần cứng cơ bản ật của STM32 ứng cơ bản

Hình 2.12 S đ chân L293Dơ đồ phần cứng cơ bản ồ án hệ thống nhúng

Trang 26

Hình 2.13 S đ L293D n i v i 2 motorơ đồ phần cứng cơ bản ồ án hệ thống nhúng ống nhúng ớc 4 dây (step motor)

3.2 Tranzitor C828

Nguyên t c ho t đ ng:ắt (interrupt handling) ại (EXTI) ội dung

Ta c p m t ngu n m t chi u UCEấu trúc cơ khí của xe ội dung ồ án hệ thống nhúng ội dung ều khiển vector ngắt lồng nhau (Nested Vector Interrupt vào hai c c C và E trong đó (+) ngu nự ồ án hệ thống nhúngvào c c C và (-) ngu n vào c c E C p ngu n m t chi u UBEự ồ án hệ thống nhúng ự ấu trúc cơ khí của xe ồ án hệ thống nhúng ội dung ều khiển vector ngắt lồng nhau (Nested Vector Interrupt đi qua công t c vàắt (interrupt handling)

tr h n dòng vào hai c c B và E , trong đó c c (+) vào chân B, c c (-) vào chân E 5 ại (EXTI) ự ự ự

Khi công t c m , ta th y r ng, m c dù hai c c C và Eắt (interrupt handling) 5 ấu trúc cơ khí của xe ằng ặc điểm nổi bật của STM32 ự đã đượcc c p đi nấu trúc cơ khí của xe ệ thống nhúng

nh ng v n không có dòng đi n ch y qua m i C E ( lúcư ẫn hướng robot tự hành di ệ thống nhúng ại (EXTI) ống nhúng này dòng IC = 0 ) Khicông t c đóng, m i P-N đắt (interrupt handling) ống nhúng ượcc phân c c thu n do đó có m t dòng đi n ch y tự ật của STM32 ội dung ệ thống nhúng ại (EXTI) ừa cho ra mắt dòng(+) ngu n UBEồ án hệ thống nhúng qua công t c => qua R h n dòng => qua m i BE v c c (-) t oắt (interrupt handling) ại (EXTI) ống nhúng ều khiển vector ngắt lồng nhau (Nested Vector Interrupt ự ại (EXTI)thành dòng IB Ngay khi dòng IB xu t hi n => l p t c cũng có dòng ICấu trúc cơ khí của xe ệ thống nhúng ật của STM32 ứng cơ bản ch y quaại (EXTI)

m i CE làm bóng đèn phát sáng, và dòng ICống nhúng m nh g p nhi u l n dòng IBại (EXTI) ấu trúc cơ khí của xe ều khiển vector ngắt lồng nhau (Nested Vector Interrupt ần cứng cơ bản

Nh v y rõ ràng dòng ICư ật của STM32 hoàn toàn ph thu c vào dòng IBục tiêu ội dung và ph thu cục tiêu ội dungtheo m t công th c ội dung ứng cơ bản : IC = IB β.IB

Trang 27

Hình 2.14 S đ chân và nguyên lý transistor C828ơ đồ phần cứng cơ bản ồ án hệ thống nhúng

3.3 Đ ng c b ội dung ơ đồ phần cứng cơ bản ước 4 dây (step motor) c 4 dây (step motor)

Là lo i đ ng c lại (EXTI) ội dung ơ đồ phần cứng cơ bản ư=ng c c (bipolar) Có 4 dây đi u khi n, đ đ ng c quayự ều khiển vector ngắt lồng nhau (Nested Vector Interrupt ểm nổi bật của STM32 ểm nổi bật của STM32 ội dung ơ đồ phần cứng cơ bảnthi ta liên t c kích các xung 1 trong 1 kho ng th i gian ng n vào các chân Trục tiêu ản ờng ống ắt (interrupt handling) ước 4 dây (step motor)c

đó chân 1 đã kich nh n xung 1 và xung sau n u v n đật của STM32 ến trúc đường ống ẫn hướng robot tự hành di ượcc nh n xung 1 thì đ ngật của STM32 ội dung

c gi nguyên tr ng thái tơ đồ phần cứng cơ bản ữa ại (EXTI) ươ đồ phần cứng cơ bảnng t v i 3 chân còn l i.ự ớc 4 dây (step motor) ại (EXTI)

Đ ng c quay h t 1 vòng trong 20 nh p t c là khi kick cho đ ng c quayội dung ơ đồ phần cứng cơ bản ến trúc đường ống ịnh ứng cơ bản ội dung ơ đồ phần cứng cơ bảncùng 1 chi u thì t c n 20 nh p xung kick.ều khiển vector ngắt lồng nhau (Nested Vector Interrupt ần cứng cơ bản ịnh

Hình 2.15 Đ ng c bội dung ơ đồ phần cứng cơ bản ước 4 dây (step motor)c

B ng tr ng thái c a đ ng c bản ại (EXTI) ủa STM32 ội dung ơ đồ phần cứng cơ bản ước 4 dây (step motor)c:

1

11

Ngày đăng: 04/05/2019, 20:37

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w