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

LUẬN văn điện tử điều KHIỂN tự ĐỘNG PHÁT TRIỂN ỨNG DỤNG TRÊN KIT ez430 RF2500

96 106 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 96
Dung lượng 21,55 MB

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

Nội dung

Dựa trên những vấn đề đã đặt ra chúng ta có thể sử dụng phương pháp sau để hoàn thành tốt luận văn: Sử dụng một số tool đã có dành cho phần cảm biến nhiệt độ trong kit RF2500 để cập nhậ

Trang 1

KHOA CÔNG NGHỆ

LUẬN VĂN TỐT NGHIỆP ĐẠI HỌC

PHÁT TRIỂN ỨNG DỤNG TRÊN

KIT eZ430-RF2500

Cán bộ hướng dẫn Sinh viên thực hiện:

ThS.GV.Trần Nhựt Khải Hoàn Trương Văn Dượt 1063782 Nguyễn Hoàng Thi 1063827

Lớp: DI0671A1

Cần Thơ, 2010

Trang 2

CHƯƠNG I: GIỚI THIỆU TỔNG QUAN 1

I ĐẶT VẤN ĐỀ 3

II YÊU CẦU CỦA ĐỀ TÀI 4

III HƯỚNG GIẢI QUYẾT 5

IV NỘI DUNG LUẬN VĂN 5

V KẾT LUẬN 5

CHƯƠNG II: CƠ SỞ LÝ THUYẾT 6

I ĐẶC ĐIỂM CƠ BẢN CỦA MSP430F2274 6

II ĐẶC ĐIỂM KIT eZ430-RF2500 11

II.1 Đặc điểm CC2500 trên kit eZ430-RF2500 12

II.2 Tín hiệu RSSI 13

III TỔNG QUAN VỀ MẠNG SIMPLICITI 14

III.1 Các thành phần của mạng 14

III.1.1 Mã hóa (Encryption) 15

III.1.2 Nhảy tần (Frequency Aglility) 15

III.1.3 Quản lí mạng (Network Management) 15

III.1.4 Access Point 15

III.1.5 Range Extender 15

III.1.6 Năng lượng dùng trong mạng (Battery-only Network) 16

III.2 Cấu trúc phân lớp của mạng 16

III.2.1 PHY hoặc Data Link (MAC/LLC) Layer 16

III.2.2 Tầng mạng (Network layer) 16

III.2.3 Tầng ứng dụng (Application layer) 16

III.4 Cấu trúc khung dữ liệu 18

III.4.1 Khung PHY/MAC 18

III.4.2 Khung NWK 18

III.4.3 Khung ứng dụng 18

IV BỘ CHUYỂN ĐỔI ADC10 TRONG MSP430F2274 19

IV.1 Tổng quan các khối trong ADC10 20

IV.2 Các bước trong quá trình chuyển đổi ADC10 21

IV.3 Quá trình chuyển đổi ADC10 với ngõ vào nhiệt độ 23

V CÁC CHUẨN GIAO TIẾP SỬ DỤNG TRONG HỆ THỐNG 29

V.1 Chuẩn SPI 29

V.2 UART Module và truyền thông với PC 31

CHƯƠNG III: THIẾT KẾ HỆ THỐNG 34

I MÔ HÌNH TỔNG QUÁT 34

II NGUYÊN TẮC HOẠT ĐỘNG CÁC THÀNH PHẦN TRONG HỆ THỐNG 35

Trang 3

II.1 Vai trò của AP 35

II.2 Vai trò của ED 36

II.3 Một số ưu khuyết điểm của cấu hình mạng sử dụng trong hệ thống 36

III HOẠT ĐỘNG CỦA GIAO DIỆN HIỂN THỊ 37

IV PHẦN MỀM HỖ TRỢ IAR 39

V SƠ ĐỒ MẠCH THỰC TẾ 40

CHƯƠNG IV: THIẾT KẾ PHẦN MỀM 43

I Ý TƯỞNG VIẾT PHẦN MỀM 43

II LƯU ĐỒ GIẢI THUẬT CỦA CHƯƠNG TRÌNH 45

II.1 Lưu đồ cho AP (Access Point ) 45

II.1.1 Nhánh sJoinSem 48

II.1.2 Nhánh sPeerFrameSem 48

II.1.3 Nhánh sSelfMeasureSem 49

II.2 Lưu đồ cho ED (End Device) 50

III KHỞI TẠO CHO CC2500 51

III.1 Thiết lập tốc độ dữ liệu 51

III.2 Điều chế 52

III.3 Giải thuật cho việc kiểm tra FEC 53

III.4 Khoảng cách kênh truyền 54

III.5 Thiết lập tần số sóng mang 54

III.6 Thiết lập định dạng gói tin 55

III.7 Chiều dài gói tin 55

III.8 Kiểm tra địa chỉ của gói tin 56

KẾT LUẬN VÀ KIẾN NGHỊ 57

I KẾT QUẢ 57

II KẾT LUẬN 58

III HƯỚNG NGHIÊN CỨU TIẾP THEO CỦA ĐỀ TÀI 58

Phụ lục

Tài liệu tham khảo

Trang 4

CHƯƠNG I: GIỚI THIỆU TỔNG QUAN

Chương 1 sẽ trình bày các vấn đề sau:

- Đặt vấn đề

- Yêu cầu và mục tiêu của đề tài

- Hướng giải quyết

- Trình bày luận văn

- Kết luận

I ĐẶT VẤN ĐỀ

MSP430 là một trong những họ vi điều khiển 16-bits kiến trúc RISC như AVR, PIC Ngoài các tính năng vượt trội của những họ điều khiển trên, MSP430 còn

có những tính năng nỗi trội khác như:

- Tiêu thụ năng lượng cực thấp

Trang 5

Kit eZ430-RF2500 là một sản phẩm ứng dụng của MSP430, được tích hợp thêm

bộ phận truyền nhận dữ liệu không dây hoạt động ở vùng tần số 2.4GHz và bộ phận cảm biến nhiệt được thể hiện ở hình 1.2

Hình 1.2 Tổng quan về kit eZ430-RF2500 2Đối với sinh viên, Kit eZ430-RF2500 là sản phẩm tương đối mới, chưa có nhiều tài liệu nghiên cứu và triển khai ứng dụng Dưới đây là một số kết quả nghiên cứu của các tác giả sử dụng MSP430 sau:

Tìm hiểu vi điều khiển MSP430F2274 [18]

Dùng MSP430 tính toán đáp ứng xung hữu hạn trong DSP [5]

Ứng dụng thiết kế bộ lọc số FIR [6]

Sử dụng MSP430 để giải mã tính hiệu remote [7]

Điều khiển thiết bị qua mạng [8]

Thiết kế máy đo đa năng [9]

Trong luận văn này, chúng em sẽ tìm hiểu và phát triển ứng dụng trên kit RF2500 Các kết quả của luận văn sẽ góp vào nguồn tài liệu tham khảo để sinh viên các khoá sau tiếp tục nghiên cứu và triển khai ứng dụng trên kit này

Trong luận văn này, chúng em ứng dụng kit eZ430-RF2500 của TI sử dụng bộ cảm biến nhiệt độ và truyền nhận không dây được tích hợp sẵn trên kit để thiết kế

hệ thống thu thập nhiệt độ môi trường gởi về PC và điều khiển thiết bị tại nơi thu thập nhiệt độ

Hệ thống thiết kế bao gồm: một AP (Access Point) là trung tâm thu nhận dữ liệu được gởi về từ các ED (End Device) và giao tiếp với PC truyền dữ liệu lên giao

2

Slau227A pdf – trang 4

Trang 6

diện, ED ngoài việc thu thập nhiệt độ gởi AP còn thực hiện điều khiển động cơ hoạt động

Dựa trên những vấn đề đã đặt ra chúng ta có thể sử dụng phương pháp sau để hoàn thành tốt luận văn:

Sử dụng một số tool đã có dành cho phần cảm biến nhiệt độ trong kit RF2500 để cập nhật nhiệt độ môi trường xung quanh sau đó gửi dữ liệu về cho trung tâm hiển thị lên PC thông qua giao diện nguồn mở, đồng thời điều khiển động cơ hoạt động dựa trên sự thay đổi nhiệt độ

Dùng IAR Embedded Workbench IDE là phần mềm hỗ trợ đầy đủ các công

cụ lập trình cho dòng sản phẩm MSP430 để thực hiện việc viết chương trình, biên dịch, gỡ lỗi và nạp, IAR có vài đặc tính của phần mềm như sau:

+ Trình biên dịch cấp cao được tối ưu hóa MSP430 IAR C/C++

+ Hỗ trợ trình biên dịch MSP430 IAR Assembler

+ Công cụ gỡ lỗi mạnh IAR C-SPY® debugger

IV NỘI DUNG LUẬN VĂN

Nội dung của đề tài được phân bố thành 4 chương, các chương cụ thể trình bày các nội dung sau:

Chương I nêu lên những vấn đề mà Luận văn thực hiện

Chương II Tóm tắt lý thuyết có liên quan trong quá trình thực hiện đề tài Chương III Mô tả hệ thống được thiết kế và hoạt động của các thành phần trong hệ thống

Chương IV trình bày chương trình cần thiết cho hệ thống hoạt động

Cuối cùng là kết quả mà Luận văn đạt được trong quá trình thực hiện và hướng phát triển tiếp của đề tài

Hệ thống được thiết kế đem ra ứng dụng trong thực tế Kết quả cho thấy hệ thống

đã thiết kế truyền nhận tốt ở khoảng cách  40m và  50m trong môi trường truyền thẳng, nếu môi trường truyền có nhiều chướng ngại thì khoảng cách truyền nhận giữa ED đến AP sẽ là  10m

Trang 7

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

Chương 2 trình bày chi tiết các lý thuyết có liên quan đến luận văn như sau:

- Đặc điểm cơ bản của MSP430F2274: khái quát được cấu trúc bên trong của MSP430F2274

- Đặc điểm của kit eZ430-RF2500

- Tổng quan về mạng được sử dụng trong hệ thống được thiết kế

- Tìm hiểu về ADC10 tích hợp bên trong MSP430F2274

- Các chuẩn giao tiếp được sử dụng

Sau đây là sơ đồ khối bên trong của MSP430F2274 được thể hiện qua Hình 2.1

Trang 8

- Nguồn tiêu thụ cực thấp

 Chế độ hoạt động: 270 A tại 1MHz và 2.2V

 Chế độ ngủ :0.7 A

 Chế độ không hoạt động:0.1 A

- Thời gian thức dậy từ chế độ ngủ là ít hơn 1s

- Cấu trúc RISC 16 bit , mỗi chu kỳ lệnh hoạt động mất 62.5ns

- Có hai thanh ghi cho Timer_A, Timer_B 16 bit

- Hỗ trợ các giao diện giao tiếp nối tiếp như: UART, SPI, I2C, IrDA

- Bộ chuyển đổi ADC 10-bit với tốc độ chuyển đổi lên tới 200ksps

- Bộ nhớ bao gồm 32KB + 256B Flash Memory, 1KB RAM

 Chế độ hoạt động

MSP430 có một chế độ ở trạng thái hoạt động và 5 chế độ hoạt động ở trạng thái nguồn thấp Một sự kiện ngắt sẽ đánh thức một trong 5 chế độ hoạt động ở dạng nguồn thấp này

Sau đây là 6 chế độ vận hành được thiết lập bởi phần mềm

Active mode (AM)

 Tất cả các xung là hoạt động

Chế độ nguồn thấp 0 (LMP0)

 CPU là không cho phép

 ACLK và SMCLK là duy trì hoạt động MCLK là không cho phép Chế độ nguồn thấp 1 (LMP1)

 CPU là không cho phép, ACLK và SMCLK duy trì hoạt động MCLK là không cho phép

 DCO’s là không cho phép phát nếu DCO không dùng trong chế độ hoạt động

Chế độ nguồn thấp 2 (LMP2)

 CPU là không cho phép

 MCLK và SMCLK là không cho phép

 DCO’s là cho phép duy trì

 ACLK là duy trì hoạt động

Chế độ nguồn thấp 3 (LMP3)

 CPU là không cho phép

 MCLK và SMCLK là không cho phép

 DCO’s là không cho phép

 ACLK là duy trì hoạt động

Trang 9

Chế độ nguồn thấp 4 (LMP4)

 CPU là không cho phép

 ACLK là không cho phép

 MCLK và SMCLK là không cho phép

 DCO’s là không cho phép

 Không cho thạch anh dao động

 CPU

