1. Trang chủ
  2. » Luận Văn - Báo Cáo

222BAO CAO DO AN TN

75 488 1

Đ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 75
Dung lượng 3,18 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Android là một HĐH mở và việc xây dựng ứng dụng trên HĐH Android tương đối thuận lợi, dễ dàng; bởi Android có một cộng đồng người dùng, nhà phát triển đông đảo, giúp mọi người có thể học hỏi và trao đổi kinh nghiệm với nhau. Thêm một ưu điểm nữa là khi sử dụng phần mềm trên điện thoại chạy HĐH Android, người dùng có thể dễ dàng chia sẻ ứng dụng đó với người khác qua Bluetooth; từ đó việc điều khiển thiết bị khác thông qua ứng dụng trên điện thoại Android rất thuận tiện, tiết kiệm chi phí hơn rất nhiều so với việc tạo bộ điều khiển. Ngoài ra, việc phát triển ứng dụng được thực hiện bất cứ khi nào có thể mà không bị gò bó bởi bộ điều khiển riêng biệt. Từ những thuận lợi đó, em đã thực hiện tạo một ứng dụng Android – có chức năng chính là truyền dữ liệu qua truyền thông Bluetooth để điều khiển thiết bị ngoại vi.

Trang 1

NH N XÉT, ĐÁNH GIÁ C A GIÁO VIÊN H Ậ Ủ ƯỚ NG D N Ẫ

ĐI M: ……… (b ng ch …………)Ể ằ ữ

Hà N i, ngày tháng năm 2017 ộ GIÁO VIÊN H ƯỚ NG D N Ẫ

Th.S VŨ VI T H NG Ệ Ư

Trang 2

NH N XÉT, ĐÁNH GIÁ C A GIÁO VIÊN PH N BI N Ậ Ủ Ả Ệ

ĐI M: ……… (b ng ch …………)Ể ằ ữ

Hà N i, ngày tháng năm 2017 ộ

GIÁO VIÊN PH N BI N Ả Ệ

Trang 3

L I C M N Ờ Ả Ơ

Đ hoàn thành Đ tài, l i đ u tiên em xin g i l i c m n chân thành t iể ề ờ ầ ử ờ ả ơ ớ

Th y Vũ Vi t H ng đã t n tình hầ ệ ư ậ ướng d n em trong th i gian th c hi n Đẫ ờ ự ệ ồ

án này! Đây sẽ là v n ki n th c, hành trang quý báu cho tố ế ứ ương lai s nghi pự ệ

c a em ủ

Em cũng xin chân thành c m n quý Th y, Cô trả ơ ầ ường Đ i h c Côngạ ọNghi p Hà N i, đ c bi t là các Th y, Cô trong khoa Đi n T đã nhi t tìnhệ ộ ặ ệ ầ ệ ử ệgiúp đ , truy n đ t ki n th c trong su t quá trình h c t p c a em t i đây.ỡ ề ạ ế ứ ố ọ ậ ủ ạ

V n ki n th c thu đố ế ứ ược trong quá trình h c t p không ch là n n t ng choọ ậ ỉ ề ảquá trình th c hi n Đ án t t nghi p mà còn là hành trang quý báu cho sự ệ ồ ố ệ ựnghi p c a em sau này.ệ ủ

Em cũng xin chân thành c m n s ng h và giúp đ nhi t tình c a giaả ơ ự ủ ộ ỡ ệ ủđình, b n bè – nh ng ngạ ữ ười đã đ ng viên, giúp đ em trong su t quá trìnhộ ỡ ố

Hà N i, ngày tháng năm 2017 ộ

Sinh viên th c hi n: ự ệ

Trang 4

Nguy n Văn Quỳnh ễ

M C L C U U

DANH M C T VI T T TỤ Ừ Ế Ắ 7

DANH M C HÌNH VẼỤ 8

L I NÓI Đ UỜ Ầ 9

T NG QUAN Đ ÁNỔ Ồ 11

1 Ý TƯỞNG THI T KẾ Ế 11

2 MÔ HÌNH H TH NGỆ Ố 11

3 N I DUNG BÁO CÁO Đ TÀIỘ Ề 12

CHƯƠNG 1: C S LÝ THUY TƠ Ở Ế 13

1.1 TÌM HI U CÔNG NGH BLUETOOTHỂ Ệ [1] 13

1.1.1 Khái ni m Bluetoothệ 13

1.1.2 Các đ c đi m Bluetoothặ ể 13

1.1.2.1 u đi mƯ ể 13

1.1.2.2 Nhược đi mể 14

1.1.3 Các khái ni m dùng trong công ngh Bluetoothệ ệ 14

1.1.3.1 Master Unit 14

1.1.3.2 Slaver Unit 14

1.1.3.3 Piconet 15

1.1.3.4 Scatternet 16

1.1.4 Đ nh nghĩa các liên k t v t lý trong Bluetoothị ế ậ 17

1.1.5 Tr ng thái c a thi t b Bluetoothạ ủ ế ị 18

1.1.6 Các ch đ k t n iế ộ ế ố 18

1.1.7 Cách th c ho t đ ng c a Bluetoothứ ạ ộ ủ 18

1.1.8 Module Bluetooth HC 05[2] 20

1.1.8.1 Đ c đi m kỹ thu tặ ể ậ 20

1.1.8.2 Hardware 21

1.2 TÌM HI U MÔI TRỂ ƯỜNG L P TRÌNH ANDROIDÂ 23

Trang 5

1.2.1 Khái ni m HĐH Androidệ 23

1.2.2 L ch s phát tri n c a Androidị ử ể ủ [3] 23

1.2.3 Ngôn ng l p trìnhữ ậ 24

1.2.4 M t s v n đ c a HĐH Androidộ ố ấ ề ủ 25

1.2.4.1 S phân m nh – không đ ng nh t c a HĐH Androidự ả ồ ấ ủ 25

1.2.4.2 Kích thước màn hình 25

1.2.5 Android Emulator 25

1.2.6 Android Studio: 26

1.2.7 Các phiên b n c a HĐH Android đã ra m tả ủ ắ [4] 27

1.3 TÌM HI U DÒNG VI ĐI U KHI N STM32Ể Ề Ể [5] 32

1.3.1 Dòng ARM Cortex là gì? 32

1.3.2 Đ c đi m n i b t c a STM32ặ ể ổ ậ ủ 32

1.3.2.1 Tính b o m tả ậ 32

1.3.2.2 Dòng Performance và dòng Access c a STM32ủ 33

1.3.3 Các phiên b n c u trúc ARMả ấ 33

1.3.4 B x lí và đ n v x lí trung tâm Cortexộ ử ơ ị ử 33

1.3.4.1 Đ n v x lí trung tâm Cortex (Cortex CPU)ơ ị ử 33

1.3.4.2 B x lí Cortexộ ử 34

1.3.5 Các ch đ năng lế ộ ượ 34ng 1.3.6 Ki u đóng gói chip và ki u chân linh ki nể ể ệ 35

1.3.7 Ngu n cung c p đi nồ ấ ệ 35

1.3.8 M ch Resetạ 35

1.3.9 Ki n trúc h th ngế ệ ố 35

1.3.10 Các ngo i viạ 36

1.3.10.1 Ngo i vi đa d ngạ ụ 36

1.3.10.2 K t n i v i các giao ti p khácế ố ớ ế 38

1.3.11 Gi i thi u VĐK STM32F103RBT6ớ ệ [6] 39

1.4 K T LU N CHẾ Â ƯƠNG 40

CHƯƠNG 2: THI T K XE MÔ HÌNH VÀ L P TRÌNH CHO M CH ĐI U KHI N Ế Ế Â Ạ Ề Ể XE 41

Trang 6

2.1 PHÂN TÍCH VÀ XÁC Đ NH YÊU C UỊ Ầ 41

2.2 XÂY D NG H TH NGỰ Ệ Ố 42

2.2.1 Th c hi n t o ng d ng trên đi n tho i Androidự ệ ạ ứ ụ ệ ạ 42

2.2.1.1 Gi i thi u SONY XPERIA M4 Aqua Dual – đi n tho i s d ng đ ớ ệ ệ ạ ử ụ ể ch y và ki m tra ng d ng t o raạ ể ứ ụ ạ 42

2.2.1.2 ng d ng trên đi n tho iỨ ụ ệ ạ 43

2.2.1.2.1 X lí giao di n ng d ngử ệ ứ ụ 45

2.2.1.2.2 Mã l nh x lí c a ng d ngệ ử ủ ứ ụ 3

2.2.2 Thi t k xe mô hìnhế ế 6

2.2.3 Ch c năng các Module trong xe mô hìnhứ 6

2.2.3.1 Kit STM32F103RBT6 6

2.2.3.2 Module HC – 05 9

2.2.3.3 Module L298[7] 9

2.2.3.4 Module h áp DC – DC 5Aạ [8] 11

2.2.3.5 Servo Futaba MG995 và Servo Futaba SG90 12

2.2.4 Thu t toán đi u khi n và ngôn ng l p trìnhậ ề ể ữ ậ 14

2.2.5 Thi t k xe mô hìnhế ế 24

2.3 TH C NGHI M VÀ ĐÁNH GIÁ K T QUỰ Ệ Ế A 26

2.4 K T LU N CHẾ Â ƯƠNG 27

K T LU NẾ Â 28

TÀI LI U THAM KH OỆ A 29

Trang 7

trườngAMA Active Member Address: đ a ch thành viên ho t đ ngị ỉ ạ ộPMA Parked Member Address: đ a ch thành viên d ng ho tị ỉ ừ ạ

đ ngộSCO Synchronous Connection Oriented: đ nh hị ướng k t n iế ố

đ ng bồ ộSDK Software Development Kit: b công c phát tri n ph nộ ụ ể ầ

m mềWLAN Wireless Local Area Networks: m ng c c b không dâyạ ụ ộ

Trang 8

DANH M C HÌNH VẼ Ụ

Trang 9

LỜI NÓI ĐẦU

Hi n nay, vi c đi u khi n các h th ng t đ n gi n t i ph c t p sệ ệ ề ể ệ ố ừ ơ ả ớ ứ ạ ử

d ng đụ ường truy n vô tuy n ngày càng gia tăng Nh ng h th ng dây cápề ế ữ ệ ố

ph c t p l i không th đáp ng t t nhu c u này, nh t là khu v c ch t h p,ứ ạ ạ ể ứ ố ầ ấ ự ậ ẹ

n i xa xôi, trên các thi t b không c đ nh,… Vì v y, công ngh vô tuy n đãơ ế ị ố ị ậ ệ ế

ra đ i, đang phát tri n m nh mẽ, t o s thu n ti n cho đ i s ng con ngờ ể ạ ạ ự ậ ệ ờ ố ườitrong cu c s ng thộ ố ường ngày

