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

QUẢN LÝ THIẾT BỊ SỬ DỤNG CÔNG NGHỆ GSM

105 693 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Tiêu đề Quản lý thiết bị sử dụng GSM
Tác giả Bùi Mạnh Khánh, Võ Thành Long
Người hướng dẫn ThS. Đinh Quốc Hùng
Trường học Đại học Bách Khoa Thành phố Hồ Chí Minh
Chuyên ngành Viễn Thông
Thể loại Luận văn
Năm xuất bản 2010
Thành phố Hồ Chí Minh
Định dạng
Số trang 105
Dung lượng 4,56 MB

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

Nội dung

QUẢN LÝ THIẾT BỊ SỬ DỤNG CÔNG NGHỆ GSM

Trang 1

BỘ MÔN VIỄN THÔNG

LUẬN VĂN TỐT NGHIỆP

Trang 3

Khoa: Điện – Điện tử

Bộ Môn: Viễn Thông

NHIỆM VỤ LUẬN VĂN TỐT NGHIỆP

1 Đầu đề luận văn: “Quản lý thiết bị sử dụng GSM”

2 Nhiệm vụ ( Yêu cầu về nội dung và số liệu ban đầu):

3 Ngày giao nhiệm vụ luận văn: 4 Ngày hoàn thành nhiệm vụ: 5 Họ và tên người hướng dẫn: Phần hướng dẫn

Nội dung và yêu cầu LVTN đã được thông qua Bộ Môn

Ngày tháng .năm 2009

(Ký và ghi rõ họ tên) (Ký và ghi rõ họ tên)

PHẦN DÀNH CHO KHOA, BỘ MÔN:

Người duyệt (chấm sơ bộ):

Đơn vị:

Ngày bảo vệ:

Điểm tổng kết:

Nơi lưu trữ luận văn:

Trang 4

1 Đề tài: “Quản lý thiết bị sử dụng GSM”

2 Họ tên người hướng dẫn: ThS ĐINH QUỐC HÙNG

3 Tổng quát về bản thuyết minh:

- Số bản vẽ tay số bản vẽ trên máy tính

5 Những ưu điểm chính của LVTN:

6 Những thiếu sót chính của LVTN:

7 Đề nghị: Được bảo vệ , Bổ sung thêm để bảo vệ ,

Không được bảo vệ 

8 3 câu hỏi sinh viên trả lời trước Hội Đồng:

a)

b)

c)

9 Đánh giá chung (bằng chữ: giỏi, khá, TB): Điểm ……….

Ký tên (ghi rõ họ tên)

Trang 5

Lời đầu tiên, sinh viên muốn gửi lời cảm ơn chân thành đến giáo viên, Thạc sĩ Đinh Quốc Hùng, trong thời gian vừa qua, đã hướng dẫn và giúp đỡ sinh viên nghiên cứu từ đồ án 2, thực tập tốt nghiệp đến luận văn tốt nghiệp Những lời nhận xét, góp ý và hướng dẫn của giáo viên đã giúp sinh viên có một định hướng đúng trong quá trình thực hiện đề tài, giúp sinh viên nhìn ra được ưu khuyết điểm của đề tài và từng bước khắc phục để ngày một tốt hơn.

Đồng thời sinh viên cũng muốn gửi lời cảm ơn sâu sắc đến gia đình và bạn bè đã động viên và cổ vũ tinh thần sinh viên trong suốt quãng thời gian học tập, đặc biệt

là bố mẹ sinh viên, người đã chăm lo và hi sinh rất nhiều cho sinh viên để sinh viên

có thể chuyên tâm học tập.

Bên cạnh đó, sinh viên muốn nói lời cảm ơn đến những giáo viên đã đứng trên bục giảng truyền đạt kinh nghiệm, kiến thức cho sinh viên trong suốt 4 năm đại học vừa qua.

Một lần nữa, sinh viên xin gửi lời cảm ơn chân thành và sâu sắc đến bố mẹ, thầy cô

và bạn bè, những người luôn ở cạnh động viên, giúp đỡ và cổ vũ tinh thần cho sinh viên.

Hồ Chí Minh, ngày 11 tháng 01 năm 2010

BÙI MẠNH KHÁNH

VÕ THÀNH LONG

Trang 6

Mục tiêu chính của đề tài luận văn là thiết kế mạch giao tiếp với GSM modem nhằm quản lý thiết bị bằng tin nhắn SMS Khối giao tiếp này phải được thiết kế một cách linh hoạt nhằm truyền tải thông tin từ người sử dụng tới các thiết bị quản lý.

Lý thuyết về GSM modem đã được tìm hiểu trong đồ án hai, trong phần luận văn này tập trung xây dựng hệ thống gồm phần giao tiếp với GSM modem (node trung tâm) và thiết bị giám sát nhiệt độ (node ngoại vi).