CPU có kiến trúc RISC (Reduced Intruction Set Computer) là một kiến trúc vi

xử lý theo hướng đơn giản hóa tập lệnh Các lệnh được xây dựng để có thể thực hiện với chỉ 1 chu kỳ máy Mặt khác bus dữ liệu và bus địa chỉ (có độ rộng 16 bít) tách rời nhau điều này giúp cho quá trình đọc dữ liệu và mã lệnh có thể diễn

ra đồng thời do đó nâng cao hiệu suất làm việc của vi xử lý

CPU gồm 16 thanh ghi 16 bit R0 đến R3 có các chức năng đặc biệt như: thanh

ghi đếm chương trình, thanh ghi con trỏ, thanh ghi trạng thái, thanh ghi hằng

Các thanh ghi còn lại được sử dụng với mục đích chung

 Hệ thống xung clock

Hệ thống xung clock là hỗ trợ bởi nguồn xung cơ bản bao gồm dao động thạch anh 32768Hz, một nguồn thấp bên trong, dao động tần số thấp, nguồn dao động điều khiển số bên trong DCO Hệ thống xung cơ bản được thiết kế nhằm hai mục đích: giảm giá thành của hệ thống và nguồn tiêu thụ thấp Dao động nội DCO cung cấp thời gian để nguồn hoạt động và thiết lập là ít hơn 1s Những nguồn xung cơ bản cung cấp những tín hiệu xung như sau:

 ACLK là nguồn dao động thạch anh 32768Hz

 Nguồn xung chính MCLK, là hệ thống xung được dùng trong CPU

 SMCLK là hệ thống xung được dùng cho những module ngoại vi

 Ngõ vào/ra số

MSP430F2274 hỗ trợ 4 port P1, P2, P3, P4 và mỗi port 8 bit được lập trình độc lập tuy nhiên có một số bit của port đã dùng cho chức năng giao tiếp trên kit eZ430-RF2500

Trang 10

một Timer đa chức năng Đếm thời gian, so sánh, PWM Timer_A cũng có khả năng ngắt khi counter đếm tràn hoặc mỗi thanh ghi đếm tràn Các đặc tính chính của Timer_A bao gồm:

 Là một Timer/counter 16 bit không đồng bộ với 4 chế độ hoạt động

 Có thể lựa chọn và cấu hình nguồn xung

 Hai tới 3 thanh ghi có thể cấu hình capture/compare

 Cấu hình đầu ra với chế độ PWM

 Chốt ngõ vào và ngõ ra không đồng bộ

Hình 2.2 cho ta thấy được sơ đồ tổng quan của Timer_A

Hình 2.2 Sơ đồ khối của Timer_A 4

 Khối thứ nhất: là khối chọn nguồn xung cho Timer_A có 4 nguồn xung cơ bản đó là TACLK, ACLK, MCLK, INCLK các nguồn này có thể được chia nhỏ xuống bởi bộ chia 1, 2, 4, 8

 Khối thứ 2: là khối chọn chế độ hoạt động của Timer_A, Timer_A có 4 chế độ hoạt động như bảng 2.1 bên dưới

Trang 11

Bảng 2.1 Chế độ hoạt động của Timer_A 5

 Khối thứ 3: là nơi chứa giá trị tham chiếu của Timer_A trong quá trình hoạt động

 Khối thứ 4: là khối chứa thanh ghi đếm chương trình của Timer_A là TAR

Hoạt động của Timer_A:

Chọn nguồn xung cho quá trình chuyển đổi là ACLK thông qua bit TASELLx, ACLK là nguồn dao động thạch anh 32768Hz có độ chính xác cao

Ghi giá trị định thời vào thanh ghi TACCR0

Chọn chế độ hoạt động cho Timer_A

Kích hoạt cho Timer hoạt động theo các cách sau:

 Timer đếm khi MCx > 0 và nguồn xung là hoạt động

 Timer có thể khởi động lại khi giá trị trong thanh ghi TACCR0 là khác 0 Hình 2.3 dưới đây thể hiện Timer hoạt động ở Up mode

Hình 2.3 Timer_ A hoạt động ở chế độ Up mode 6 Timer thực hiện việc đếm lặp lại cho tới giá trị được so sánh trong thanh ghi TACCR0 Số timer đếm trong một chu kỳ là TACCR0 + 1 Khi giá trị của timer

là bằng với TACCR0 thì timer khởi động lại và đếm từ 0 Nếu chế độ Up mode

01 Up Timer thực hiện việc đếm lặp lại từ 0 tới giá trị

trong thanh ghi TACCR0

10 Continuous Timer lặp lại đếm từ 0 tới 0FFFh

11 Up/Down Timer lặp lại việc đếm từ 0 lên tới giá trị của

TACCR0 và quay về giá trị 0

Trang 12

là được chọn khi timer có giá trị lớn hơn TACCR0 thì timer ngay lập tức khởi động lại và đếm từ 0

Hình 2.2 là hình ảnh tổng quan về kit eZ430-RF2500

Hình 2.4 Board eZ430-RF2500 USB 7eZ430-RF2500 là một thẻ giao tiếp USB và truyền nhận dữ liệu không dây eZ430-RF2500 được phát triển dựa trên MSP 430F2274 kết hợp với chíp CC2500 truyền nhận tín hiệu ở vùng tần số 2.4 GHz, tích hợp sẵn cảm biến nhiệt độ Do đặc điểm dòng MSP430 có những ưu thế về năng lượng nên đáp ứng được những nhu cầu trong thiết bị di động MSP430 dùng nguồn 3.6V nên trong thiết kế này có thể sử dụng pin Lithiun 3.7 V

Bộ eZ430-RF2500T là một sản phẩm có thể làm việc với đầu cắm USB như một hệ thống độc lập với cảm biến bên ngoài Hoặc sử dụng thiết kế mở rộng với những module ngoại vi Với giao diện gỡ lỗi USB cho phép sản phẩm có thể truyền và nhận dữ liệu từ xa từ máy tính cá nhân sử dụng truyền nhận nối tiếp UART

Trang 13

 Hai eZ430-RF2500T target board

 Một eZ430-RF USB debugging interface

 Một AAA battery pack with expansion board (batteries includeed)

Mô hình kết nối giữa eZ430-RF2500T target board và Battery Board

Hình 2.5 eZ430-RF25000 Target Board 8