Kỹ thu t không dây (vô tuy n) ph c v r t nhi u nhu c u khác nhauậ ế ụ ụ ấ ề ầ

c a con ngủ ườ ừi, t nhu c u làm vi c, h c t p cho đ n các nhu c u gi i trí:ầ ệ ọ ậ ế ầ ảxem phim, ch i game, nghe nh c,… Đ đáp ng các nhu c u khác nhau đó,ơ ạ ể ứ ầnhi u kỹ thu t không dây đã đề ậ ược ra đ i nh : Bluetooth, OpenAir, chu nờ ư ẩ802.11, WLAN, IrDA,…

M i chu n kỹ thu t đ u có nh ng u, khuy t đi m riêng và chu nỗ ẩ ậ ề ữ ư ế ể ẩ

k t n i Bluetooth đang d n n i lên là kỹ thu t không dây t m ng n cóế ố ầ ổ ậ ầ ắnhi u u đi m, thu n l i cho các thi t b di đ ng Bluetooth đang d n lanề ư ể ậ ợ ế ị ộ ầ

r ng kh p th gi i, xâm nh p vào m i lĩnh v c thi t b đi n t ộ ắ ế ớ ậ ọ ự ế ị ệ ử

Trong s các thi t b đi n t đó, Smartphone đã và đang phát tri nố ế ị ệ ử ể

v i t c đ vớ ố ộ ượt b c, chúng có nhi u tính năng n i tr i nh : nh g n, linhậ ề ổ ộ ư ỏ ọ

ho t, nghe nh c, xem phim, so n email, quay phim ch t lạ ạ ạ ấ ượng cao, thamgia m ng xã h i,… t t c m i đi u đó đã đ a đi n tho i thông minh ngàyạ ộ ấ ả ọ ề ư ệ ạcàng tr nên g n gũi v i con ngở ầ ớ ười và là thi t b không th thi u trongế ị ể ế

cu c s ng.ộ ố

Nh c t i đi n tho i thông minh không th không nh c t i s tr iắ ớ ệ ạ ể ắ ớ ự ỗ

d y m nh mẽ c a HĐH Android; v i kh năng tậ ạ ủ ớ ả ương thích v i nhi u ph nớ ề ầ

c ng c a các hãng s n xu t khác nhau, do đó th ph n đi n tho i s d ngứ ủ ả ấ ị ầ ệ ạ ử ụAndroid ngày m t nhi u Thêm vào đó, Android còn là m t HĐH m , choộ ề ộ ởphép người dùng th a s c tùy bi n theo ý thích cá nhân.ỏ ứ ế

Có th th y, s phát tri n c a vi đi u khi n g n li n v i s ti n b ,ể ấ ự ể ủ ề ể ắ ề ớ ự ế ộ

c i ti n không ng ng c a ngành đi n t Hi n nay, t o s n ph m đi n tả ế ừ ủ ệ ử ệ ạ ả ẩ ệ ử

s d ng vi đi u khi n kh trình là đi u t t y u và không th thi u; đã cóử ụ ề ể ả ề ấ ế ể ế

r t nhi u các dòng vi đi u khi n đấ ề ề ể ượ ạc t o ra nh : AVR, PIC, ARM,… v iư ớ

nh ng u đi m, đ c tính riêng phù h p cho t ng nhu c u c th Hi n t i,ữ ư ể ặ ợ ừ ầ ụ ể ệ ạ

v i nhu c u ngày càng cao, các dòng vi đi u khi n 8 bit th c s không thớ ầ ề ể ự ự ể

th c hi n các công vi c đòi h i t c đ x lí cao, do đó dòng chip x lí lõiự ệ ệ ỏ ố ộ ử ử

Trang 10

ARM đã đượ ạc t o ra và ngày càng đượ ức ng d ng r ng rãi trong các hụ ộ ệ

th ng nhúng mà đ n c là các thi t b di đ ng do u th tuy t v i v ti tố ơ ử ế ị ộ ư ế ệ ờ ề ế

ki m năng lệ ượng, t c đ x lí cao và luôn s n có các công c h tr ph nố ộ ử ẵ ụ ỗ ợ ầ

c ng, ph n m m Hãng s n xu t chip ST Microelectronic đã nhanh chóngứ ầ ề ả ấ

đ a ra dòng STM 32 – m t dòng vi đi u khi n d a trên n n t ng lõi ARMư ộ ề ể ự ề ảCortex – M3 th h m i do hãng ARM thi t k S k t h p chip ARM vàoế ệ ớ ế ế ự ế ợ

đi u khi n Robot Vi t Nam còn khá m i m , do đó vi c tìm hi u vàề ể ở ệ ớ ẻ ệ ểnghiên c u lĩnh v c này là m t v c c n thi t.ứ ự ộ ệ ầ ế

T nh ng lý do nêu trên, em đã ch n đ tài: ừ ữ ọ ề “Nghiên c u và thi t ứ ế

k xe mô hình đi u khi n b ng Android” ế ề ể ằ Trong đ tài này, em tìm hi uề ể

kỹ thu t không dây Bluetooth, thi t k xe mô hình và xây d ng ng d ngậ ế ế ự ứ ụtruy n d li u qua Bluetooth t Smartphone Android t i xe mô hình sề ữ ệ ừ ớ ử

d ng vi đi u khi n – STM32.ụ ề ể

Trang 11

T NG QUAN Đ ÁN Ổ Ồ

1 Ý T ƯỞ NG THI T K Ế Ế

Thi t b đi u khi n: ế ị ề ể

Android là m t HĐH m và vi c xây d ng ng d ng trên HĐHộ ở ệ ự ứ ụAndroid tương đ i thu n l i, d dàng; b i Android có m t c ng đ ngố ậ ợ ễ ở ộ ộ ồ

người dùng, nhà phát tri n đông đ o, giúp m i ngể ả ọ ười có th h c h i vàể ọ ỏtrao đ i kinh nghi m v i nhau.ổ ệ ớ

Thêm m t u đi m n a là khi s d ng ph n m m trên đi n tho iộ ư ể ữ ử ụ ầ ề ệ ạ

ch y HĐH Android, ngạ ười dùng có th d dàng chia s ng d ng đó v iể ễ ẻ ứ ụ ớ

người khác qua Bluetooth; t đó vi c đi u khi n thi t b khác thông quaừ ệ ề ể ế ị

ng d ng trên đi n tho i Android r t thu n ti n, ti t ki m chi phí h n r t

nhi u so v i vi c t o b đi u khi n Ngoài ra, vi c phát tri n ng d ngề ớ ệ ạ ộ ề ể ệ ể ứ ụ

được th c hi n b t c khi nào có th mà không b gò bó b i b đi u khi nự ệ ấ ứ ể ị ở ộ ề ểriêng bi t.ệ

T nh ng thu n l i đó, em đã th c hi n t o m t ng d ng Android –ừ ữ ậ ợ ự ệ ạ ộ ứ ụ

có ch c năng chính là truy n d li u qua truy n thông Bluetooth đ đi uứ ề ữ ệ ề ể ềkhi n thi t b ngo i vi.ể ế ị ạ

Thi t b ngo i vi: ế ị ạ

S d ng m t Module Bluetooth đ truy n d li u t đi n tho i t iử ụ ộ ể ề ữ ệ ừ ệ ạ ớrobot – s d ng vi đi u khi n Vi đi u khi n này có nhi m v nh n tínử ụ ề ể ề ể ệ ụ ậ

hi u t đi n tho i, x lí chúng và đ a l nh đi u khi n ph n c ng – robot.ệ ừ ệ ạ ử ư ệ ề ể ầ ứ

2 MÔ HÌNH H TH NG Ệ Ố

Dưới đây là hình nh mô t t ng quát h th ng:ả ả ổ ệ ố

Trang 12

Hình 1: Mô hình h th ng ệ ố

3 N I DUNG BÁO CÁO Đ TÀI Ộ Ề

Đ tài đề ược chia ra làm 2 ph n chầ ương chính:

Chương 1: C s lý thuy t.ơ ở ế

Chương 2: Thi t k xe mô hình và l p trình cho m ch đi u khi n xe.ế ế ậ ạ ề ể

Trang 13

CH ƯƠ NG 1: C S LÝ THUY T Ơ Ở Ế1.1 TÌM HI U CÔNG NGH BLUETOOTH Ể Ệ [1]

1.1.1 Khái niệm Bluetooth

Bluetooth là công ngh không dây cho phép các thi t b đi n, đi n tệ ế ị ệ ệ ửgiao ti p v i nhau trong kho ng cách ng n, b ng sóng vô tuy n qua băngế ớ ả ắ ằ ế

t n chung ISM (Industrial, Scientific, Medical) trong d i t n 2.4 – 2.48 GHz.ầ ả ầĐây là băng t n không c n đăng ký, đầ ầ ược dành riêng cho các thi t b khôngế ịdây trong công nghi p, khoa h c và y t ệ ọ ế

Khi được kích ho t, Bluetooth có th t đ ng đ nh v nh ng thi t bạ ể ự ộ ị ị ữ ế ịkhác có chung công ngh trong vùng ph sóng và b t đ u k t n i v iệ ủ ắ ầ ế ố ớchúng Nó được đ nh hị ướng s d ng trong vi c truy n d li u và ti ng nói.ử ụ ệ ề ữ ệ ếBluetooth được thi t k ho t đ ng m c năng lế ế ạ ộ ở ứ ượng r t th p.ấ ấ

Kho ng cách giao ti p cho phép:ả ế

 Kho ng cách gi a 2 thi t b đ u cu i có th lên đ n 10m ngoàiả ữ ế ị ầ ố ể ế

D dàng trong vi c phát tri n ng d ng: Bluetooth k t n i m ngễ ệ ể ứ ụ ế ố ộ ứ

d ng này v i m t ng d ng khác thông qua các chu n “Bluetooth profiles”,ụ ớ ộ ứ ụ ẩ

do đó có th đ c l p v ph n c ng và HĐH s d ng.ể ộ ậ ề ầ ứ ử ụ

Bluetooth đượ ử ục s d ng trong giao ti p d li u ti ng nói: có 3 kênhế ữ ệ ếtruy n ti ng nói, 7 kênh truy n d li u trong m t m ng cá nhân.ề ế ề ữ ệ ộ ạ

Trang 14

An toàn và b o m t: đả ậ ược tích h p v i s xác th c và mã hóa (Buildợ ớ ự ự

in authentication and encryption)

Tính tương thích cao, được nhi u nhà s n xu t ph n c ng và ph nề ả ấ ầ ứ ầ

m m h tr ề ỗ ợ

S d ng “frequency hopping” giúp gi m va ch m sóng t i đa.ử ụ ả ạ ố