Node ngoại vi và node trung tâm sử dụng giao tiếp không dây nhằm đảm bảo tính thẩm mỹ,tiện lợi cho người dùng.Mạch cảm biến nhiệt độ là một thí dụ điển hình cho thiết bị giám sát.Với thiết kế, lập trình linh hoạt người dùng có thể thêm nhiều thiết bị giám sát khác vào hệ thống mà không cần thay đổi gì node trung tâm

Nhóm sinh viên thực hiện BÙI MẠNH KHÁNH

VÕ THÀNH LONG

Trang 7

Đề mục Trang

Trang bìa i

Nhiệm vụ luận văn

Lời cảm ơn ii

Tóm tắt luận văn iii

Mục lục iv

Danh sách hình vẽ vii

Danh sách bảng biểu xi

Nội dung luận văn Phần 0 – GIỚI THIỆU CHUNG Phần I – CƠ SỞ LÝ THUYẾT Chương 1: Giới thiệu vi xử lý ATmega16 1.1 Giới thiệu chung .05

1.2 Cấu trúc AVR 06

1.2.1 Cấu trúc tổng quát 06

1.2.2 ALU 07

1.2.3 Thanh ghi trạng thái 07

1.2.4 Các thanh ghi chức năng 08

1.2.5 Con trỏ ngăn xếp (SP) 08

1.2.6 Quản lý ngắt 09

1.3 Cấu trúc bộ nhớ 10

1.4 Các cổng ngoài ra (I/O) 12

1.5 Bộ định thời 14

1.5.1 Các thanh ghi 15

1.5.2 Đơn vị đếm 15

Trang 8

1.6.2 Định dạng khung truyền 21

1.6.3 Khởi tạo USART 22

1.6.4 Truyền thông dữ liệu –bộ truyền USART 23

1.6.5 Nhận dữ liệu –bộ phận USART 24

1.7 Bộ biến đổi A/D 26

Chương 2: GIỚI THIỆU CẢM BIẾN DS18B20 2.1 Sơ đồ chân cảm biến nhiệt độ DS18B20 34

2.2 Các đặc tính cơ bản của DS18B20 35

2.3 Lệnh ROM và các lệnh chức năng 37

2.3.1 Lệnh ROM 37

2.3.2 Lệnh chức năng bộ nhớ 38

2.4 Các cách kết nối DS18B20 với vi điều khiển 39

Chương 3: KHÁI QUÁT MODULE RF 3.1 Các đặc tính của RF module 42

3.2 Chức năng các chân module 43

Chương 4: GIỚI THIỆU GSM MODEM VÀ TẬP LỆNH AT 4.1 Giới thiệu về kết nối GSM modem và RS232 46

4.1.1 Sơ đồ nhân của GSM modem 46

4.1.2 Kết nối anten 47

4.1.3 Nguồn cung cấp cho kết nối 47

4.1.4 Các chân kết nối của GSM modem 48

4.2 Giới thiệu vế tập lệnh ATcommand 50

Phần II – THIẾT KẾ VÀ THI CÔNG Chương 5: CƠ SỞ THIẾT KẾ 5.1 Sơ đồ nguyên lý và sơ đồ khối 55

5.1.1 Sơ đồ khối 55

Trang 9

Chương 6: LƯU ĐỒ GIẢI THUẬT VÀ CHƯƠNG TRÌNH

6.1 Cách sử dụng codevisionAVR 65

6.2 Lưu đồ giải thuật khối trung tâm 74

6.3 Lưu đồ giải thuật khối ngoại vi 78

6.4 Chương trình chính 80

6.4.1 Chương trình khối trung tâm 80

6.4.2 Chương trình khối ngoại vi 81

Chương 7: KẾT QUẢ VÀ HƯỚNG PHÁT TRIỂN 7.1 Kết quả thi công 86

7.1.1 Mạch in trung tâm 86

7.1.2 Mạch in ngoại vi 86

7.1.3 Mạch thực tế 87

7.2 Kết luận và hướng phát triển 87

TÀI LIỆU THAM KHẢO

Trang 10

Hình 1.1: Sơ đồ cấu trúc ATmega16

Hình 1.2: Sơ đồ cấu trúc CPU của ATmega16 Hình 1.3: Thanh ghi trạng thái SREG

Hình 1.4: Thanh ghi chức năng chung

Hình 1.5:Thanh ghi con trỏ ngăn xếp

Hình 1.11: Thanh ghi điều khiển bộ định thời

Hình 1.12: Thanh ghi bộ định thời

Hình 1.13: Thanh ghi so sánh ngõ ra

Hình 1.14: Thanh ghi mặt nạ ngắt TIMSK

Hình 1.15: Thanh ghi mặt nạ ngắt TIMSK

Hình 1.16: Sơ đồ khối bộ USART

Hình 1.17: Đơn vị tạo xung clock

