ÐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ÐẠI HỌC BÁCH KHOA
KHOA ÐIỆN – ÐIỆN TỬ
BỘ MÔN VIỄN THÔNG
LUẬN VĂN TỐT NGHIỆP
QUẢN LÝ THIẾT BỊ
SỬ DỤNG CÔNG NGHỆ GSM
GVHD: ThS. Ðinh Quốc Hùng
SVTH: Bùi Mạnh Khánh 40501241
Võ Thành Long 40501532
- i -
- Tp. Hồ Chí Minh, Tháng 1-2010 -
- ii -
BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐH BÁCH KHOA CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Thành phố Hồ Chí Minh Độc Lập – Tự Do – Hạnh Phúc
Số:______/BKĐT
Khoa: Điện – Điện tử
Bộ Môn: Viễn Thông
NHIỆM VỤ LUẬN VĂN TỐT NGHIỆP
Họ và tên: BÙI MẠNH KHÁNH MSSV: 40501241
Họ và tên: VÕ THÀNH LONG MSSV: 40501532
Ngành: VIỄN THÔNG LỚP: DD05DV2
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:
- 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)
LỜI CẢM ƠN
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
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
1.5.3 Đơn vị so sánh ngõ ra 16
- iv -
1.5.4 Mô tả các thanh ghi 17
1.6 USART 19
1.6.1 Tạo xung clock 20
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
7.2 Kết luận và hướng phát triển 87
TÀI LIỆU THAM KHẢO
- vi -
DANH SÁCH HÌNH VẼ
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.6: Bản đồ bộ nhớ chương trình
Hình 1.7: Bản đồ bộ nhớ dữ liệu SRAM
Hình 1.8: Sơ đồ cấu trúc bộ định thời
Hình 1.9: Đơn vị đếm
Hình 1.10: Sơ đồ đơn vị so sánh ngõ ra
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
Hình 2.4 : Kết nối “1 dây”
Hình 6.12: Cách sử dụng codevisionAVR(12)
- viii -
Hình 6.13: Cách sử dụng codevisionAVR(13)
Hình 6.14: Cách sử dụng codevisionAVR(14)
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ế
- ix -
DANH SÁCH BẢNG BIỂU
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
- x -
DANH MỤC TỪ VIẾT TẮT
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
- xi -
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
GVHD: TH.S ĐINH QUỐC HÙNG
SVTH: BÙI MẠNH KHÁNH
: VÕ THÀNH LONG Trang 3
Phần I
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
Chương 1
GIỚI THIỆU VI XỬ LÝ ATMEGA16
GVHD: TH.S ĐINH QUỐC HÙNG
SVTH: BÙI MẠNH KHÁNH
: VÕ THÀNH LONG Trang 4
1.1 Giới thiệu chung
1.2 Cấu trúc nhân AVR
1.2.1 Cấu trúc tổng quát
1.2.2 ALU
1.2.3 Thanh ghi trạng thái
1.2.4 Các thanh ghi chức năng chung
1.2.5 Con trỏ ngăn xếp (SP)
1.2.6 Quản lý ngắt
1.3 Cấu trúc bộ nhớ
1.4 Các cổng vào ra (I/O)
1.5 Bộ định thời
1.5.1 Các thanh ghi
1.5.2 Đơn vị đếm
1.5.3 Đơn vị so sánh ngõ ra
1.5.4 Mô tả các thanh ghi
1.6 USART
GVHD: TH.S ĐINH QUỐC HÙNG
SVTH: BÙI MẠNH KHÁNH
: VÕ THÀNH LONG Trang 6
PHẦN I – CƠ SỞ LÝ THUYẾT
Chương 1: GIỚI THIỆU VI XỬ LÝ ATMEGA16
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ương
trì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 3
loạ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ép
tí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: N
H: 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àm
nơi trung gian trong các lệnh BLD,BST).
GVHD: TH.S ĐINH QUỐC HÙNG
SVTH: BÙI MẠNH KHÁNH
: VÕ THÀNH LONG Trang 7
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 from
interrup) 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ước
khi 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ột
lú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 ưu
tiê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ập
vào SRAM thông thường thì ta dùng con trỏ X,Y,Z và để truy nhập vào SRAM theo
kiể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 truy
nhậ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à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
GVHD: TH.S ĐINH QUỐC HÙNG
SVTH: BÙI MẠNH KHÁNH
: VÕ THÀNH LONG Trang 9
PHẦN I – CƠ SỞ LÝ THUYẾT
Chương 1: GIỚI THIỆU VI XỬ LÝ ATMEGA16
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ước khi 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 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 */