Có kh năng b o m t t 8 -> 128 bit.ả ả ậ ừ

1.1.2.2 Nh ượ c đi m ể

 Không th thi t l p các ng d ng th i gian th c.ể ế ậ ứ ụ ờ ự

 Kho ng cách k t n i còn ng n so v i các công ngh k t n i khôngả ế ố ắ ớ ệ ế ốdây khác

 S thi t b active, pack cùng lúc trong m t Piconet còn h n ch ố ế ị ộ ạ ế

 T c đ truy n c a Bluetooth không cao.ố ộ ề ủ

 B nhi u b i m t s thi t b s d ng sóng radio khác, các trang thi tị ễ ở ộ ố ế ị ử ụ ế

b khác.ị

 B o m t còn th p.ả ậ ấ

1.1.3 Các khái niệm dùng trong công nghệ Bluetooth

1.1.3.1 Master Unit

Là thi t b duy nh t trong m t Piconet, Master thi t l p đ ng hế ị ấ ộ ế ậ ồ ồ

đ m xung và đ ng h bế ồ ồ ước nh y (hopping) đ đ ng b t t c thi t bả ể ồ ộ ấ ả ế ịtrong cùng m t Piconet mà nó đang qu n lí, thộ ả ường là thi t b đ u tiênế ị ầchuy n đ i d li u Master cũng quy t đ nh s kênh truy n thông M iể ổ ữ ệ ế ị ố ề ỗPiconet có m t ki u hopping duy nh t.ộ ể ấ

1.1.3.2 Slaver Unit

Là t t c các thi t b còn l i trong Piconet, m t thi t b không làấ ả ế ị ạ ộ ế ịMaster thì ph i là Slaver Có t i đa 7 Slave d ng Active và 255 Slave d ngả ố ạ ạParked (Inactive) trong m t Piconet Có 3 d ng Slave trong m t Piconet:ộ ạ ộ

Trang 15

Standby:

Là m t d ng Inactive, thi t b trong tr ng thái này không trao đ i dộ ạ ế ị ạ ổ ữ

li u, sóng radio không có tác đ ng lên, công su t gi m đ n t i thi u đ ti tệ ộ ấ ả ế ố ể ể ế

ki m năng lệ ượng, thi t b không có kh năng dò đế ị ả ược b t c mã truy c pấ ứ ậnào; có th coi nh ng thi t b đó n m ngoài vùng ki m soát c a Master.ể ữ ế ị ằ ể ủ

Parked:

Là m t d ng Inactive, ch m t thi t b trong m t Piconet thộ ạ ỉ ộ ế ị ộ ườngxuyên được đ ng b v i Piconet, nh ng không có m t đ a ch MAC nào.ồ ộ ớ ư ộ ị ỉChúng nh đang tr ng thái ng và ch đư ở ạ ủ ờ ược Master g i d y b ng tínọ ạ ằ

hi u “beacon” – tín hi u báo hi u Các thi t b tr ng thái Parked đệ ệ ệ ế ị ạ ược đánh

đ a ch thông qua đ a ch PMA Đây là con s 8 bit đ phân bi t các Parkedị ỉ ị ỉ ố ể ệSlave v i nhau và có t i đa 255 thi t b tr ng thái này trong m t Piconet.ớ ố ế ị ở ạ ộ

1.1.3.3 Piconet

Piconet là m t t p h p các thi t b độ ậ ợ ế ị ược k t n i thông qua kỹ thu tế ố ậBluetooth theo mô hình Ad-hoc – đây là m t ki u m ng độ ể ạ ược thi t l p choế ậnhu c u truy n d li u hi n hành và t c th i, t c đ nhanh và k t n i sẽầ ề ữ ệ ệ ứ ờ ố ộ ế ố

t đ ng h y sau khi truy n xong Trong m t Piconet thì ch có m t thi t bự ộ ủ ề ộ ỉ ộ ế ị

là Master; đây thường là thi t b đ u tiên t o k t n i, nó có vai trò quy tế ị ầ ạ ế ố ế

đ nh đ n s kênh truy n thông và th c hi n đ ng b gi a các thành ph nị ế ố ề ự ệ ồ ộ ữ ầtrong Piconet; các thi t b còn l i là Slave – đó là các thi t b g i yêu c u t iế ị ạ ế ị ử ầ ớMaster

L u ý r ng, hai Slave mu n th c hi n liên l c ph i thông qua Masterư ằ ố ự ệ ạ ả

b i chúng không bao gi k t n i tr c ti p v i nhau, Master sẽ đ ng b cácở ờ ế ố ự ế ớ ồ ộSlave v th i gian và t n s Trong m t Piconet có t i đa 7 Slave đang ho tề ờ ầ ố ộ ố ạ

đ ng t i m t th i đi m.ộ ạ ộ ờ ể

Các mô hình Piconet:

Trang 16

Hình 1.1: M t Piconet trong th c t ộ ự ế

1.1.3.4 Scatternet

Là hai hay nhi u Piconet đ c l p và không đ ng b ; các Piconet nàyề ộ ậ ồ ộ

k t h p l i truy n thông v i nhau.ế ợ ạ ề ớ

L u ý: ư

M t thi t b v a là Master c a Piconet này, v a có th là Slave c aộ ế ị ừ ủ ừ ể ủPiconet khác

Vai trò c a m t thi t b trong Piconet là không c đ nh, có nghĩa nó cóủ ộ ế ị ố ị

th thay đ i t Master thành Slave và ngể ổ ừ ượ ạ ừc l i t Slave thành Master Ví

d n u Master không đ kh năng c p tài nguyên ph c v cho Piconet c aụ ế ủ ả ấ ụ ụ ủmình, thì nó sẽ chuy n quy n cho m t Slave khác giàu tài nguyên h n,ể ề ộ ơ

m nh h n; b i vì trong m t Piconet thì Clock và ki u Hopping đã đạ ơ ở ộ ể ược

đ ng b s n.ồ ộ ẵ

Trang 17

Hình 1.2: M t Scatternet g m 2 Piconet ộ ồ

1.1.4 Định nghĩa các liên kết vật lý trong Bluetooth

ACL – Asynchronous Connectionless:

Được thi t l p cho vi c truy n d li u, nh ng gói d li u c b nế ậ ệ ề ữ ệ ữ ữ ệ ơ ả(primarily packet data) Là m t k t n i point – to – multipoint gi a Masterộ ế ố ữ

và t t c các Slave tham gia trong Piconet; ch t n t i duy nh t m t k t n iấ ả ỉ ồ ạ ấ ộ ế ốACL Chúng h tr nh ng k t n i chuy n m ch gói (packet – switchedỗ ợ ữ ế ố ể ạconnection) đ i x ng và không đ i x ng Nh ng gói tin đa khe dùng ACLố ứ ố ứ ữlink và có th đ t t i kh năng truy n t i đa 723 kbps m t hể ạ ớ ả ề ố ở ộ ướng và 57.6kbps hở ướng khác Master đi u khi n đ r ng băng t n c a ACL link và sẽề ể ộ ộ ầ ủquy t đ nh xem trong m t Piconet thì m t Slave có th dùng băng t n r ngế ị ộ ộ ể ầ ộbao nhiêu Nh ng gói tin Broadcast sẽ đữ ược truy n b ng ACL link, tề ằ ừMaster t i t t c các Slave H u h t các gói tin ACL đ u có th truy n l i.ớ ấ ả ầ ế ề ể ề ạ

Synchronous Connection – Oriented (SCO):

H tr k t n i đ i x ng, chuy n m ch (circuit – switched), point – toỗ ợ ế ố ố ứ ể ạ– point gi a m t Slave và m t Master trong m t Piconet K t n i SCO chữ ộ ộ ộ ế ố ủ

y u dùng đ truy n d li u ti ng nói Hai khe th i gian liên ti p đã đế ể ề ữ ệ ế ờ ế ược

ch đ nh trỉ ị ước sẽ được dành riêng cho SCO link D li u truy n theo SCOữ ệ ềlink có t c đ 64 kbps Master có th h tr t i đa 3 k t n i SCO đ ng th i.ố ộ ể ỗ ợ ố ế ố ồ ờSCO packet không ch a CRC (Cyclic Redundancy Check) và không bao giứ ờtruy n l i Liên k t SCO đề ạ ế ược thi t l p ch sau khi m t liên k t ACL đ uế ậ ỉ ộ ế ầtiên được thi t l p.ế ậ

Trang 18

1.1.5 Trạng thái của thiết bị Bluetooth

Có b n tr ng thái chính c a m t thi t b Bluetooth trong m t Piconet:ố ạ ủ ộ ế ị ộ

 Inquiring device (Inquiry mode): thi t b đang phát tín hi u tìm thi tế ị ệ ế

 Active mode: trong ch đ này, thi t b Bluetooth tham gia vào ho tế ộ ế ị ạ

đ ng c a m ng Thi t b Master sẽ đi u ph i l u lộ ủ ạ ế ị ề ố ư ượng và đ ng bồ ộhóa cho các thi t b Slave.ế ị

 Sniff mode: là m t ch đ ti t ki m năng lộ ế ộ ế ệ ượng c a thi t b đang ủ ế ị ở

tr ng thái active tr ng thái Sniff mode, thi t b Slave l ng nghe tínạ Ở ạ ế ị ắ

hi u t m ng v i t n s gi m hay nói cách khác là gi m công su t.ệ ừ ạ ớ ầ ố ả ả ấ

T n s này ph thu c vào tham s c a ng d ng Đây là ch đ ítầ ố ụ ộ ố ủ ứ ụ ế ộ

ti t ki m năng lế ệ ượng nh t trong ba ch đ ti t ki m năng lấ ế ộ ế ệ ượng

 Hold mode: là m t ch đ ti t ki m năng lộ ế ộ ế ệ ượng c a thi t b đang ủ ế ị ở

tr ng thái active ạ Master có th đ t ch đ Hold mode cho Slave c aể ặ ế ộ ủmình Các thi t b có th trao đ i d li u ngay l p t c ngay khi thoátế ị ể ổ ữ ệ ậ ứ

kh i ch đ Hold mode Đây là ch đ ti t ki m năng lỏ ế ộ ế ộ ế ệ ượng trungbình trong ba ch đ ti t ki m năng lế ộ ế ệ ượng

 Park mode: là ch đ ti t ki m năng lế ộ ế ệ ượng c a thi t b v n còn trongủ ế ị ẫ

m ng nh ng không tham gia vào quá trình trao đ i d li u (inactive).ạ ư ổ ữ ệThi t b tr ng thái Park mode sẽ b đ a ch MAC, ch l ng nghe tínế ị ở ạ ỏ ị ỉ ỉ ắ