Hình 1.18: Định dạng khung truyền

Hình 1.19: Sơ đồ bộ biến đổi A/D

Hình 1.20: Thanh ghi ADMUX

Hình 1.21: Thanh ghi điều khiển và trạng thái ADC Hình 1.22: Thanh ghi dữ liệu ADC

Hình 2.1 : Sơ đồ chân DS18B20

Hình 2.2 Phương pháp nối dây của DS18B20

Hình 2.3: Nội dung giải mã 64 bit trên bộ nhớ ROM

Trang 11

Hình 3.2:Cấu trúc chân RF module

Hình 5.1: Sơ đồ khối tổng quát

Hình 5.2: Quá trình truyền tin(1)

Hình 5.3: Quá trình truyền tin(2)

Hình 5.4: Quá trình truyền tin(3)

Hình 5.5: Sơ đồ khối trung tâm

Hình 5.6: Sơ đồ khối ngoại vi

Hình 5.7: Sơ đồ nguyên lý trung tâm

Hình 5.8 : Sơ đồ nguyên lý ngoại vi

Hình 5.9: Sơ đồ chân MAX232 Hình 5.10: Sơ đồ khối bên trong MAX232.

Hình 6.1: Cách sử dụng codevisionAVR(1) Hình 6.2: Cách sử dụng codevisionAVR(2) Hình 6.3: Cách sử dụng codevisionAVR(3) Hình 6.4: Cách sử dụng codevisionAVR(4) Hình 6.5: Cách sử dụng codevisionAVR(5) Hình 6.6: Cách sử dụng codevisionAVR(6) Hình 6.7: Cách sử dụng codevisionAVR(7) Hình 6.8: Cách sử dụng codevisionAVR(8) Hình 6.9: Cách sử dụng codevisionAVR(9) Hình 6.10: Cách sử dụng codevisionAVR(10) Hình 6.11: Cách sử dụng codevisionAVR(11)

Trang 12

Hình 6.15:Lưu đồ node trung tâm 1

Hình 6.16 : Lưu đồ node trung tâm 2

Hình 6.17: Lưu đồ giải thuật khối ngoại vi

Hình 6.18:Lưu đồ chương trình đọc giá trị nhiệt độ Hình 7.1: Mạch in trung tâm

Hình 7.2: Mạch in ngoại vi

Hình 7.1: Mạch thực tế

Trang 13

Báng 1.1:Bảng 3 bít chọn xung đồng hồ

Bảng 1.2: Chọn điện áp tham khảo ADC

Bảng 4.1: Chân nguồn và ngoại vi

Bảng 4.2:Các chân kết nối GSM modem

Trang 14

GSM Groupe Special Mobile

SMS Short Message Services

GPS Global Positioning System

GPRS General Packet Radio Service

CPU Central Processing Unit

RF Radio frequency

FSK Frequency Shift Keying

FDMA Frequency Division Multiplexing Access

Trang 15

Ngày nay với sự phát triển của hệ thống thông tin di động GSM và hệ thống định vị GPS, nhu cầu của việc giám sát, quản lý ngày càng tăng Song song với nhu GIỚI THIỆU CHUNG

Trang 16

các chuẩn giao tiếp chuẩn thông dụng như USB,RS232,…đã đáp ứng được hai nhu cầuđịnh vị và giám sát trên.

Trong đề tài luận văn này, chúng em thiết kế hệ thống để cụ thể mô hình trên Thiết bị gắn trên xe tải sẽ làm nhiệm vụ chính là thu sóng GPS xác định tọa độ của nó và gửi tọa độ đó cùng các thông số đo được trên xe gửi về trung tâm quản lý Cụ thể như sau:

- Thiết kế khối trung giao tiếp với GSM modem

- Thiết kế khối ngoại vi kiểm tra nhiệt độ

- Giao tiếp khối ngoại vi và khối trung tâm dùng RF module giao tiếp không dây

- Kết hợp hệ thống GPS để giám sát xe tải

PHẦN 1: CƠ SỞ LÝ THUYẾT

Chương 1: Giới thiệu vi xử lý ATmega16

Chương 2: Giới thiệu cảm biến DS18B20

Chương 3: Khái quát module RF

Chương 4: Giới thiệu GSM modem và tập lệnh AT

PHẦN 2: THIẾT KẾ VÀ THI CÔNG

Chương 5: Cơ sở thiết kế

Chương 6: Lưu đồ giải thuật và chương trình

Chương 7: Kết quả thi công và hướng phát triển triển

Trang 17

CƠ SỞ LÝ THUYẾT

Chương 1: Giới thiệu vi xử lý ATmega16

Chương 2: Giới thiệu cảm biến DS18B20

Chương 3: Khái quát module RF

Chương 4: Giới thiệu GSM modem và tập lệnh AT

Trang 18

1.1 Giới thiệu chung