II.1 Đặc điểm CC2500 trên kit eZ430-RF2500

CC2500 là vi điều khiển thực hiện các công việc như: điều chế, giải điều chế, kiểm tra lỗi, lặp bit, … để phục vụ cho việc thu phát không dây

Hình 2.6 Sơ đồ khối bên trong CC2500 9

- Đặc điểm của truyền nhận RF

 Độ nhạy cao (-140dBm tại 2.4kBaud, tỉ lệ lỗi gói là 1%)

Trang 14

 Hỗ trợ linh hoạt cho định hướng gói tin của hệ thống: phát hiện từ đồng

bộ, cho phép kiểm tra địa chỉ, linh hoạt trong việc xác định chiều dài gói tin, có thể tự động kiểm tra CRC…

 Giao diện SPI rất hiệu quả: tất cả thanh ghi có thể lập trình với một

 Có bộ đệm dữ liệu 64 bytes cho RX FIFO và TX FIFO

Là chỉ số cường độ trường nói lên sức mạnh của tín hiệu nhận Trong chế độ RX, giá trị RSSI có thể được đọc liên tục trong thanh ghi trạng thái RSSI (có địa chỉ

là 0x34) cho đến khi từ đồng bộ được phát hiện và giải điều chế Giá trị RSSI luôn luôn ổn định cho đến khi trạng thái kế tiếp của chế độ RX là hoạt động Tốc

độ cập nhật RSSI phụ thuộc vào băng thông lọc ở nơi nhận và 2 bit AGCCCTRL0.FILTER_LENGTH của thanh ghi AGCCTRL0

Nếu PKTCTRL1.APPEND_STATUS là cho phép thì giá trị của RSSI tự động được thêm vào byte đầu tiên sau dữ liệu Khi tín hiệu RSSI được đọc tại thanh ghi trạng thái RSSI nó được định dạng là 2’s complement Sau đây là tiến trình chuyển đổi tín hiệu RSSI được đọc sang mức công suất tuyệt đối:

Trang 15

+ Đọc thanh ghi trạng thái RSSI

+ Chuyển đổi giá trị đọc từ hệ thập lục phân (hệ 16) sang hệ thập phân (hệ 10)

là RSSI_dec

+ Nếu RSSI_dec>= 128 thì RSSI_dBm=

+ Ngược lại nếu RSSI_dec<= 128 thì RSSI_dBm=

Ta có bảng sau đây cung cấp một số giá trị đặc trưng cho RSSI_offset Bảng sau cho ta thấy được RSSI_offset tương ứng với các tốc độ dữ liệu khác nhau

Bảng 2.2 Giá trị đặc trưng của RSSI_offset 10

III TỔNG QUAN VỀ MẠNG SIMPLICITI

SimpliciTi là một giao thức mạng khá đơn giản, được sử dụng phần lớn trong các mạng RF nhỏ SimpliciTi được thiết kế nhằm mục đích thực hiện giao tiếp dễ dàng với vi điều khiển có yêu cầu về nguồn tài nguyên nhỏ Mạng thường sử dụng rất ít năng lượng nên ta có thể dùng pin nên thời gian sử dụng là pin rất dài

Mặc dù vậy những giao thức mạng SimplciTi hỗ trợ cho ngoại vi (End Device) các cấu hình mạng như: mạng ngang hàng (peer-to-peer), các tùy chọn cho việc lưu trữ và chuyển tiếp tin nhắn, và sử dụng RE (Range Extenders) để mở rộng

phạm vi của mạng lưới SimpliciTi được sử dụng trong một loạt các ứng dụng sử dụng nguồn năng lượng thấp như: báo động và an ninh (phát hiện khói, cảm biến ánh sáng, cảm biến khí cacbon monoxide ), tự động đọc mực chất lỏng (gas, nước), nhà tự động,

III.1 Các thành phần của mạng

Sau đây là hình ảnh mô tả tổng quan các thành phần cơ bản trong mạng SimPliTi

hỗ trợ cho việc truyền tin RF đơn giản

Trang 16

Hình 2.7 Các thành phần của mạng SimpliciTi 11

Ý nghĩa của các khối trong hình vẽ như sau:

III.1.1 Mã hóa (Encryption)

Ta có thể chọn lựa việc mã hóa bằng phần cứng hoặc sử dụng phần mềm nếu bộ thu phát của chúng ta có hỗ trợ Nhưng đối với CC2100/CC2500 không

có hỗ trợ phần cứng cho việc mã hóa nên ta phải mã hóa bằng phần mềm Khi chúng ta cho phép chương trình mã hóa được thực hiện thì tất cả các trường của

dữ liệu đều được mã hóa ngoại trừ trường địa chỉ

III.1.2 Nhảy tần (Frequency Aglility)

SimpliciTi cho phép thực hiện việc di chuyển tấn số truyền nhận đến một tấn số khác nếu tấn số hiện tại có nhiễu hoặc không tương thích

Ngoại vi có thể nhận được gói tin và chúng có thể phát hiện là không liên lạc được nếu chúng đang hoạt động trên tần số không phù hợp bởi vì không có bất

cứ hồi âm nào sau khoảng thời gian gởi và gởi lại một khung

III.1.3 Quản lí mạng (Network Management)

Đây là tên miền của AP có các chức năng như lưu trữ và chuyển tiếp, cho thiết bị ngưng hoạt động, mã hóa mật mã, và quản lí nhảy tần số

III.1.4 Access Point

Có thể nhận dữ liệu được gởi từ ngoại vi, chuyển tiếp dữ liệu và nhiệm vụ chính là quản lí mạng

III.1.5 Range Extender

Nhiệm vụ chính của Range Extender là chuyển tiếp khung dữ liệu

11

Larry Friedman – SimplisiTi Specification pdf – Trang 5

Trang 17

III.1.6 Năng lượng dùng trong mạng (Battery-only Network)

AP được cấp trực tiếp từ PC, còn các End Device được cung cấp từ pin

III.2 Cấu trúc phân lớp của mạng

Mạng SimpliciTi có cấu trúc phân lớp cơ bản gồm: Application, Network, Data Link/PHY

Hình 2.8 Cấu trúc phân lớp mạng SimpliciTi 12

III.2.1 PHY hoặc Data Link (MAC/LLC) Layer

Chức năng chính của lớp này là đóng khung dữ liệu trước khi truyền