hi u đ ng b hóa và thông đi p broadcast c a Master Đây là ch đệ ồ ộ ệ ủ ế ộ

ti t ki m năng lế ệ ượng nh t trong ba ch đ ti t ki m năng lấ ế ộ ế ệ ượng.1.1.7 Cách thức hoạt động của Bluetooth

Kỹ thu t Bluetooth th c s r t ph c t p; nó dùng kỹ thu t nh y t nậ ự ự ấ ứ ạ ậ ả ầtrong các Timeslot (TS), được thi t k đ làm vi c trong môi trế ế ể ệ ường nhi uễ

t n s radio, Bluetooth dùng nh y t n đ t o nên s c m nh liên k tầ ố ả ầ ể ạ ứ ạ ếtruy n thông và truy n thông thông minh C m i l n g i hay nh n m tề ề ứ ỗ ầ ử ậ ộ

Trang 19

packet xong, Bluetooth l i nh y sang m t t n s m i, nh th sẽ tránhạ ả ộ ầ ố ớ ư ế

được nhi u t các tín hi u khác.ễ ừ ệ

So sánh v i các h th ng khác làm vi c trong cùng m t d i băng t n,ớ ệ ố ệ ộ ả ầsóng radio c a Bluetooth nh y t n nhanh và dùng packet ng n h n Vìủ ả ầ ắ ơ

nh y nhanh và packet ng n nên làm gi m va ch m v i sóng t lò vi sóng vàả ắ ả ạ ớ ừcác phương ti n gây nhi u khác trong khí quy n.ệ ễ ể

Có ba phương pháp đượ ử ục s d ng trong vi c ki m tra tính đúng đ nệ ể ắ

Blueooth dùng kỹ thu t s a l i ti n FEC (Forward Error Correction)ậ ử ỗ ế

đ s a sai do nhi u t nhiên khi truy n trong kho ng cách xa FEC choể ử ễ ự ề ảphép phát hi n l i, bi t s a sai và truy n đi ti p (khác v i kỹ thu t BEC –ệ ỗ ế ử ề ế ớ ậBackward Error Control: ch phát hi n, không bi t s a hay yêu c u truy nỉ ệ ế ử ầ ề

l i).ạ

Giao th c băng t n c s (Base band) c a Bluetooth là s k t h pứ ầ ơ ở ủ ự ế ợ

gi a chuy n m ch và chuy n đ i packet Các khe th i gian có th đữ ể ạ ể ổ ờ ể ượcdành riêng cho các packet ph c v đ ng b Th c hi n bụ ụ ồ ộ ự ệ ước nh y t n choả ầ

m i packet đỗ ược truy n đi M t packet trên danh nghĩa sẽ chi m m t TS;ề ộ ế ộtrên th c t , nó có th m r ng chi m 3 đ n 5 TS.ự ế ể ở ộ ế ế

Bluetooth h tr m t kênh d li u b t đ ng b , hay ba kênh tín hi uỗ ợ ộ ữ ệ ấ ộ ộ ệtho i đ ng b nhau cùng m t lúc hay m t kênh h tr cùng lúc d li u b tạ ồ ộ ộ ộ ỗ ợ ữ ệ ấ

đ ng b và d li u đ ng b ồ ộ ữ ệ ồ ộ

1.1.8 Module Bluetooth HC 05 [2]

Trang 20

Hình 1.3: Module Bluetooth

 Module Bluetooth HC 05 là m t cách d dàng đ có th s d ng giaoộ ễ ể ể ử ụ

ti p Bluetooth qua Serial Port, đế ược thi t k đ truy n d li u n iế ế ể ề ữ ệ ố

ti p qua wireless.ế

 S d ng chu n Bluetooth 2.0 và EDR 3 Mbps.ử ụ ẩ

 Đi u ch thu phát t n s 2.4 GHz, s d ng chip Bluecore Bluetoothề ế ở ầ ố ử ụ

04 – là chip duy nh t v i h th ng Cmos và AFH tấ ớ ệ ố ương thích v iớnhi u tính năng nh y t n.ề ả ầ

 Đi u khi n PIO.ề ể

 Giao ti p UART v i t c đ paud l p trình đế ớ ố ộ ậ ược

Trang 21

 T c đ buad h tr : 9600, 19200, 38400, 57600, 115200, 230400,ố ộ ỗ ợ460800.

 Khi có m t xung PIO0, thi t b sẽ b ng t k t n i.ộ ở ế ị ị ắ ế ố

 Tr ng thái ch th port PIO1: low = ng t k t n i; high = đã k t n i.ạ ỉ ị ắ ế ố ế ố

 PIO10 và PIO11 có th để ược k t n i v i led đ và led xanh riêng.ế ố ớ ỏKhi Master và Slave được k t n i v i nhau, led đ và ld xanh sẽế ố ớ ỏnháy 1 l n/2s, khi ng t k t n i ch led xanh nháy 2 l n/s.ầ ắ ế ố ỉ ầ

 T đ ng k t n i v i thi t b cu i cùng khi ngu n đự ộ ế ố ớ ế ị ố ồ ượ ấc c p

B ng mô t ch c năng các chân trong Module:ả ả ứ

Tên chân STT chân Lo i chân ạ Mô t chân ả

PIO0 23 2 hướng RX EN L p trình I/O, đi uậ ề

Trang 22

khi n output cho LNAể

n u đế ược trang bị

L p trình I/O, đi uậ ềkhi n LA n u để ế ược

trang bị

internal pull - up Reset n u LOWế

Cmos output, tri –stale with weakinternal pull - up

UART yêu c u khi g i,ầ ử

ho t đ ng LOWạ ộ

internal pull – down

UART xóa khi g i, ho tử ạ

đ ng LOWộ

internal pull – down D li u vào UARTữ ệ

Cmos output, tri –stale with weakinternal pull - up

D li u ra UARTữ ệ

SPI_MOSI 17 Cmos input with weak

internal pull – down

Serial peripheralinterface data input

internal pull - up

Chip select for serialperipheral interface,active low

internal pull – down

Serial peripheralinterface data outputSPI_MISO 18 Cmos input with weak

internal pull – down

Trang 23

1.2 TÌM HI U MÔI TR Ể ƯỜ NG L P TRÌNH ANDROID Ậ

1.2.1 Khái niệm HĐH Android

Android là HĐH di đ ng mã ngu n m mi n phí do Google phát tri nộ ồ ở ễ ể

d a trên n n t ng Linux B t kì m t hãng s n xu t ph n c ng nào cũngự ề ả ấ ộ ả ấ ầ ứ

đ u có th t do s d ng HĐH Android cho thi t b c a mình; mi n sao cácề ể ự ử ụ ế ị ủ ễthi t b đó đáp ng các tiêu chu n c b n do công ty Google đ a ra (có c mế ị ứ ẩ ơ ả ư ả

ng, GPS, 3G,…)

1.2.2 Lịch sử phát triển của Android [3]

Ban đ u, Android là các thi t b c m tay d a trên lõi Linux do công tyầ ế ị ầ ựAndroid Inc (Canifornia – Mỹ) thi t k Công ty này sau đó đế ế ược Googlemua l i vào năm 2005 và b t đ u xây d ng Android Platform ạ ắ ầ ự Các thànhviên ch ch t t i Android Inc g m có: Andy Rubin, Rich Miner, Nick Searsủ ố ạ ồ

và Chris White

Cu i năm 2007, thu c v liên minh thi t b c m tay mã ngu n mố ộ ề ế ị ầ ồ ở(Open Handset Alliance) g m các thành viên n i b t trong ngành vi nồ ổ ậ ễthông và các thi t b c m tay nh : ế ị ầ ư Texas Instruments, Broadcom

Corporation, Google, HTC, Intel, LG, Marvell Technology Group, Motorola, Nvidia, Qualcomm, Samsung Electronics, T – Mobile, Sprint Nextel, ARM Holdings, Altheros Communication, Asustek Computer Inc, Garmin Ltd, Sofbank, Sony Ericssion, Tosiba Corp, …

M c tiêu c a liên minh này là nhanh chóng đ i m i đ đáp ng t tụ ủ ổ ớ ể ứ ố

h n cho nhu c u ngơ ầ ười tiêu dùng và k t qu đ u tiên c a nó chính là n nế ả ầ ủ ề

t ng Android Android đả ược thi t k đ ph c v nhu c u c a các nhà s nế ế ể ụ ụ ầ ủ ả

xu t thi t b , các nhà khai thác, các l p trình viên thi t b c m tay.ấ ế ị ậ ế ị ầ

Phiên b n SDK l n đ u tiên phát hành vào tháng 11 năm 2007, hãngả ầ ầ

T – Mobile cũng công b chi c đi n tho i Android đ u tiên là chi c T –ố ế ệ ạ ầ ế

Trang 24

Mobile G1, chi c Smartphone đ u tiên d a trên n n t ng Android M t vàiế ầ ự ề ả ộngày sau đó, Google l i ti p t c công b s ra m t c a phiên b n Androidạ ế ụ ố ự ắ ủ ảSDK release Candidate 1.0 Trong tháng 10 năm 2008, Google đượ ấc c p gi yấphép mã ngu n m cho Android platform.ồ ở

Khi Android phát hành thì m t trong s các m c tiêu trong ki n trúcộ ố ụ ế

c a nó là cho phép các ng d ng có th tủ ứ ụ ể ương tác được v i nhau và có thớ ể

s d ng l i các thành ph n t nh ng ng d ng khác Vi c tái s d ngử ụ ạ ầ ừ ữ ứ ụ ệ ử ụkhông ch áp d ng cho các d ch v mà nó còn đỉ ụ ị ụ ược áp d ng cho các thànhụ

ph n d li u và giao di n ngầ ữ ệ ệ ười dùng

Vào cu i năm 2008, Google cho phát hành m t thi t b c m tay đố ộ ế ị ầ ược

g i là Google Dev Phone 1, có th ch y các ng d ng Android mà không bọ ể ạ ứ ụ ịràng bu c b i các nhà cung c p m ng đi n tho i di đ ng, m c tiêu c aộ ở ấ ạ ệ ạ ộ ụ ủthi t b này là cho phép các nhà phát tri n th c hi n các công cu c thíế ị ể ự ệ ộnghi m trên m t thi t b th c có th ch y HĐH Android mà không ph i kýệ ộ ế ị ự ể ạ ả

m t b n h p đ ng nào Cũng vào cùng kho ng th i gian đó, Google cũngộ ả ợ ồ ả ờcho phát hành m t phiên b n vá l i 1.1 c a HĐH này hai phiên b n 1.0ộ ả ỗ ủ Ở ả

và 1.1 Android ch a h tr Soft Keyboard mà đòi h i các thi t b ph i sư ỗ ợ ỏ ế ị ả ử