1.2.1 Cấu trúc tổng quát1.2.2 ALU

1.2.3 Thanh ghi trạng thái1.2.4 Các thanh ghi chức năng chung1.2.5 Con trỏ ngăn xếp (SP)

1.6.1 Tạo xung clock1.6.2 Định dạng khung truyền1.6.3 Khởi tạo USART

1.6.4 Truyền thông dữ liệu-bộ truyền USART1.6.5 Nhận dữ liệu-bộ nhận USART

Nội dung

chính

Trang 19

1.1 Giới thiệu chung

ATmega16 là vi điều khiển 8 bit dựa trên kiến trúc RISC Với khả năng thựchiện mỗi lệnh trong vòng một chu kỳ xung clock, ATmega16 có thể đạt được tốc độ1MIPS trên mỗi MHz (1 triệu lệnh/s/MHz).Dưới đây là sơ đồ khối của ATmega16

Trang 20

ATmega16 có các đặc điểm sau: 16KB bộ nhớ Flash với khả năng đọc trong khighi, 512 byte bộ nhớ EEPROM, 1KB bộ nhớ SRAM, 32 thanh ghi chức năng chung,

32 đường vào ra chung, 3 bộ định thời/bộ đếm, ngắt nội và ngắt ngoại, USART, giaotiếp nối tiếp 2 dây, 8 kênh ADC 10 bit,

ATmega 16 hỗ trợ đầy đủ các chương trình và công cụ phát triển hệ thống như:trình dịch C, macro assemblers, chương trình mô phỏng/sửa lỗi, kit thử nghiêm,

1.2 Cấu trúc nhân AVR

CPU của AVR có chức năng bảo đảm sự hoạt động chính xác của các chươngtrình Do đó nó phải có khả năng truy cập bộ nhớ, thực hiện các quá trình tính toán,điều khiển các thiết bị ngoại vi và quản lý ngắt

1.2.1 Cấu trúc tổng quát

Trang 21

Hình 1.2: Sơ đồ cấu trúc CPU của ATmega16

AVR sử dụng cấu trúc Harvard, tách riêng bộ nhớ và các bus cho chươngtrình và dữ liệu Các lệnh được thực hiện chỉ trong một chu kỳ xung clock Bộ nhớchương trình được lưu trong bộ nhớ Flash

1.2.2 ALU

ALU làm việc trực tiếp với các thanh ghi chức năng chung Các phép toánđược thực hiện trong một chu kỳ xung clock Hoạt động của ALU được chia làm 3loại: đại số, logic và theo bit

1.2.3 Thanh ghi trạng thái

Đây là thanh ghi trạng thái có 8 bit lưu trữ trạng thái của ALU sau các phéptính số học và logic

Hình 1.3: Thanh ghi trạng thái SREG

C: Carry Flag ;cờ nhớ (Nếu phép toán có nhớ cờ sẽ được thiết lập)Z: Zero Flag ;Cờ zero (Nếu kết quả phép toán bằng 0)

N: Negative Flag (Nếu kết quả của phép toán là âm) V: Two’s complement overflow indicator (Cờ này được thiết lập khi tràn số

bù 2)

V, For signed tests (S=N XOR V)S: NH: Half Carry Flag (Được sử dụng trong một số toán hạng sẽ được chỉ rõsau)

T: Transfer bit used by BLD and BST instructions(Được sử dụng làmnơi trung gian trong các lệnh BLD,BST)

Trang 22

ngắt Nếu bit này ở trạng thái logic 0 thì không có một ngắt nào được phục vụ.)

1.2.4 Các thanh ghi chức năng chung

Hình 1.4: Thanh ghi chức năng chung

1.2.5 Con trỏ ngăn xếp (SP)

Là một thanh ghi 16 bit nhưng cũng có thể được xem như hai thanh ghichức năng đặc biệt 8 bit Có địa chỉ trong các thanh ghi chức năng đặc biệt là $3E(Trong bộ nhớ RAM là $5E) Có nhiệm vụ trỏ tới vùng nhớ trong RAM chứa ngănxếp

Hình 1.5:Thanh ghi con trỏ ngăn xếp

Trang 23

Khi chương trình phục vu ngắt hoặc chương trình con thì con trỏ PC đượclưu vào ngăn xếp trong khi con trỏ ngăn xếp giảm hai vị trí Và con trỏ ngăn xếp sẽgiảm 1 khi thực hiện lệnh push Ngược lại khi thực hiện lệnh POP thì con trỏ ngăn xếp

sẽ tăng 1 và khi thực hiện lệnh RET hoặc RETI thì con trỏ ngăn xếp sẽ tăng 2 Nhưvậy con trỏ ngăn xếp cần được chương trình đặt trước giá trị khởi tạo ngăn xếp trướckhi một chương trình con được gọi hoặc các ngắt được cho phép phục vụ Và giá trịngăn xếp ít nhất cũng phải lớn hơn hoặc bằng 60H (0x60) vì 5FH trỏ lại là vùng cácthanh ghi