III.2.2 Tầng mạng (Network layer).Thiết lập các thông số trước khi truyền

như:

 Tấn số cơ bản và khoảng cách tần số

 Số tần số hỗ trợ

 Phương pháp điều chế, tốc độ dữ liệu

 Địa chỉ của ngoại vi

 Tốc độ lặp lại trên Tx của ngoại vi

III.2.3 Tầng ứng dụng (Application layer)

Dành cho người dùng phát triển ứng dụng

được thể hiện qua mạng SimpliciTi

Trang 18

AP (Access Point) đóng vai trò như nơi chuyển tiếp dữ liệu được gởi từ ED1 (End Device 1) chuyển dữ liệu đã nhận được cho ED2 thông qua AP

Hình 2.10 Lưu và chuyển tiếp dữ liệu qua AP 14ED1 chuyển dữ liệu trực tiếp qua ED2 thông qua việc kết nối mô hình mạng ngang hàng (peer-to-peer)

Hình 2.11 Hướng mạng ngang hàng 15

RE (Range Extender) là nơi lưu trữ và chyển tiếp dữ liệu của ED1 chuyển sang

ED2 thông qua mạng ngang hàng (peer-to-peer)

Hình 2.12 Lưu và chuyển tiếp dữ liệu thông qua RE 16

Mô hình mạng thực hiện việc truyền dữ liệu từ ED1 đến ED2 thông qua hai bộ phận lưu và chuyển tiếp đó là RE và AP

Trang 19

Hình 2.13 Lưu và chuyển tiếp dữ liệu thông qua RE, AP 17

III.4 Cấu trúc khung dữ liệu

Cấu trúc khung có 3 thành phần cơ bản như sau:

 Phần được xử lí bởi lớp PHY/MAC

 Phấn hỗ trợ cho việc quản lí mạng được cài đặt trong lớp nwk

(network)

 Phần trình bày cho những dữ liệu ứng dụng được hỗ trợ lớp ứng

dụng (application layer )

III.4.1 Khung PHY/MAC

Được xử lí bởi phần cứng Nó chứa những thông tin về bit mở đầu (preamble)

và bit đồng bộ (sync)

III.4.2 Khung NWK

Được xử lí bởi firmware trong NWK layer Những trường trong phần này dùng cho mục đích điều khiển mạng có những thông số cụ thể như: thể loại khung, trạng thái mã hóa, số thứ tự

Hình 2.10 và hình 2.11 cho ta thấy được cấu trúc khung dữ liệu trong mạng SimpliciTi

17

Larry Friedman – SimplisiTi Specification pdf – Trang 9

Trang 20

Hình 2.14 Cấu trúc khung trong mạng SimpliciTi (with security enabled)18

Hình 2.15 Cấu trúc khung trong mạng SimpliciTi (without security enabled)19

IV BỘ CHUYỂN ĐỔI ADC10 TRONG MSP430F2274

Trong MSP430F2274 có tích hợp bộ cảm biến nhiệt độ ADC10 với 10 bit cho quá trình chuyển đổi và tốc độ chuyển đổi có thể lên tới 200ksps, hình 2.12 cho ta thấy tổng quát về các thành phần trong bộ phận ADC10

Trang 21

Hình 2.16 Sơ đồ tổng quan về ADC10 20

IV.1 Tổng quan các khối trong ADC10

 Khối thứ 1: trong sơ đồ khối trên là ngõ vào của tín hiệu tương tự trong quá trình chuyển đổi có giá trị từ 0000 đến 1111 tương ứng với 16 kênh ngõ vào tương tự

 Khối thứ 2: là khối chọn điện thế trong quá trình chuyển đổi

Trang 22

 Khối thứ 3: là tín hiệu ngõ vào tương tự của bộ cảm biến nhiệt độ được tích hợp bên trong ADC10 của MSP430F2274

 Khối thứ 4: là khối ngõ vào nguồn xung cung cấp cho quá trình chuyển đổi ADC10 có 4 nguồn xung cơ bản gồm: ACLK, MCLK, SMCLK, ADC10OSC ( là nguồn xung dao động nội 5MHz) và các nguồn xung này

có thể được chia nhỏ xuống bởi bộ chia ADC10DIVx từ 1 đến 8 tùy theo nhu cầu của người sử dụng

 Khối thứ 5: là khối thực hiện quá trình lấy mẫu và chuyển đổi tín hiệu tương tự ngõ vào và sau đó lưu kết quả của quá trình chuyển đổi vào thanh ghi ADC10MEM

 Khối thứ 6: là nơi lưu trữ kết quả của quá trình chuyển đổi

 Khối thứ 7: cho phép lưu trữ kết quả của quá trình chuyển đổi tới bất cứ đâu trong bộ nhớ CPU Khi DTC là cho phép, mỗi lần ADC10 hoàn thành quá trình chuyển đổi và gởi dữ liệu tới ADC10MEM, thì việc truyền dữ liệu được kích hoạt

IV.2 Các bước trong quá trình chuyển đổi ADC10

Để thực hiện quá trình chuyển đổi ADC10 thành công thì chúng ta thực hiện các bước sau:

- Chọn tín hiệu ngõ vào cần chuyển đổi từ 16 kênh tương ứng

- Chọn nguồn xung cung cấp cho quá trình chuyển đổi: Nguồn ADC10CLK có thể dùng như xung chuyển đổi hoặc được sử dụng

để lấy mẫu tín hiệu vào Việc chọn nguồn xung ADC10 được thông qua bit ADC10SSELx và chúng ta có thể chia nguồn xung này xuống thông qua bit ADC10DIVx Nguồn ADC10 có thể là SMCK, MCLK, ACLK hoặc là dao động nội ADC10OSC

- Chúng ta phải đảm bảo nguồn xung được chọn phải duy trì hoạt động cho tới khi kết thúc của quá trình chuyển đổi Nếu nguồn xung không hoạt động trong quá trình chuyển đổi thì quá trình chuyển đổi không được hoàn thành, thì sẽ không có bất cứ kết quả nào là có giá trị

- Chọn nguồn điện thế tham chiếu: ADC10 chứa 2 nguồn điện thế có thể tham chiếu với việc chọn lựa 2 mức điện thế Nếu ta cài đặt REFON = 1 cho phép ta tham chiếu nguồn bên trong Khi REF_5V, nguồn tham chiếu bên trong là 2.5V và khi REF_5V = 0 thì nguồn