d ng bàn phím v t lý Android c đ nh v n đ này b ng cách phát hànhụ ậ ố ị ấ ề ằSDK 1.5 vào tháng 4 năm 2009, cũng v i m t s tính năng khác; ch ng h nớ ộ ố ẳ ạ

nh nâng cao kh năng ghi âm truy n thông, các Live Folder,…ư ả ề

*, SDK: Software Development Kit – m t b công c phát tri n ph n ộ ộ ụ ể ầ

m m; SDK bao g m m t ho c nhi u programming tools, documentation và ề ồ ộ ặ ề

m t s công c c n thi t khác đ t ra các ng d ng cho các gói ph n m m ộ ố ụ ầ ế ể ọ ứ ụ ầ ề

ho c các n n t ng thông qua ngôn ng l p trình nào đó (Java, C++, C#, ặ ề ả ữ ậ Objective – C,… ).

Android SDK là b công c phát tri n ng d ng trên n n t ng ộ ụ ể ứ ụ ề ả Android, nó là m t máy o Android dùng trên PC, h tr l p trình viên t o ộ ả ỗ ợ ậ ạ các ng d ng trên máy tính cá nhân và m t s ch c năng khác không khác gì ứ ụ ộ ố ứ

v i máy th t ớ ậ

1.2.3 Ngôn ngư l p trinh ậ

Ngôn ng l p trình chính th c c a Android là Java M c dù các ngữ ậ ứ ủ ặ ứ

d ng trên Android đụ ược phát tri n d a trên n n t ng Java, nh ng Androidể ự ề ả ưkhông h J2ME và J2SE, là hai ngôn ng l p trình ph d ng cho các thi t bỗ ữ ậ ổ ụ ế ị

di đ ng D a trên máy o Java c a Sun, Google đã tinh ch nh và phát tri nộ ự ả ủ ỉ ể

Trang 25

nên máy o Dalvik đ biên d ch mã Java v i t c đ biên d ch nhanh h n vàả ể ị ớ ố ộ ị ơ

nh h n Đ n phiên b n Froyo 2.2, Android đã h tr Just-in-time Compilerẹ ơ ế ả ỗ ợ(JIT) làm tăng t c đ biên d ch Java lên g p 2-5 l n so v i các phiên b nố ộ ị ấ ầ ớ ả

trước

1.2.4 M t số vân đê của HĐH Android ộ

1.2.4.1 S phân m nh – không đ ng nh t c a HĐH Android ự ả ô â u

Do Android là h đi u hành mã ngu n m và mi n phí, b t kỳ m tệ ề ồ ở ễ ấ ộnhà s n xu t ph n c ng nào cũng có th s d ng và tùy bi n Android đả ấ ầ ứ ể ử ụ ế ểcài đ t trên các thi t b c a mình Đi u này d n đ n v n đ phân m nhặ ế ị ủ ề ẫ ế ấ ể ả(fragmentation) khi trên th trị ường t n t i nhi u m u đi n tho i Android,ồ ạ ề ẫ ệ ạ

m i m u ch y m t phiên b n Android khác nhau Đôi khi các phiên b nỗ ẫ ạ ộ ả ảAndroid này còn khác nhau v giao di n hay ch c năng, do các nhà s nề ệ ứ ả

xu t t ch thêm vào mã ngu n c a Android.ấ ự ế ồ ủ

M t khác, do vi c c p nh t h đi u hành ph thu c hoàn toàn vàoặ ệ ậ ậ ệ ề ụ ộcác nhà s n xu t, th nên sau khi Google công b phiên b n Android m i ,ả ấ ế ố ả ớ

người sẽ bu c ph i ch khá lâu m i độ ả ờ ớ ượ ậc c p nh t Do v n đ phân m nhậ ấ ề ảnày, trên th trị ường m t lúc t n t i nhi u phiên b n Android khác nhau, vàộ ố ạ ề ả

người phát tri n ng d ng Android bu c ph i xem xét đ n kh năng ngể ứ ụ ộ ả ế ả ứ

d ng do mình vi t ra có th sẽ không ch y đu c hay thi u di m t s ch cụ ế ể ạ ợ ế ộ ố ứnăng quan tr ng khi cha trên các máy ch y phiên b n Android cũ.ọ ỵ ạ ả

Trang 26

ng d ng Tuy nhiên, các Coder có th không c n s d ng IDE mà thay vào

đó là s d ng command line đ biên d ch và t t nhiên sẽ có mô ph ng nhử ụ ể ị ấ ỏ ưbình thường

Android Emulator được trang b đ y đ h u h t các tính năng c aị ầ ủ ầ ế ủ

m t thi t b th t Tuy nhiên m t s đã b gi i h n nh : k t n i qua c ngộ ế ị ậ ộ ố ị ớ ạ ư ế ố ổUSB, camera và video, nghe phone, ngu n đi n gi l p và bluetooth.ồ ệ ả ậ

Android Emulator th c hi n các công vi c thông qua b x lí mãự ệ ệ ộ ửngu n m , công ngh này đồ ở ệ ượ ọc g i là QEMU được phát tri n b i Fabrice.ể ở

Android Studio giai đo n truy c p xem trở ạ ậ ướ ớc s m b t đ u t phiênắ ầ ừ

b n 0.1 vào tháng 5ả năm 2013, sau đó bước vào giai đo n beta t phiênạ ừ

b n 0.8 đả ược phát hành vào tháng 6 năm 2014 Phiên b n n đ nhả ổ ị đ u tiênầ

được ra m t vào tháng 12ắ năm 2014, b t đ u t phiên b n ắ ầ ừ ả 1.0

D a trên ph n m mự ầ ề IntelliJ IDEA c aủ JetBrains, Android Studio đượcthi t k đ c bi t đ phát tri n ng d ng Androiế ế ặ ệ ể ể ứ ụ d B công c Androidộ ụStudio cung c p nh ng trình so n th o riêng bi t tấ ữ ạ ả ệ ương ng v i h u h tứ ớ ầ ếcác file c u hình và Layout c a ng d ng Android v i đ nh d ng XML V iấ ủ ứ ụ ớ ị ạ ớ

Trang 27

nh ng file Layout giao di n, Android Studio cho phép các l p trình viên dữ ệ ậ ễdàng chuy n đ i ch đ ch nh s a gi a trình biên so n n i dung XML ho cể ổ ế ộ ỉ ử ữ ạ ộ ặtrình biên so n dạ ướ ại d ng giao di n (GUI).ệ

Nó h tr các h đi u hành Windows, Mac OS X và Linuxỗ ợ ệ ề , đ ng th iồ ờ làIDE chính th c c a Google đ phát tri n ng d ng Android g c đ thay thứ ủ ể ể ứ ụ ố ể ếcho Android Development Tools (ADT) d a trên Eclipseự

Ngoài ra , b phát tri n Android Studio còn tích h p bên trong nh ngộ ể ợ ữ

ti n ích h tr phát tri n ng d ng nh sau:ệ ỗ ợ ể ứ ụ ư

 B xây d ng ng d ng Gradle v i nhi u c u hình linh đ ng.ộ ự ứ ụ ớ ề ấ ộ

 Cho phép xây d ng ng d ng tùy bi n và t đ ng t o ra file “.apk”ự ứ ụ ế ự ộ ạ

tương thích v i thông tin tùy bi n.ớ ế

 B code m u giúp chúng ta xây d ng các ch c năng ph bi n c a cácộ ẫ ự ứ ổ ế ủ

ng d ng

 Trình biên so n Layout GUI cho ng d ng Android phong phú và ti nạ ứ ụ ệ

l i, cho phép ngợ ười dùng d dàng t o ra giao di n màn hình b ngễ ạ ệ ằcách kéo th các Component m u có s n và ch nh s a giao di nả ẫ ẵ ỉ ử ệthemes (kích thướt, màu s c, …) tùy ý.ắ

 Tích h pợ lint – M t ng d ng tích h p giúp các developer ki m soátộ ứ ụ ợ ể

v hi u su t (performance), tính kh d ng (usability), kh năngề ệ ấ ả ụ ả

tương thích c a các phiên b n API s d ng và nh ng v n đ ti m nủ ả ử ụ ữ ấ ề ề ẩbên trong có th x y ra lúc Runtime.ể ả

 ProGuard (ti n ích t i u và mã hóa code khi build ng d ng) vàệ ố ư ứ ụAndroid app-signing

 B tích h p h tr phát tri n ng d ng Android d dàng v i các d chộ ợ ỗ ợ ể ứ ụ ễ ớ ị

v c a n n t ng đám mây c a Google (Google Cloud Platform).ụ ủ ề ả ủ

1.2.7 Các phiên bản của HĐH Android đã ra mắt [4]

Trang 28

Hình 1.6: Các phiên b n Android ả

Android 1.0:

Ngày ra m t: 23 – 11 – 2008, r t nguyên s và tích h p s n kh năngắ ấ ơ ợ ẵ ả

đ ng b d li u v i các d ch v tr c tuy n c a Google nh : Gmail, Googleồ ộ ữ ệ ớ ị ụ ự ế ủ ưCalendar và Contacts, trình phát Media, h tr Wifi và Bluetooth, thanhỗ ợ

tr ng thái hi n th các thông báo ng d ng và m t ng d ng ch p nh –ạ ể ị ứ ụ ộ ứ ụ ụ ảcamera tuy ch a cho phép thay đ i đ phân gi i và ch t lư ổ ộ ả ấ ượng nh.ả

Android 1.1:

Ra m t ngày: 9 – 2 – 2009, Google b t đ u đ a tên g i (tên mã) vàoắ ắ ầ ư ọtên các phiên b n Android Tuy ch a chính th c áp d ng nh ng Androidả ư ứ ụ ư1.1 đã có tên Petit Four, không bao g m nhi u tính năng, phiên b n này bồ ề ả ổsung m t s ch c năng m i cho ng d ng Google Maps hi n th chi ti tộ ố ứ ớ ứ ụ ể ị ế

h n, bàn phím o g i đi n tho i đã có th hi n th ho c n khi g i;ơ ả ọ ệ ạ ể ể ị ặ ẩ ọ

chương trình SMS cho phép người dùng l u t p tin đính kèm Android 1.1ư ậcũng đã kh c ph c m t s l i c a Android 1.0.ắ ụ ộ ố ỗ ủ

h tr Widget trên giao di n ch , cho phép quay phim và phát l i video,ỗ ợ ệ ủ ạ

hi n th l ch s th i gian cu c g i, ch đ t đ ng xoay màn hình theoể ị ị ử ờ ộ ọ ế ộ ự ộ

hướng s d ng; trình duy t trong Cupcake cho phép kh năng sao chépử ụ ệ ả

ho c dán.ặ

Android 1.6 Donut:

Trang 29

Ra m t ngày: 30 – 09 – 2009, kh c ph c các ch c năng “l ng l o”ắ ắ ụ ứ ỏ ẻtrong Cupcake, m r ng ch c năng tìm ki m b ng gi ng nói và kí t đ nở ộ ứ ế ằ ọ ự ếBookmark và danh b Xu t hi n Android Market – m t ch ng d ng đạ ấ ệ ộ ợ ứ ụ ể

người dùng có th t i v và s d ng ng d ng mình yêu thích T c để ả ề ử ụ ứ ụ ố ộtrong ng d ng ch p nh và quay phim đã đứ ụ ụ ả ượ ảc c i thi n h n so v i phiênệ ơ ớ

b n trả ước HĐH h tr màn hình có đ phân gi i l n h n, hỗ ợ ộ ả ớ ơ ướng t i cácớ

th h smartphone có màn hình l n.ế ệ ớ

Android 2.0/2.1 Eclair:

Phiên b n 2.0 ra m t tháng 11 năm 2009 nh m m c đích h tr t tả ắ ằ ụ ỗ ợ ố

h n cho nhi u đi n tho i di đ ng ch y Android Ti p đó, phiên b n 2.1 v iơ ề ệ ạ ộ ạ ế ả ớ

m t vài tính năng nh đã độ ỏ ược nâng c p và xu t hi n vào tháng 1 nămấ ấ ệ

2010 Phiên b n này n i b t v i các tính năng m i cho ngả ổ ậ ớ ớ ười dùng và cácnhà phát tri n cũng nh nâng c p giao di n ngể ư ấ ệ ười dùng đ ng th i h trồ ờ ỗ ợHTML5 và Exchange ActiveSync 2.5

Android 2.2 Froyo:

Ra m t ngày: 20 – 05 – 2010, t phiên b n này tr đi, Android d nắ ừ ả ở ầhoàn thi n mình h n, Froyo l n đ u tiên mang Adobe Flash đ n Android,ệ ơ ầ ầ ếkéo theo hàng lo t các trò ch i và ng d ng m i trên n n flash có m t trênạ ơ ứ ụ ớ ề ặ

ch ng d ng - Android Market Ngợ ứ ụ ười dùng có th xem video n n flashể ềqua ph n m m Youtube và ra l nh th c hi n cu c g i qua Bluetooth.ầ ề ệ ự ệ ộ ọ

M t ch c năng m i trong Froyo độ ứ ớ ược nhi u ngề ười yêu thích là USBTethering và Wifi Hotspot, bi n chi c smartphone Android thành thi t bế ế ế ịphát sóng wifi t k t n i 3G – m t tính năng đừ ế ố ộ ược s d ng r t ph bi nử ụ ấ ổ ế

đ n ngày nay.ế

L n đ u tiên Android cho phép cài đ t ng d ng lên th nh SD thayầ ầ ặ ứ ụ ẻ ớ

vì m c đ nh cài ngay vào b nh trong c a thi t b Thêm m t tính năngặ ị ộ ớ ủ ế ị ộ

m i trong b n c p nh t l n này là m t kh u đã h tr s và ch s Thi tớ ả ậ ậ ầ ậ ẩ ỗ ợ ố ữ ố ế

b đ u tiên ch y Froyo là HTC Nexus One.ị ầ ạ

Android 2.3 Gingerbread:

Ra m t ngày 06 – 12 – 2010, Gingerbread đ a vào h th ng m t côngắ ư ệ ố ộ

c qu n lí t i t p tin, cho phép truy xu t, theo dõi các t p tin đã t i v máy.ụ ả ả ậ ấ ậ ả ề

H th ng này h tr nhi u camera cho các thi t b có camera m t trệ ố ỗ ợ ề ế ị ặ ước và

m t sau; qu n lí ngu n pin hi u qu h n, kéo dài th i gian s d ng Kh cặ ả ồ ệ ả ơ ờ ử ụ ắ

Trang 30

ph c khá nhi u l i còn x y ra trong phiên b n trụ ề ỗ ả ả ước, đ ng th i đi u ch nhồ ờ ề ỉ

m t s giao di n ngộ ố ệ ười dùng

Android 3.0/3.1 Honeycomb:

Ra m t ngày 22 – 02 – 2011, đây là m t phiên b n đ c bi t dànhắ ộ ả ặ ệriêng cho các máy tính b ng – tablet; chi c đ u tiên ch y là Motorolaả ế ầ ạXOOM

Honeycomb áp d ng nh ng tính năng t th h Android 2.x Androidụ ữ ừ ế ệ3.0 c i ti n giao di n đ phù h p v i cách s d ng máy tính b ng; bànả ế ệ ể ợ ớ ử ụ ảphím o thân thi n h n, h tr x lí đa tác v ; cho phép chuy n đ i qua l iả ệ ơ ỗ ợ ử ụ ể ổ ạcác ng d ng đang cùng ch y Không ch trau chu t v giao di n mà ph nứ ụ ạ ỉ ố ề ệ ầ

h th ng có các c i ti n đ tệ ố ả ế ể ương thích h n v i ph n c ng nh h tr chipơ ớ ầ ứ ư ỗ ợ

x lí (CPU) đa lõi, tăng t c ph n c ng,…ử ố ầ ứ

Honeycomb đ t n n móng quan tr ng cho Android 4.x và kh c ph cặ ề ọ ắ ụ

ph n nào s phân m nh c a Android.ầ ự ả ủ

Android 4.0 Ice Cream Sandwich:

Ra m t ngày: 19 – 10 – 2011, là phiên b n đắ ả ược mong ch nh t, nóờ ấ

ho t đ ng nhanh, mạ ộ ượt mà; ra đ i cùng dòng đi n tho i bom t n Samsungờ ệ ạ ấGalaxy Nexus, Ice Cream Sandwich đã có bước c i ti n m i là đ a ch cả ế ớ ư ứnăng truy xu t nhanh các ng d ng thấ ứ ụ ường dùng vào ph n bên dầ ưới giao

di n ch , tùy bi n widget; d dàng s p x p và duy t danh sách ng d ngệ ủ ế ễ ắ ế ệ ứ ụ

h n Các ng d ng đã có th truy xu t nhanh t màn hình khóa c a thi t bơ ứ ụ ể ấ ừ ủ ế ị

- thường là ng d ng Camera, quay video.ứ ụ

Android 4.1 Jelly Bean:

Ra m t ngày: 09 – 07 – 2012, cho kh năng s p x p giao di n ch vàắ ả ắ ế ệ ủwidget, đây là m t phiên b n Android r t nhi u tùy bi n và linh ho t Hộ ả ấ ề ế ạ ệ

th ng h tr d ch v ví đi n t Google Wallet; đ c bi t trình duy t webố ỗ ợ ị ụ ệ ử ặ ệ ệ

m c đ nh đặ ị ược thay th b ng ng d ng Chrome – v i kh năng đ ng bế ằ ứ ụ ớ ả ồ ộ

d li u theo tài kho n cá nhân ngữ ệ ả ườ ử ụi s d ng

Jelly Bean còn gi i thi u thêm tr lý o Google Now, d ch v tr cớ ệ ợ ả ị ụ ựtuy n m i ch dành cho Android, m t ng d ng thông minh, đ c l c choế ớ ỉ ộ ứ ụ ắ ự

vi c s p x p l ch trình, tìm ki m thông tin, xác đ nh v trí.ệ ắ ế ị ế ị ị

Android 4.2 Jelly Bean:

Trang 31

Ra m t vào tháng 11 năm 2012, ch sau g n năm tháng, Google ti pắ ỉ ầ ế

t c c i thi n cho b n Android trụ ả ệ ả ước nh ng tính năng m i h n Android 4.2ữ ớ ơ

c i ti n ng d ng ch p nh v i kh năng ch p nh HDR, Photo Sphere,ả ế ứ ụ ụ ả ớ ả ụ ả

hi u ng nh, thêm tính năng lệ ứ ả ướt ch n t trên bàn phím o H tr vi cọ ừ ả ỗ ợ ệ

m t máy có th đăng nh p nhi u tài kho n khác nhau – t i th i đi m raộ ể ậ ề ả ạ ờ ể

m t thì ch cho phép th c hi n trên máy this b ng.ắ ỉ ự ệ ả

Android 4.4 Kitkat:

Ra m t vào tháng 9 năm 2013, ắ Kitkat là m t lo i bánh x p b cộ ạ ố ọchocolate c a hãng Nestle Cách đ t tên này cũng hoàn toàn kh p v i trìnhủ ặ ớ ớ

t ch cái mà các phiên b n Android s d ng làm tên mã ự ữ ả ử ụ

Phiên b n này cũng b sung thêm r t nhi u tính năng m i đ các nhàả ổ ấ ề ớ ểphát tri n và ngể ười dùng khám phá, tìm hi u nh : ch đ toàn màn hình,ể ư ế ộ

hi u ng chuy n c nh b t m t, thêm tính năng ghi l i màn hình, cho phépệ ứ ể ả ắ ắ ạtruy c p nhi u ng d ng l u tr cùng m t lúc, h tr công ngh NFC.ậ ề ứ ụ ư ữ ộ ỗ ợ ệ

Android 5.0 Lollipop:

Ra m t vào ngày 25 tháng 6 năm 2014, ắ m t trong nh ng thay đ i l nộ ữ ổ ớ

nh t trong Lollipop là đấ ược thi t k l i giao di n ngế ế ạ ệ ười dùng được xây

d ng d a trên ngôn ng thi t k g i làự ự ữ ế ế ọ Material Design Nh ng thay đ iữ ổkhác bao g m c i ti n thanh thông báo, có th truy c p t màn hình khóaồ ả ế ể ậ ừ

và hi n th trong ng d ng nh banner trên màn hình Google còn thay đ iể ị ứ ụ ư ổbên trong n n t ng này, v i Android Runtime (ART) chính th c thay thề ả ớ ứ ếcho Dalvik đ c i thi n hi u năng ng d ng, và t i u hóa vi c s d ngể ả ệ ệ ứ ụ ố ư ệ ử ụpin, g i n i b là Project Volta.ọ ộ ộ

Android 6.0 Marshmallow:

Android Marshmallow là phiên b n l n th 6 c aả ớ ứ ủ HĐH Android

Được gi i thi u l n đ u vào tháng 5 năm 2015 t iớ ệ ầ ầ ạ Google I/O, nó đã đượcchính th c phát hành vào tháng 10 năm 2015.ứ

Marshmallow ch y u t p trung vào c i thi n t ng th tr i nghi mủ ế ậ ả ệ ổ ể ả ệ

người dùng so v iớ Lollipop, gi i thi u m t c u trúc quy n truy c p m i,ớ ệ ộ ấ ề ậ ớcác API m i cho cácớ tr lý oợ ả theo ng c nh (n i b t nh t qua ch c năngữ ả ổ ậ ấ ứ

"Now On Tap" - m t ch c năng m i đ tìm ki m Google b ng cách quét cácộ ứ ớ ể ế ằvăn b n trong m t ng d ng và bi n nó thành m t giao di n đ n gi n h nả ộ ứ ụ ế ộ ệ ơ ả ơ

b iở Google Now), m t h th ng qu n lý đi n năng m i sẽ gi m các ho tộ ệ ố ả ệ ớ ả ạ

Trang 32

đ ng ng m khi thi t b đang không độ ầ ế ị ược s d ng, h tr g c choử ụ ỗ ợ ố nh nậ

d ng vân tayạ và c ng k t n iổ ế ố USB Type – C, kh năng chuy n d li u vàả ể ữ ệ

ng d ng sang m t th

ứ ụ ộ ẻ MicroSD và dùng nó làm b nh chính, cùng nhi uộ ớ ềthay đ i khác.ổ

Android 7.0 Nougat:

L n đ u đầ ầ ược phát hành dướ ại d ng m t b n d ngộ ả ự vào ngày 9 tháng

3 năm 2016, nó đã được chính th c phát hành vào ngày 22 tháng 8 nămứ

2016, v i các thi t bớ ế ị Nexus được nh n b n c p nh t đ u tiên ậ ả ậ ậ ầ

Android 7.0 gi i thi u nh ng thay đ i đáng chú ý t i h đi u hành vàớ ệ ữ ổ ớ ệ ề

n n t ng phát tri n c a nó, bao g m kh năng hi n th nhi u ng d ngề ả ể ủ ồ ả ể ị ề ứ ụtrên màn hình cùng m t lúc b ng cách chia màn hình, h tr tr l i thôngộ ằ ỗ ợ ả ờbáo tr c ti p trong th thông báo cũng nh môi trự ế ẻ ư ường Java d a trênựOpenJDK và h tr hàm API vẽ đ h a Vulkan, c p nh t h th ng liên t cỗ ợ ồ ọ ậ ậ ệ ố ụtrên các thi t b đế ị ược h tr ỗ ợ

1.3 TÌM HI U DÒNG VI ĐI U KHI N STM32 Ể Ề Ể [5]

Nh ng đ c đi m n i tr i c a dòng ARM Cortex đã thu hút các nhàữ ặ ể ổ ộ ủ

s n xu t IC – h n 240 dòng vi đi u khi n (VĐK) d a vào nhân Cortex đãả ấ ơ ề ể ự

được gi i thi u; không n m ngoài xu hớ ệ ằ ướng đó, các hãng s n xu t chip STả ấMicroelectronic đã nhanh chóng đ a ra dòng STM32 STM32 là VĐK d aư ựtrên n n t ng lõi ARM Cortex M3 th h m i do hãng ARM thi t k Lõiề ả ế ệ ớ ế ếARM Cortex M3 là s c i ti n t lõi ARM7 truy n th ng t ng mang l iự ả ế ừ ề ố ừ ạthành công vang d i cho công ty ARM.ộ

1.3.1 Dòng ARM Cortex là gi?

Dòng ARM Cortex là m t b x lí th h m i đ a ra m t ki n trúcộ ộ ử ế ệ ớ ư ộ ếchu n cho nhu c u đa d ng v công ngh Không gi ng nh các chip ARMẩ ầ ạ ề ệ ố ưkhác, dòng Cortex là m t lõi x lí hoàn thi n, đ a ra m t chu n CPU vàộ ử ệ ư ộ ẩ

ki n trúc h 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 d ng cao c p, dòng R dành cho các ng d ng th i gianứ ụ ấ ứ ụ ờ

th c nh các đ u đ c và dòng M dành cho các ng d ng vi đi u khi n vàự ư ầ ọ ứ ụ ề ểchi phí th p STM32 đấ ược thi t k d a trên dòng Cortex-M3, dòng Cortex-ế ế ựM3 được thi t k đ c bi t đ nâng cao hi u su t h th ng, k t h p v iế ế ặ ệ ể ệ ấ ệ ố ế ợ ớtiêu th năng lụ ượng th p, CortexM3 đấ ược thi t k trên n n ki n trúc m i,ế ế ề ế ớ

do đó chi phí s n xu t đ th p đ c nh tranh v i các dòng vi đi u khi n 8ả ấ ủ ấ ể ạ ớ ề ể

và 16 bit truy n th ng.ề ố

Trang 33

1.3.2 Đặc điểm nổi bật của STM32

ST đã đ a ra th trư ị ường 4 dòng vi đi u khi n d a trên ARM7 vàề ể ựARM9, nh ng STM32 là m t bư ộ ước ti n quan tr ng trên đế ọ ường cong chi phí

và hi u su t (price/performance), giá ch g n 1 Euro v i s lệ ấ ỉ ầ ớ ố ượng l n,ớSTM32 là s thách th c 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 bi n th khác nhau, đố ầ ồ ế ể ược phân thành hainhóm: dòng Performance có t n s ho t đ 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 Các bi n th STM32 trongầ ố ạ ộ ớ ế ểhai nhóm này tương thích hoàn toàn v cách b trí chân (pin) và ph nề ố ầ

m m, đ ng th i kích thề ồ ờ ước b nh FLASH ROM có th lên t i 128K và 20Kộ ớ ể ớSRAM

1.3.2.1 Tính b o m t ả ậ

M t trong nh ng yêu c u kh c khe khác c a thi t k hi n đ i là nhuộ ữ ầ ắ ủ ế ế ệ ạ

c u b o m t mã chầ ả ậ ương trình đ ngăn ch n sao chép trái phép ph n m m.ể ặ ầ ề

B nh Flash c a STM32 có th độ ớ ủ ể ược khóa đ ch ng truy c p đ c Flashể ố ậ ọthông qua c ng debug Khi tính năng b o v đ c đổ ả ệ ọ ược kích ho t, b nhạ ộ ớFlash cũng được b o v ch ng ghi đ ngăn ch n mã không tin c y đả ệ ố ể ặ ậ ượcchèn vào b ng vector ng t.ả ắ

1.3.2.2 Dòng Performance và dòng Access c a STM32 u

H STM32 ọ có hai nhánh đ u tiên riêng bi t: dòng Performance vàầ ệdòng Access Dòng Performance t p h p đ y đ các thi t b ngo i vi vàậ ợ ầ ủ ế ị ạ

ch y v i xung nh p t i đa 72MHz Dòng Access có các thi t b ngo i vi ítạ ớ ị ố ế ị ạ

h n và ch y t i đa 32MHz Quan tr ng h n là cách b trí chân (pins layout)ơ ạ ố ọ ơ ố

và các ki u đóng gói chip (package type) là nh nhau gi a dòng Access vàể ư ữdòng Performance Đi u này cho phép các phiên b n khác nhau c a STM32ề ả ủ

được hoán v mà không c n ph i s a đ i s p s p l i footprint (mô hìnhị ầ ả ử ổ ắ ế ạchân c a chip trong công c layout bo m ch) trên PCB (Printed Circuitủ ụ ạBoard) Ngoài hai dòng Performance và dòng Access, hi n t i ST đã đ a raệ ạ ư

th trị ường thêm hai dòng m i là: USB Access và Connectivity.ớ

Cortex-M : b x lí dành cho dòng vi đi u khi n, độ ử ề ể ượ ố ưc t i u hóa chocác ng d ng nh y c m v chi phí Ch h tr t p l nh Thumb – 2 Con sứ ụ ạ ả ề ỉ ỗ ợ ậ ệ ố

n m cu i tên Cortex cho bi t m c đ hi u su t tằ ố ế ứ ộ ệ ấ ương đ i, v i 1 là th pố ớ ấ

nh t và 8 là cao nh t Hi n nay dòng Cortex-M có m c hi u su t cao nh tấ ấ ệ ứ ệ ấ ấ

là m c 3 STM32 d a trên b x lý Cortex – M3.ứ ự ộ ử

Trang 34

1.3.3 Các phiên bản câu trúc ARM

Tính đ n th i đi m hi n t i thì phiên b n ki n trúc m i nh t c a lõiế ờ ể ệ ạ ả ế ớ ấ ủARM là ARMv7 (Trước đó có ARMv4, ARMv5, ARMv6) B x lý Cortex-M3ộ ử

d a trên ki n trúcự ế ARMv7 – M và có kh năng th c hi n t p l nh Thumb –ả ự ệ ậ ệ2

Các tài li u hệ ướng d n cho Cortex – M3 và ki n trúc ARMv7 – M cóẫ ế

th để ượ ả ừc t i t website c a ARM t i ủ ạ www.arm.com

1.3.4 Bộ xử lí và đơn vị xử lí trung tâm Cortex

Các thu t ng b x lí Cortex (Cortex processor) và đ n v x lí trungậ ữ ộ ử ơ ị ửtâm Cortex (Cortex CPU) sẽ được s d ng đ phân bi t gi a nh ng lõiử ụ ể ệ ữ ữCortex hoàn ch nhỉ và b x lí trung tâm RISC n i (internal RISC CPU).ộ ử ộ

1.3.4.1 Đ n v x lí trung tâm Cortex (Cortex CPU) ơ ị ử

Trung tâm c a b x lý Cortex là m t CPU RISC 32-bit CPU này cóủ ộ ử ộ

m t phiên b n độ ả ược đ n gi n hóa t mô hình l p trình (programmer’sơ ả ừ ậmodel) c a ARM7/9 , nh ng có m t t p l nh phong phú h n v i s h trủ ư ộ ậ ệ ơ ớ ự ỗ ợ

t t cho các phép toán s nguyên, kh năng thao tác v i bit t t h n và khố ố ả ớ ố ơ ảnăng đáp ng th i gian th c t t h n.ứ ờ ự ố ơ

1.3.4.2 B x lí Cortex ộ ử

B x lí Cortex độ ử ượ ạc t o thành t CPU Cortex k t h p v i nhi u thi từ ế ợ ớ ề ế

b ngo i vi nh Bus, system timer, …ị ạ ư

Bus:

B vi x lý Cortex-M3 độ ử ược thi t k d a trên ki n trúc Harvard v iế ế ự ế ớbus mã và bus d li u riêng bi t Chúng đữ ệ ệ ược g i là các bus Icode vàọDcode C hai bus đ u có th truy c p mã và d li u trong ph m vi b nhả ề ể ậ ữ ệ ạ ộ ớ

t 0x00000000 – 0x1FFFFFFF M t bus h th ng b sung đừ ộ ệ ố ổ ượ ử ục s d ng đểtruy c p vào không gian đi u khi n h th ng Cortex trong ph m viậ ề ể ệ ố ạ0x20000000 – 0xDFFFFFFF và 0xE0100000 – 0xFFFFFFFF H th ng g l iệ ố ỡ ỗtrên chip c a Cortex có thêm m t c u trúc bus đủ ộ ấ ược g i là bus ngo i viọ ạriêng

Timer h th ng: ệ ố

Trang 35

Lõi Cortex có m t b đ m xu ng 24-bit, v i tính năng t đ ng n pộ ộ ế ố ớ ự ộ ạ

l i (auto reload) giá tr b đ m và t o s ki n ng t khi đ m xu ng zero Nóạ ị ộ ế ạ ự ệ ắ ế ố

đượ ạc t o ra v i d ng ý cung c p m t b đ m th i gian chu n cho t t c viớ ụ ấ ộ ộ ế ờ ẩ ấ ả

đi u khi n d a trên Cortex Đ ng h SysTick đề ể ự ồ ồ ược s d ng đ cung c pử ụ ể ấ

m t nh p đ p h th ng cho 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 để ụ ụ ụ ượ ậ ịc l p l ch Thanh ghi tr ng thái và đi uạ ềkhi n c a SysTick trong đ n v không gian đi u khi n h th ng Cortex-M3ể ủ ơ ị ề ể ệ ốcho phép ch n các ngu n xung clock cho Systick.ọ ồ

X lí ng t: ử ắ

M t trong nh ng c i ti n quan tr ng c a lõi Cortex so v i các CPUộ ữ ả ế ọ ủ ớARM trước đó là c u trúc ng t c a nó và x lý các ng t ngo i l (exceptionấ ắ ủ ử ắ ạ ệhandling) CPU ARM7 và ARM9 có hai đường ng t: ng t nhanh (fastắ ắinterrupt-FIQ) và ng t đa d ng (general purposeắ ụ interrupt hay còn g i làọinterrupt request-RIQ) Hai đường tín hi u ng t này ph c v t t c cácệ ắ ụ ụ ấ ảngu n ng t bên trong m t vi đi u khi n, trong khi kỹ thu t đồ ắ ộ ề ể ậ ượ ử ục s d ng

là nh nhau, nh ng vi c th c hi n l i khác bi t gi a các nhà s n xu t chip.ư ư ệ ự ệ ạ ệ ữ ả ấ1.3.5 Các chế độ năng lượng

Trong ph n này, chúng ta sẽ xem xét các ch đ qu n lý năng lầ ế ộ ả ượngbên trong lõi Cortex Các tùy ch n đ y đ v qu n lý năng lọ ầ ủ ề ả ượng c aủSTM32 sẽ được xem xét ph n sau CPU Cortex có m t ch đ ng (sleepở ầ ộ ế ộ ủmode), sẽ đ t lõi Cortex vào ch đ năng lặ ế ộ ượng th p c a nó và ng ng th cấ ủ ừ ựthi các l nh bên trong c a CPU Cortex M t ph n nh c a NVIC v n đệ ủ ộ ầ ỏ ủ ẫ ược

ho t đ ng bình thạ ộ ường, do đó ng t t o ra t các thi t b ngo i vi c aắ ạ ừ ế ị ạ ủSTM32 có th đánh th c lõi Cortex.ể ứ

1.3.6 Kiểu đóng gói chip và kiểu chân linh kiện

Các bi n th c a dòng Access, USB, Performance và Connectivity c aế ể ủ ủSTM32 được thi t k đ phù h p v i nhi u ki u đóng gói, đ cho phépế ế ể ợ ớ ề ể ểnâng c p ph n c ng m t d dàng mà không c n ph i thi t k l i PCBấ ầ ứ ộ ễ ầ ả ế ế ạ(Printed Circuit Board) T t c các vi đi u khi n STM32 đ u có s n d ngấ ả ề ể ề ẵ ạđóng gói LQFP, t 48 chân đ n 144 chân.ừ ế

1.3.7 Nguồn cung câp điện

Tùy ch n cung c p năng lọ ấ ượng th hai đứ ược s d ng đ cung c pử ụ ể ấcho ADC N u ADC đế ược s d ng, ngu n đi n chính VDD đử ụ ồ ệ ược gi i h nớ ạ

Trang 36

trong ph m vi 2.4V đ n 3.6V Đ i v i chip đóng gói 100 chân, kh i ADC cóạ ế ố ớ ốthêm chân đi n áp tham kh o VREF+ và VREF- Chân VREF- ph i đệ ả ả ược n iố

v i VDDA và VREF+ có th thay đ i t 2.4V đ n VDDA T t c các ki uớ ể ổ ừ ế ấ ả ểđóng gói chip còn l i thì đi n áp tham kh o đạ ệ ả ược k t n i bên trong v i cácế ố ớchân cung c p đi n áp ADC M i ngu n năng c n t đi n đ ch ng nhi u.ấ ệ ỗ ồ ầ ụ ệ ể ố ễ1.3.8 Mạch Reset

 STM32 ch a m t m ch reset n i, m ch này gi cho chip tr ng tháiứ ộ ạ ộ ạ ữ ở ạreset cho t i khi nào VDD v n còn dớ ẫ ưới m c 2V.ứ

 B POR (Power On Reset) và PDR (Power Down Reset) đ m b o x lýộ ả ả ử

ch ch y v i m t ngu n c p đi n n đ nh, và không c n b t kì m tỉ ạ ớ ộ ồ ấ ệ ổ ị ầ ấ ộ

m ch reset bên ngoài.ạ

 M t m ch reset bên ngoài không c n thi t trong thi t k c a STM32.ộ ạ ầ ế ế ế ủTuy nhiên, trong quá trình phát tri n chân nRST có th để ể ược k t n iế ố

v i m t nút reset đ n gi n, đ ng th i chân nRST cũng đớ ộ ơ ả ồ ờ ược k t n iế ố

đ n c ng JTAG, đ công c phát tri n có th t o ra tín hi u reset viế ổ ể ụ ể ể ạ ệ

C u trúc Bus n i cung c p đấ ộ ấ ường truy n chuyên bi t dành cho t pề ệ ậ

l nh th c thi và ma tr n Bus đệ ự ậ ường d li u cho nhân Cortex và b đi uữ ệ ộ ềkhi n DMA truy c p tài nguyên trên vi x lí.ể ậ ử

Vùng nh dành cho flash đớ ược chia thành 3 vùng: vùng 1 là User Flash

b t đ u t đ a ch 0x00000000; k ti p là System Memory hay còn g i làắ ầ ừ ị ỉ ế ế ọvùng nh l n Vùng này có đ nh là 4Kbytes và thông thớ ớ ộ ớ ường sẽ được nhà

s n xu t cài đ t bootloader Cu i cùng là vùng nh nh nh t b t đ u t đ aả ấ ặ ố ớ ỏ ấ ắ ầ ừ ị

ch 0x1FFFFF80 ch a thông tin c u hình dành cho STM32 Bootloaderỉ ứ ấ

thường đượ ử ục s d ng đ t i chể ả ương trình thông qua USART1 và ch a vùngứ

nh User Flash.ớ

1.3.10 Các ngoại vi

Trang 37

T t c ngo i vi trên STM32 đấ ả ạ ược thi t k và d a trên b DMA M iế ế ự ộ ỗngo i vi đ u có ph n đi u khi n m r ng nh m ti t ki m th i gian x lýạ ề ầ ề ể ở ộ ằ ế ệ ờ ử

c a CPU.ủ

1.3.10.1 Ngo i vi đa d ng ạ ụ

Ngo i vi đa d ng trên STM32 bao g m: các c ng I/O đa d ng, bạ ụ ồ ổ ụ ộ

đi u khi n ng t ngo i, b chuy n đ i ADC, b đi u khi n th i gian đaề ể ắ ạ ộ ể ổ ộ ề ể ờ

d ng và m r ng, đ ng h th i gian th c, và chân “tamper”.ụ ở ộ ồ ồ ờ ự

Các c ng I/O đa d ng: ổ ụ

STM32 có 5 c ng I/O đa d ng v i 80 chân đi uổ ụ ớ ề khi n.ể

Các c ng I/O đổ ược đánh s t A->E và m c áp tiêu th 5V Nhi uố ừ ứ ụ ở ềchân ngo i có th đạ ể ược c u hình nh là Input/Output tấ ư ương tác v i cácớthi t b ngo i vi riêng c a ngế ị ạ ủ ười dùng nh USART hay I2C Thêm n a cóư ữ

th c u hình các chân này nh là ngu n ng t ngo i k t h p v i c ng GPIOể ấ ư ồ ắ ạ ế ợ ớ ổkhác

M i c ng GPIO đ u có 2 thanh ghi 32-bit đi u khi n Nh v y ta cóỗ ổ ề ề ể ư ậ64-bit đ 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ó 4 bit đ đi u khi n: 2 bit sẽ quy đ nh hổ ể ề ể ị ướng ra vào d li uữ ệ

là input hay output, 2 bit còn l i sẽ quy đ nh đ c tính d li u Sau khi c ngạ ị ặ ữ ệ ổ

đượ ấc c u hình, ta có th b o v các thông s c u hình b ng cách kích ho tể ả ệ ố ấ ằ ạthanh ghi b o v Trong thanh ghi này, m i chân trong c ng đ u có m t bitả ệ ỗ ổ ề ộ

b o v tả ệ ương ng đ tránh các thay đ i vô ý các 4 bit c u hình.ứ ể ổ ở ấ

Ng t ngo i (EXTI): ắ ạ

NVIC cung c p b ng vector ng t riêng bi t dành cho các ng t t 0-4,ấ ả ắ ệ ắ ừ

ng t ắ 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 nhóm 5-10, và 11-15 được cung c p thêm 2 b ng ng t b sung.ấ ả ắ ổCác ng t ngo i r t quan tr ng trong qu n lý tiêu th năng lắ ạ ấ ọ ả ụ ượng c aủSTM32 Chúng có th để ượ ử ục s d ng đ “đánh th c” nhân vi x lý t ch để ứ ử ừ ế ộSTOP khi c 2 ngu n t o xung nh p chính ng ng ho t đ ng; 16 ng t ngo iả ồ ạ ị ư ạ ộ ắ ạ

có th để ược ánh x t i b t kỳ chân nào c a vi x lý thông qua 4 thanh ghiạ ớ ấ ủ ử

c u hình đi u khi n M i ng t đấ ề ể ỗ ắ ược đi u khi n b i trề ể ở ường 4 bit, đo n mãạsau mô t cách c u hình ng t cho chân GPIO.ả ấ ắ

ADC – chuy n đ i t ể ổ ươ ng t sang s : ự ố

Ngày đăng: 15/02/2019, 20:09

TỪ KHÓA LIÊN QUAN

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

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w