1.2.6 Quản lý ngắt

Ngắt là một cơ chế cho phép thiết bị ngoại vi báo cho CPU biết về tình trạng

sẵn sàng trao đổi dữ liệu của mình.Ví dụ:Khi bộ truyền nhận UART nhận được một

byte nó sẽ báo cho CPU biết thông qua cờ RXC, hoặc khi nó đã truyền được một bytethì cờ TX được thiết lập…

Khi có tín hiệu báo ngắt CPU sẽ tạm dừng công việc đạng thực hiện lại và lưu vị tríđang thực hiên chương trình (con trỏ PC) vào ngăn xếp sau đó trỏ tới vector phuc vụngắt và thức hiện chương trình phục vụ ngắt đó chơ tới khi gặp lệnh RETI (return frominterrup) thì CPU lại lấy PC từ ngăn xếp ra và tiếp tục thực hiện chương trình mà trướckhi có ngăt nó đang thực hiện Trong trường hợp mà có nhiều ngắt yêu cầu cùng mộtlúc thì CPU sẽ lưu các cờ báo ngắt đó lại và thực hiện lần lượt các ngắt theo mức ưutiên Trong khi đang thực hiện ngắt mà xuất hiện ngắt mới thì sẽ xảy ra hai trường hợp.Trường hợp ngắt này có mức ưu tiên cao hơn thì nó sẽ được phục vụ Còn nó mà cómức ưu tiên thấp hơn thì nó sẽ bị bỏ qua

Bộ nhớ ngăn xếp là vùng bất kì trong SRAM từ địa chỉ 0x60 trở lên Để truy nhậpvào SRAM thông thường thì ta dùng con trỏ X,Y,Z và để truy nhập vào SRAM theokiểu ngăn xếp thì ta dùng con trỏ SP Con trỏ này là một thanh ghi 16 bit và được truynhập như hai thanh ghi 8 bit chung có địa chỉ: SPL:0x3D/0x5D(IO/SRAM) vàSPH:0x3E/0x5E

Khi chương trình phục vụ ngắt hoặc chương trình con thì con trỏ PC được lưu vàongăn xếp trong khi con trỏ ngăn xếp giảm hai vị trí.Và con trỏ ngăn xếp sẽ giảm 1 khi

Trang 24

và khi thực hiện lệnh RET hoặc RETI thì con trỏ ngăn xếp sẽ tăng 2 Như vậy con trỏ ngăn xếp cần được chương trình đặt trước giá trị khởi tạo ngăn xếp trước khi mộtchương trình con được gọi hoặc các ngắt được cho phép phục vụ Và giá trị ngăn xếp

ít nhất cũng phải lớn hơn 60H (0x60) vì 5FH trỏ lại là vùng các thanh ghi

Ví dụ:

char cSREG;

cSREG = SREG; /* store SREG value */

/* disable interrupts during timed sequence */

Trang 25

Hình 1.6: Bản đồ bộ nhớ chương trình

1120 ô nhớ của bộ nhớ dữ liệu định địa chỉ cho file thanh ghi, bộ nhớ I/O

và bộ nhớ dữ liệu SRAM nội Trong đó 96 ô nhớ đầu tiên định địa chỉ cho filethanh ghi và bộ nhớ I/O, và 1024 ô nhớ tiếp theo định địa chỉ cho bộ nhớSRAM nội

Trang 26

số thì dường như điều khiển vào ra dữ liệu thì hoàn toàn như nhau Chúng ta có thanh

Trang 27

ghi và một địa chỉ cổng đối với mỗi cổng, đó là : thanh ghi dữ liệu cổng (PORTA,PORTB, PORTC, PORTD), thanh ghi dữ liệu điều khiển cổng (DDRA, DDRB,DDRC, DDRD) và cuối cùng là địa chỉ chân vào của cổng (PINA, PINB, PINC,PIND).

Đây là thanh ghi 8 bit (ta có thể đọc và ghi các bit ở thanh ghi này) và có tácdụng điều khiển hướng cổng PORTx (tức là cổng ra hay cổng vào) Nếu nhưmột bit trong thanh ghi này được set thì bit tương ứng đó trên PORTx đượcđịnh nghĩa như một cổng ra Ngược lại nếu như bit đó không được set thì bittương ứng trên PORTx được định nghĩa là cổng vào

Đây cũng là thanh ghi 8 bit (các bit có thể đọc và ghi được) nó là thanh ghi

dữ liệu của cổng PORTx và trong trường hợp nếu cổng được định nghĩa là cổng

ra thì khi ta ghi một bit lên thanh ghi này thì chân tương ứng trên port đó cũng