Trang 23

tham chiếu sẽ là 1.5V Và đặc biệt khi REFOUT = 0 thì nguồn tham chiếu bên ngoài trên chân Vref+

- Sau khi chuyển đổi hoàn thành kết quả được lưu ở thanh ghi ADC10MEM ở 2 dạng đó là: số nhị phân và dạng 2’s complement Công thức chuyển đổi cho kết quả ADC khi dùng định dạng nhị phân

 Giản đồ thời gian cho quá trình lấy mẫu và chuyển đổi: Sự chuyển đổi ADC10 được khởi tạo bởi cạnh lên của tín hiệu ngõ vào lấy mẫu SHI Nguồn SHI được chọn thông qua bit SHSx và gồm có các chọn lựa khác:

 ADC10SC bit

 Timer_A Output Unit 1

 Timer_A Output Unit 0

 Timer_A Output Unit 2

Bit SHTx dùng để thiết lập chu kỳ lấy mẫu tsample 4, 8, 16, hoặc 64 chu kỳ của ADC10CLK Tổng thời gian lấy mẫu là bao gồm tsample cộng với tsync Khi tín hiệu SAMPCON là chuyển đổi từ cao xuống thấp báo hiệu cho ta biết quá trình chuyển đổi được bắt đầu, quá trình chuyển đổi cần tới 13 chu kỳ của ADC10CLK mới hoàn thành xong Trong đó 12 chu kỳ dùng để thực hiện chuyển đổi và 1 chu kỳ cuối dùng để sao chép kết quả chuyển đổi tới nơi lưu trữ ADC10MEM

Hình 2.17 Thời gian của quá trình chuyển đổi và lấy mẫu 21

21

Slau144e.pdf – Chương 20, trang 20-7

Trang 24

 ADC10 có 4 chế độ vận hành cho quá trình chuyển đổi được thiết lập bởi

2 bit CONSEQx của thanh ghi ADC10CTL1 như sau:

Bảng 2.3 Tổng kết về chế độ chuyển đổi 22

IV.3 Quá trình chuyển đổi ADC10 với ngõ vào nhiệt độ

Muốn sử dụng bộ cảm biến nhiệt độ trong quá trình chuyển đổi ta thực hiện các bước sau:

- Bước 1: Chọn ngõ vào chuyển đổi là A10 có giá trị là 1010 dựa trên thanh ghi ADC10CTL1 với 4 bit INCH_10 = 1010

- Bước 2: Chọn điện thế tham chiếu là 2.5V thông qua bit thứ 6 của thanh ghi ADC10CTL0 cho SREF_1 = 1

- Bước 3:Chọn nguồn xung cung cấp cho quá trình chuyển đổi, MSP430F2274 có 4 nguồn xung cơ bản ACLK, MCLK, SMCLK, ADC10OSC hoạt động độc lập

- Trong quá trình chuyển đổi trên ta chọn nguồn xung ADC10OSC là nguồn dao động nội bên trong MSP430F2274 nên độ chính xác cao hơn các nguồn còn lại

- Bước 4: Cho phép lấy mẫu và bắt đầu chuyển đổi được thiết lập thông qua thanh ghi ADC10CTL0 với bit ENC và ADC10SC

- Bước 5: Thu kết quả của quá trình chuyển thông qua thanh ghi ADC10MEM với định dạng nhị phân

Hình 2.14 bên dưới thể hiện mối quan hệ giữa nhiệt độ và điện thế trong quá trình chuyển đổi

channels

A sequence of channel is converted once

channel

A single channel is converted repeatedly

of-channels

A sequence of channels is converted repeatedly

Trang 25

Hình 2.18 Hàm liên hệ giữa nhiệt độ và điện thế 23Sau đây là hình ảnh thanh ghi trong quá trình thiết lập cho hoạt động ở ngõ vào cảm biến

Bảng 2.4 Các thanh ghi trong ADC10 24

Trang 26

 Thanh ghi ADC10CTL0

SREFx Bit 15-13 Chọn nguồn tham chiếu

Trang 27

ADC10SC Bit 0 Bắt đầu chuyển đổi

0 Không bắt đầu chuyển đổi và giữ

1 Bắt đầu chuyển đổi và giữ

 Thanh ghi ADC10CTL1

Trang 28

INCHx Bit 15-12 Chọn ngõ vào chuyển đổi

Trang 29

Kết quả chuyển đổi Bit 15-0 10 bit chuyển đổi là được nằm bên phải, trong định dạng nhị phân Bit 9 là bit MSB Bit 15-10 luôn luôn là 0

Hình 2.15 Là lưu đồ chuyển đổi của ADC10 được thiết lập thông qua bit CONSEQx của thanh ghi ADC10CTL1

Hình 2.19 Chế độ chuyển đổi đơn 25

25

Slau144e.pdf – Chương 20, trang 20-10

Trang 30

V CÁC CHUẨN GIAO TIẾP SỬ DỤNG TRONG HỆ

THỐNG

Trước hết ta xem tổng quan sự giao tiếp giữa MSP430F2274 với CC2500 sử dụng chuẩn SPI

Hình 2.20 Sơ đồ giao tiếp SPI giữa MSP430F2274 và CC2500 26

- Là chuẩn truyền thông đồng bộ nối tiếp được phát triển bởi Motorola

hoạt động ở chế độ song công (full duplex) Chuẩn này thực hiện việc

giao tiếp giữa MSP430F2274 và CC2500

- SPI là sự liên kết dữ liệu đồng bộ trong khối USART Sử dụng 4 dây (đôi khi 3 dây) nó cho phép vi điều khiển truyền thông với bất

cứ với ngoại vi nào mà nó hỗ trợ Một bus chỉ cho phép một master nhưng có thể có nhiều slave Master là một vi xử lí ở đó nó khởi tạo giao thức trong khi slave tương ứng như là câu lệnh hoặc yêu cầu cho việc truyền thông tin Bảng sau cho phép ta thấy được sơ đồ của tín hiệu dùng SPI:

26

Thomas Watteyne – eZWSN – Exploring Wireless Sensor Networking Lab Version Trang 11

Trang 31

Bảng 2.4 Tín hiệu SPI 27

- Tín hiệu xung clock nối tiếp là nguồn xung cung cấp cho sự vận hành đồng bộ giữa master và slave SIMO và SOMI chức năng là đường truyền và nhận dữ liệu tương ứng với vai trò của chúng trong việc giao tiếp