có cùng mức logic Trong trường hợp mà cổng được định nghĩa là cổng vào thìthanh ghi này lại mang dữ liệu điều khiển cổng Cụ thể nếu bit nào đó của thanhghi này được set (đưa lên mức 1) thì điện trở kéo lên (pull-up) của chân tươngứng của port đó sẽ được kích hoạt Ngược lại nó sẽ ở trạng thái hi-Z Thanh ghinày sau khi khởi động Vi điều khiểnsẽ có giá trị là 0x00

Đây là thanh ghi 8 bit chứa dữ liệu vào của PORTx (trong trường hợp PORTx được thiết lập là cổng vào) và nó chỉ có thể đọc mà không thể ghi vào được

Tóm lại:

1 Để đọc dữ liệu từ ngoài thì ta phải thực hiện các bước sau:

Trang 28

 Đưa dữ liệu ra thanh ghi điều khiển DDRxn để đặt cho PORTx (hoặc bit n trong port) đó là đầu vào (xóa thanh ghi DDRx hoặc bit).

 Sau đó kích hoạt điện trở pull-up bằng cách set thanh ghi PORTx ( bit)

 Cuối cùng đọc dữ liệu từ địa chỉ PINxn (trong đó x: là cổng và n là bit)

2 Để đưa dữ liệu từ vi điều khiển ra các cổng cũng có các bước hoàn toàn tương tự.Ban đầu ta cũng phải định nghĩa đó là cổng ra bằng cách set bit tương ứng của cổngđó…và sau đó là ghi dữ liệu ra bit tương ứng của thanh ghi PORTx

Ví dụ:

unsigned char i;

/* Define pull-ups and set outputs high */

/* Define directions for port pins */

Trang 29

 Nguồn ngắt tràn bộ đếm và so sánh

Sơ đồ cấu trúc của bộ định thời:

Hình 1.8: Sơ đồ cấu trúc bộ định thời

Thanh ghi OCR0 luôn được so sánh với giá trị của bộ định thời/bộ đếm Kếtquả so sánh có thể được sử dụng để tạo ra PWM hoặc biến đổi tần số ngõ ra tạichân OC0

1.5.2 Đơn vị đếm

Trang 30

Phần chính của bộ định thời 8 bit là một đơn vị đếm song hướng có thể lập trìnhđược Cấu trúc của nó như hình dưới đây:

Hình 1.9: Đơn vị đếm

count: tăng hay giảm TCNT0 1

direction: lựa chọn giữa đếm lên và đếm xuống

clear: xóa thanh ghi TCNT0

clkT0: xung clock của bộ định thời

TOP: báo hiệu bộ định thời đã tăng đến giá trị lớn nhất

BOTTOM: báo hiệu bộ định thời đã giảm đến giá trị nhỏ nhất (0)

1.5.3 Đơn vị so sánh ngõ ra

Trang 31

Hình 1.10: Sơ đồ đơn vị so sánh ngõ ra

Bộ so sánh 8 bit liên tục so sánh giá trị TCNT0 với giá trị trong thanh ghi so sánhngõ ra (OCR0) Khi giá trị TCNT0 bằng với OCR0, bộ so sánh sẽ tạo một báo hiệu.Báo hiệu này sẽ đặt giá trị cờ so sánh ngõ ra (OCF0) lên 1 vào chu kỳ xung clock tiếptheo Nếu được kích hoạt (OCIE0=1), cờ OCF0 sẽ tạo ra một ngắt so sánh ngõ ra và sẽ

tự động được xóa khi ngắt được thực thi Cờ OCF0 cũng có thể được xóa bằng phầnmềm

1.5.4 Mô tả các thanh ghi

Hình 1.11: Thanh ghi điều khiển bộ định thời

Trang 32

WGM00 chỉ định chế độ làm việc không có PWM Khi đặt bit này lên 1, một báo hiệu so sánh bắt buộc xuất hiện tại đơn vị tạo dạng sóng.

Bit 6, 3-WGM01:0: Chế độ tạo dạng sóng:Các bit này điều khiển đếm thứ

tự của bộ đếm, nguồn cho giá trị lớn nhất của bộ đếm (TOP) và kiểu tạo dạng sóng

Hình 1.12: Thanh ghi bộ định thời

Trang 33

Thanh ghi bộ định thời/bộ đếm cho phép truy cập trực tiếp (cả đọc và ghi)vào bộ đếm 8 bit.

Hình 1.15:Thanh ghi cờ ngắt bộ định thời

Bit 1-OCF0: Cờ so sánh ngõ ra 0 Bit 0-TOV0: Cờ tràn bộ đếm

Bit TOV0 được đặt lên 1 khi bộ đếm bị tràn và được xóa bởi phần cứng khi vector ngắt tương ứng được thực hiện Bit này cũng có thể được xóa bằng phần mềm

1.6 USART

Trang 34

có các chức năng chính như sau:

 Hoạt động song công (các thanh ghi truyền và nhận nối tiếp độc lập với nhau)

 Hoạt động đồng bộ hoặc bất đồng bộ

 Bộ tạo tốc độ baud có độ chính xác cao

 Hỗ trợ khung truyền nối tiếp với 5, 6, 7, 8, hoặc 9 bit dữ liệu và 1 hoặc 2 bit stop

 Kiểm tra chẵn lẻ

 Phát hiện tràn dữ liệu

 Phát hiện lỗi khung

 Lọc nhiễu, bao gồm phát hiện bit start lỗi và bộ lọc thông thấp số

 Ngắt khi kết thúc truyền, thanh ghi truyền hết dữ liệu và kết thúc nhận

 Chế độ truyền thông đa vi xử lý

 Chế độ truyền đồng bộ tốc độ cao

Sơ đồ khối của bộ USART như sau:

Trang 35

Hình 1.16: Sơ đồ khối bộ USART

USART bao gồm 3 phần chính: bộ tạo xung clock, bộ truyền và bộ nhận Cácthanh ghi điều khiển được sử dụng chung giữa các phần này

1.6.1 Tạo xung clock

Bộ tạo xung clock tạo ra xung đồng hồ căn bản cho bộ truyền và bộ nhận USART

hỗ trợ 4 chế độ hoạt động xung clock: bất đồng bộ, bất đồng bộ tốc độ cao, truyềnđồng bộ master và truyền đồng bộ slave Sơ đồ khối của bộ tạo xung clock như sau:

Trang 36

Hình 1.17: Đơn vị tạo xung clock

 5, 6, 7, 8, hoặc 9 bit dữ liệu

 Có hoặc không có bit chẵn, lẻ

 1 hoặc 2 bit stop

Một khung truyền bắt đầu với một bit start, theo sau đó là bit có trọng số thấp nhất(LSB) của dữ liệu (có thể lên tới 9 bit), kết thúc bằng bit có trọng số lớn nhất (MSB)

và bit stop

Trang 37

Hình 1.18: Định dạng khung truyền

St: bit start (mức thấp)

(n): bit dữ liệu (0 đến 8)

P: bit chẵn lẻ

Sp: bit stop (mức cao)

IDLE: không có dữ liệu truyền (mức cao trong suốt thời gian idle)

1.6.3 Khởi tạo USART

Quá trình khởi tạo USART bao gồm việc thiết lập tốc độ baud, thiết lập định dạngkhung và kích hoạt bộ truyền và bộ nhận

Ví dụ dưới đây thiết lập hoạt động truyền bất động bộ sử dụng polling (không dùngngắt) và định dạng khung truyền là cố định Tốc độ baud là một tham số của hàm

void USART_Init( unsigned int baud )