Thiết lập SPI:

- Trước khi chúng ta dùng giao thức SPI để truyền thông với ngoại vi khác chúng ta phải thiết lập chuẩn USART của MSP430 Dựa vào datasheet của MSP430F2274 ta có một số chân phục vụ cho truyền thông SPI như sau:

Bảng 2.5 Port dùng cho chuẩn SPI trong MSP430F2274 28

27

Gustavo Litovsky – MSP430 Tutorial for eZ430-RF2500 and More pdf, trang 14

28

Gustavo Litovsky – MSP430 Tutorial for eZ430-RF2500 and More pdf, trang 16

input

Chip

(Multiplexed) P3.0/UCB0STE/

UCA0CLK/

A5

Chân I/O số dùng chung USCI_B0 slave cho phép truyền USCI_A0 xung vào/ra

ADC10, ngõ vào tương tự A5 P3.1/

UCB0SIMO/

UCB0SDA

Chân I/O số dùng chung USCI_B0 slave vào/master ra trong chế độ SPI

SDA I2C dữ liệu trong chế độ I2C

Trang 32

 Tất cả các chân là có nhiều chức năng và có thể là I/O Trong vi điều khiển này có cả USCI_A0 và USCI_B0 có khả năng sử dụng cho giao thức SPI Nhưng trong kit eZ430-RF2500 ta chỉ có thể sử dụng USCI_B0 cho chuẩn SPI giao tiếp với CC2500 vì USCI_A0 đã sử dụng chuẩn UART để giao tiếp với máy tính thông qua cổng USB P3.0 được sử dụng như một chân chung để điều khiển CSn (dùng để chọn slave truyền thông) P3.1, P3.2 được sử dụng như SIMO và SOMI đã được định sẵn P3.3 là nơi cung cấp xung cho phép sự đồng bộ giữa master và slave trong quá trình truyền thông

V.2 UART Module và truyền thông với PC

Quá trình giao tiếp của kit eZ430 – RF2500 với máy tính được thực hiện thông

qua UART (Universal asynchronous receiver/transmitter) được thể hiện qua

SCL I2C xung trong chế độ I2C P3.3/

UCB0CLK/

UCA0STE

Chân I/O số dùng chung USCI_B0 xung vào/ra USCI_A0 slave cho phép truyền P3.4/

Trang 33

Khối sử dụng UART

Hình 2.21 UART kết nối với máy tính 29

 Là chuẩn truyền thông không đồng bộ, điều khiển giao tiếp của MSP430F2274 truyền thông nối tiếp với máy tính

 Quá trình thiết lập để vi điều khiển hoạt động dùng truyền nhận UART: Trước khi truyền thông tin giữa PC và kit thông qua giao thức truyền thông nối tiếp bất đồng bộ UART ta thực hiện một số thiết lặp cho vi điều khiển MSP430F2274 như sau:

Ta thực hiện việc gán giá trị cho port P3.4 và P3.5 lên mức logic 1 để cho phép MSP430F2274 thực hiện được việc truyền nhận dữ liệu với PC qua giao thức UART

Thực hiện công thức sau: UCA0BR0 + UAC0BR1 x 256 = 833

Ta thực hiện việc tra bảng 1 ở phần phụ lục sẽ cho ta được tốc độ baud và tỷ lệ lỗi tương ứng

Cấu trúc khung dữ liệu: hình 2.18 bên dưới cho ta thấy được cấu trúc khung dữ liệu sử dụng trong UART truyền thông với PC

29

Slau227E pdf – Trang 6

Trang 34

Hình 2.22 Cấu trúc khung dữ liệu truyền thông với PC 30

30

MSP430 Microcontrollers Essentials – Chương 14, trang 14-24

Trang 35

CHƯƠNG III: THIẾT KẾ HỆ THỐNG

Chương 3 trình bày các vấn đề cụ thể sau:

- Mô hình tổng quát nhất mà hệ thống được thiết kế để hoạt động

- Nguyên tắc hoạt động của các thành phần trong hệ thống được thiết

kế

- Tổng quan về giao diện hiển thị lúc hệ thống hoạt động

- Phần mềm hỗ trợ IAR được sử dụng để viết chương trình, biên dịch

Hình 3.1 Mô hình tổng quát của hệ thống

Mô hình mạng hình sao của hệ thống được thiết kế để thu thập nhiệt độ từ các

EDx (End Devicex) nằm ở xung quanh AP (Access Point) và sau đó ED gửi dữ

liệu về cho AP để hiện thị lên giao diện, kết quả đã thu nhận được từ các ED

Access Point

End

Device 1

End Device 2

End Device 3

End Device 5 End Device 4

Trang 36

Mỗi ED có các chức năng riêng biệt nhưng chúng cũng có chức năng chung nhất

đó là thực hiện cảm biến nhiệt tại chỗ và gửi dữ liệu cảm biến được về cho AP

PHẦN TRONG HỆ THỐNG

- Hệ thống cơ bản gồm 2 phần chính: Một module đóng vai trò là AP

(Access Point) và một module khác đóng vai trò là ED (End Device)

Hoạt động với nhau dựa trên nguyên tắc cơ bản: các thiết bị ED luôn luôn gởi dữ liệu liên kết tới AP mong muốn tham gia vào mạng, trong khi thì AP luôn luôn lắng nghe và thiết lập kết nối với ED nào có yêu cầu tham gia vào mạng Khi đã hoàn tất việc kết nối thì AP trong mạng luôn luôn sẵn sàng nhận dữ liệu từ những ngoại vi mỗi giây một lần End Devide có chứa các bộ cảm biến sau khi thực hiện thu thập nhiệt độ, điện thế sẽ gởi dữ liệu về cho AP sử dụng chế độ công suất thấp LPM3, dữ liệu gởi về bao gồm nhiệt độ và điện thế mà ED đã tính toán được Khi

AP nhận được dữ liệu gởi về từ bất cứ ED nào trong mạng thì nó gởi dữ liệu đó qua ứng dụng UART đến cổng COM của máy tính và dữ liệu được hiển thị trong giao diện ứng dụng người dùng GUI Trong kết nối mạng này thì một AP có thể hỗ trợ lên tới 8 thiết bị ED