{

/* Set baud rate */

UBRRH = (unsigned char)(baud>>8);

UBRRL = (unsigned char)baud;

/* Enable receiver and transmitter */

Trang 38

UCSRB Khi bộ truyền được kích hoạt, chân TxD hoạt động như ngõ ra của bộ truyềnnối tiếp Tốc độ baud, chế độ hoạt động và định dạng khung truyền phải được thiết lậptrước khi thực hiện truyền dữ liệu.

Việc truyền dữ liệu được thiết lập bằng cách nạp dữ liệu truyền vào bộ đệmtruyền Dữ liệu trong bộ đệm sẽ được đưa vào thanh ghi dịch khi thanh ghi dịch

đã sẵn sàng gửi một khung mới

Ví dụ dưới đây là một hàm truyền USART dựa trên việc kiểm tra cờ UDRE

void USART_Transmit( unsigned char data ) {

/* Wait for empty transmit buffer */

while ( !( UCSRA & (1<<UDRE)) )

; /* Put data into buffer, sends the data */

UDR = data;

}

Nếu sử dụng 9 bit dữ liệu, bit thứ 9 phải được ghi vào bit TXB8 trong thanhghi UCSRB trước khi byte còn lại được ghi vào UDR

Ví dụ:

void USART_Transmit( unsigned int data ) {

/* Wait for empty transmit buffer */

while ( !( UCSRA & (1<<UDRE))) )

Trang 39

; /* Copy 9th bit to TXB8 */

UCSRB &= ~(1<<TXB8);

if ( data & 0x0100 ) UCSRB |= (1<<TXB8);

/* Put data into buffer, sends the data */

Bộ nhận bắt đầu nhận dữ liệu khi nó phát hiện một bit start hợp lệ Mỗi bittheo sau bit start sẽ được lấy mẫu tại tốc độ baud hoặc tốc độ đồng hồ XCK, vàđược dịch vào trong thanh ghi dịch của bộ nhận cho đến khi phát hiện một bitstop đầu tiên Nội dung của thanh ghi dịch sau đó được đưa vào bộ đệm Bộđệm của bộ nhận có thể được đọc bằng cách đọc UDR

Ví dụ sau đây là một hàm nhận USART dựa trên việc kiểm tra cờ kếtthúc truyền (RXC)

unsigned char USART_Receive( void ) {

/* Wait for data to be received */

while ( !(UCSRA & (1<<RXC)) )

Trang 40

/* Get and return received data from buffer */

return UDR;

}

Nếu nhận dữ liệu 9 bit, bit thứ 9 phải được đọc từ bit RXB8 trong thanh ghiUCSRB trước khi đọc các bit thấp trong UDR

Ví dụ sau đây là một hàm nhận dữ liệu 9 bit

unsigned int USART_Receive( void ) {

unsigned char status, resh, resl;

/* Wait for data to be received */

while ( !(UCSRA & (1<<RXC)) )

; /* Get status and 9th bit, then data */

/* Filter the 9th bit, then return */

resh = (resh >> 1) & 0x01;

return ((resh << 8) | resl);

}

Ngày đăng: 26/04/2013, 11:16

HÌNH ẢNH LIÊN QUAN

Hình 1.6: Bản đồ bộ nhớ chương trình - QUẢN LÝ THIẾT BỊ SỬ DỤNG CÔNG NGHỆ GSM
Hình 1.6 Bản đồ bộ nhớ chương trình (Trang 25)
Hình 1.7: Bản đồ bộ nhớ dữ liệu SRAM - QUẢN LÝ THIẾT BỊ SỬ DỤNG CÔNG NGHỆ GSM
Hình 1.7 Bản đồ bộ nhớ dữ liệu SRAM (Trang 26)
Hình 1.8: Sơ đồ cấu trúc  bộ định thời - QUẢN LÝ THIẾT BỊ SỬ DỤNG CÔNG NGHỆ GSM
Hình 1.8 Sơ đồ cấu trúc bộ định thời (Trang 29)
Hỡnh 1.10: Sơ đồ đơn vị so sỏnh ngừ ra - QUẢN LÝ THIẾT BỊ SỬ DỤNG CÔNG NGHỆ GSM
nh 1.10: Sơ đồ đơn vị so sỏnh ngừ ra (Trang 31)
Hình 1.16: Sơ đồ khối bộ USART - QUẢN LÝ THIẾT BỊ SỬ DỤNG CÔNG NGHỆ GSM
Hình 1.16 Sơ đồ khối bộ USART (Trang 35)
Hình 1.17: Đơn vị tạo xung clock . - QUẢN LÝ THIẾT BỊ SỬ DỤNG CÔNG NGHỆ GSM
Hình 1.17 Đơn vị tạo xung clock (Trang 36)
Hình 1.19: Sơ đồ bộ biến đổi A/D - QUẢN LÝ THIẾT BỊ SỬ DỤNG CÔNG NGHỆ GSM
Hình 1.19 Sơ đồ bộ biến đổi A/D (Trang 42)
Hình 1.22: Thanh ghi dữ liệu ADC - QUẢN LÝ THIẾT BỊ SỬ DỤNG CÔNG NGHỆ GSM
Hình 1.22 Thanh ghi dữ liệu ADC (Trang 45)
Hình 2.1 : Sơ đồ chân DS18B20 - QUẢN LÝ THIẾT BỊ SỬ DỤNG CÔNG NGHỆ GSM
Hình 2.1 Sơ đồ chân DS18B20 (Trang 49)
Hình 2.2 phương pháp nối dây của DS18B20 - QUẢN LÝ THIẾT BỊ SỬ DỤNG CÔNG NGHỆ GSM
Hình 2.2 phương pháp nối dây của DS18B20 (Trang 50)
Hình 3.2:Cấu trúc chân RF module - QUẢN LÝ THIẾT BỊ SỬ DỤNG CÔNG NGHỆ GSM
Hình 3.2 Cấu trúc chân RF module (Trang 58)
Hình 3.3:Kết nối RF - QUẢN LÝ THIẾT BỊ SỬ DỤNG CÔNG NGHỆ GSM
Hình 3.3 Kết nối RF (Trang 59)
Hình 3.4: Setup cấu hình cho RF - QUẢN LÝ THIẾT BỊ SỬ DỤNG CÔNG NGHỆ GSM
Hình 3.4 Setup cấu hình cho RF (Trang 59)
Hình 4.2: kết nối SMA cho anten - QUẢN LÝ THIẾT BỊ SỬ DỤNG CÔNG NGHỆ GSM
Hình 4.2 kết nối SMA cho anten (Trang 62)
Hình 4.3   Nguồn  cung cấp kết nối - QUẢN LÝ THIẾT BỊ SỬ DỤNG CÔNG NGHỆ GSM
Hình 4.3 Nguồn cung cấp kết nối (Trang 62)

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