- Vì cấu trúc mạng sử dụng trong đề tài này là cấu trúc mạng hình Sao, nên các End Device trong cùng một mạng có vai trò ngang nhau Sau đây

là vai trò cụ thể của AP và ED

- Sau đây là nguyên tắc hoạt động chi tiết cho từng thành phần trong hệ thống đã được thiết kế

II.1 Vai trò của AP

- Sử dụng bộ cảm biến bên trong ADC10 bắt đầu thực hiện việc cảm biến đo lường nhiệt độ môi trường xung quanh mỗi giây một lần rồi sau đó gởi dữ liệu lên máy tính PC Ngoài ra AP còn liên tục lắng nghe trên mạng để phát hiện có ngoại vi mới tham gia vào mạng lưới

và nhận gói tin được gởi về từ ED mới chắc chắn rằng là tham gia vào mạng Access Point sử dụng 2 led cho việc báo hiệu, một đèn led

đỏ cháy/tắt báo hiệu cho việc AP truyền dữ liệu đã cảm biến được cho PC, còn đèn led xanh cháy /tắt báo hiệu cho việc AP nhận được gói tin yêu cầu tham gia vào mạng của ngoại vi mới

Trang 37

II.2 Vai trò của ED

- Ngay lúc mới khởi động, ED bắt đầu tìm kiếm AP để thực hiện việc kết nối Trong khi tìm kiếm thì cả hai led đỏ và xanh đều tắt/cháy Khi phát hiện ra một AP, ED cố gắng liên kết mạng được thể hiện thông qua việc nháy của led đỏ Nếu nó không thể liên kết được với

AP thì led đỏ vẫn tiếp tục nháy Một sự kết nối với AP thì tất cả các led đều tắt, và ED được đưa đến chế độ LMP3 nháy led trong lúc hoạt động

- ED1 thực hiện các vai trò như đã thể hiện ở trên, ngoài ra chúng còn thực hiện chức năng khá quan trọng trong hệ thống là điều khiển động cơ bước hoạt động ở nhiều chế độ khác nhau tùy theo nhiệt độ

mà chúng cảm biến được Và sau đây là mô hình mà ED1 thực hiện trong hệ thống

Hình 3.2 Hoạt động của ED1

- ED2 chúng được điều khiển bởi người dùng thông qua switch để thực hiện việc gửi dữ liệu về AP khi người dùng yêu cầu

- ED3 điều khiển động cơ bước thông qua bàn phím của máy tình với

sự hỗ trợ của giao diện putty

- ED4 đến ED8 có cùng chức năng là cảm biến nhiệt độ tại chỗ và gửi về cho AP trong mỗi giây

II.3 Một số ưu khuyết điểm của cấu hình mạng sử dụng trong

hệ thống

- Trong đề tài này chúng em thực hiện việc thiết lập giao tiếp giữa các Module theo kiểu mạng hình sao có một Module đóng vai trò là AP (HUB) là nơi thu nhận dữ liệu và gửi lên PC còn các Module còn lại đóng vai trò là ED (NODE) là thiết bị gởi dữ liệu về cho AP

- Ưu và khuyết điểm của mạng hình sao: so với một số mạng khác như: mạng hình cây, mạng peer-to-peer, mạng hình bus thì mạng hình sao có một số ưu và khuyết điểm như sau:

Ưu điểm của mạng hình sao:

Access

Point

End Device

Mạch điều khiển

Động

cơ bước

Trang 38

• Hoạt động theo nguyên lý các nút là ngang hàng nhau nên nếu có

một thiết bị nào đó ở một nút thông tin bị hỏng thì mạng vẫn hoạt động bình thường

• Cấu trúc mạng đơn giản và các thuật toán điều khiển ổn định

• Mạng có thể mở rộng hoặc thu hẹp tuỳ theo yêu cầu của người sử dụng

Nhược điểm của mạng hình sao:

• Khả năng mở rộng mạng hoàn toàn phụ thuộc vào khả năng của

trung tâm Khi trung tâm có sự cố thì toàn mạng ngừng hoạt động

• Mạng yêu cầu nối độc lập riêng rẽ từng thiết bị ở các nút thông tin đến trung tâm Khoảng cách từ máy đến trung tâm rất hạn chế (100 m) Nhìn chung, mạng dạng hình sao cho phép nối các máy tính vào một bộ tập trung (HUB) bằng cáp xoắn, giải pháp này cho phép nối trực tiếp máy tính với HUB không cần thông qua trục BUS, tránh được các yếu tố gây ngưng trệ mạng Gần đây, cùng với sự phát triển switching hub, mô

hình này ngày càng trở nên phổ biến và chiếm đa số các mạng mới lắp

III HOẠT ĐỘNG CỦA GIAO DIỆN HIỂN THỊ

Hình 3.3 là hình ảnh tổng quan của giao diện hiển thị kết quả được sử dụng trong

hệ thống

Trang 39

Hình 3.3 Giao diện hiển thị Chương trình của giao diện hiển thị được viết trên nền C++ chúng em đã phát triển dựa trên nền chương trình nguồn mở này và dùng để hiển thị kết quả của hệ thống

Như chúng ta đã thấy hình 3.3 trên thể hiện kết quả cập nhật được từ các End Device được đặt tại những vị trí khác nhau Thông tin thể hiện ở các ED, AP bao gồm: nhiệt độ cảm biến được tại chỗ (nhiệt độ chúng ta có thể chọn lựa chế độ đó

là độ C hoặc độ F (Fahrenheit) qua việc thiết lập tab trên giao diện, điện thế, số

thứ tự của ED trong hệ thống và thời gian Để phân biệt được AP với ED trên cùng giao diện thì chúng có màu sắc khác nhau Tất cả các dữ liệu nhận được từ các ED được truyền lên PC thông qua ứng dụng UART (chi tiết ở phần III chương 2)

Hình ảnh mũi tên trên giao diện từ ED nối với AP nói lên khoảng cách từ ED đến

AP trong không gian mà AP đo được dựa trên chỉ số cường độ trường RSSI

(Received Signal Strength Indication) nhận được Chi tiết về từng tab cũng như

Trang 40

chức năng của chúng được thể hiện qua hình ảnh sẽ trình bày rất cụ thể trong phần phụ lục

là những bước thực hiện khi viết chương trình:

 Bước 1:Tạo một cửa sổ làm việc

Ngày đăng: 02/04/2018, 00:23

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

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

w