gprs server

130
i Bộ Giáo dục và Đào tạo Trường Đại học Sư Phạm Kỹ Thuật Tp. HCM Khoa Cơ khí Chế tạo máy Bộ môn Cơ Điện Tử ---o0o--- Cộng Hoà Xã Hội Chủ Nghĩa Việt Nam Độc lập – Tự do – Hạnh phúc ---o0o--- NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP Họ và tên : Chu Văn Hiền MSSV : 06111029 Hồ Trọng Hiếu MSSV: 06111034 Phạm Đình Thủy MSSV: 06111100 Lớp 061111B Ngành : Cơ Điện Tử 1.1. ĐẦU ĐỀ LUẬN VĂN ỨNG DỤNG CÔNG NGHỆ GPS/GPRS GIÁM SÁT HỆ THỐNG XE BUÝT 1.2. NHIỆM VỤ. - Thiết kế, thi công mạch phần cứng định vị GPS và truyền dữ liệu - Xây dựng phần mềm server quản lý, giám sát và điều hành xe buýt 1. Ngày giao nhiệm vụ luận văn: ............................................................ 2. Ngày hoàn thành nhiệm vụ:................................................................ 3. Họ và tên giáo viên hướng dẫn: TS. Nguyễn Trường Thịnh 4. Họ và tên giáo viên phản biện: ThS. Nguyễn Thành Chiến Nội dung và yêu cầu LVTN đã thông qua Bộ môn. Ngày .... tháng ...... năm ......... CHỦ NHIỆM BỘ MÔN GIÁO VIÊN HƯỚNG DẪ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ữ dự án: ....................................

Upload: constantra

Post on 05-Dec-2014

309 views

Category:

Documents


12 download

TRANSCRIPT

Page 1: GPRS Server

i

Bộ Giáo dục và Đào tạo

Trường Đại học Sư Phạm Kỹ Thuật Tp. HCM

Khoa Cơ khí Chế tạo máy

Bộ môn Cơ Điện Tử

---o0o---

Cộng Hoà Xã Hội Chủ Nghĩa Việt Nam

Độc lập – Tự do – Hạnh phúc

---o0o---

NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP

Họ và tên : Chu Văn Hiền MSSV : 06111029

Hồ Trọng Hiếu MSSV: 06111034

Phạm Đình Thủy MSSV: 06111100

Lớp 061111B Ngành : Cơ Điện Tử

1.1. ĐẦU ĐỀ LUẬN VĂN

ỨNG DỤNG CÔNG NGHỆ GPS/GPRS GIÁM SÁT HỆ THỐNG XE BUÝT

1.2. NHIỆM VỤ.

- Thiết kế, thi công mạch phần cứng định vị GPS và truyền dữ liệu

- Xây dựng phần mềm server quản lý, giám sát và điều hành xe buýt

1. Ngày giao nhiệm vụ luận văn: ............................................................

2. Ngày hoàn thành nhiệm vụ:................................................................

3. Họ và tên giáo viên hướng dẫn: TS. Nguyễn Trường Thịnh

4. Họ và tên giáo viên phản biện: ThS. Nguyễn Thành Chiến

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

Ngày .... tháng ...... năm .........

CHỦ NHIỆM BỘ MÔN GIÁO VIÊN HƯỚNG DẪ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ữ dự án: ....................................

Page 2: GPRS Server

ii

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

...........................................................................................................................................

...........................................................................................................................................

...........................................................................................................................................

...........................................................................................................................................

...........................................................................................................................................

...........................................................................................................................................

...........................................................................................................................................

...........................................................................................................................................

...........................................................................................................................................

...........................................................................................................................................

...........................................................................................................................................

...........................................................................................................................................

...........................................................................................................................................

...........................................................................................................................................

...........................................................................................................................................

...........................................................................................................................................

...........................................................................................................................................

...........................................................................................................................................

...........................................................................................................................................

...........................................................................................................................................

...........................................................................................................................................

...........................................................................................................................................

...........................................................................................................................................

...........................................................................................................................................

....

Ngày........tháng.......năm........

Giáo viên hướng dẫn

Page 3: GPRS Server

iii

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

...........................................................................................................................................

...........................................................................................................................................

...........................................................................................................................................

...........................................................................................................................................

...........................................................................................................................................

...........................................................................................................................................

...........................................................................................................................................

...........................................................................................................................................

...........................................................................................................................................

...........................................................................................................................................

...........................................................................................................................................

...........................................................................................................................................

...........................................................................................................................................

...........................................................................................................................................

...........................................................................................................................................

...........................................................................................................................................

...........................................................................................................................................

...........................................................................................................................................

...........................................................................................................................................

...........................................................................................................................................

...........................................................................................................................................

...........................................................................................................................................

...........................................................................................................................................

...........................................................................................................................................

Ngày .........tháng..........năm........

Giáo viên phản biện

Page 4: GPRS Server

iv

LỜI CẢM ƠN

Qua một thời gian nghiên cứu và thực hiện, đến nay đồ án tốt nghiệp với đề tài:

“Ứng dụng công nghệ GPS/GPRS giám sát hệ thống xe buýt” do thầy Nguyễn

Trường Thịnh hướng dẫn đã được hoàn thiện. Trong suốt thời gian nghiên cứu và thi

công đề tài, chúng em đã gặp không ít vướng mắc nhất định và đã nhận được nhiều sự

giúp đỡ nhiệt thành và quý báu.

Trước tiên, chúng em gửi lời cảm ơn sâu sắc tới thầy Nguyễn Trường Thịnh đã

tin tưởng giao đồ án, chỉ đạo và hướng dẫn tận tình trong suốt quá trình thực hiện đề

tài. Chúng em cũng xin được gửi lời cảm ơn chân thành tới các thầy cô giáo trong

khoa Cơ Khí Chế Tạo Máy, các bạn trên các diễn đàn điện tử, cùng toàn thể các bạn

sinh viên lớp Cơ Điện Tử 061111 đã động viên, góp ý, tạo điều kiện thuận lợi nhất

giúp cho chúng em được hoàn thành đề tài đúng tiến độ được giao.

Do năng lực và thời gian còn hạn chế nên việc tìm thêm nhiều tài liệu làm giàu

cho đồ án còn thiếu sót. Chúng em rất mong nhận được nhiều hơn nữa ý kiến đóng góp

của các thầy cô giáo, sự chia sẻ tài liệu của các bạn sinh viên để chúng em có thể hoàn

thiện hơn kiến thức của mình.

Chúng em xin chân thành cảm ơn!

Page 5: GPRS Server

v

TÓM TẮT ĐỒ ÁN

Nội dung đồ án nghiên cứu về hệ thống quản lý hệ thống xe buýt dựa trên nền

công nghệ GPS kết hợp với công nghệ GPRS, hệ thống có nhiệm vụ theo dõi, giám sát

và điều hành hệ thống xe buýt trên địa bàn hoạt động.

Trên mỗi xe buýt đều được gắn một thiết bị có nhiệm vụ thu tín hiệu định vị

GPS từ vệ tinh, sau đó gửi về Server trung tâm thông qua mạng GPRS với giao thức

truyền TCP/IP, thiết bị này được gọi là thiết bị định vị GPS hay gọi tắt là thiết bị định

vị.

Ở Server trung tâm được kết nối mạng Internet và sử dụng phần mềm Java lập

trình mạng Socket để kết nối với thiết bị định vị, thông qua giao thức TCP/IP, nhằm

mục đích truyền nhận dữ liệu giữa 2 bên.

Tiếp theo đó Server trung tâm sẽ xử lý dữ liệu GPS nhận được từ thiết bị định

vị, sau đó hiển thị thông số tọa độ vị trí lên bản đồ số của phần mềm trung tâm hoặc

Google Map và gửi các lệnh điều khiển cũng như thông báo tới xe buýt và các trạm

dừng

Page 6: GPRS Server

vi

ABSTRACT

Page 7: GPRS Server

vii

MỤC LỤC

LỜI CẢM ƠN .............................................................................................................. iv

TÓM TẮT ĐỒ ÁN ......................................................................................................... v

ABSTRACT ................................................................................................................. vi

DANH MỤC HÌNH VẼ .............................................................................................. xii

DANH MỤC BẢNG BIỂU ......................................................................................... xv

DANH MỤC CÁC TỪ VIẾT TẮT .......................................................................... xvi

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

1.1 Dẫn nhập .................................................................................................................. 1

1.2. Mục tiêu đề tài ....................................................................................................... 2

1.3. Giới hạn đề tài ....................................................................................................... 2

1.4. Một số mô hình, ứng dụng trong việc quản lý và điều hành các phương tiện. ..... 3

1.4.1. Hệ thống thông tin địa lý GIS ........................................................................... 3

1.4.2. Quản lý hệ thống xe buýt thông qua bộ đàm. ................................................... 3

1.5. Lựa chọn phương án thực hiện. ............................................................................. 3

1.6. Thiết kế hệ thống .................................................................................................... 4

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

2.1. Tổng quan về GPS. ................................................................................................. 6

2.1.1. Lịch sử hình thành và phát triển của hệ thống GPS. ........................................ 6

2.1.2 . Các thành phần của GPS ................................................................................. 8

2.1.2.1. Phần không gian ........................................................................................ 8

2.1.2.2. Phần điều khiển ......................................................................................... 9

2.1.2.3. Phần người sử dụng ................................................................................ 10

2.1.3 Hoạt động của hệ thống .................................................................................. 10

2.1.4. Bộ thu GPS. .................................................................................................... 11

2.1.5. Phương trình xác định tọa độ. ....................................................................... 13

Page 8: GPRS Server

viii

2.1.6. Hiệu chỉnh đồng hồ của bộ thu. ..................................................................... 14

2.1.8. Nguồn lỗi của tín hiệu GPS ............................................................................ 14

2.1.9. Chuẩn NMEA0183 .......................................................................................... 15

2.1.9.1. Sơ lược về chuẩn NMEA và chuẩn NMEA0183.................................... 15

2.1.9.2. Cấu trúc chuỗi NMEA ............................................................................ 16

2.2. Hệ thống thông tin di động toàn cầu GSM .......................................................... 18

2.3 Dịch vụ số liệu cải tiến GPRS – General Packet Radio Service ......................... 18

2.3.1. Sơ lược............................................................................................................. 18

2.3.2. Kiến trúc hệ thống GPRS chung. ................................................................... 19

2.3.3. Địa chỉ IP ........................................................................................................ 20

2.3.4 Các lớp thiết bị GPRS. .................................................................................... 22

2.3.5 Thông số chất lượng dịch vụ (QoS) GPRS ....................................................... 22

2.3.6 Các dịch vụ hỗ trợ ............................................................................................ 23

2.4. GIỚI THIỆU SIM 548 ........................................................................................ 23

2.4.1. Giới thiệu chung .............................................................................................. 23

2.4.2. Đặc điểm của module SIM548C ..................................................................... 24

2.4.3. Sơ đồ chức năng .............................................................................................. 27

2.5. Giới thiệu về vi điều khiển ATMEGA128 ........................................................... 30

2.5.1. Tổng quan về vi điều khiển ATMega128 ......................................................... 30

2.5.2.Giao tiếp USART .............................................................................................. 34

2.5.3. Khối USART trong Atmega128 ...................................................................... 35

2.5.4. Giao tiếp I2C ................................................................................................... 40

2.5.4.1. Khái quát TWI và I2C ............................................................................ 40

2.5.4.2. TWI trên AVR ........................................................................................ 41

2.5.5. Giao tiếp SPI ................................................................................................... 46

2.6. Giới thiệu IC thu phát âm thanh ISD2560 ........................................................... 48

Page 9: GPRS Server

ix

2.6.1. Sơ đồ chân ISD2560 ........................................................................................ 49

2.6.2. Sơ đồ khối bên trong của ISD2560 ................................................................. 49

2.6.3. Một số thông số cơ bản ................................................................................... 50

2.6.4. Mô tả chức năng các chân .............................................................................. 50

2.6.5. Mô tả chức năng .............................................................................................. 54

2.6.5.1. Mô tả chi tiết ............................................................................................ 54

2.6.5.2. Các MODE vận hành ............................................................................... 55

CHƯƠNG 3: THIẾT KẾ VÀ THI CÔNG PHẦN CỨNG ...................................... 60

3.1. Sơ đồ khối mạch phần cứng. ................................................................................ 61

3.2. Thiết kế phần cứng cho khối modul sim 548C .................................................... 61

3.2.1. Thiết kế phần cứng cho phần GSM/GPRS ...................................................... 61

3.2.2. Thiết kế phần cứng cho phần GPS .................................................................. 66

3.3. Thiết kế phần cứng cho khối vi điền khiển ATMEGA128 .................................. 69

3.4. Thiết kế phần cứng cho khối vi điền khiển ATMEGA32 .................................... 71

3.5. Khối nguồn cung cấp ............................................................................................ 72

3.5.1. Nguồn cung cấp cho phần GSM/GPRS .......................................................... 73

3.5.2. Nguồn cung cấp cho phần GPS và khối ATMega128 ..................................... 75

3.6. Khối hiển thị ........................................................................................................ 75

3.7. Khối tiếng nói ...................................................................................................... 76

CHƯƠNG 4: LẬP TRÌNH ĐIỀU KHIỂN ................................................................ 77

4.1 Tập lệnh AT ........................................................................................................... 77

4.2 Tập lệnh AT sử dụng điều khiển module GSM và GPS ...................................... 79

4.2.1 Cấu hình cho phần cứng: module simcom548 truy cập GPRS ........................ 79

4.2.2 Truyền nhận thông báo về tình trạng GPRS .................................................. 83

4.2.3 Thiết lập kết nối ................................................................................................ 84

4.2.4 Truyền nhận gói ............................................................................................... 85

Page 10: GPRS Server

x

4.2.5 Hủy kết nối ....................................................................................................... 86

4.3. Lập trình cho vi điều khiển Atmega 128 .............................................................. 87

CHƯƠNG 5: XÂY DỰNG PHẦN MỀM SERVER ................................................. 91

5.1. Yêu cầu và mục đích của hệ thống phần mềm ..................................................... 91

5.2.Cấu trúc và sơ đồ giải thuật ................................................................................... 92

5.2.1. Cấu trúc ........................................................................................................... 92

5.2.2. Sơ đồ giải thuật ............................................................................................... 93

5.3. Xây dựng phần mềm server quản lý phương tiện, ứng dụng giao thức TCP/IP .. 94

5.3.1 Ứng dụng giao thức TCP/IP trong việc liên kết các user qua mạng internet. . 94

5.3.1.1. Sơ lược về TCP server. ........................................................................... 94

5.3.1.2. Đơn vị điều khiển socket ......................................................................... 94

5.3.1.3. Quy trình tạo một server trên máy tính sử dụng socket ........................... 94

5.3.2 Giải pháp ứng dụng của module Sim548 trong việc kết nối server- client ...... 95

5.3.2.1. Đối với server. ......................................................................................... 95

5.3.2.2. Module Sim548 ........................................................................................ 95

5.3.3 Khả năng và mức độ đáp ứng của Server ........................................................ 96

5.3.4 Vấn đề bảo mật của hệ thống ........................................................................... 96

5.3.5 Giải pháp GPRS .............................................................................................. 97

5.4. Xây dựng phần mềm Server dùng Java ............................................................... 98

5.4.1 Java và lịch sử phát triển ................................................................................. 98

5.4.2 Các khối chức năng thực hiện yêu cầu đặt ra .................................................. 99

5.4.3. Các công việc thực hiện để xây dựng phần mềm Server ............................... 99

5.4.3.1. Xây dựng bản đồ offline ................................................................... 100

5.4.3.2. Xây dựng thuật toán tính khoảng cách ............................................. 101

CHƯƠNG 6: KẾT QUẢ THỰC NGHIỆM ........................................................... 102

6.1. Thực nghiệm đánh giá sai số của hệ thống ........................................................ 102

Page 11: GPRS Server

xi

6.2. Thực nghiệm đánh giá tính ổn định của hệ thống .............................................. 107

CHƯƠNG 7: CÁC KẾT QUẢ ĐẠT ĐƯỢC, KẾT LUẬN VÀ HƯỚNG PHÁT

TRIỂN ..................................................................................................................... 108

7.1. Các kết quả đạt được .......................................................................................... 108

7.1.1. Thiết kế chế tạo thành công mạch phần cứng, hiển thị các thông số. .......... 108

7.1.2. Xây dựng phần mềm server có chức năng giám sát và quản lý ................... 109

7.1.3. Bản đồ offline ................................................................................................ 110

7.1.4. Ý nghĩa thực tiễn ........................................................................................... 110

7.2. Kết luận .............................................................................................................. 111

7.2.1 Kết luận .......................................................................................................... 111

7.2.2. Các vấn đề còn chưa được giải quyết ........................................................... 111

7.2.3. Đánh giá ........................................................................................................ 111

7.3. Hướng phát triển của đề tài ................................................................................ 112

TÀI LIỆU THAM KHẢO ......................................................................................... 113

Page 12: GPRS Server

xii

DANH MỤC HÌNH VẼ

Hình 1.1 Sơ đồ thiết kế hệ thống ................................................................................. 4

Hình 2.1 Sơ đồ liên quan giữa ba phần của hệ thống định vị toàn cầu ................... 8

Hình 2.2 Chuyển động vệ tinh nhân tạo xung quanh trái đất .................................. 9

Hình 2.3 Phần điều khiển của GPS ........................................................................... 10

Hình 2.4 Tính toán vị trí của bộ thu GPS trên bề mặt trái đất .............................. 12

Hình 2.5 Hệ trục tọa độ máy thu - vệ tinh ................................................................ 13

Hình 2.6 Phương trình xác định tọa độ của máy thu GPS ..................................... 13

Hình 2.13 Kiến trúc chung của hệ thống GPRS ...................................................... 19

Hình 2.14 Cấp phát địa chỉ IP tĩnh trong GPRS ..................................................... 21

Hình 2.15 Cấp phát địa chỉ IP động trong GPRS .................................................... 21

Hình 2.16 Sơ đồ chức năng của module SIM548C ................................................... 28

Hình 2.17 Sơ đồ chân vi điều khiển ATMega128 ..................................................... 32

Hình 2.18 Sơ đồ cấu trúc vi điều khiển ATMega128 ............................................... 33

Hình 2.19 Sơ đồ truyền dữ liệu nối tiếp ..................................................................... 35

Hình 2.20 Thanh ghi dữ liệu UDR0 ........................................................................... 36

Hình 2.21 Thanh ghi điều khiển hoạt động UCSRA0 .............................................. 36

Hình 2.22 Thanh ghi điều khiển hoạt động USART0 .............................................. 37

Hình 2.23 Thanh ghi UCSRC ..................................................................................... 38

Hình 2.24 Cấu trúc hai thanh ghi UBRRL và UBRRH ........................................... 39

Hình 2.25 Mạng TWI(I2C) và 2 điện trở kéo lên ..................................................... 41

Hình 2.26 Biểu đồ hoạt động tạo ra Start, Stop và Repeat Start ............................ 41

Hình 2.27 Các bit trong thanh ghi TWBR ................................................................ 42

Hình 2.28 Các bit trong thanh ghi TWCR ................................................................ 42

Hình 2.29 Các bit trong thanh ghi TWSR ................................................................. 42

Hình 2.30 Các bit trong thanh ghi TWAR ................................................................ 42

Page 13: GPRS Server

xiii

Hình 2.31 Master truyền dữ liệu ................................................................................ 44

Hình 2.32 Slave nhận dữ liệu ...................................................................................... 46

Hình 2.33 Sơ đồ khối truyền nhận SPI ...................................................................... 47

Hình 2.34 Sơ đồ kết nối SPI ........................................................................................ 48

Hình 3.1 Sơ đồ khối mạch phần cứng. ...................................................................... 61

Hình 3.2 Bật chế độ hoạt động cho phần GSM/GPRS sử dụng nút bấm ............... 62

Hình 3.3 Thời gian bật chế độ hoạt động của phần GSM/GPRS ............................ 62

Hình 3.4 Thời gian tắt chế độ hoạt động của phần GSM/GPRS............................. 63

Hình 3.5 Đèn LED chỉ thị cho NETLIGHT và chân STATUS ............................... 64

Hình 3.6 Sơ đồ chuyển mức điện áp giữa vi điều khiển ATMega128 với phần

GSM/GPRS .................................................................................................................. 65

Hình 3.7 Kích hoạt chế độ hoạt động cùa phần GPS ............................................... 67

Hình 3.8 Sơ đồ nguyên lí của khối module SIM548C ............................................. 69

Hình 3.9 Sơ đồ nguyên lí của vi điều khiển ATMega128 ......................................... 70

Hình 3.10 Sơ đồ mắc thạch anh với vi điều khiển ATMega128 .............................. 70

Hình 3.11 Sơ đồ đấu nối với chân Reset của vi điều khiển ATMega128 ................ 71

Hình 3.12 Sơ đồ nguyên lí của vi điều khiển ATMega32 ......................................... 72

Hình 3.13 Sơ đồ nguyên lí giao tiếp cổng COM ........................................................ 72

Hình 3.14 Sự sụt áp đã làm cho dòng tiêu thụ phải tăng lên 2A ............................. 73

Hình 3.15 Sơ đồ chân kết nối Pin Li-Ion cung cấp nguồn cho GSM/GPRS .......... 74

Hình 3.16 Nguồn cấp cho chân VRTC trong phần GSM/GPRS của module. ....... 74

Hình 3.17 Khối nguồn cung cấp cho phần GPS và ATMega128 ............................ 75

Hình 3.18 Khối hiển thị LCD ...................................................................................... 75

Hình 3.19 Nguyên lý khối phát âm thanh LCD ........................................................ 76

Hình 4.1 Lưu đồ thuật toán của vi điều khiển ......................................................... 88

Hình 4.3 Cấu trúc chuỗi tin GPRMC ........................................................................ 89

Page 14: GPRS Server

xiv

Hình 4.4 Lưu đồ thuật toán chương trình con nhận dữ liệu GPS .......................... 90

Hình 5.1 Sơ đồ hệ thống ............................................................................................. 92

Hình 5.2 Sơ đồ phần mềm theo lớp ........................................................................... 92

Hình 5.3 Sơ đồ giải thuật ............................................................................................ 93

Hình 5.4 Sơ đồ khối Server ......................................................................................... 99

Hình 5.5 Tọa độ của đối tượng trên bản đồ ............................................................ 100

Hình 6.1 Biểu đồ tính ổn định của hệ thống ............................................................ 107

Hình 7.1 Mạch sản phẩm hoạt động ........................................................................ 108

Hình 7.2 Giao diện phần mềm server. ..................................................................... 109

Hình 7.3 Giao diện bản đồ offline. ........................................................................... 110

Page 15: GPRS Server

xv

DANH MỤC BẢNG BIỂU

Bảng 2.3 Diễn giải của bản tin GPRMC .................................................................... 17

Bảng 2.5 Sơ đồ mã hóa và tốc độ dữ liệu lớn nhất trên giao diện vô tuyến ........... 27

Bảng 2.6 Chức năng chân của module SIM548C ..................................................... 29

Bảng 2.7 Chọn kiểm tra Parity. ................................................................................. 38

Bảng 2.8 Độ dài dữ liệu truyền ................................................................................... 39

Bảng 2.9 Tính tốc độ Baud. ......................................................................................... 40

Bảng 2.10 Chức năng các chân kết nối SPI ............................................................... 48

Bảng 3.1 Bảng trạng thái làm việc của NETLIGHT ................................................ 63

Bảng 3.2 Mức logic của chân Serial port .................................................................. 65

Bảng 4.1 Bảng phân loại các câu lệnh AT mở rộng ................................................ 78

Bảng 4.2 Bảng lệnh cấu hình cho Module GPRS truy cập mạng .......................... 79

Bảng 4.3 Tập lệnh tra cứu trạng thái GPRS ............................................................ 83

Bảng 4.4 Tập lệnh thiết lập cấu hình TCP ................................................................ 84

Bảng 4.5 Lệnh gửi dữ liệu qua GPRS ........................................................................ 85

Bảng 4.6 Tập lệnh hủy kết nối GPRS ....................................................................... 87

Bảng 6.1 Kết quả thống kê đo được từ thực tế ...................................................... 102

Page 16: GPRS Server

xvi

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

GSM Global System for Mobile

Communications

Hệ thống thông tin di động toàn

cầu

GPRS General Packet Radio Services Dịch vụ vô tuyến gói chung

GPS Global position systems Hệ thống định vị toàn cầu

GIS Geographic Information System Hệ thống thông tin địa lý

OMC Operation & Maintenance Center

Trung tâm điều hành và bảo

dưỡng

BSS Base station system Phân hệ trạm gốc

OMS Operation and Maintenance

SubSystem

Phân hệ vận hành và sửa chữa

SMS Short Message Service Dịch vụ tin nhắn ngắn

MMS Multimedia messaging service Dịch vụ tin nhắn đa phương tiện

WAP Wireless Application Protocol Giao thức ứng dụng mạng đơn

giản.

SGSN Serving GPRS Support Node Là một phần tử trong mạng lõi

GPRS nhằm nối kết giữa mạng

truy nhập và gateway

GGSN Gateway GPRS Support Node Là một gateway giữa

mạng GPRS/UMTS và các mạng

ở ngoài (như Internet hoặc các

mạng GPRS khác)

VLR Visited Location Register Bộ đăng kí định vị tạm trú

HLR Home Location Register Bộ đăng kí định vị thường trú

Page 17: GPRS Server

xvii

CDMA Code Division Multiple Access Phương thức Đa truy cập phân

chia theo mã

TDMA Time Division Multiple Access Phương thức đa truy cập phân chia

theo thời gian

SIM Subscriber Identity Module Thẻ chứa thông tin định dạng

W-CDMA Wideband Code Division

Multiple Access

Đa truy nhập theo mã băng rộng

TCP/UDP Transmission Control Protocol/

User Datagram Protocol

Giao thức điều khiển truyền dẫn/

Giao thức dữ liệu gói người sử

dụng

IP Internet Protocol Giao thức dùng cho mạng Internet

AT Attention Command Tập lệnh AT

CR CARRIAGE RETURN Lệnh Enter

LF Line Feed Lùi vào đầu dòng

TE Terminal Equipment Thiết bị đầu cuối

MT Mobile Terminal Thiết bị đầu cuối mạng

Page 18: GPRS Server

1

CHƯƠNG 1: TỔNG QUAN

1.1 Dẫn nhập

Xuất phát từ nhu cầu thực tế, nhất là trong thời kỳ mở rộng về hoạt động của

các hệ thống vấn tải, yêu cầu quản lý chuyên nghiệp, hiệu quả, bài toán quản lý và

giám sát phương tiện giao thông công cộng trở nên rất bức thiết.

Bài toán này đặt ra cho hệ thống một số yêu cầu sau:

- Giám sát các phương tiện công cộng: xác định vị trí, theo dõi, cập nhật các

trạng thái của phương tiện công cộng: bao gồm cả các yếu tố bên trong

phương tiện.

- Truyền thông báo tới phương tiện công cộng và các trạm dừng

- Độ mở rộng và khả năng phục vụ lớn.

Một số giải pháp hiện nay:

- Cắt cử nhân viên theo dõi, ghi nhận các báo cáo bằng văn bản, hoặc đường

điện thoại.

- Sử dụng các module GPS – Galileo: các module này có chức năng thu tín

hiệu từ các hệ thống vệ tinh định vị, qua đó tính toán xác định được vị trí

của thiết bị đó theo hệ tọa độ địa lý: bao gồm kinh độ, vĩ độ và độ cao.

- GIS: là hệ thống phần mềm địa lý có chức năng tiếp nhận thông tin về vị trí

địa lý, sau đó xử lý và hiển thị trên hệ thống bản đồ số. Ví dụ như hệ thống

quản lý tàu đánh cá thông qua bộ đàm, quản lý taxi…

Các vấn đề tồn tại trong thực tế:

- Đối với việc quản lý bằng các nhân viên cử theo các chuyến xe: tốn kém về

nhân lực và chưa hiệu quả. Khả năng giám sát và điều khiển chưa chuyên

nghiệp.

- Việc sử dụng các module xác định vị trí bằng GPS còn đơn giản, các thiết bị

hầu hết được nhập khẩu nguyên chiếc, ứng dụng đơn thuần xác định vị trí.

Bên cạnh đó giá thành còn cao và không chủ động được về mặt kỹ thuật.

- Với một số hệ thống quản lý thông tin về bản đồ số như GIS: tuy đã xây

dựng theo mô hình hệ thống mức độ phổ biến chưa cao. Ứng dụng mang

tính chuyên biệt, đặc biệt là mức chi phí đầu tư lớn, chủ động về mặt kỹ

thuật bị hạn chế.

Page 19: GPRS Server

2

1.2. Mục tiêu đề tài

Xuất phát từ thực tiễn đã nêu, đồ án thực hiện với những mục đích chính sau:

- Đối với nhóm sinh viên, đồ án là bước đầu tìm hiểu, thi công sản phẩm ứng

dụng GPS trong thực tế, đồng thời cũng là bước triển khai những kiến thức

đã được học. Thông qua việc nghiên cứu và làm việc nghiêm túc để rèn

luyện tác phong, tinh thần khoa học, cũng như hoàn thiện phương pháp, tư

duy nghiên cứu, giải quyết một vấn đề thực tiễn. Quan trọng hơn, đồ án còn

là bước “tổng kết và hoàn thiện” những kỹ năng còn thiếu sót trước khi thực

sự trở thành người kỹ sư.

- Về mặt ứng dụng thực tiễn, hệ thống góp phần giúp quản lý các tuyến xe

buýt một cách thông minh có hệ thống và thuận lợi, kịp thời đưa ra các

thông báo khi có sự cố trên các tuyến đường: kẹt xe, xe hư…Người đi xe

buýt dễ dàng trong việc đón xe, tránh được tình trạng lên nhầm hay xuống

nhầm trạm do đã có sự thông báo trước

Ngoài ra, đồ án còn có ý nghĩa như những bước đầu chập chững tiếp cận công

nghệ GPS đang ngày càng phát triển như vũ bão, góp phần làm “điểm tựa” cho các thế

hệ sau của trường ta đạt được những nấc thang cao hơn của công nghệ GPS nói riêng,

của công nghệ và kỹ thuật nói chung.

1.3. Giới hạn đề tài

Đối với trường ta, công nghệ GPS là một vấn đề mới, chưa được đưa vào giảng

dạy, cũng như có rất ít ứng dụng cụ thể được triển khai. Nguyên nhân có thể do đây là

ngành khoa học còn nhiều mới mẻ, và khó khăn, giá thành cho thiết bị nghiên cứu khá

đắt.

Đối với nước ta, ứng dụng GPS chưa nhiều do tính phức tạp, do trình độ công

nghệ chưa đủ và do giá thành linh kiện liên quan GPS còn khá đắt. Và quan trọng hơn

là vẫn còn thiếu các mô hình hỗ trợ cho việc dạy và học

Do đó yêu cầu thực hiện đề tài được bộ môn, giáo viên hướng dẫn đặt ra cho

nhóm sinh viên là: ứng dụng công nghệ GPS/GPRS định vị, giám sát và truyền thông

đến tuyến xe buýt và các trạm dừng.

Page 20: GPRS Server

3

1.4. Một số mô hình, ứng dụng trong việc quản lý và điều hành các phương tiện.

1.4.1. Hệ thống thông tin địa lý GIS

Công nghệ GIS (Geographic Information System) được ứng dụng trong các

điều tra nghiên cứu khoa học, quản lý tài nguyên, đất đai, đánh giá các tác động của

môi trường, quy hoạch đô thị, lịch sử địa lý, khoa học bản đồ, marketing, vận tải …ví

dụ như GIS có thể được ứng dụng để quản lý các vùng đất đai và nước bị ô nhiễm, hỗ

trợ các nhà hoạch định, chuyên gia ra quyết định kịp thời và đúng đắn trên vùng bị ô

nhiễm. GIS cũng có thể dùng để thống kê, phân tích, lập bản đồ phân bố khách hàng,

các vị trí kinh doanh hay hệ thống bán hàng để hỗ trợ việc ra các quyết định kinh

doanh.

Thông tin địa lý có thể được truy xuất, truyền tải, chuyển đổi, và hiển thị bằng

nhiều ứng dụng phần mềm. Trong công nghiệp, các sản phẩm thương mại từ các công

ty như SmallWorld, Manifold System, ESRI, Intergraph, Mapinfo và AutoDesk giữ ưu

thế với các bộ công cụ toàn diện. Chính phủ và các cơ quan an ninh, quân đội thường

sử dụng các phần mềm riêng, các sản phẩm mã nguồn mở như GRASS và nhiều sản

phẩm riêng biệt khác đáp ứng tốt các nhu cầu cụ thể. Các công cụ miễn phí để xem tập

dữ liệu GIS, truy cập công cộng các thông tin địa lý được thống trị bởi các nguồn tài

nguyên trực tuyến như Google Earth và bản đồ web tương tác.

1.4.2. Quản lý hệ thống xe buýt thông qua bộ đàm.

Mô tả: trên mỗi chiếc xe buýt của hệ thống được trang bị một chiếc bộ đàm có

khả năng liên lạc với trung tâm bằng sóng VHF. Trung tâm quản lý có thể giao tiếp

trực tiếp với lái xe thông qua kênh thoại. Bên cạnh đó có thể dùng bộ ghép nối tín hiệu

để truyền dữ liệu.

Hệ thống này rất phổ biến, tuy nhiên tồn tại một số thực trạng: Bị ảnh hưởng

của nhiễu lớn, bên cạnh đó là vùng phủ sóng nhỏ, chỉ trong phạm vi vài chục km.

1.5. Lựa chọn phương án thực hiện.

Để khắc phục các thực trạng trên và tìm ra một giải pháp tối ưu hơn nhóm đã

kết hợp giữa công nghệ GPS và mạng di động GSM (cụ thể là công nghệ GPRS) để

đưa ra một hệ thống quản lý tối ưu hơn:

- Chi phí đầu tư, chi phí bảo trì và sử dụng thấp.

- Có khả năng quản lý hệ thống rộng lớn.

Page 21: GPRS Server

4

- Phạm vi quản lý không có giới hạn (khu vực nào có sóng di động là có thể

triển khai được.)

- Sản phẩm bền đẹp, dễ sử dụng…

1.6. Thiết kế hệ thống

Hệ thống bao gồm các module hoàn chỉnh đáp ứng tốt giải pháp quản lý các

tuyến xe buýt: Module phần cứng GPS có nhiều chức năng, có khả năng định vị vị trí,

kết nối với trung tâm, module quang báo hiển thị thông tin bằng hình ảnh, module

thông báo dùng âm thanh, phần mềm giám sát hiệu quả.

Hình 1.1 Sơ đồ thiết kế hệ thống

Đồ án thực hiện bao gồm những vấn đề sau:

- Phân tích : các khái niệm ban đầu về được đưa ra trong chương 2 nhằm trình

bày về các kiến thức cơ bản về GPS, vi điều khiển và các lý thuyết có liên

quan, đó chính là phương pháp luận thông suốt đồ án.

- Thiết kế mô hình phần cứng: thông qua 3 chương trình bày về thiết kế mô

hình và thi công phần cứng cho module thu thập dữ liệu từ vệ tinh, phần

cứng giao tiếp với module thông báo tại các trạm dừng xe buýt

- Thiết kế phần mềm: thông qua chương 4 và chương 5. Chương 4 trình bày

thiết kế phần mềm cho module điều khiển thu thập dữ liệu và gửi dữ liệu về

Page 22: GPRS Server

5

trung tâm điều khiển. Chương 5 xây dựng phần mềm server nhận dữ liệu từ

các xe buýt, giám sát và gửi các thông báo điều khiển kịp thời

- Kết quả thực nghiệm: chương 6 là quá trình đánh giá kết quả thực tế và hoàn

thiện.

- Kết luận: chương 7 là phần kết luận và hướng phát triển đề tài.

Page 23: GPRS Server

6

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

2.1. Tổng quan về GPS.

2.1.1. Lịch sử hình thành và phát triển của hệ thống GPS.

Sự ra đời của những phương tiện vận chuyển như máy bay, và những con tàu

vũ trụ đòi hỏi điều khiển những thiết bị đó trong không gian ba chiều. Những phương

pháp dẫn đường và những hệ thống dẫn đường vô tuyến điện chỉ xác định được vị trí

theo 2 chiều không gian dùng cho việc dẫn dắt các tàu thủy đã trở thành lỗi thời và

không còn phù hợp. Trước những đòi hỏi về kỹ thuật đó nhiều nhà khoa học đã được

chính phủ Mỹ tài trợ để thực hiện nghiên cứu hệ thống dẫn đường dựa trên vũ trụ. Bộ

Quốc phòng Mỹ là cơ quan thiết kế và điều khiển hệ thống định vị toàn cầu. Trong

nhóm những người tham gia điều hành dự án GPS của Bộ Quốc Phòng Mỹ cần kể tới

sự đóng góp to lớn của TS Ivan Getting, người sáng lập The Aerospace Corporation,

và TS Bradford Parkinson, chủ tịch hội đồng quản trị của The Aerospace Corporation.

Hệ thống định vị toàn cầu (Global Positioning System - GPS) được Chính phủ

Mỹ thiết lập năm 1995, là hệ thống định vị, dẫn hướng và định thời trên không trung

được sử dụng rộng rãi nhất hiện nay. Hệ thống vệ tinh này cung cấp miễn phí các dịch

vụ có liên quan, bao gồm các hoạt động dân sự và quân sự cho người sử dụng trên toàn

thế giới. Việc áp dụng công nghệ GPS không chỉ phổ biến cho việc sử dụng dân sự, từ

ôtô, máy bay đến điện thoại di động, mà cũng là một bộ phận không thể thiếu của hệ

thống an ninh và bảo vệ quốc phòng.

Hệ thống định vị toàn cầu (GPS-Global Positioning System) là một mạng gồm

24 vệ tinh Navstar quay xung quanh Trái đất tại độ cao 11.000 dặm (17.600 km).

Được Bộ Quốc Phòng Mỹ ấn định chi phí ban đầu vào khoảng 13 tỷ USD, song việc

truy nhập tới GPS là miễn phí đối với mọi người dùng, kể cả những người ở các nước

khác. Các số liệu định vị và định thời được sử dụng cho vô số những ứng dụng khác

nhau bao gồm hàng không, đất liền và hàng hải, theo dõi các phương tiện giao thông

trên bộ và tầu biển, điều tra khảo sát và vẽ bản đồ, quản lý tài sản và tài nguyên thiên

nhiên.

Với việc khắc phục được những giới hạn về độ chính xác quân sự vào tháng

3/1996, ngày nay GPS có thể chỉ ra chính xác vị trí của các mục tiêu chỉ nhỏ bằng

đồng 10 xu ở bất kỳ nơi nào trên bề mặt trái đất.

Vệ tinh GPS đầu tiên đã được phóng vào năm 1978. Mười vệ tinh đầu tiên là

các vệ tinh ‘mở mang’, gọi là Block 1 (Lô 1). Từ năm 1989 đến năm 1993 có 23 vệ

Page 24: GPRS Server

7

tinh khai thác, gọi là Block 2 (Lô 2) đã được phóng lên quỹ đạo. Vệ tinh thứ 24 được

phóng nốt vào năm 1994 đã hoàn thành hệ thống.

Vệ tinh bay với vận tốc cao cứ 12 tiếng đồng hồ thì đủ một vòng quỹ đạo. Cho

đến nay đã có tổng số 28 vệ tinh, trong đó 24 chiếc đang hoạt động và 4 chiếc kia dùng

để dự phòng khi có một chiếc nào bị hỏng.

Quỹ đạo bay của hệ thống vệ tinh này cũng được sắp xếp để bất cứ chỗ nào trên

trái đất đều nhận thấy ít nhất là 4 vệ tinh đang bay ngang trên trời. Nhiệm vụ của thiết

bị GPS là làm sao nhận được tín hiệu phát ra từ các vệ tinh bay ngang trên trời … tối

thiểu là từ ba vệ tinh. Một khi máy đã nhận được tín hiệu phát ra từ các vệ tinh thì các

mạch điện tử trong máy sẽ đo và biết được khoảng cách từ các vệ tinh cũng như tọa độ

của nó.

Trong vài giây đồng hồ máy sẽ làm bài toán và cho giải đáp ngay đó là tọa độ

của máy, phương pháp này trong toán học gọi là TRILATERATION (phép đo 3 cạnh

tam giác). Tọa độ này cho bạn biết từ vĩ tuyến cho đến kinh tuyến chính xác đến mức

độ tới từng giây.

Một số hệ thống toàn cầu và khu vực khác như hệ thống Galileo do liên minh

Châu Âu và Cơ quan vũ trụ Châu Âu thiết lập. Hệ thống dẫn hướng trong không trung

GLONASS của Nga, Hệ thống QZSS của Nhật Bản và Hệ thống BEIDOU của Trung

Quốc hiện đang được xây dựng. Sau nghiên cứu đánh giá kỹ lưỡng. Chương trình dẫn

hướng vệ tinh Galileo, một sáng kiến hợp tác giữa liên minh Châu Âu và Cơ quan Vũ

trụ Châu Âu, cuối cùng đã nhận được sự khẳng định để sử dụng và chương trình này

rất giống với trọng tâm chính sách của Mỹ. Các thực thể quản lý và cơ quan an ninh

cũng được yêu cầu phát hiện và bảo vệ chống lại việc sử dụng các hệ thống này một

cách phi pháp và cho các mục đích chống đối. Nỗ lực duy trì Chương trình GLONASS

cho thấy dự định của Nga ủng hộ GNSS riêng của mình. Hệ thống do Chính phủ liên

bang Nga quản lý bao gồm 21 vệ tinh, có quỹ đạo quay quanh 3 hành tinh khác nhau.

Từ sau năm 1995 hệ thống GPS vẫn tiếp tục được duy trì và bảo dưỡng cũng như thay

thế những vệ tinh già tuổi. Năm 2000, số vệ tinh trong chòm GPS đã tăng lên 28 vệ

tinh. Những vệ tinh thế hệ GPS-IIR đã và đang được phóng lên để thay thế những vệ

tinh già tuổi. Vệ tinh được phóng lên ngày 16/9/2005 mang tên GPS-IIR-M1, là vệ

tinh đầu tiên thuộc thế hệ 8 chiếc vệ tinh hiện đại nhất GPS-IIR-M. Theo website

Space-Based Postioning, Navigation and Timing của chính phủ Mỹ, Chính phủ Mỹ

cam kết cung cấp tối thiểu 24 vệ tinh GPS hoạt động trên quĩ đạo với 95% thời gian.

Không lực Mỹ (USA Air Force) phóng các vệ tinh bổ sung có chức năng dự trữ để

Page 25: GPRS Server

8

phòng cho thời gian bảo dưỡng định kỳ các vệ tinh và bảo đảm tính sẳn có của ít nhất

24 vệ tinh hoạt động. Từ 28/08/2009, đã có 35 vệ tinh trong chòm GPS, với 30 vệ tinh

‘khỏe mạnh’ cho người sử dụng”. Do đó, chòm 30 vệ tinh đang thực sự bay như một

chòm 24 vệ tinh.

2.1.2 . Các thành phần của GPS

Hệ thống vệ tinh GPS chia làm 3 phần:

- Phần không gian (space segment): Các vệ tinh.

- Phần điều khiển (control segment ): Trạm mặt đất.

- Phần người sử dụng (user segment): Bộ thu tín hiệu.

Hình 2.1 Sơ đồ liên quan giữa ba phần của hệ thống định vị toàn cầu

2.1.2.1. Phần không gian

Gồm 28 quả vệ tinh (24 vệ tinh hoạt động và 4 vệ tinh dự trữ khi có một chiếc

nào bị hỏng) (tính đến năm 2000) nằm trên các quỹ đạo xoay quanh trái đất. Chúng

chuyển động ổn định, hai vòng quỹ đạo trong khoảng thời gian gần 24 giờ. Các vệ tinh

này chuyển động với vận tốc 7 nghìn dặm một giờ. Các vệ tinh trên quỹ đạo được bố

Page 26: GPRS Server

9

trí sao cho các máy thu GPS trên mặt đất có thể nhìn thấy tối thiểu 4 vệ tinh vào bất kỳ

thời điểm nào.

Các vệ tinh được cung cấp bằng năng lượng Mặt Trời. Chúng có các nguồn pin

dự phòng để duy trì hoạt động khi chạy khuất vào vùng không có ánh sáng Mặt Trời.

Các tên lửa nhỏ gắn ở mỗi quả vệ tinh giữ chúng bay đúng quỹ đạo đã định.

Hình 2.2 Chuyển động vệ tinh nhân tạo xung quanh trái đất

2.1.2.2. Phần điều khiển

Mục đích trong phần này là kiểm soát vệ tinh đi đúng hướng theo quỹ đạo và

thông tin thời gian chính xác. Có tất cả 5 trạm kiểm soát được đặt rải rác trên trái đất.

Bốn trạm kiểm soát hoạt động một cách tự động, và một trạm kiểm soát là trung tâm ở

Colorado Springs bang Colarado của Mỹ. Bốn trạm này nhận tín hiệu liên tục từ

những vệ tinh và gửi các thông tin này đến trạm kiểm soát trung tâm. Tại trạm kiểm

soát trung tâm, nó sẽ sửa lại dữ liệu cho đúng và kết hợp với hai anten khác để gửi lại

thông tin cho các vệ tinh.

Phần điều khiển có 5 trạm quan sát có nhiệm vụ như sau:

Page 27: GPRS Server

10

- Giám sát và điều khiển hệ thống vệ tinh liên tục

- Quy định thời gian hệ thống GPS

- Dự đoán dữ liệu lịch thiên văn và hoạt động của đồng hồ trên vệ tinh

- Cập nhật định kỳ thông tin dẫn đường cho từng vệ tinh cụ thể.

Hình 2.3 Phần điều khiển của GPS

2.1.2.3. Phần người sử dụng

Phần người sử dụng là khu vực có phủ sóng mà người sử dụng dùng anten và

máy thu tín hiệu từ vệ tinh và có được thông tin vị trí, thời gian và vận tốc di chuyển.

Các bộ thu GPS của người sử dụng bao gồm anten, bộ xử lý và một đồng hồ có

độ ổn định cao được đặt ở tần số truyền dẫn của các vệ tinh. Chúng cũng có thể bao

gồm các bộ phận hiển thị để cung cấp các thông tin vị trí, tốc độ, hay bản đồ chỉ

đường.

Một bộ thu GPS được mô tả với số kênh. Nó cho biết số lượng vệ tinh tối đa mà

bộ thu có thể xử lý đồng thời. Hiện nay, số kênh của bộ thu GPS thường đạt tới 12 đến

20 kênh.

Đa số các bộ thu GPS có thể truyền tải dữ liệu tính toán được tới máy tính hay

các thiết bị khác sử dụng giao thức NMEA 0183 hay chuẩn mới hơn và ít sử dụng hơn

là NMEA 2000. Ngoài ra cũng có các giao thức khác như SiRF hay MTK. Bộ thu GPS

có thể truyền dữ liệu tới các thiết bị khác thông qua giao tiếp nối tiếp, USB hay

BlueTooth.

2.1.3 Hoạt động của hệ thống

Với GPS, các tín hiệu từ các vệ tinh sẽ đi tới các vị trí chính xác của người

dùng và được đo theo phép tam giác đạc. Để thực hiện phép tam giác đạc, GPS đo

Page 28: GPRS Server

11

khoảng cách thông qua thời gian hành trình của bản tin vô tuyến từ vệ tinh tới một

máy thu mặt đất. Để đo thời gian hành trình, GPS sử dụng các đồng hồ rất chính xác

trên các vệ tinh, một khi khoảng cách tới vệ tinh đã được đo thì việc biết trước về vị trí

vệ tinh trong không gian sẽ được sử dụng để hoàn thành tính toán. Các máy thu GPS

trên mặt đất có một “cuốn niên giám” được lưu trữ trong bộ nhớ máy tính của chúng

để chỉ thị mỗi vệ tinh sẽ có mặt nơi nào trên bầu trời vào bất kỳ thời điểm nào. Các

máy thu GPS sẽ tính toán các thời gian trễ qua tầng đối lưu và khí quyển để tiếp tục

làm chính xác hơn phép đo vị trí.

Để bảo đảm chắc chắn vệ tinh và máy thu đồng bộ với nhau, mỗi vệ tinh có bốn

đồng hồ nguyên tử chỉ thời gian chính xác tới 3 ns, tức ba phần tỷ giây. Nhằm tiết

kiệm chi phí, các đồng hồ trong các máy thu dưới đất được làm ít chính xác hơn đôi

chút. Bù lại, một phép đo tầm hoạt động vệ tinh được trang bị thêm. Phép đo lượng

giác chỉ ra rằng, nếu ba số đo chính xác định vị được vị trí một điểm trong không gian

ba chiều thì một phép đo thứ tư có thể loại bỏ mọi độ chênh lệch thời gian nào đó.

Phép đo thứ tư này chỉnh lại sự đồng bộ hoá không hoàn hảo của máy thu.

Khối mặt đất thu nhận tín hiệu vệ tinh đi tới với tốc độ bằng tốc độ ánh sáng,

với tốc độ như vậy tín hiệu cũng phải mất một lượng thời gian đáng kể để tới được

máy thu. Sự chênh lệch giữa thời điểm tín hiệu được gửi đi và thời điểm tín hiệu được

thu nhận với tốc độ ánh sáng cho phép máy thu tính được khoảng cách tới vệ tinh. Để

đo lường chính xác độ cao, kinh độ và vĩ độ, máy thu đo thời gian các tín hiệu từ một

số vệ tinh truyền tới máy thu

GPS sử dụng một hệ tọa độ gọi là Hệ thống Trắc địa học Toàn cầu 1984 (WGS-

84 - Worldwide Geodetic System 1984). Hệ thống này tương tự như các đường kẻ

kinh tuyến và vĩ tuyến quen thuộc thường thấy trên các bản đồ treo tường cỡ lớn. Hệ

thống WGS - 84 cung cấp một khung tham chiếu gắn sẵn tiêu chuẩn hoá, cho phép các

máy thu của bất kỳ hãng sản xuất nào cũng cung cấp đúng cùng một thông tin định vị.

2.1.4. Bộ thu GPS.

Bộ thu GPS tính toán vị trí của nó bằng việc tính toán và so sánh thời gian

truyền tín hiệu từ lúc nó được gửi từ vệ tinh đến khi nhận được tại bộ thu trên mặt đất.

Mỗi vệ tinh truyền liên tục các bản tin có chứa thời gian bản tin được gửi đi, thông tin

quỹ đạo chính xác, tình trạng hệ thống chung. Bộ thu GPS đo thời gian truyền của mỗi

bản tin gửi từ vệ tinh và tính toán khoảng cách tới vệ tinh đó. Phép đo hình học ba

cạnh tam giác được sử dụng để kết hợp các khoảng cách này cùng vị trí của các vệ tinh

để xác định vị trí của bộ thu. Tuy nhiên trên thực tế, một sai số nhỏ của thời gian nhân

Page 29: GPRS Server

12

với vận tốc rất lớn của ánh sáng (cũng là vận tốc lan truyền của sóng điện từ) sẽ gây ra

sai số về khoảng cách đáng kể. Do vậy các bộ thu sử dụng thêm một vệ tinh để hiệu

chỉnh đồng hồ của chúng. Trong một số trường hợp nếu biết một trong các thông số

tọa độ không gian, ví dụ như độ cao, chúng ta chỉ cần 3 vệ tinh để xác định được vị trí

chính xác.

Tính toán được khoảng cách từ bộ thu tới vệ tinh, cho phép xác định vị trí của

bộ thu nằm trên hình cầu có tâm là vệ tinh đó. Do vậy, với 4 vệ tinh ta có thể xác định

được vị trí của bộ thu ở tại hai miền giao của 4 hình cầu có tâm là vị trí các vệ tinh,

bán kính là khoảng cách từ bộ thu tới các vệ tinh đó.

Trường hợp không có lỗi, bộ thu GPS sẽ có vị trí tại một điểm giao của 4 bề

mặt hình cầu. Nếu bề mặt của hai mặt cầu giao nhau tại nhiều hơn một điểm, giao

tuyến của chúng sẽ là một hình tròn. Giao tuyến này và mặt cầu thứ 3 trong hầu hết

các trường hợp sẽ giao nhau tại hai điểm (mặc dù chúng có thể chỉ giao nhau tại một

điểm hoặc không giao nhau). Vị trí chính xác của bộ thu GPS là 1 trong hai giao điểm

mà gần với bề mặt trái đất nhất đối với các bộ thu của các phương tiện di chuyển trên

hay gần bề mặt trái đất. Giao điểm còn lại có thể là vị trí chính xác của một thiết bị

khác trong không gian.

Hình 2.4 Tính toán vị trí của bộ thu GPS trên bề mặt trái đất

Page 30: GPRS Server

13

2.1.5. Phương trình xác định tọa độ.

Hình 2.5 Hệ trục tọa độ máy thu - vệ tinh

Để xác định được tọa độ thì tại vị trí đó cần “nhìn” thấy ít nhất 4 vệ tinh (hình

vẽ). Ta có khoảng cách giữa vị trí cần đo và vệ tinh là ρ = c * t, trong đó c là vận tốc

ánh sáng và t là khoảng thời gian sóng truyền từ vệ tinh tới vật.

Gọi tọa độ vị trí là (X, Y, Z), tại một thời điểm ta có 4 phương trình như sau:

___

2 2 2

1 2 3( ) ( ) ( ) .1 S S SX X Y Y Z Z C t (1.1)

___

2 2 2

2 2 2( ) ( ) ( ) .2 S S SX X Y Y Z Z C t (1.2)

___

2 2 2

3 3 33

( ) ( ) ( ) .S S SX X Y Y Z Z C t (1.3)

___

2 2 2

4 4 4( ) ( ) ( ) .4 S S SX X Y Y Z Z C t (1.4)

Page 31: GPRS Server

14

Hình 2.6 Phương trình xác định tọa độ của máy thu GPS

Trong đó Δt là thông số để đồng bộ thời gian giữa phía phát và phía thu. Giải 4

phương trình 4 ẩn ta thu được tọa độ cần xác định.

2.1.6. Hiệu chỉnh đồng hồ của bộ thu.

Phương pháp tính toán vị trí trong trường hợp không có lỗi đã được giải thích ở

trên. Trong thực tế, nguồn gây lỗi đáng kể nhất là đồng hồ của bộ thu GPS. Bởi vì tốc

độ lan truyền ánh sáng là rất lớn, do vậy chỉ một sai số nhỏ của thời gian sẽ gây ra sai

lệch lớn trong tính toán khoảng cách từ bộ thu tới vệ tinh. Muốn vậy bộ thu GPS phải

được trang bị một đồng hồ đặc biết chính xác, với giá thành cao. Tuy nhiên, các nhà

sản xuất mong muốn đưa ra thị trường những thiết bị thu GPS ở mức giá chấp nhận

được cho thị trường đa số người dùng, do vậy cách giải quyết sự xung đột này dựa trên

cách mà các mặt cầu giao nhau.

Hầu hết các khả năng bề mặt của 3 mặt cầu sẽ giao nhau khi đường tròn giao

tuyến của hai mặt cầu đầu tiên thường sẽ đủ lớn và sẽ giao với mặt cầu thứ 3 tại hai

điểm. Tuy vậy, mặt cầu thứ 4 hầu như sẽ không có khả năng giao với hai điểm của ba

mặt cầu đầu tiên, do bất kỳ một sự sai số về thời gian khi thực hiện các phép tính trên

bộ thu. Tuy nhiên, khoảng cách từ vị trí ước lượng của bộ thu GPS tới bề mặt hình cầu

ứng với vệ tinh thứ 4 có thể được sử dụng để hiệu chỉnh sai số đồng hồ. Chúng ta đặt

khoảng cách từ vị trí ước lượng của bộ thu GPS tới vệ tinh thứ 4 là R4, P4 là giả

khoảng cách của vệ tinh thứ 4. Khi đó, khoảng cách Da từ vị trí ước lượng của bộ thu

tới bề mặt hình cầu ứng với vệ tinh thứ 4: Da = R4 – P4. Thời gian ước lượng cho sự

sai số đồng hồ được tính là B= Da / c (với c là vận tốc ánh sáng). Chúng ta dễ nhận

thấy đồng hồ trên bộ thu GPS trễ khi giá trị B là âm và nhanh khi giá trị B là dương.

2.1.8. Nguồn lỗi của tín hiệu GPS

Có khá nhiều nguồn có thể gây nhiễu hoặc suy giảm tín hiệu siêu cao tần phát

từ vệ tinh tới các bộ thu. Khi đó bộ thu có thể không thực hiện được các phép tính toán

vị trí hay cho kết quả sai lệch:

Sự giữ chậm của tầng đối lưu (do độ ẩm) và tầng điện ly. Tín hiệu bị chậm đi

khi đi xuyên qua tầng khí quyển, nhất là tầng điện ly. Hệ thống GPS sử dụng các mô

hình tích hợp sẵn để tính toán độ trễ tín hiệu trung bình và hiệu chỉnh một phần lỗi do

nguyên nhân này gây ra.

Page 32: GPRS Server

15

Hiệu ứng nhiều đường: xảy ra khi tín hiệu GPS bị phản xạ từ các tòa nhà, các

bề mặt lớn trước khi tới được bộ thu. Nguyên nhân này sẽ làm tăng thời gian truyền

dẫn tín hiệu GPS.

Sai lệch đồng hồ máy thu: Đồng hồ trên máy thu có thể sai lệch so với các đồng

hồ nguyên tử trên vệ tinh, gây ra các phép tính sai về khoảng cách. Tuy nhiên trên thực

tế các sai lệch về đồng hồ rất nhỏ.

Lỗi quỹ đạo: Cũng được biết đến là các lỗi thiên văn, do các vệ tinh thông báo

vị trí không chính xác.

Số lượng vệ tinh nhìn thấy tại vị trí bộ thu: Càng nhiều số lượng vệ tinh nhìn

thấy được thì các phép tính của bộ thu càng chính xác. Bất kỳ một vật cản nào cũng có

thể làm che khuất các vệ tinh khỏi tầm nhìn của bộ thu GPS. Các bộ thu GPS thường

không làm việc trong nhà, dưới nước hay dưới lòng đất.

Che khuất về hình học: Phụ thuộc vào vị trí tương đối của các vệ tinh ở thời

điểm bất kỳ. Khi các vệ tinh nằm trên một đường thẳng hoặc tạo thành nhóm sẽ gây ra

sự che khuất đối với bộ thu GPS.

Sự suy giảm của tín hiệu vệ tinh có chủ ý: Là hành động có mục đích của Bộ

Quốc phòng Hoa Kỳ nhằm ngăn chặn các đối thủ quân sự thu được chính xác tín hiệu

định vị. Tuy việc này đã được ngừng từ năm 2000, tuy nhiên không có một sự đảm

bảo chắc chắn về tính ổn định và chính xác của các bộ thu GPS.

2.1.9. Chuẩn NMEA0183

2.1.9.1. Sơ lược về chuẩn NMEA và chuẩn NMEA0183.

NMEA (hay NMEA 0183) là sự một chuẩn giao thức cho truyền thông giữa các

thiết bị điện tử dùng cho tàu thủy cũng như các thiết bị đo tốc độ gió, la bàn, máy lái

tự động, thiết bị thu GPS và rất nhiều các thiết bị khác được định nghĩa và phát triển

bởi Hiệp hội điện tử tàu thủy quốc gia Hoa Kỳ (National Marine Electronics

Association).

Chuẩn NMEA 0183 sử dụng các ký tự ASCII, giao thức truyền thông nối tiếp

quy định cách một “thiết bị gửi” truyền một câu dữ liệu tới “thiết bị nhận” tại một thời

điểm.

Ở tầng ứng dụng, chuẩn NMEA quy định nội dung các kiểu câu dữ liệu cho

phép thiết bị nhận có khả năng phân tích dữ liệu một cách chính xác. Các câu dữ liệu

đều bắt đầu bằng ký tự “$” và kết thúc bằng <CR><LF>.

Page 33: GPRS Server

16

Đối với các các thiết bị GPS, tất cả các câu dữ liệu đều bắt đầu bằng “$GPxxx”

trong đó xxx là loại bản tin. Một số loại câu dữ liệu thường sử dụng:

GGA: Global positioning system fixed data

GLL: Geographic position-latitude/longitude

GSA: GNSS DOP and active satellites

GSV: GNSS satellites in view

RMC: Recommended minimum specific GNSS data

VTG: Course over ground and ground speed

Cấu hình truyền thông nối tiếp (tầng liên kết dữ liệu)

Tốc độ bit: 4800 bps

Số bit dữ liệu: 8

Bít chẵn lẻ: None

Bit dừng: 1 hoặc nhiều hơn

Cơ chế bắt tay thiết bị: không

Hầu hết các máy GPS hiện nay đều giao tiếp dựa trên chuẩn NMEA 0183, một

số thì vẫn có thể dùng được với chuẩn NMEA 0180 và NMEA 0182 với tốc độ truyền

dữ liệu chỉ có 1200bps.

2.1.9.2. Cấu trúc chuỗi NMEA

Mỗi câu bắt đầu bằng ký tự “$” 5 ký tự tiếp theo cho phép nhận dạng loại câu

dữ liệu. Tất cả các trường dữ liệu theo sau được phân cách bởi dấu “,”. Ký tự đầu tiên

tiếp theo sau các trường dữ liệu là dấu “*”

Theo sau dấu “*” là hai số checksum biểu diễn dưới dạng hex. Checksum được

tính bằng cách XOR tất cả các mã ASCII của tất cả các trường giữa 2 dấu “$” và “*”

kể cả mã ASCII của dấu “*”.

Các ký tự enter và xuống dòng kết thúc câu dữ liệu. Nếu dữ liệu cho một trường

nào đó không có thì trường đó trống và dấu “,” ngăn cách giữa các trường vẫn được

truyền đi.

Ví dụ với câu dữ liệu GPRMC

$GPRMC,225446,A,4916.45,N,12311.12,W,000.5,054.7,191194,020.3,E*68

Page 34: GPRS Server

17

- Bản tin kiểu RMC- (Recommended Minimum Specific GNSS Data)

Ví dụ ta nhận được chuỗi bản tin

$GPRMC,161229.487,A,3723.2475,N,12158.3416,W,0.13,309.62,120598,,*10

Sau đây là diễn giải của bản tin

Bảng 2.3 Diễn giải của bản tin GPRMC

Tên Ví dụ Đơn vị Mô tả

Message ID $GPRMC

Giao thức header

RMC

(RMC protocol

header)

Thời gian (UTC

Time)

161229.487 Giờ phút giây (%

giây)

hhmmss.sss

Tình trạng A A: dữ liệu hợp lệ; V:

dữ liệu không hợp lệ.

Ví độ (Latitude) 3723.2475 ddmm.mmmm

Chỉ dẫn Nam

Bắc

(N/S Indicator)

N N = Bắc hoặc S=Nam

N=north or S=south

Kinh độ

(Longitude)

12158.3416 dddmm.mmmm

Chỉ dẫn Đông

Tây

(E/W Indicator)

W E=Đông hoặc W=Tây

E=east or W=west

Tốc độ trên mặt

đất

0.13 Knots

Page 35: GPRS Server

18

Hướng bám

trên mặt đất

309.62 Độ Đúng (True)

Ngày tháng 120598 ddmmyy

Kiểm tra

(Checksum)

*10 Kiểm tra mã truyền

tin

2.2. Hệ thống thông tin di động toàn cầu GSM

Hệ thống thông tin di động toàn cầu – GSM là tiêu chuẩn phổ biến nhất trong

thông tin di động trên thế giới hiện nay. Theo tổ chức sáng lập là hiệp hội GSM ước

đoán rằng, 80% thị trường di động toàn cầu đang sử dụng công nghệ này, với hơn 3 tỷ

người trên hơn 212 quốc gia. Sự phổ biến này giúp cho việc chuyển vùng quốc tế giữa

các nhà cung cấp dịch vụ di động trở nên dễ dàng, các thuê bao có thể sử dụng dịch

vụ di động ở nhiều nơi trên thế giới.

Ngoài cung cấp dịch vụ cuộc gọi thoại, GSM cũng mở rộng các dịch vụ tiện lợi

khác cho người sử dụng như tin nhắn ngắn SMS, được hỗ trợ tốt bởi hầu hết các chuẩn

di động khác. Các tiêu chuẩn mới sau này ra đời, như General Packet Radio Service –

GPRS (năm 1997) và Enhanced Data Rates for GSM Evolution – EDGE (năm 1999),

mang lại các dịch vụ giá trị gia tăng phong phú và các mức cước phí hấp dẫn.

2.3 Dịch vụ số liệu cải tiến GPRS – General Packet Radio Service

2.3.1. Sơ lược

GPRS là dịch vụ dữ liệu di động, sử dụng phương thức chuyển mạch gói được

phát triển trên nền hệ thống thông tin di động toàn cầu GSM, cho phép các thiết bị di

động gửi và nhận dữ liệu trong mạng. GPRS là một bước để phát triển lên hệ thống

thông tin di động thế hệ thứ 3 (3G).

Tốc độ: GPRS sử dụng phương thức chuyển mạch gói. Tốc độ kết nối cao hơn,

có thể đạt tới khoảng 56-118kbps, so với mạng GSM truyền thống chỉ là 9,6kbps.

Bằng việc kết hợp các khe thời gian chuẩn GSM, tốc độ theo lý thuyết có thể đạt tới

171,2kbps. Tuy nhiên, tốc độ 20-50kbps là khả thi hơn trong thực tế.

Kết nối liên tục: GPRS là dịch vụ kết nối liên tục, mà không cần phải quay số.

Đây không phải là một tính năng duy nhất có ở GPRS, nhưng sẽ không có trở ngại nào

để nó trở thành tính năng then chốt khi chuyển tiếp lên 3G. Nó giúp cho các thiết bị

tiếp nhận các dịch vụ một cách tức thời.

Page 36: GPRS Server

19

Các ứng dụng giá trị gia tăng mới và tốt hơn: Kết nối truyền dữ liệu tốc độ cao

và liên tục cho phép các ứng dụng internet và các dịch vụ như hội thoại hình có thể

được thực hiện trên các thiết bị di động hay chuyển tới máy PC.

Chi phí đầu tư và vận hành: Các nhà cung cấp dịch vụ mạng di động không cần

phải bắt đầu từ vạch xuất phát để có thể triển khai GPRS. GPRS được nâng cấp từ

mạng GSM đã có.

Cước phí dịch vụ truyền tải dữ liệu bằng GPRS thường được tính trên lưu lượng

truyền tải, trong khi đó phương pháp truyền thống sử dụng chuyển mạch kênh được

tính dựa trên thời gian kết nối, không phụ thuộc vào việc người sử dụng đang truyền

tải dữ liệu hay ở trạng thái nghỉ.

2.3.2. Kiến trúc hệ thống GPRS chung.

Hình 2.13 Kiến trúc chung của hệ thống GPRS

GPRS không phải là một mạng hoàn toàn tách biệt với GSM. Nhiều thiết bị như

trạm thu phát gốc (BTS), bộ điều khiển trạm thu phát gốc (BSC) vẫn được sử dụng.

Việc triển khai dịch vụ GPRS thường là nâng cấp về phần mềm, phần cứng hoặc cả

hai. Việc nâng cấp phần mềm hầu như có thể được thực hiện từ xa.

Có hay bộ phận chức năng quan trong trong hoạt động của GPRS: Serving

GPRS Support Node – SGSN và Gateway GPRS Support Node – GGSN. Hai thành

phần này là những thay đổi lớn nhất và hoàn toàn mới so với mạng GSM.

Dịch vụ dữ liệu GPRS hoạt động song song với dịch vụ thoại trên GSM. Trong

mạng GSM thường có nhiều trạm điều khiển trạm thu phát gốc (BSC). Khi triển khai

dịch vụ GPRS, tại các trạm BSC được bổ sung các bộ đơn vị điều khiển gói tin PCU –

Page 37: GPRS Server

20

Packet Control Unit. Bộ phận này sẽ phân biệt dữ liệu của mạng GSM chuẩn (hay

chuyển mạch kênh) và dữ liệu của dịch vụ GPRS ( hay chuyển mạch gói). Trong vài

trường hợp, PCU có thể là các bộ phận riêng biệt.

- SGSN

Nút hỗ trợ dịch vụ GPRS (SGSN) đảm nhận các tác nhiệm quan trọng, bao gồm

định tuyến (routing), chuyển giao và cấp phát địa chỉ IP.

SGSN có một kết nối logic tới các thiết bị GPRS. Khi thiết bị đang sử dụng

dịch vụ GPRS di chuyển, từ ô tế bào này sang ô tế bào khác, SGSN có nhiệm vụ đảm

bảo kết nối của thiết bị di động tới mạng không bị ngắt. Khi thiết bị di chuyển vào một

vùng mạng được điều khiển bởi một SGSN khác, nó sẽ thực hiện chuyển giao cho

SGSN mới. Quá trình này được thực hiện rất nhanh. Bất kỳ gói dữ liệu nào bị mất

trong quá trình chuyển giao này cũng sẽ được truyền lại.

SGSN chuyển đổi dữ liệu di động thành IP và được kết nối với GGSN qua giao

thức đường hầm( tunneling protocol).

- GGSN

Nút hỗ trợ cổng vào GPRS (GGSN) là cổng cuối cùng trong mạng GPRS trước khi

kết nối với một ISP hay bộ định tuyến của mạng doanh nghiệp. GGSN về cơ bản là

một cổng vào (gateway), bộ định tuyến (router) và tường lửa (firewall) kết hợp làm

một. GGSN cũng làm nhiệm vụ xác nhân chi tiết người dùng với máy chủ RADIUS

cho quá trình bảo mật, thường xảy ra trong mạng IP, hay bên ngoài mạng GPRS.

- Kết nối giữa SGSN và GGSN

Kết nối giữa hai nút hỗ trợ GPRS sử dụng giao thức gọi là GPRS Tunneling

Protocol (GTP). GTP nằm trên TCP/IP và có trách nhiệm thu thập các thông tin tính

cước và dàn xếp. Trong thực tế hai khối GSN có thể nằm cùng trong một khối đơn.

- HLR – Home Location Register

Bộ đăng ký vị trí trung tâm (HLR) là một cơ sở dữ liệu chứa các thông tin thuê

bao, khi một thiết bị di động kết nối tới mạng sử dụng số nhận dạng MSISDN, trạng

thái của thuê bao, hay đôi khi là địa chỉ IP.

2.3.3. Địa chỉ IP

a) Cấp phát địa chỉ IP

Có 3 cách khác nhau để cấp phát địa chỉ IP cho các thiết bị di động.

Page 38: GPRS Server

21

- Cấp phát IP tĩnh:

Địa chỉ IP tĩnh cho thiết bị di động không được sử dụng do sự hạn chế của địa

chỉ IPv.4. Thông tin này được lưu giữ trong HLR

Hình 2.14 Cấp phát địa chỉ IP tĩnh trong GPRS

- Cấp phát IP động:

Thiết bị di động được cấp phát địa chỉ IP động. Địa chỉ IP này không được lưu

giữ tại HLR, mà được chuyển cho GGSN.

Hình 2.15 Cấp phát địa chỉ IP động trong GPRS

Phương pháp cấp phát IP thứ 3, cũng là một dạng cấp phát động, trong đó địa

chỉ IP được cấp phát bởi máy chủ RADIUS, thường được đặt ngoài mạng thông tin di

động, trong mạng IP.

b) Liên lạc giữa SGSN và GGSN

Một thiết bị di động được lập trình với một hay nhiều tên điểm truy cập –

Access Point Name (APN). Một APN có chứa một tên máy chủ tên miền DNS. Khi

Page 39: GPRS Server

22

thiết bị di động muốn truy cập một địa chỉ web, SGSN tìm kiếm máy chủ tên miền

DNS và phân giải tên tới đúng GGSN tương ứng.

2.3.4 Các lớp thiết bị GPRS.

Có 3 lớp khác nhau của thiết bị GPRS:

- Lớp A: Các thiết bị đầu cuối lớp A có hai bộ thu phát, cho phép gửi/nhận dữ

liệu thoại và dữ liệu GPRS đồng thời.

- Lớp B: Các thiết bị đầu cuối lớp B có thể gửi/nhận dữ liệu thoại hoăc dữ

liệu GPRS nhưng không đồng thời cả hai.

- Lớp C: Các thiết bị này chỉ cho phép thực hiện 1 trong 2 kết nối thoại hoặc

dữ liệu

2.3.5 Thông số chất lượng dịch vụ (QoS) GPRS

a) Kiến trúc mạng:

Các mạng lưới cần được nâng cấp trong GPRS, trong đó có các nút hỗ trợ GSN.

GPRS đã đáp ứng sự trông đợi của người sử dụng về hiệu suất mạng.

b) Giao diện vô tuyến

ETSI đã cho ra đời 3 sơ đồ mã hóa mới cho giao diện vô tuyến. Khi thiết bị

GPRS liên lạc với trạm thu phát gốc, chúng có thể sử dụng 1 trong 4 sơ đồ. Các sơ đồ

CS-1 tới CS-3 trong đó CS-1 giống như chuẩn GSM. Một cách đơn giản, CS-1 có độ

dư thừa lớn, trong khi CS-2 và CS-3 có ít dư thừa hơn. Trong khi CS-4 có ít dư thừa

nhất, gỡ bỏ tất các điều khiển lỗi, trong khi đạt khả năng truyền tải lớn nhất. Nếu chất

lượng sóng vô tuyến thấp, CS-1 được sử dụng, với các điều khiển lỗi giúp tăng chất

lượng dịch vụ.

c) Các lớp dịch vụ GPRS

Các thiết bị di động có thể yêu cầu các loại truyền tải khác nhau được ưu tiên,

trong nỗ lực mang đến cho người sử dụng mức độ kết nối mong muốn. Có 4 lớp truyền

tải khác nhau:

- Lớp ưu tiên: Một ứng dụng có thể được gán cho một lớp ưu tiên 1, 2 hay 3.

Nếu một ứng dụng có độ ưu tiên cao hơn (1) các ứng dụng khác (3) thì quá

trình truyền tải của nó sẽ có thứ tự ưu tiên cao hơn.

Page 40: GPRS Server

23

- Lớp trễ: Các ứng dụng có thể yêu cầu các lớp trễ, đảm bảo độ trễ trung bình

95%. Có 4 lớp, lớp 1 là nhanh nhất.

- Lớp tin cậy: Các ứng dụng có thể yêu cầu các mức khác nhau của độ tin cậy

cho dữ liệu của nó, phụ thuộc vào mức độ mất mát dữ liệu.

- Lớp dung lượng: Các ứng dụng có thể chọn các cấu hình khác nhau cho lưu

lượng. Có hai lớp: đỉnh và trung bình. Lớp lưu lượng đỉnh được sử dụng chủ

yếu cho các truyền dẫn tức thời với số lượng octet biến đổi trong một giây.

Lớp trung bình là tốc độ truyền dẫn trung bình trong một khoảng thời gian,

tính bằng sô octet trong một giờ.

Ngoài ra, các nhân tố khác cũng có thể ảnh hưởng tới QoS, như chất lượng sóng

vô tuyến, nghẽn mạng internet, LAN/WAN, lỗi trong mạng GSM/GPRS, vv…

2.3.6 Các dịch vụ hỗ trợ

Dịch vụ GPRS trên nền GSM cung cấp các dịch vụ mới:

- Dịch vụ tin nhắn đa phương tiện (MMS – Multimedia messaging service).

- Dịch vụ đàm thoại Push to Talk (PTT).

- Các ứng dụng internet trên thiết bị thông minh, qua giao thức ứng dụng

không giây (WAP – Wireless Application Protocol).

- Dịch vụ Point to Point (PTP): liên mạng với mạng internet (giao thức IP)

GPRS cho phép tăng hiệu quả sử dụng đường truyền và tốc độ truyền dữ liệu.

Khi sử dụng dịch vụ nhắn tin ngắn SMS bằng GPRS có thể đạt được tốc độ truyền tin

30 bản tin / phút, trong khi với dịch vụ SMS truyền thống trên GSM, tốc độ chỉ đạt

được từ 6-10 bản tin / phút.

2.4. GIỚI THIỆU SIM 548

2.4.1. Giới thiệu chung

Module SIM548C sử dụng 4 băng tần GSM/GPRS hơn nữa còn được tích hợp

sẵn bộ thu GPS, nó được thiết kế nhỏ gọn, khả năng di động rất cao, giá thành tiết

kiệm hơn nhiều so với giải pháp đã nói ở trên. Nó là sự kết hợp của 2 công nghệ : công

nghệ GSM/GPRS và công nghệ GPS. Một giải pháp rất tối ưu cho việc truyền dữ liệu

GPS về trung tâm thông qua mạng GSM/GPRS.

Page 41: GPRS Server

24

Như đã nói, module SIM548C được chia làm 2 phần : phần GSM/GPRS và

phần GPS. Chúng ta sẽ tìm hiểu các đặc tính cũng như các thông số kĩ thuật mỗi phần

của module SIM548C.

2.4.2. Đặc điểm của module SIM548C

- SIM548C làm việc ở 4 tần số khác nhau : EGSM 900 MHz/DCS 1800 MHz

và GSM850 MHz/PCS 1900 MHz. . SIM548C cung cấp GPRS multi-slot

class10 / class 8 , hỗ trợ GPRS mã hóa theo sơ đồ CS -1 , CS – 2 , CS – 3

và CS – 4.

- Được thiết kế với kích thước nhỏ gọn 50mm x 33mm x 8.8mm , SIM548C

có thể được sử dụng trong rất nhiều các ứng dụng ví dụ như : M2M , điện

thoại thông minh , điện thoại PDA , thiết bị định vị cầm tay và các thiết bị di

động khác hoặc các ứng dụng cho xe hơi , cho server …

- Giao tiếp vật lý gồm có 60 chân , nó cung cấp các giao tiếp cứng giữa

module với bo mạch khác , ngoại trừ giao tiếp với anten RF .

- Giao tiếp hiển thị SPI giúp ta phát triển các ứng dụng một cách mềm dẻo

hơn.

- Gồm một cổng giao tiếp GSM nối tiếp và 2 cổng giao tiếp GPS nối tiếp , nó

có thể giúp ta dễ dàng phát triển các ứng dụng hơn.

- 2 kênh audio gồm 2 cổng vào microphone và 2 cổng ra speaker’s .

- Điều khiển tập lệnh AT thông qua cổng giao tiếp truyền thông nối tiếp.

- Giao tiếp với SIM card holder .

- Giao tiếp màn hình LCD.

- Hai đầu nối ăng ten riêng biệt cho 2 phần GSM / GPRS & GPS. SIM548C

cung cấp giao tiếp anten RF GSM với 2 loại : Anten connector và anten râu.

Anten connector là MURATA MM9329-2700 RA1 và ta có thể tự thiết kế

anten râu. Một anten GPS phải được nối với phần GPS của module nhằm

thu tín hiệu GPS một cách chính xác.

- Giao tiếp Pin Sạc , mạch sạc được tích hợp sẵn trong SIM548C nên nó rất

phù hợp với các ứng dụng dùng nguồn PIN.

- Hỗ trợ 2 chuẩn giao tiếp Serial interface và Debug interface.

Page 42: GPRS Server

25

- SIM548C được thiết kế với công nghệ nguồn tiết kiệm , vì vậy dòng tiêu thụ

của phần GSM/GPRS trong chế độ SLEEP rất nhỏ, khoảng 3mA.

- SIM548C hỗ trợ giao thức TCP/IP , rất hữu ích cho việc thực hiện việc

truyền dữ liệu.

- Nguồn cung cấp :

• Phần GSM : 3.4V – 4.5V

• Phần GPS : sử dụng nguồn cung cấp riêng 3.3V ± 5%

• Nguồn tiết kiệm

• Phần GSM : dòng tiêu thụ trong chế độ SLEEP cỡ 3.5mA.

• Phần GPS : Power Down mode / Push-to-Fix mode.

• Pin sạc : Hỗ trợ sạc PIN Li-Ion.

- Dải tần sử dụng

• EGSM 900/DCS 1800 và GSM850 MHz/PCS 1900 MHz . SIM548C có

thể tự động dò tìm các băng tần trên .

• Các băng tần có thể được thiết lập bằng tập lệnh AT.

• Tuân theo GSM Phase 2/2+.

- Công suất phát

- Kết nối GPRS

• GPRS multi-slot class 10 (mặc định).

• GPRS multi-slot class 8 (tùy chọn).

• GPRS mobile station class B.

- GPS

• Bộ nhận GPS sử dụng Chip SiRF star III .

• Kiểu xử lý : ARM7/TDMI.

- Dải nhiệt độ

• Hoạt động bình thường : -30°C đến +80°C.

• Hoạt động giới hạn : min: 40°C đến -30°C và max: +80°C đến +85°C

• Nhiệt độ bộ lưu trữ : -45°C đến +90°C .

Page 43: GPRS Server

26

- Dữ liệu GPRS

• Tốc độ Downlink lớn nhất : 85.6 kbps .

• Tốc độ Uplink lớn nhất : 42.8 kbps .

• Sơ đồ mã hóa : CS-1 , CS-2 , CS-3 và CS-4.

• SIM548C hỗ trợ giao thức PAP ( Password Authentication Protocol )

thường được sử dụng cho kết nối PPP.

• SIM548C được tích hợp giao thức TCP/IP .

- CSD

• Hỗ trợ PBCCH.

• Tốc độ truyền của CSD : 2.4 ; 4.8 ; 9.6 ; 14.4 kbps , non-transparent.

• Hỗ trợ USSD.

- SMS

• Hỗ trợ các chế độ : MT , MO , CB , Text và PDU .

• Lưu trữ SMS : ở SIM card

- FAX : Group 3 class 1.

- Giao tiếp SIM : Hỗ trợ SIM card : 1.8V , 3V.

- Anten ngoài :

• Phần GSM : được kết nối qua anten 50 Ohm và anten râu.

• Phần GPS : kết nối anten GPS riêng .

- Audio : Chế độ Speech codec

• Half Rate (ETS 06.20).

• Full Rate (ETS 06.10).

• Enhanced Full Rate (ETS 06.50 / 06.60 / 06.80).

• Adaptive multi rate (AMR).

• Echo Cancellation.

- Cổng truyền thông nối tiếp GSM và cổng Debug

- Cổng nối tiếp : 7 đường trên giao tiếp cổng nối tiếp.

Page 44: GPRS Server

27

- Cổng nối tiếp có thể sử dụng cho CSD FAX , nhận và gửi GPRS được điều

khiển bởi tập lệnh AT.

- Cổng nối tiếp có thể sử dụng chức năng phân kênh.

- Hỗ trợ tốc độ : 4800 bps đến 115200 bps.

- Cổng Debug : có 2 đường trên cổng giao tiếp Debug : DBG_TXD và

DBG_RXD.

- Cổng Debug chỉ sử dụng cho gỡ rối.

- Hai cổng nối tiếp GPS :

- Cổng nối tiếp A : 2 đường trên cổng nối tiếp A : GPS_TXA và GPS_RXA.

- Cổng nối tiếp B : 2 đường trên cổng nối tiếp B : GPS_TXB và GPS_RXB.

- Thông số vật lý :

• Kích thước : 50±0.15 x 33±0.15 x10.3±0.3mm .

• Nặng : 16.5g.

Bảng 2.5 Sơ đồ mã hóa và tốc độ dữ liệu lớn nhất trên giao diện vô tuyến

Sơ đồ mã hóa 1 Timeslot 2 Timeslot 4 Timeslot

CS-1: 9.05kbps 18.1kbps 36.2kbps

CS-2: 13.4kbps 26.8kbps 53.6kbps

CS-3: 15.6kbps 31.2kbps 62.4kbps

CS-4: 21.4kbps 42.8kbps 85.6kbps

2.4.3. Sơ đồ chức năng

SIM548C có hai khối tách biệt: phần GSM/GPRS và phần GPS.

Phần GSM :

- Khối trung tâm GSM :GSM baseband engine .

- Khối bộ nhớ : Flash and SRAM .

- Phần GSM radio frequency .

- Khối giao tiếp anten : anten interface .

Page 45: GPRS Server

28

- Khối giao tiếp ngoài : board-to-board interface.

Phần GPS :

- Chip thu GPS : SIRFIII GPS engine .

- Phần GPS radio frequency

- Khối giao tiếp anten : anten interface .

- Khối giao tiếp ngoài : board-to-board interface.

Hình 2.16 Sơ đồ chức năng của module SIM548C

Page 46: GPRS Server

29

Bảng 2.6 Chức năng chân của module SIM548C

Page 47: GPRS Server

30

Module SIM548C bao gồm 60 chân DIP trong đó bao gồm 48 chân cho phần

GSM/GPRS từ chân 1 đến chân 48 và 12 chân cho phần GPS từ chân 49 đến chân 60.

2.5. Giới thiệu về vi điều khiển ATMEGA128

2.5.1. Tổng quan về vi điều khiển ATMega128

Page 48: GPRS Server

31

Những tính năng chính của vi điều khiển ATmega128

- Bộ nhớ ROM : 128 Kbytes.

- Bộ nhớ SRAM: 4Kbytes.

- Bộ nhớ EEPROM : 4Kbytes.

- Gồm có 64 thanh ghi vào ra I/O.

- 160 thanh ghi vào ra mở rộng

- 32 thanh ghi đa mục đích.

- 2 bộ định thời 8 bit (0,2).

- 2 bộ định thời 16 bit (1,3).

- Bộ định thời watchdog

- Bộ dao động nội RC tần số 1 MHz, 2 MHz, 4 MHz, 8 MHz

- ADC 8 kênh với độ phân giải 10bit(Ở dòng Xmega lên tới 12 bit )

- 2 kênh PWM 8 bit

- 6 kênh PWM có thể lập trình thay đổi độ phân giải từ 2 tới 16 bit

- Bộ so sánh tương tự có thể lựa chọn ngõ vào

- 8 ngắt ngoài từ INT0 đến INT7

- Hai khối USART lập trình được

- Khối truyền nhận nối tiếp SPI

- Khối giao tiếp nối tiếp 2 dây TWI

- Hỗ trợ boot loader

- 6 chế độ tiết kiệm năng lượng

- Lựa chọn tần số hoạt động bằng phần mềm

- Đóng gói 64 chân kiểu TQFP.

- Tần số tối đa 16MHz

- Điện thế : 4.5v - 5.5v

Vi điều khiển AVR do hãng Atmel ( Hoa Kì ) sản xuất được gới thiệu lần đầu

năm 1996. AVR có rất nhiều dòng khác nhau bao gồm dòng Tiny AVR ( như AT tiny

13, ATtiny 22…) có kích thước bộ nhớ nhỏ, ít bộ phận ngoại vi, rồi đến dòng AVR (

Page 49: GPRS Server

32

chẳng hạn AT90S8535, AT90S8515,…) có kích thước bộ nhớ vào loại trung bình và

mạnh hơn là dòng Mega ( như ATmega32, ATmega128,…) với bộ nhớ có kích thước

vài Kbyte đến vài trăm Kbyte cùng với các bộ ngoại vi đa dạng được tích hợp trên

chip, cũng có dòng tích hợp cả bộ LCD trên chip ( dòng LCD AVR ). Tốc độ của dòng

Mega cũng cao hơn so với các dòng khác. Sự khác nhau cơ bản giữa các dòng chình là

cấu trúc ngoại vi, còn nhân thì vẫn như nhau.

Hình 2.17 Sơ đồ chân vi điều khiển ATMega128

Ưu điểm của ATMega128 mà các dòng thấp hơn không có là nó hỗ trợ 2 cổng

giao tiếp nối tiếp( chân 2 RXD0- chân 3 TXD0 và chân 27 RXD1- chân 28 TXD1 ).

Mục đích để ta chọn vi điều khiển hỗ trợ 2 cổng giao tiếp nối tiếp là một cổng

(RXD0 – TXD0) kết nối với phần GSM/GPRS của module SIM548C nhằm điều khiển

SIM548C này thông qua tập lệnh AT , một cổng ( RXD1 –TXD1) kết nối với phần

GPS của module SIM548C lấy dữ liệu GPS sau đó tách lấy các thông số tọa độ vị trí ,

thời gian …để gửi về trung tâm thông qua mạng GSM/GPRS.

Page 50: GPRS Server

33

Hình 2.18 Sơ đồ cấu trúc vi điều khiển ATMega128

Page 51: GPRS Server

34

2.5.2.Giao tiếp USART

USART (Universal Synchronous and Asynchronous serial Receiver and

Transmitter): Bộ Truyền Nhận Nối Tiếp Đồng Bộ Và Bất Đồng Bộ, đây là khối chức

năng dùng cho việc truyền thông giữa vi điều khiển với các thiết bị khác. Trong vấn đề

truyền dữ liệu số, có thể phân chia cách thức (method) truyền dữ liệu ra hai chế độ

(mode) cơ bản là : Chế độ truyền nhận Đồng bộ (Synchronous) và Chế độ truyền nhận

Bất đồng bộ (Asynchronous). Ngoài ra, nếu ở góc độ phần cứng thì có thể phân chia

theo cách khác đó là: Truyền nhận dữ liệu theo kiểu Nối tiếp (serial) và Song song

(paralell).

- Truyền đồng bộ: là kiểu truyền dữ liệu trong đó bộ truyền (Transmitter) và

bộ nhận (Receiver) sử dụng chung một xung đồng hồ (clock). Do đó, hoạt

động truyền và nhận dữ liệu diễn ra đồng thời. Xung clock đóng vai trò là

tín hiệu đồng bộ cho hệ thống (gồm khối truyền và khối nhận). Ưu điểm của

kiểu truyền đồng bộ là tốc độ nhanh, thích hợp khi truyền dữ liệu khối

(block).

- Truyền bất đồng bộ: Là kiểu truyền dữ liệu trong đó mỗi bộ truyền

(Transmitter) và bộ nhận (Receiver) có bộ tạo xung clock riêng, tốc độ xung

clock ở hai khối này có thể khác nhau, nhưng thường không quá 10 %. Do

không dùng chung xung clock, nên để đồng bộ quá trình truyền và nhận dữ

liệu, người ta phải truyền các bit đồng bộ (Start, Stop,…) đi kèm với các bit

dữ liệu. Các bộ truyền và bộ nhận sẽ dựa vào các bit đồng bộ này để quyết

định khi nào thì sẽ thực hiện hay kết thúc quá trình truyền hoặc nhận dữ

liệu. Do đó, hệ thống truyền không đồ bộ còn được gọi là hệ thống truyền

“tự đồng bộ”.

Từ hai kiểu truyền dữ liệu cơ bản trên, người ta đưa ra nhiều giao thức

(Protocol) truyền khác nhau như: SPI (đồng bộ), USRT (đồng bộ), UART (bất đồng

bộ),…Tuy vậy, cũng có giao thức truyền mà không thể xếp được vào kiểu nào: Đồng

bộ hay bất đồng bộ, chẳn hạn kiểu truyền I2C (Trong AVR gọi là TWI), tuy vậy một

cách hơi gượng ép thì có thể thấy giao thức truyền I2C gần với kiểu đồng bộ hơn vì

các thiết bị giao tiếp với nhau theo chuẩn I2C điều dùng chung một xung clock.

Cấu trúc truyền thường được sử dụng trong truyền nối tiếp không đồng bộ là

cấu trúc bắt đầu bằng 1 bit START, theo sau là các bit dữ liệu và bit kiểm tra chẵn lẻ

(nếu sử dụng) và cuối cùng là 1 hay nhiều hơn (1,5 hoặc 2) bit dừng.

Page 52: GPRS Server

35

Hình 2.19 Sơ đồ truyền dữ liệu nối tiếp

Số bít dữ liệu: Số bít dữ liệu được truyền giữa bit START, STOP, có thể là

4,5,6,7 và thông thường là 8 bit dữ liệu

Bit START: bắt đầu ở mức 0 (điện áp dương)

Bit STOP: có thể là 1, 1.5 hay 2 bit STOP

Bit chẵn lẻ (Parity bit): dùng để phát hiện lỗi khi nhận dữ liệu. Bit chẵn lẻ là

phương pháp phát hiện lỗi đơn giản để kiểm tra số lượng bit “1” được gửi trong khung

truyền là chẵn hay lẻ). Cũng vì thế bit chẵn lẻ chỉ có thể phát hiện được số lẻ bit lỗi,

và nó chỉ được dùng với các trường hợp có số bit lỗi thấp.

Tốc độ Baud: một thông số chính đặc trưng cho quá trình truyền dữ liệu nối tiếp

là tốc độ truyền nhận dữ liệu, hay tốc độ bit. Tốc độ bit được định nghĩa là số bit

truyền được trong 1 giây. Cả bộ truyền và nhận dữ liệu đều phải được thiết lập để hoạt

động cùng tốc độ bit này. Tốc độ bit phản ánh thực tế số bit được gửi/nhận trên đường

truyền. Ngoài ra, khái niệm tốc độ baud là tốc độ của các phần tử dùng để mã hóa các

bit dữ liệu được truyền. Khi một phần tử mã hóa 1 bit thì tốc độ baud cũng chính bằng

tốc độ bit thực tế trên đường truyền. Trong các modem, các phần tử mã hóa nhiều bit,

do đó tốc độ bit trên đường truyền cao hơn so với tốc độ baud.

Tốc độ baud thường dùng là: 50, 75, 110, 150, 300, 600, 1200, 2400, 4800,

9600, 19200, 28800, 38400, 56000, 115200…

2.5.3. Khối USART trong Atmega128

ATmega128 có hai bộ USART là USART0 và USART1. Hai bộ USART này là

độc lập nhau, điều này có nghĩa là hai khối USART0 và USART1 có thể hoạt động

cùng một lúc. Chính vì đặc điểm này mà ta đã chọn ATMega128.

Tất cả hoạt động và trạng thái của USART0 được điều khiển và quan sát thông

qua các thanh ghi trong vùng nhớ I/O. Có 5 thanh ghi được thiết kế riêng cho hoạt

động và điều khiển của USART0, đó là:

Page 53: GPRS Server

36

UDR0: hay thanh ghi dữ liệu, là 1 thanh ghi 8 bit chứa giá trị nhận được và phát

đi của USART0. Thực chất thanh ghi này có thể coi như 2 thanh ghi TXB0 (Transmit

data Buffer) và RXB0 (Reveive data Buffer) có chung địa chỉ. Đọc UDR0 thu được

giá trị thanh ghi đệm dữ liệu nhận, viết giá trị vào UDR0 tương đương đặt giá trị vào

thanh ghi đệm phát, chuẩn bị để gởi đi. Chú ý trong các khung truyền sử dụng 5, 6

hoặc 7 bit dữ liệu, các bit cao của thanh ghi UDR0 sẽ không được sử dụng

Hình 2.20 Thanh ghi dữ liệu UDR0

UCSRA0 (USART Control and Status Register A): là 1 trong 3 thanh ghi điều

khiển hoạt động của module USART0.

Hình 2.21 Thanh ghi điều khiển hoạt động UCSRA0

Thanh ghi UCSRA0 chủ yếu chứa các bit trạng thái như bit báo quá trình nhận

kết thúc (RXC), truyền kết thúc (TXC, báo thanh ghi dữ liệu trống (UDRE), khung

truyền có lỗi (FE), dữ liệu tràn (DOR), kiểm tra parity có lỗi (PE)…Bạn chú ý một số

bit quan trọng của thanh ghi này:

UDRE0 (USART Data Register Empty) khi bit này bằng 1 nghĩa là thanh ghi

dữ liệu UDR đang trống và sẵn sàng cho một nhiệm vụ truyền hay nhận tiếp theo. Vì

thế nếu bạn muốn truyền dữ liệu đầu tiên bạn phải kiểm tra xem bit UDRE0 có bằng 1

hay không, sau khi chắc chắn rằng UDRE0=1 hãy viết dữ liệu vào thanh ghi UDR để

truyền đi.

- U2X là bit chỉ định gấp đôi tốc độ truyền, khi bit này được set lên 1, tốc độ

truyền so cao gấp 2 lần so với khi bit này mang giá trị 0.

- MPCM là bit chọn chế độ hoạt động đa xử lí (multi-processor).

UCSRB0 (USART Control and Status Register B): đây là thanh ghi quan trọng

điều khiển USART0. Vì thế chúng ta sẽ khảo sát chi tiết từng bit của thanh ghi này.

Page 54: GPRS Server

37

Hình 2.22 Thanh ghi điều khiển hoạt động USART0

- RXCIE (Receive Complete Interrupt Enable) là bit cho phép ngắt khi quá

trình nhận kết thúc. Việc nhận dữ liệu truyền bằng phương pháp nối tiếp

không đồng bộ thường được thực hiện thông qua ngắt, vì thế bit này thường

được set bằng 1 khi USART được dùng nhận dữ liệu.

- UDRIE (USART Data Register Empty Interrupt Enable) là bit cho phép

ngắt khi thanh ghi dữ liệu UDR trống.

- RXEN (Receiver Enable) là một bit quan trọng điều khiển bộ nhận của

USART, đề kích hoạt chức năng nhận dữ liệu bạn phải set bit này lên 1.

- TXEN (Transmitter Enable) là bit điều khiển bộ phát. Set bit này lên 1 bạn

sẽ khởi động bộ phát của USART.

- UCSZ2 (Chracter size) bit này kết hợp với 2 bit khác trong thanh ghi

UCSRC0 quy định độ dài của dữ liệu truyền/nhận. Chúng ta sẽ khảo sát chi

tiết khi tìm hiểu thanh ghi UCSRC0.

- RXB8 (Receive Data Bit 8) gọi là bit dữ liệu 8. USART0 trong ATMega128

có hỗ trợ truyền dữ liệu có độ dài tối đa 9 bit, trong khi thanh ghi dữ liệu là

thanh ghi 8 bit. Do đó, khi có gói dữ liệu 9 bit được nhận, 8 bit đầu sẽ chứa

trong thanh ghi UDR, cần có 1 bit khác đóng vai trò bit thứ chín, RXD8 là

bit thứ chín này, các bit được đánh số từ 0, vì thế bit thứ chín sẽ có chỉ số là

8, vì lẽ đó mà bit này có tên là RXD8 (không phải RXD9).

- TXB8 (Transmit Data Bit 8), tương tự như bit RXD8, bit TXB8 cũng đóng

vai trò bit thứ 9 truyền thông, nhưng bit này được dùng trong lúc truyền dữ

liệu.

UCSRC0 (USART Control and Status Register C): thanh ghi này chủ yếu quy

định khung truyền và chế độ truyền. Tuy nhiên, có một rắc rối nho nhỏ là thanh ghi

này lại có cùng địa chỉ với thanh ghi UBRRH (thanh ghi chứa byte cao dùng để xác

lập tốc độ baud), nói một cách khác 2 thanh ghi này là 1. Vì thế bit 7 trong thanh ghi

này, tức bit URSEL là bit chọn thanh ghi. Khi URSEL=1, thanh ghi này được chip

Page 55: GPRS Server

38

AVR hiểu là thanh ghi điều khiển UCSRC, nhưng nếu bit URSEL=0 thì thanh ghi

UBRRH sẽ được sử dụng.

Hình 2.23 Thanh ghi UCSRC

Các bit còn lại trong thanh ghi UCSRC0 được mô tả như sau:

- UMSEL (USART Mode Select) là bit lựa chọn giữa 2 chế độ truyền thông

đồng bộ và không đồng bộ. Nếu UMSEL=0, chế độ không đồng bộ được

chọn, ngược lại nếu UMSEL=1, chế độ đồng bộ được kích hoạt.

- Hai bit UPM1 và UPM0( Parity Mode) được dùng để quy định kiểm tra

pariry. Nếu UPM1:0=00, parity không được sử dụng (mode này khá thông

dụng), UPM1:0=01 không được sử dụng, UPM1:0=10 thì parity chẵn được

dùng, UPM1:0=11 parity lẻ được sử dụng (xem thêm bảng 3.3).

Bảng 2.7 Chọn kiểm tra Parity.

- USBS (Stop bit Select), bit Stop trong khung truyền bằng AVR USART có

thể là 1 hoặc 2 bit, nếu USBS=0 thì Stop bit chỉ là 1 bit trong khi USBS=1

sẽ có 2 bit Stop được dùng.

- Hai bit UCSZ1 và UCSZ2 (Character Size) kết hợp với bit UCSZ2 trong

thanh ghi UCSRB tạo thành 3 bit quy định độ dài dữ liệu truyền. Bảng 3.4

tóm tắt các giá trị có thể có của tổ hợp 3 bit này và độ dài dữ liệu truyền

tương ứng.

Page 56: GPRS Server

39

Bảng 2.8 Độ dài dữ liệu truyền

- UCPOL (Clock Pority) là bit chỉ cực của xung kích trong chế độ truyền

thông đồng bộ. Nếu UCPOL=0, dữ liệu sẽ thay đổi thay đổi ở cạnh lên của

xung nhịp, nếu UCPOL=1, dữ liệu thay đổi ở cạnh xuống xung nhịp. Nếu

bạn sử dụng chế độ truyền thông không đồng bộ, hãy set bit này bằng 0..

- UBRRL và UBRRH (USART Baud Rate Register): 2 thanh ghi thấp và cao

quy định tốc độ baud.

Hình 2.24 Cấu trúc hai thanh ghi UBRRL và UBRRH

Nhắc lại là thanh ghi UBRRH dùng chung địa chỉ thanh ghi UCSRC0, phải set

bit này bằng 0 nếu muốn sử dụng thanh ghi UBRRH. Như quan sát trong hình trên,

chỉ có 4 bit thấp của UBRRH được dùng, 4 bit này kết hợp với 8 bit trong thanh ghi

UBRRL tạo thành thanh ghi 12 bit quy định tốc độ baud. Chú ý là nếu bạn viết giá trị

vào thanh ghi UBRRL, tốc độ baud sẽ tức thì được cập nhật, vì thế bạn phải viết giá trị

vào thanh ghi UBRRH trước khi viết vào thanh ghi UBRRL.

Giá trị gán cho thanh ghi UBRR không phải là tốc độ baud, nó chỉ được

USART0 dùng để tính tốc độ baud. Bảng 3 hướng dẫn cách tính tốc độ baud dựa vào

giá trị của thanh ghi UBRR và ngược lại, cách tính giá trị cần thiết gán cho thanh ghi

UBRR khi đã biết tốc độ baud.

Page 57: GPRS Server

40

Bảng 2.9 Tính tốc độ Baud.

Trong các công thức trong bảng 3.5, fOSC là tốc tần số xung nhịp của hệ thống

(thạch anh hay nguồn xung nội…).

2.5.4. Giao tiếp I2C

2.5.4.1. Khái quát TWI và I2C

TWI (Two-Wire Serial Intereafce) là một module truyền thông nối tiếp đồng bộ

trên các chip AVR dựa trên chuẩn truyền thông I2C. I2C là viết tắc của từ Inter-

Integrated Circuit là một chuẩn truyền thông do hãng điện tử Philips Semiconductor

sáng lập và xây dựng thành chuẩn năm 1990. Phiên bản mới nhất của I2C là V3.0 phát

hành năm 2007.

TWI (I2C) là một truyền thông nối tiếp đa chip chủ (tạm dịch của cụm từ multi-

master serial computer bus). TWI (I2C) được thực hiện trên 2 đường SDA (Serial

DATA) và SCL (Serial Clock) trong đó SDA là đường truyền/nhận dữ liệu và SCL là

đường xung nhịp. Căn cứ theo chuẩn I2C, các đường SDA và SCL trên các thiết bị có

cấu hình “cực góp mở, nghĩa là cần có các “điện trở kéo lên” (pull-up resistor) cho các

đường này. Ở trạng thái nghỉ (Idle), 2 chân SDA và SCL ở mức cao. Hình 1 mô tả một

mô hình mạng TWI (I2C) cơ bản.

Page 58: GPRS Server

41

Hình 2.25 Mạng TWI(I2C) và 2 điện trở kéo lên

Master: là chip khởi động quá trình truyền nhận, phát đi địa chỉ của thiết bị cần

giao tiếp

Slave: là chip có một địa chỉ cố định, được gọi bởi Master và phục vụ yêu cầu

Master.

SDA- Serial Data: là đường dữ liệu nối tiếp, tất cả các thông tin về địa chỉ hay dữ

liệu đều được truyền trên đường này theo thứ tự từng bit một. Chú ý là trong chuẩn

I2C, bit có trọng số lớn nhất (MSB) được truyền trước nhất, đặc điểm này ngược lại

với chuẩn USART

SCL –Serial Clock: là đường giữ nhịp nối tiếp. TWI (I2C) là chuần truyền

thông nối tiếp đồng bộ, cần có 1 đường tạo xung giữ nhịp cho quá trình truyền/nhận,

cứ mỗi xung trên đường giữ nhịp SCL, một bit dữ liệu trên đường SDA sẽ được lấy

mẫu (sample). Dữ liệu nối tiếp trên đường SDA được lấy mẫu khi đường SCL ở mức

cao trong một chu kỳ giữ nhịp, vì thế đường SDA không được đổi trạng thái khi SCL

ở mức cao (trừ START và STOP condition).

REPEAT START – Bắt đầu lặp lại: khoảng giữa START và STOP là khoảng

bận của đường truyền, các Master khác không tác động được vào đường truyền trong

khoảng này. Hình bên dưới mô tả các Master tạo ra START, STOP và REPEAT

START.

Hình 2.26 Biểu đồ hoạt động tạo ra Start, Stop và Repeat Start

2.5.4.2. TWI trên AVR

TWI trên AVR được vận hành bởi 5 thanh ghi bao gồm thanh ghi tốc độ giữ

nhịp TWBR, thanh ghi điều khiển TWCR, thanh ghi trạng thái TWSR, thanh ghi địa

chỉ TWAR và thanh ghi dữ liệu TWDR.

Page 59: GPRS Server

42

- TWBR (TWI Bit Rate Register): là 1 thanh ghi 8 bit quy định tốc độ phát

xung giữ nhịp trên đường SCL của chip Master.

Hình 2.27 Các bit trong thanh ghi TWBR

Tốc độ phát xung giữ nhịp được tính theo công thức:

- TWCR (TWI Control Register): là thanh ghi 8 bit điều khiển hoạt động của

TWI.

Hình 2.28 Các bit trong thanh ghi TWCR

- TWSR (TWI Status Register): là 1 thanh ghi 8 bit trong đó có 5 bit chứa

code trạng thái của TWI và 2 bit chọn prescaler.

Hình 2.29 Các bit trong thanh ghi TWSR

- TWDR (TWI Data Register): là thanh ghi dữ liệu chính của TWI. Trong quá

trình nhận, dữ liệu nhận về sẽ được lưu trong TWDR. Trong quá trình gởi,

dữ liệu chứa trong TWDR sẽ được chuyển ra đường SDA.

- TWAR (TWI Address Register): là thanh ghi chứa device address của chip

Slave. Cấu trúc thanh ghi được trình bày trong hình dưới.

Hình 2.30 Các bit trong thanh ghi TWAR

TWI trên AVR được gọi là byte-oriented (tạm dịch là hướng byte) và

interrupt-based (dựa trên ngắt). Bất kỳ một sự kiện nào trong quá trình truyền/nhận

Page 60: GPRS Server

43

TWI cũng có thể gây ra 1 ngắt TWI. TWI trên AVR vì thế hoạt động tương đối độc

lập với chip. Tuy nhiên, cần khai thác ngắt trên AVR một cách hơp lý. Chúng ta sẽ lần

lượt khảo sát các mode như sau: Master Transmitter (chip chủ truyền), Slave Reicever

(chip tớ nhận)

Trước khi khảo sát các chế độ hoạt động của TWI chúng ta qui ước một số ký

hiệu thường dùng (đây cũng là các ký hiệu dùng trong datasheet của các chip AVR).

S: START condition – điều kiện bắt đầu

Rs: REPEAT START – bắt đầu lặp lại

R: READ Bit, bit này bằng 1 được gởi kèm với gói địa chỉ

W: WRITE Bit, bit này mang giá trị 0, gởi kèm gói địa chỉ

ACK: Ackowledge, bit xác nhận

NACK: Not Acknowledge, không xác nhận

Data: 8 bits dữ liệu

P: STOP condition – điều kiện kết thúc.

SLA: Slave address, địa chỉ của Slave cần giao tiếp.

a. Master Transmitter mode – Master truyền dữ liệu:

Trong chế độ này, Master truyền 1 hoặc một số byte dữ liệu đến một hoặc các

Slave. Để bắt đầu, Master tạo ra một START condition trên đường SDA, nếu đường

truyền đang rảnh, Master sẽ tiếp tục phát đi địa chỉ của Slave cần giao tiếp cùng với bit

W (ghi) theo định dạng như sau: SLA+W. Nếu Slave đáp lại bằng một ACK trong

xung giữ nhịp thứ 9, Master sẽ tiếp tục gởi 1 hoặc liên tiếp các byte dữ liệu trên SDA.

Cứ sau mỗi byte dữ liệu, Master sẽ kiểm tra ACK từ Slave. Nếu Slave gởi một NACK

hoặc Master không muốn gởi thêm dữ liệu đến Slave nó sẽ phát đi một STOP

condition hoặc một REPEAT START (Rs). Nếu STOP được phát, cuộc gọi kết thúc,

nếu Rs được phát, một cuộc gọi mới bắt đầu, sau Rs là địa chỉ của Slave mới…

Page 61: GPRS Server

44

Hình 2.31 Master truyền dữ liệu

Chúng ta nhận thấy khi Master truyền dữ liệu, dãy code 0x08 -> 0x18 -> 0x28 -

>… -> 0x28 (-> 0x30) là dãy code thành công nhất. Code 0x08 báo rằng START

codition được truyền thành công, code 0x18 báo địa chỉ truyền thành công và đã có

Page 62: GPRS Server

45

Slave xác nhận bằng ACK, code 0x28 tức dữ liệu được Master truyền thành công và

Slave đã nhận được, báo ACK lại cho Master, code 0x30 tức dữ liệu đã được truyền

nhưng Slave không xác nhận lại, lúc này Master có thể phát đi một STOP codition sau

code 0x30. Ngoài ra còn một số code khác tương ứng với các trường hợp khác như gởi

địa chỉ thất bại (code 0x20), Master bị lost (code 0x38)…Đối với mỗi loại ứng dụng,

cách “hành xử” sẽ khác nhau đối với các trường hợp thất bại này. Trong bài này, tôi sẽ

bỏ qua tất cả các trường hợp thất bại, nếu một trong các code thất bại xảy ra chúng ta

sẽ thoát khỏi cuộc gọi và đưa đường truyền về trạng thái nghỉ.

b. Slave Receiver mode – Slave nhận dữ liệu:

Hình 2.32 mô tả một quá trình Slave nhận dữ liệu, các khả năng có thể xảy ra

và giá trị code tương ứng của thanh ghi TWSR. Chế độ Slave nhận dữ liệu xảy ra khi

Master thực hiện một cuộc gọi phát dữ liệu (SLA+W). Như quan sát trong hình 4,

Slave chỉ nhận ra cuộc gọi này khi địa chỉ của nó trùng với địa chỉ của Master (Own

address mode) hoặc khi Master thực hiện một cuộc gọi chung. Khi đó, bit TWINT của

Slave sẽ được set lên 1. Nếu Slave cho phép ngắt TWI (bit TWIE trong thanh ghi

TWCR được set từ lúc đầu) thì một ngắt xảy ra báo có một sự kiện TWI. Nếu code

trong thanh ghi TWSR là 0x60 thì một cuộc gọi địa chỉ riêng được yêu cầu và Slave

cũng đã đáp ứng lại Master bằng một ACK, Slave sau đó bắt đầu nhận dữ liệu từ

đường SDA. Cứ sau một byte dữ liệu Slave phải xác nhận một ACK nếu nó còn muốn

tiếp tục nhận. Nếu vì một lý do nào đó mà Slave không thể tiếp tục nhận nó có thể phát

một NOT ACK sau một byte dữ liệu. Cuộc gọi kết thúc khi Slave nhận được STOP

condition, tương ứng code 0xA0. Cuộc gọi chung cũng diễn ra hoàn toàn tương tự

cuộc gọi địa chỉ riêng nhưng code có giá trị khác. Khi viết chương trình cho Slave

trong chế độ nhận dữ liệu, chúng ta cần xét cả 2 trường hợp cuộc gọi địa chỉ riêng và

cuộc gọi chung.

Page 63: GPRS Server

46

Hình 2.32 Slave nhận dữ liệu

2.5.5. Giao tiếp SPI

Đây là chuẩn giao tiếp nối tiếp đồng bộ (synchronous receiver transmitter) dùng

kết nối giữa các thiết bị ngoại vi với nhau…Theo đó, có ít nhất là một đường xung

clock đồng bộ tín hiệu và một đường data để truyền dữ liệu theo mỗi nhịp xung clock.

Page 64: GPRS Server

47

Với cách giao tiếp này sẽ có một Master thiết lập và điều khiển kết nối với một

Slave nhận và truyền dữ liệu ngược về Master. Sơ đồ khối truyền nhận của SPI như

sau:

Hình 2.33 Sơ đồ khối truyền nhận SPI

Điều mấu chốt của SPI là thanh ghi dịch ở cả Master và Slave, và nguồn xung

clock tạo bởi Master. Sau đây là cách Master truyền một byte dữ liệu (gọi là A) cho

Slave và cùng lúc đó nó cũng nhận một byte khác (gọi là B) từ Slave. Trước khi

truyền, Master ghi A vào thanh ghi dịch của mình và Slave cũng ghi B vào thanh ghi

dịch của mình. Sau đó Master tạo ra 8 xung clock, tương ứng mỗi xung clock thì một

bit trong thanh ghi dịch của Master được truyền sang thanh ghi dịch của Slave và

ngược lại. Sau khi xung clock cuối cùng thì Master hoàn thành nhận B còn Slave hoàn

thành nhận A. Có thể nhận thấy rằng quá trình truyền và nhận diễn ra đồng thời do đó

đây được gọi là truyền “song công” (duplex).

Để giao tiếp nhiều Slave trên cùng bus SPI ta cần có phương pháp chọn Slave

nào mà ta muốn kết nối ngay lúc đó. Đây chính là chức năng của chân SS. Nếu SS treo

lên mức cao thì các chân SPI của thiết bị đó là các ngõ vào bình thường, và sẽ không

thể nhận dữ liệu qua SPI. Nếu SS ở mức thấp, SPI ở chế độ Slave và có thể truyền

nhận dữ liệu qua SPI. Nếu giao tiếp đồng thời hai Salve, chân SS ở mỗi Slave nối với

một ngõ ra bất kỳ của Master. Khi muốn truyền SPI với Slave nào thì cho ngõ ra tương

ứng với SS của Slave đó xuống mức thấp, các ngõ ra tương ứng với các chân SS của

các Salve khác đưa lên mức cao. Do các chân của chuẩn SPI được nối chung giữa

Master và tất cả các Slave nên việc quản lý quá trình truyền nhận với một Slave nhất

định phải được quy định chặt chẽ (mỗi lần chỉ giao tiếp với “một” Slave) nếu không có

thể xảy ra tình trạng xung đột đường truyền.

Page 65: GPRS Server

48

Hình 2.34 Sơ đồ kết nối SPI

Như vậy, việc quy định chân I/O cũng rất quan trọng vì chức năng I/O của các

chân trên Master và Slave không giống nhau.

Bảng 2.10 Chức năng các chân kết nối SPI

Tên chân Mater Slave

MOSI Output Input

MISO Input Output

SCK Output Input

SS Người dùng định nghĩa Input

2.6. Giới thiệu IC thu phát âm thanh ISD2560

Cùng với ISD2560, các Ic ISD2575/2590/25120, là loạt các Ic chuyên dụng

dùng để thu (record) và phát lại(playback) âm thanh. Đây là các Ic chuyên dụng chất

lượng cao, có nhiều đường điều khiển cũng như nhiều mode chức năng hoạt động có

thể đáp ứng được một số yêu cầu nhất định trong lĩnh vực thu và phát lại tiếng nói.

Page 66: GPRS Server

49

2.6.1. Sơ đồ chân ISD2560

Hình 2.34 Sơ đồ chân IC ISD2560

2.6.2. Sơ đồ khối bên trong của ISD2560

Hình 2.35 Sơ dồ khối bên trong của ISD2560

Page 67: GPRS Server

50

2.6.3. Một số thông số cơ bản

Bảng 2.11 Một số thông số cơ bản của ISD2560

Tên thông số Giá trị

Điện áp nguồn cung cấp 4.5V – 6.5V

Nhiệt độ hoạt động 00C – 500C

Điện áp đất 0V

Tần số lấy mẫu 8 KHz

Lọc dãi thông 3.4 KHz

Ngõ ra loa 50mW đối với loa 16Ω

Điện áp cung cấp cực đại 7V

2.6.4. Mô tả chức năng các chân

Bảng 2.12 Mô tả chức năng các chân của IC ISD2560

Tên

chân

Số

chân

Chức năng

Ax / Mx 1-

10/1-7

Address/Mode inputs : Các chân này có hai chức năng

phụ thuộc vào mức điện áp trên hai bit có trọn số cao nhất

của các chân địa chỉ (A8 và A9). Nếu một trong hai bit này ở

mức thấp, tất cả các ngõ vào được xem như các bit địa chỉ

và được sử dụng như địa chỉ bắt đầu cho chu kỳ ghi hoặc

phát. Các chân địa chỉ này chỉ là các ngo? Vào không xuất ra

ba kỳ thông tin địa chỉ nào bên trong trong suốt quá trình vận

hành. Các ngõ vào địa chỉ này thì được chốt bởi cạnh xuống

của CE.

Nếu cả hai chân A8 và A9 ở mức cao, các ngõ vào

Address/Mode được xem như các bit chế độ. Có 6 mode chế

độ vận hành từ M0 → M6. Ta có thể sử dụng nhiều mode

vận hành đồng thời. Các mode vận hành cũng được chốt ở

Page 68: GPRS Server

51

mỗi cạnh xuống của CE. Vì vậy các chế độ vận hành (mode)

và kiểu định địa chỉ trực tiếp loại trừ lẫn nhau. Nói các khác

ta không thể sử dụng cùng lúc kiểu định địa chỉ trực tiếp và

các mode.

AUX IN 11 Auxiliary Input ( Ngõ vào bổ trợ ) : Chân này ghép ngõ

ra của mạch khuếch đại với chân ngõ ra loa khi CE = high,

P/ R = High, và playback hiện không được tích cực hoặc nếu

thiết bị đang ở trạng thái tràn trong playback. Khi ghép

nhiều thiết bị ISD2560 với nhau, chân AXU IN để nối tín

hiệu phát lại từ thiết bị phía sau đến ngõ ra của mạch thúc loa

của thiết bị phía trước. Để tránh nhiễu, chân này được yêu

cầu không được lái khi mảng lưu trữ đang là tích cực.

Vssa,Vssd 13,

12

Ground ( đất ) : Các IC loạt ISD2500 dùng các bus đất

số và bus đất tương tự riêng. Các chân này nên được nối

riêng lẻ bằng các đường tổng trở thấp đến mass nguồn.

SP+/S

P-

14/1

5

Speaker Outputs : loạt IC ISD2500 có thể lái một loa có

trở kháng là 16Ω , công suất 50mW. Các ngõ ra loa được

giữ ở mức Vssa trong suốt quá trình ghi. Không được nối

song song nhiều ngõ ra loa của các IC ISD2500 hoặc ngõ ra

của các thiết bị lái loa khác. Việc kết nối các ngõ ra loa song

song có thể phá huỷ IC. Một ngõ ra kết thúc đơn có thể được

sử dụng ( bao gồm một tụ điện nối giư?a chân SP và loa ).

Các ngõ ra này có thể được sử dụng riêng lẻ với ngõ ra tín

hiệu của chân còn lại. Tuy nhiên, việc sử dụng ngõ ra đơn sẽ

làm cho công suất ngõ ra giảm đi 4 lần.

Vcca,Vssd 16,

18

Supply voltage : Để giảm nhiều các mạch điện số và

tương tự trong loạt IC ISD 2500 sử dụng các bus nguồn

riêng. Các bus điện áp này được đưa đến các chân riêng và

nên được nối với nhau tại điểm càng gần điểm nguồn càng

tốt. Hơn nữa các nguồn cung cấp này nên đặt gần chân linh

kiện.

MIC 17 Microphone : Chân MIC truyền tín hiệu ngõ vào đến

Page 69: GPRS Server

52

mạch tiền khuếch đại trên chip. Một mạch AGC ( tự động

điều chỉnh độ lợi ) điều chỉnh độ lợi của mạch tiền khuếch

đại này khoảng -15 đến 24 dB.

MIC REF 18 Microphone Reference : là ngõ vào đảo của mạch tiền

khuếch đại microphone. Điều này cung cấp một sự triệt

nhiều hoặc ngõ vào đưa ra một mode chung đến thiết bị khi

nối với một microphone khác.

AGD 19 Automatic gain control : Điều chỉnh độ lợi của mạch tiền

khuếch đại để phù hợp điện áp ngõ vào của microphone.

Mạch AGC cho phép khoảng rộng đủ để âm thanh của một

tiếng còi lớn được ghi lại với sự méo dạng nhỏ nhất.

ANA IN 20 Analog input: Ngõ vào Analog truyền tín hiệu analog

đến chip để thực hiện việc ghi. Khi ngõ vào là microphone

chân ANA OUT nên được nối với tụ ngoài đến ANA IN.

Giá trị của tụ cùng với 3 KΩ tổng trở ngõ vào của ANA IN

sẽ qui định tần số cắt dưới và băng thông của giọng nói. Nếu

tín hiệu sử dụng từ nguồn khác microphone nó có thể đưa

trực tiếp đến chân ANA IN ( việc thêm một tụ ở giữa có thể

làm cho tín hiệu xấu đi ).

ANAOUT 21 Analog output : Chân này là chân ngõ ra của mạch tiền

khếch đại được thiết kế đưa ra cho người dùng. Độ lợi điện

áp của mạch tiền khuếch đại được xác định bởi mức độ điện

áp trên chân AGC.

OVF

23 Overflow :Tín hiệu này tạo ra xung ở mức thấp tại điểm

cuối của mảng bộ nhớ, chỉ định rằng bộ nhớ IC đã đầy và

thông tin đã bị tràn. Ngõ ra chân OVF sau đó theo ngõ vào

chân CE cho đến khi xung PD reset lại thiết bị . Chân này có

thể sử dụng để ghép cascade nhiều thiết bị ISD 2500 lại với

nhau để tăng thêm thời gian ghi hoặc phát.

CE 23 Chip Enable : Ngõ vào CE xuống thấp để cho phép tất

cả các sự vận hành ghi và phát. Những chân địa chỉ và chân

ghi / phát lại được chốt bởi cạnh xuống của xung CE. Chân

Page 70: GPRS Server

53

CE còn có thêm chức năng khác trong chế độ hoạt động 6 (

mode 6 ).

PD 24 Power down ( nguồn giảm) : Khi không có ghi cũng như

không có phát lại chân PD nên được kéo lên mức cao để đưa

IC vào chế độ stanby. Khi OVF tạo ra xung LOW cho điều

kiện tràn, PD nên được nối lên HIGH để reset lại con trỏ địa

chỉ tại địa chỉ bắt đầu của mảng bộ nhớ. Chân PD còn có

thêm chức năng trong mode 6 (push- button).

EOM 25 End Of Message : Điểm dấu không mất được tự động

chèn vào tại nơi cuối của mo?i thông tin ghi. No duy trì ở

đó cho đến khi có một thông tin khác ghi đè lên. Ngõ ra

EOM tạo ra một xung thấp cho giai đoạn kết thúc của một

thông tin. Khi IC đang hoạt động trong Mode 6, chân này

cung cấp một tín hiệu tích cực ở mức cao chỉ đ?nh rằng IC

đang trong trạng thái ghi hoặc phát. Tín hiệu này có thể

thuận lợi để thúc một led cho thiết bị hiển thị trực quan trạng

thái IC đang ghi hoặc đang phát.

XCLK 26 External Clock : Thường thì tần số lấy mẫu ta sử dụng

dao động trên chip. Với loại ISD2560, tần số lấy mẫu là

8kHz thì xung clock yêu cầu là 1024 KHz. Hệ số công tác

của xung clock ngõ vào không quan trọng lắm vì xung clock

ngay lập tức được chia hai. Nếu ta không sử dụng xung clock

bên ngoài thì nên nối chân này xuống mass để tránh nhiễu.

P/ R 27 Playback/Record: Ngõ vào P/R được chốt bởi cạnh

xuống của xung trên chân CE. Một mức cao trên chân này sẽ

chọn chế độ phát lại còn mức thấp trên nó sẽ đặt IC vào chế

độ thu. Để thực hiện việc ghi, các chân địa chỉ cung cấp địa

chỉ bắt đầu và quá trình ghi được tiếp tục cho đến khi PD

hoặc CE được kéo lên mức cao hoặc có dấu hiệu tràn được

phát hiện ( bộ nhớ bị đầy ). Khi việc ghi được tác động bởi

việc kéo PD hoặc CE lên mức cao, dấu kết thúc thông tin (

EOM ) được lưu trữ tại địa chỉ hiện hành trong bộ nhớ. Để

thực hiện việc phát lại tín hiệu, các ngõ vào địa chỉ cung cấp

Page 71: GPRS Server

54

địa chỉ bắt đầu và thiết bị sẽ phát lại cho đến khi gặp dấu

EOM. Thiết bị có thể vượt qua dấu EOM nếu CE được giữ

mức thấp trong mode địa chỉ.

2.6.5. Mô tả chức năng

2.6.5.1. Mô tả chi tiết

- Tốc độ / Chất lượng âm thanh:

Loạt IC ISD2500 bao gồm các thiết bị có tần số lấy mẫu tại: 4.0, 5.3, 6.4 và 8

KHz, cho phép người dùng lựa chọn tốc độ chất lượng về tốc độ. Để tăng thời gian ghi

/ phát thì buộc phải giảm tần số lấy mẫu và băng thông, và điều này lại ảnh hưởng đến

chất lượng của âm thanh.

Dữ liệu lấy mẫu được lưu trữ trực tiếp trên bộ nhớ “không bay hơi” của chip

không có bất kỳ sự số hoá và sự kết hợp nén dư? liệu như các giải pháp khác.Việc lưu

trữ trực tiếp tín hiệu analog cung cấp một âm thanh tự nhiên, trung thực của tiếng nói,

nhạc, các tone và các hiệu ứng âm thanh thì không đáp ứng với hầu hết các giải pháp

số trạng thái “đặc”.

- Thời gian :

Có nhiều hệ thống được yêu cầu, những sản phẩm ISD2560/75/90/120 cung

cấp một giải pháp chip đơn với thời gian lưu trữ là 60, 75, 90, 120 giây. Các IC này có

thể ghép nối với nhau để có thời gian dài hơn.

Bảng 2.13 Thời gian các loại IC loạt 2500

• Bộ nhớ EEPROM :

Một trong những lợi ích của công nghệ Winbond’s ChipCorder là sử dụng bộ

nhớ “không bay hơi”, điện áp cung cấp cho việc lưu trữ là Zero. Thông tin có thể được

lưu trữ trên 100 năm mà không cần nguồn cung cấp. Hơn nữa thiết bị có thể ghi lại

trên 100,000 lần.

Page 72: GPRS Server

55

2.6.5.2. Các MODE vận hành

Loạt IC ISD2500 được thiết kế nhiều chế độ ( mode ) vận hành được xây dựng

bên trong cung cấp tối đa các chức năng với các thành phần bên ngoài ít nhất. Các

mode này được mô tả chi tiết trong bảng bên dưới. Mode vận hành được truy cập bằng

các đường địa chỉ bên ngoài khi A8 và A9 ở mức cao. Kh i A8 và A9 ở mức cao thì

các chân A0→ A7 được hiểu là những bit mode chứ không còn là những bit địa chỉ

nữa.

Vì vậy chế độ mode và cách định địa chỉ trực tiếp không thể tương hợp hay nói

cách khác chúng không thể sử dụng đồng thời. Có hai vấn đề quan trọng cần xem xét

khi sử dụng chế độ mode. Một là, tất cả các chế độ vận hành đều bắt đầu từ địa chỉ 0

của bộ nhớ. Sự vận hành sau đó có thể bắt đầu từ một địa chỉ khác, điều này phụ thuộc

vào mode vận hành đã chọn. Thêm vào đó con trỏ địa chỉ sẽ reset về 0 khi thiết bị thay

đổi từ ghi sang phát, từ phát sang ghi ( ngoại trừ trường hợp sử dụng mode 6 ) hoặc

khi chu kỳ nguồn giảm được thi hành (power down). Hai là, các mode vận hành được

thi hành khi CE xuống mức thấp. Mode vận hành sẽ duy trì ảnh hưởng cho đến khi tín

hiệu tại chân CE xuống mức thấp lần nữa.

Bảng các mode vận hành

Bảng 2.14 Các mode vân hành của ISD 2500

Mô tả các mode vận hành:

Page 73: GPRS Server

56

Các Mode vận hành có thể được sử dụng liên kết với một vi điều khiển, hoặc

chúng có thể kiểm soát bằng mạch điện tử để cung cấp một hệ thống như mong muốn.

- M0 – Message Cueing:

Mode cho phép người dùng bỏ qua thông tin này để đến thông tin khác mà

chúng ta không cần biết địa chỉ vật lý thực sự của mỗi thông tin. Mỗi một xung CE ở

mức thấp là nguyên nhân khiến con trỏ địa chỉ bên trong bỏ qua thông tin hiện hành

nhảy đến một thông tin kế tiếp. Mode này chỉ sử dụng cho chế độ phát lại và nó

thường được sử dụng kết hợp với mode 4.

- M1- Delete EOM Markers:

Mode M1 cho phép ghi một cách tuần tự thông tin để kết hợp thành một thông

tin riêng lẻ với chỉ một dấu kết EOM đặt tại vị trí cuối của thông tin sau cùng. Khi

Mode này được cấu thành thì những thông tin đã ghi một cách tuần tự sẽ được phát lại

như một thông tin liên tục.

- M2- Unused

Khi vận hành các mode đã chọn chân 2 nên được nối xuống mức thấp.

- M3- Message Looping:

Mode này cho phép tự động, tiếp tục lặp lại thông tin phát tại địa chỉ bắt đầu

của không gian địa chỉ. Một thông tin có thể hoàn toàn làm đầy ISD2560 và sẽ lặp lại

từ đầu đến cuối mà OVF không đi xuống mức thấp

- M4 – Consecutive Addressing:

Trong suốt chế độ vận hành bình thường, con trỏ địa chỉ sẽ được reset khi một

thông tin đang chơi xuyên qua dấu kết EOM . Mode M4 ngăn cấm con trỏ địa chỉ reset

khi gặp dấu kết EOM , cho phép thông tin được phát lại liên tục.

- M5 – CE - Level – Activated:

Mode mặc định của ISD2560 cho phép CE tác động cạnh khi phát lại và tác

động mức khi ghi. Chế độ M5 làm cho chân CE được hiểu là tác động mức thay vì tác

động cạnh trong suốt quá trình phát lại. Đây là một hữu ích đặc biệt để kết thúc việc

phát lại sử dụng tín hiệu CE. Trong mode này mức thấp chân CE bắt đầu cho một chu

kỳ phát lại, tại vị trí bắt đầu của bộ nhớ. Chu kỳ phát lại được tiếp tục miễn là chân CE

được giữ ở mức thấp. Khi CE lên mức cao thì việc phát lại sẽ được dừng ngay lập

tức. Khi một mức thấp mới ở CE xuất hiện, nó sẽ khởi động lại thông tin từ địa chỉ

bắt đầu ( ngoại trừ M4 lúc này cũng ở mức cao ).

Page 74: GPRS Server

57

- M6 – Chế độ Push – Button

Tất cả các IC loạt ISD2500 đều chứa chế độ vận hành Push -Button. Chế độ M6

chủ yếu được sử dụng trong các ứng dụng giá rất thấp và được thiết kế với các mạch

điện và thành phần bên ngoài giảm đến mức tố i thiểu vì thế làm giảm giá thành của hệ

thống. Để cấu thành mode 6 thì hai chân A8 và A9 phải ở mức cao và chân đặt chế độ

M6 cũng phải ở mức cao. Một IC sử dụng mode này thì luôn luôn nguồn giảm tại vị trí

cuối của mỗi chu kỳ ghi/phát sau khi CE ở mức cao. Khi mode này vận hành ba chân

của IC có chức năng điều khiển được miêu tả trong bảng sau:

Bảng 2.15 Chế độ Push – Button các Ic loạt ISD2500

- Chân CE (Start/Stop):

Trong mode vận hành Push-Button tín hiệu tác động xung LOW trên chân CE

được xem là tín hiệu Start/Stop. Nếu không có hệ thống hiện hành đang được xử lý,

xung mức thấp trên chân CE sẽ khởi động chu kỳ ghi hoặc phát lại tuỳ thuộc vào mức

điện áp trên chân P/ R . Một xung sau nữa của chân CE xuất hiện, trước khi gặp dấu

kết EOM trong khi phát lại hoặc trước khi dữ liệu bị tràn trong chế độ ghi, nó sẽ làm

dừng sự vận hành, và bộ đếm địa chỉ không bị reset. Một xung CE tiếp theo nữa sẽ làm

cho thiết bị tiếp tục vận hành tại nơi mà nó đã dừng.

- Chân PD ( Stop/ Reset ):

Trong chế độ vận hành Push – Button, tín hiệu xung mức cao của chân PD

được xem là tín hiệu Stop/Reset. Khi một chu kỳ ghi hoặc phát lại đang được xử lý,

một xung cao trên chân PD, chu kỳ hiện hành sẽ được dừng và con trỏ địa chỉ sẽ được

reset về 0, địa chỉ bắt đầu của khoảng không thông tin.

- EOM (RUN):

Trong chế độ vận hành Push-Button, tín hiệu EOM trở thành tín hiệu “tích cực

chạy mức cao” có thể được sử dụng để thúc một led hoặc một thiết bị bên ngoài khác.

Chân này ở mức cao bất cứ khi nào hệ thống ghi hoặc phát lại đang được xử lý.

Page 75: GPRS Server

58

Ghi trong chế độ Push-Button

• Chân PD ở mức thấp, thường sử dụng một điện trở kéo xuống.

• Chân P/ R ở mức thấp.

• Chân CE là xung mức thấp. Bắt đầu ghi, EOM tự động lên mức cao chỉ

định rằng hệ thống vận hành đang được xử lý.

• Khi CE có xung mức thấp tiếp theo, việc ghi bị dừng, EOM tự động

xuống mức thấp. Con trỏ địa chỉ bên trong không bị xoá, nhưng dấu

EOM được lưu trữ lại trong bộ nhớ chỉ định khi một thông tin kết thúc.

Ch ân P/ R có thể lên mức cao trong thời gian này và bất kỳ một xung

CE nào tiếp theo sẽ làm cho hệ thống phát lại tại địa chỉ 0.

• Khi chân CE là một xung thấp. Việc ghi lại tiếp tục tại địa chỉ tiếp theo

sau dấu EOM đặt ở phía trước. Chân EOM lại quay trở lại mức cao.

• Khi việc ghi lần lượt được hoàn thành, xung thấp CE cuối sẽ kết thúc

chu kỳ ghi sau cùng, bằng việc đặt dấu EOM tại thông tin kết thúc.

Việc ghi có thể kết thúc bằng việc đặt chân PD lên mức cao, nơi mà nó

sẽ để lại một dấu kết EOM .

Phát lại trong chế độ Push-Button

• Xung PD ở mức thấp.

• Chân P/ R đặt ở mức cao.

• Tác động xung thấp lên chân CE. Quá trình phát lại bắt đầu, chân EOM

tự động lên mức cao cho biết hệ t hống đang xử lý.

• Nếu CE có một xung mức thấp hoặc dấu EOM được phát hiện trong quá

trình vận hành, phần này sẽ bị dừng lại. Con trỏ địa chỉ bên trong không

bị xóa và EOM chuyển xuống mức thấp. Chúng ta có thể thay đổi trạng

thái chân P/ R trong thời gian này, khi đó một chu kỳ ghi sau đó sẽ

không reset con trỏ dữ liệu và việc ghi sẽ bắt đầu tại nơi phát vừa kết

thúc.

• Tác động một xung thấp trên chân CE một lần nữa, quá trình phát lại sẽ

bắt đầu tại nơi mà nó vừa rời khỏi, và EOM lại lên mức cao chỉ định hệ

thống đang xử lý.

Page 76: GPRS Server

59

• Việc phát lại tiếp tục như bước 4 và bước 5 cho đến khi PD được tác

động bởi xung mức cao, hoặc cờ tràn được phát hiện.

• Nếu bị tràn, việc kéo CE xuống mức thấp sẽ reset con trỏ địa chỉ và bắt

đầu phát lại từ địa chỉ bắt đầu. Sau khi chúng ta tác động xung trên chân

PD thì phần này được reset về địa chỉ 0.

Page 77: GPRS Server

60

CHƯƠNG 3: THIẾT KẾ VÀ THI CÔNG PHẦN CỨNG

Như đã phân tích ở trên, để thực hiện đuợc đồng thời 2 chức năng vừa thu nhận

dữ liệu từ GPS và truyền dữ liệu qua GPRS, module SIM548C tích hợp cả 2 phần GPS

và GPRS, có bộ UART. Để lập trình điều khiển được module SIM548C thì vi điều

khiển cần có 2 bộ UART. Qua nghiên cứu tìm hiểu thì vi điều khiển ATMega 128 đáp

ứng được yêu cầu trên, mặt khác các linh kiện này phổ biển và có giá thành khá hợp

lý. Do vậy, chúng em đã lựa chọn vi điều khiển ATMega 128 và SIM548C sử dụng

trong đồ án.

Như vậy các thành phần cơ bản của hệ thống quản lý giám sát xe buýt gồm 3

phần:

- Phần thứ nhất thiết bị định vị, truyền thông và điều khiển thông tin trên xe

buýt gồm: 2 thành phần chính Module SIM548C và vi điều khiển

ATMega128 giao tiếp với ATMega32

- Phần thứ hai nhận dữ liệu thông báo tại các trạm dừng:Module SIM548

- Phần thứ ba Server trung tâm.

Ở đây, ta chỉ xét đến các thành phần của thiết bị định vị gồm module SIM548C

và vi điều khiển ATMega128, ATEMega32; còn phần Server trung tâm ta sẽ nói ở

chương sau. Đây là một phần quan trọng trong cả hệ thống. Chức năng chính của phần

này có thể chia làm 2 nhiệm vụ chính:

- Chức năng ghi nhận dữ liệu, bao gồm:

• Thu thập dữ liệu GPS, xác định vị trí kinh độ, vĩ độ, tốc độ

• Chức năng kết nối và truyền nhận dữ liệu

- Thiết bị kết nối với trung tâm quản lý thông qua mạng GPRS, theo cơ chế

client – server.

Page 78: GPRS Server

61

3.1. Sơ đồ khối mạch phần cứng.

Vi điều khiển

Atemega 128

Nguồn

Hiển Thị

LCD

SIM548

GPS

SIM548

GPRS

Anten GPS Anten GSM

UART0 UART1

Hình 3.1 Sơ đồ khối mạch phần cứng.

Phần thiết kế mạch cho thiết bị định vị được chia làm các khối : Khối module

SIM548C , khối vi điều khiển ATMega128 và khối nguồn cung cấp, khối hiển thị.

Phần GPS thu tín hiệu định vị từ vệ tinh, sau đó gửi vào chân UART0 của

ATMega128 , ATMega128 xử lý tách lấy dữ liệu cần thiết : tọa độ vị trí xe, thời gian,

vận tốc xe, sau đó vi điều khiển sử dụng tập lệnh AT gửi qua cổng UART1 tới phần

GPRS của module SIM548C, phần GPRS sẽ tự nhận biết được các tập lệnh của nó và

thực hiện việc truyền dữ liệu về trung tâm thông qua mạng GSM với giao thức

TCP/IP.

3.2. Thiết kế phần cứng cho khối modul sim 548C

Do module SIM548C được chia làm 2 phần : phần GSM/GPRS và phần GPS

nên ta sẽ xét riêng từng phần.

3.2.1. Thiết kế phần cứng cho phần GSM/GPRS

Như ở chương 2 đã giới thiệu về sơ đồ chân của module SIM548C , bao gồm

60 chân DIP trong đó chân dùng cho phần GSM/GPRS có 48 chân ( từ chân 1 đến

chân 48 ). Trong đồ án này nhiệm vụ chính của khối GSM/GPRS chính là truyền dữ

Page 79: GPRS Server

62

liệu qua mạng GPRS về trung tâm nên ta sẽ đề cập đến một số chân được sử dụng

trong việc này.Chân VBAT cung cấp nguồn cho phần GSM/GPRS với điện áp trong

khoảng 3.4 V ÷ 4.5 V , trung bình là 4V .Điều đáng chú ý là dòng cung cấp cho phần

GSM/GPRS là khá lớn , nó có thể lên tới 2A.

Chân VRTC chân lưu dữ các số liệu ví dụ như thời gian …. ngay cả khi phần

GSM/GPRS mất nguồn, điều này rất thích hợp khi sử dụng các loại Pin CMOS. Điện

áp yêu cầu của chân VRTC vào khoảng 1.2 V ÷ 2.0 V điện áp trung bình là 1.8V.

Ta có thể khởi động phần GSM/GPRS của module bằng cách đưa chân

PWRKEY xuống mức điện áp thấp trong một khoảng thời gian ngắn . Có nhiều cách

để thiết lập cho chân PWRKEY , để đơn giản chúng em đã sử dụng một nút bấm được

nối đất để thực hiện việc bật chế độ hoạt động cho phần GSM/GPRS.

Hình 3.2 Bật chế độ hoạt động cho phần GSM/GPRS sử dụng nút bấm

Khi hoàn thành việc bật nguồn, phần GSM/GPRS của SIM548C sẽ gửi thông

báo cho vi điều khiển (thông qua chân UART1) biết rằng module đã sẵn sàng hoạt

động và chân STATUS của module sẽ được kéo lên 2.8v và giữ nguyên mức điện áp

này trong chế độ làm việc.

Hình 3.3 Thời gian bật chế độ hoạt động của phần GSM/GPRS

Page 80: GPRS Server

63

Ngoài chân PWRKEY sử dụng để bật chế độ hoạt động cho phần GSM/GPRS

còn có một số cách khác đó là sử dụng chân VCHG hoặc chân VRTC ở chế độ cảnh

báo. Chân PWRKEY cũng được dùng để tắt chế độ hoạt động của phần GSM/GPRS

Trước khi hoàn thành việc chuyển sang chế độ tắt thì module sẽ gửi kết quả như

sau:

NORMAL POWER DOWN. Sau thời điểm này , các lệnh AT sẽ không còn có

tác dụng nữa .Module sẽ chuyển sang chế độ POWER DOWN , chỉ duy nhất RTC vẫn

hoạt động bình thường. POWER DOWN có thể nhận biết bằng chân STATUS, lúc đó

chân STATUS kéo xuống điện áp thấp nhất.

Hình 3.4 Thời gian tắt chế độ hoạt động của phần GSM/GPRS

Ngoài ra ta còn có thể tắt chế độ hoạt động của phần GSM/GPRS bằng tập lệnh

AT : “ AT+CPOWD = 1”. Chân NETLIGHT phát hiện trạng thái của mạng

GSM/GPRS được báo hiệu qua một đèn LED, được mắc như sơ đồ bên dưới.

Bảng 3.1 Bảng trạng thái làm việc của NETLIGHT

Trạng thái LED Chức năng của phần GSM/GPRS của SIM548C

Tắt Phần GSM/GPRS của module không chạy

64ms Sáng/800ms Tắt Phần GSM/GPRS của module không tìm thấy mạng

64msSáng/3000ms

Tắt Phần GSM/GPRS của module đã tìm thấy mạng

Page 81: GPRS Server

64

64ms Sáng/300ms Tắt Kết nối GPRS

Chân STATUS cũng được kết nối với một LED báo hiệu hệ thống hoạt động

hay tắt như đã trình bày ở trên. Cả hai chân này khi kéo lên mức logic 1 thì làm đèn

LED sáng lên và khi ở mức logic 0 thì đèn LED sẽ tắt.

Hình 3.5 Đèn LED chỉ thị cho NETLIGHT và chân STATUS

Tiếp đến ta sẽ đề cập đến một phần rất quan trọng trong việc thiết kế phần

GSM/GPRS : Giao tiếp nối tiếp GSM/GPRS. Trong phần GSM/GPRS của module

cung cấp 2 cổng nối tiếp không đồng bộ : Serial port và Debug port.

Serial port (Cổng giao tiếp nối tiếp)

- DCD : chân 25, phát hiện truyền dữ liệu.

- DTR : chân 27, sẵn sàng dữ liệu cuối.

- RXD : chân 29, nhận dữ liệu.

- TXD : chân 31, truyền dữ liệu.

- RTS : chân 33, yêu cầu gửi.

- CTS : chân 35, xóa để gửi.

- RI : chân 37, báo hiệu chuông.

- Debug port (Cổng giao tiếp gỡ rối)

- DBG_RXD : chân 36, nhận dữ liệu.

- DBG_TXD : chân 38, truyền dữ liệu.

Page 82: GPRS Server

65

Trong đồ án, giải pháp cho yêu cầu của đề tài ta chỉ sử dụng cổng Serial port cụ

thể là 2 chân TXD và RXD. Hai chân này sẽ được kết nối tương ứng với 2 chân của vi

điều khiển chân Rx và chân Tx. Do đó ta chỉ đề cập đến hai chân 29 và 31 của phần

này.

Trước khi thiết kế kết nối giữa vi điều khiển với phần GSM/GPRS của module

SIM548C ta phải xét đến các mức điện áp vào ra của mỗi phần.

Ta biết rằng mức logic 1 output (mức ra “ 1” Tx) của vi điều khiển ATMega128

sẽ là cỡ 5V hơn nữa mức logic 1 input (mức vào “1” RXD) của phần GSM/GPRS vào

khoảng 2.1V÷3.3V. Do đó khi kết nối 2 chân này với nhau cần hạ mức điện áp từ

chân ra Tx 5V của vi điều khiển xuống khoảng 2.1V÷3.3V .Giải pháp sử dụng mạch

phân áp cho kết nối trên.

Còn mức logic 1 output (mức ra “1” TXD) của phần GSM/GPRS vào khoảng

2.8V÷3 V là mức mà vi điều khiển vẫn có thể hiểu là mức “1” nên chân TXD của phần

GSM/GPRS ta có thể kết nối trực tiếp với chân Rx của vi điều khiển ATMega128.

Bảng 3.2 Mức logic của chân Serial port

UARTO - TXD

AT Mega 128

UARTO - RXD

R1

R2

2K2

3K3

RXD – GSM

Vih 2.1-3.3V

TXD – GSM

Voh 2.8-3V

Hình 3.6 Sơ đồ chuyển mức điện áp giữa vi điều khiển ATMega128 với phần

GSM/GPRS

Page 83: GPRS Server

66

Giao tiếp serial port hỗ trợ tốc độ truyền : 300, 1200, 2400, 4800, 9600, 19200,

38400, 57600, 115200 mặc định ở tốc độ 115200bps. Tất nhiên khi ta muốn tốc độ nào

đó thì phải thiết lập bằng tập lệnh AT. Chỉ có một số tốc độ sau sẽ được tự động phần

GSM/GPRS dò tìm : 4800, 9600, 19200, 38400, 57600, 115200bps.

Do giao tiếp serial port của phần GSM/GPRS với cổng giao tiếp UART1 của vi

điều khiển nên khi lập trình cho vi điều khiển cổng giao tiếp UART1 phải thiết lập

cổng UART1 ở tốc độ cùng với tốc độ của phần GSM/GPRS.

Giao tiếp SIM Card Holder: ta có thể sử dụng tập lệnh AT để ghi các thông tin

lên thẻ SIM. Giao tiếp SIM hỗ trợ chức năng của GSM Phase 1 và một số chức năng

mới của GSM Phase 2 cho FAST 64kbps. SIM Card được hỗ trợ với 2 mức điện áp

1.8V và 3.0V. Giao tiếp SIM gồm có 5 chân :

- Chân 17 SIM_VDD : chân nguồn cấp cho SIM, nó có thể tự động chuyển

các chế độ nguồn : nguồn 3.0V±10% và nguồn 1.8V±10%, dòng tiêu thụ

vào khoảng 10mA.

- Chân 19 SIM_RST: chân SIM Card Reset.

- Chân 21 SIM_DATA: chân dữ liệu vào ra SIM Card.

- Chân 23 SIM_CLK: chân khóa SIM Card.

- Chân 15 SIM_PRESENCE: chân phát hiện SIM Card.

- Chân 15 SIM_PRESENCE được sử dụng để phát hiện sự có mặt của thẻ

SIM hay không. Ta có thể sử dụng lệnh “AT+CSDT” cấu hình SIMCARD.

Do đó ta có thể không cần sử dụng chân SIM_PRESENCE để phát hiện

SIM Card nữa và chân SIM_PRESENCE sẽ được nối đất.

Như vậy việc thiết kế cho phần GSM/GPRS của SIM548C đã hoàn tất, bấy giờ

ta sẽ chuyển sang thiết kế cho phần GPS của SIM548C.

3.2.2. Thiết kế phần cứng cho phần GPS

Phần GPS của module bao gồm 12 chân, từ chân 49 đến chân 60, ta cũng

chỉ xét một số chân cơ bản để có thể thực hiện mục đích của đồ án : lấy tín hiệu GPS

với giao thức NMEA 0183.

Chân GPS_VCC : cung cấp nguồn cho phần GPS của SIM548C với điện áp vào

khoảng 3V÷5V, điện áp trung bình là 3.3V. Dòng tiêu thụ của phần GPS vào khoảng

lớn hơn 150mA.

Page 84: GPRS Server

67

Chân GPS_VRTC: cũng giống như chân VRTC của phần GSM/GPRS của

module, nó dùng để lưu trữ dữ liệu. Điện áp cung cấp cho chân này vào khoảng 2.7V ÷

3.3V ,điện áp trung bình là 3.0V.

Chân GPS_BOOTSEL : sử dụng với việc thiết lập lại chương trình Flash, nếu

cấp cho chân ở mức cao. Trong đồ án này ta không sử dụng chức năng này do đó sẽ để

chân này nối đất.

Chân GPS_WAKEUP : nó chỉ được sử dụng để wakeup hệ thống từ chế độ

PTF. Do ta cũng không cần dùng chức năng này của phần GPS nên chân này ta nối

đất.

Để kích hoạt chế độ hoạt động của phần GPS, thì chân GPS_VCC cần được cấp

điện áp lớn hơn 2.3V và được giữ tối thiểu trong khoảng 220ms.

Hình 3.7 Kích hoạt chế độ hoạt động của phần GPS

Giao tiếp cổng nối tiếp Serial: phần GPS của module hỗ trợ hai cổng giao tiếp

Serial port A và Serial port B. Cho phép các giao thức khác nhau sẽ hoạt động trên các

cổng khác nhau.

Cổng giao tiếp nối tiếp Serial port A :

- Gồm hai đường giao tiếp : GPS_TXA và GPS_RXA.

- Đường nhận GPS_RXA và đường truyền GPS_TXA.

Page 85: GPRS Server

68

- Được hỗ trợ các tốc độ : 1200 ÷ 115200 bps, nhưng 4800 ÷ 38400 bps là

dải tốc độ chung.

- Giao thức : mặc định NMEA, 4800bps.

- Mặc định bản tin : GGA, GSA, GSV, RMC, VTG.

- Tiêu chuẩn WGS84 mặc định.

- Cổng giao tiếp nối tiếp Serial port B :

- Gồm hai đường giao tiếp : GPS_TXB và GPS_RXB.

- Đường nhận GPS_RXB và đường truyền GPS_TXB.

- Tốc độ hỗ trợ : 1200 ÷ 115200 bps.

- Giao thức : không mặc định.

Với mục đích là tách lấy dữ liệu về tọa độ vị trí, thời gian, …từ bản tin GPRMC

trong giao thức NMEA 0183, nên sử dụng cổng Serial port A.

Do mức logic 1 của cổng Serial port A khoảng 3V nên vi điều khiển vẫn có thể

hiểu đó là mức 1, vì vậy ta sẽ kết nối trực tiếp cổng GPS_TXA với cổng RXD0 của vi

điều khiển ATMega128. Và khi lập trình việc lấy dữ liệu từ cổng GPS_TXA ta phải

thiết lập tốc độ cho cổng RXD0 là 4800bps.

Một điều lưu ý khi sử dụng cổng Serial port A : khởi tạo định dạng dữ liệu 8

data bits, no parity và 1 stop bit.

Page 86: GPRS Server

69

Hình 3.8 Sơ đồ nguyên lí của khối module SIM548C

3.3. Thiết kế phần cứng cho khối vi điền khiển ATMEGA128

Như ta đã nói, chức năng chính của khối vi điều khiển ATMega128 : nhận dữ

liệu GPS từ cổng Serial port A của phần GPS đến chân RXD0 ( thuộc cổng UART0 )

của vi điều khiển. Vi điều khiển sẽ tách dữ liệu nhận được thành các dữ liệu cần lấy

như tọa độ vị trí, thời gian,… rồi sử dụng tập lệnh AT gửi dữ liệu tách được gửi ra

chân TXD1 (thuộc cổng UART1), tập lệnh AT này sau khi đưa vào chân RXD của

phần GSM/GPRS, phần GSM/GPRS sẽ truyền dữ liệu tách được đó qua mạng GPRS

về trung tâm.

Ứng với chức năng đó của vi điều khiển, việc thiết kế phần cứng cho vi điều

khiển ATMega128 cũng khá đơn giản.

Page 87: GPRS Server

70

Hình 3.9 Sơ đồ nguyên lí của vi điều khiển ATMega128

Trước tiên ta phải kể đến tần số thạch anh của ATMega128, ATMega128

thường sử dụng 2 loại thạch anh 8MHz và 12MHz. Trong đồ án này ta sử dụng loại

thạch anh 12MHz với 2 tụ 33pF.

Hình 3.10 Sơ đồ mắc thạch anh với vi điều khiển ATMega128

Page 88: GPRS Server

71

Hai chân của thạch anh sẽ được nối với hai chân 23 XTAL1 và chân 24 XTAL2

của vi điều khiển ATMega128.

Việc reset vi điều khiển sẽ được thiết kế với 1 nút bấm và được nối với chân 20

Reset của vi điều khiển. Reset là chế độ ngắt ưu tiên nhất của vi điều khiển

ATMega128, vì vậy bất kì chương trình đang chạy ở vị trí nào đi chăng nữa khi có một

yêu cầu Reset thì mọi hoạt động sẽ ngừng và hệ thống sẽ thực hiện lại từ đầu.

Hình 3.11 Sơ đồ đấu nối với chân Reset của vi điều khiển ATMega128

Điện áp trung bình cấp cho vi điều khiển ATMega128 là 5V (chân 51,52 VCC),

điện áp lớn nhất 5.5V, dòng tiêu thụ vào khoảng 200÷400 mA .

ATMega128 hỗ trợ hai cổng giao tiếp nối tiếp UART0 và UART1. Cổng

UART0 được thiết lập với tốc độ 4800bps được nối với chân RXD1 phần GPS của

module còn cổng UART1 được thiết lập với tốc độ 9600bps, chân TXD1 được phân

áp với 2 điện trở 2.2k và 3.3k rồi được nối với chân RXD phần GSM/GPRS, chân

RXD1 được nối thẳng với chân TXD của phần GSM/GPRS .

3.4. Thiết kế phần cứng cho khối vi điền khiển ATMEGA32

Mạch điều khiển ATMEGA32 dùng để giao tiếp với module phát tiếng nói

thông qua chuẩn truyền SPI và giao tiếp với quang báo qua cổng COM

Page 89: GPRS Server

72

Hình 3.12 Sơ đồ nguyên lí của vi điều khiển ATMega32

Hình 3.13 Sơ đồ nguyên lí giao tiếp cổng COM

3.5. Khối nguồn cung cấp

Mặc dù nguồn cung cấp không chính thức tham gia vào quá trình truyền dữ liệu

hay xử lý dữ liệu, nhưng để hệ thống hoạt động ổn định thì khối nguồn đóng vai trò

hết sức quan trọng. Vấn đề đặt ra là làm sao thiết kế khối nguồn ngoài việc cung cấp

Page 90: GPRS Server

73

đúng điện áp , đủ dòng cho các khối trong hệ thống, nó phải đảm bảo yêu cầu tính ổn

định.

Trong quá trình thiết kế phần cứng cho hệ thống ta có thể chia ra các nguồn

cung cấp sau :

Thứ nhất : Nguồn cung cấp cho phần GSM/GPRS :

- Nguồn cung cấp cho chân VBAT.

- Nguồn cung cấp cho chân VRTC.

- Nguồn cung cấp cho chân VCHG.

Thứ hai : Nguồn cung cấp cho phần GPS :

- Nguồn cung cấp cho chân GPS_VCC.

- Nguồn cung cấp cho chân GPS_VRTC.

Thứ ba : Nguồn cung cấp cho vi điều khiển ATMega128.

3.5.1. Nguồn cung cấp cho phần GSM/GPRS

Như đã đề cập ở trên ta biết rằng nguồn cung cấp cho chân VBAT vào khoảng

3.4V ÷ 4.5V , trung bình là 4V. Trong một số trường hợp sụt áp lớn do xung truyền

tăng lên, lúc đó dòng tiêu thụ lên tới 2A. Vì vậy nguồn cung cấp cho chân VBAT phải

đủ dòng lên tới 2A.

Hình 3.14 Sự sụt áp đã làm cho dòng tiêu thụ phải tăng lên 2A

Để tối ưu bộ nguồn cấp cho chân VBAT, chúng em đã sử dụng nguồn pin 3.7V

Li-Ion được kết nối thẳng tới chân VBAT của phần GSM/GPRS như

Page 91: GPRS Server

74

Hình 3.15 Sơ đồ chân kết nối Pin Li-Ion cung cấp nguồn cho GSM/GPRS

Chân nguồn VBAT của phần GSM/GPRS được nối thẳng với dương nguồn của

Pin .Chân TEMP_BAT dùng để đo nhiệt độ của Pin .

Chân VCHG được sử dụng để phát hiện nguồn sạc cho Pin và cung cấp phần

lớn dòng sạc cho Pin thông qua phần GSM/GPRS. Yêu cầu chân VCHG được nối với

điện áp 5V, ta có thể sử dụng ngay điện áp 5V cấp cho vi điều khiển để cấp cho chân

này.

Khi phần GSM/GPRS của module phát hiện ra nguồn sạc và Pin thì quá trình

sạc Pin sẽ xảy ra ngay, ngược lại thì quá trình sạc Pin sẽ không xảy ra.

Nguồn cung cấp cho chân VRTC trong phần GSM/GPRS trong khoảng

1.2V÷2.0V, điện áp trung bình 1.8V với dòng tiêu thụ I(max) =20uA. Do đó việc sử

dụng Pin CMOS 3.0V là thích hợp nhất, vì chân VRTC có nhiệm vụ là backup dữ liệu

: thời gian,…ngay cả khi hệ thống mất nguồn. Pin CMOS 3.0V được mắc nối tiếp với

2 điốt 1N4007 để giảm điện áp ra, khi đó điện áp ra theo định luật Kiefhof : 3 - 0.7x2

= 1.6V.

Hình 3.16 Nguồn cấp cho chân VRTC trong phần GSM/GPRS của module.

Page 92: GPRS Server

75

3.5.2. Nguồn cung cấp cho phần GPS và khối ATMega128

Yêu cầu nguồn cung cấp cho khối vi điều khiển ATMega128 là 5V với dòng

tiêu thụ trong khoảng 200 ÷ 400 mA. Như vậy sử dụng IC LM7805C/TO với điện áp

đầu vào khoảng 5 ÷ 35V là rất thích hợp.

Yêu cầu nguồn cung cấp cho chân GPS_VCC vào khoảng 3.0V ÷ 5.0V, điện áp

trung bình là 3.0V với dòng tiêu thụ lớn hơn 150mA. Ta sử dụng con IC LM117 ổn áp

3.3V, với điện áp cố định đầu ra là 3.3V rất phù hợp với yêu cầu của chân GPS_VCC.

Hình 3.17 Khối nguồn cung cấp cho phần GPS và ATMega128

Nguồn cung cấp cho chân GPS_VRTC trong phần GPS vào khoảng 2.7V ÷

3.3V, điện áp trung bình 3.0V nên ta có thể chích lấy chân Pin CMOS cung cấp cho

VRTC trong phần GSM/GPRS (không nối tiếp với 2 điốt 1N4001) để cung cấp cho

chân GPS_VRTC.

3.6. Khối hiển thị

Khối hiển thị có chức năng hiển thị các giá trị: kinh độ, vĩ độ, tốc độ, các dữ

liệu nhận được từ server, và các thông tin khác.

Hình 3.18 Khối hiển thị LCD

Page 93: GPRS Server

76

3.7. Khối tiếng nói

Khối tiếng nói được đặt trên xe buýt có chức năng phát ra âm thanh thông báo:

thông báo xe khởi hành, sắp đến trạm chờ xe buýt, thời gian xe đến trạm kế.

Hình 3.19 Nguyên lý khối phát âm thanh LCD

Page 94: GPRS Server

77

CHƯƠNG 4: LẬP TRÌNH ĐIỀU KHIỂN

Ngôn ngữ sử dụng là C, viết trên phần mềm biên dịch Codevision. Đây là phần

mềm hiệu quả trong việc viết các lệnh điều khiển vi điều khiển AVR, ngoài ra phần

mềm hỗ trợ việc biên dịch, sửa lỗi…

Ngoài phần mềm biên dịch, việc điều khiển module từ vi điều khiển còn sử

dụng tập lệnh AT. Đây là tập lệnh chuyên dùng để điều khiển các thiết bị liên lạc trong

mạng di động, sử dụng giao tiếp nối tiếp.

4.1 Tập lệnh AT

Các thiết bị GSM chuẩn được điều khiển bằng tập lệnh AT thông qua giao diện

kết nối nối tiếp. Ngoài tập lệnh AT chuẩn bao gồm GSM07.05, GSM07.07 và ITU-T

V.25, các thiết bị SIM300CZ và SIM548CZ được mở rộng thêm một số lệnh AT phát

triển bởi nhà sản xuất SIMCOM.

Cú pháp của lệnh AT

Các câu lệnh luôn bắt đầu với tiền tố “AT” hay “at”, và kết thúc bởi ký tự enter

<CR>

Các lệnh AT thường được phản hồi lại bằng cấu trúc: <CR><LF><phản

hồi><CR><LF>

Các câu lệnh AT chỉ được thực hiện khi các thiết bị được cấp nguồn và sẵn

sàng với mã thiết bị trả về “RDY” nhận được qua cổng nối tiếp. Nếu mã trả về là

“SCKS” báo hiệu không nhận dạng được thẻ SIM

Các câu lệnh AT có thể chia làm 3 loại cú pháp chính: “cơ bản”, “tham số S” và

“mở rộng”

Cú pháp cơ bản

Câu lệnh AT có cú pháp: “AT<x><n>” hoặc “AT&<x><n>”, trong đó <x> là

câu lệnh, <n> là một hay nhiều tham số của câu lệnh

Cú pháp tham số S

Câu lệnh AT có cú pháp: “ATS<n>=<m>”, trong đó <n> là chỉ số trong tập S,

<m> là giá trị gán cho nó. <m> là tùy chọn, nếu thiếu, giá trị mặc định sẽ được sử

dụng

Cú pháp mở rộng:

Page 95: GPRS Server

78

Các câu lệnh AT này có thể được sử dụng ở một vài chế độ theo bảng dưới đây:

Bảng 4.1 Bảng phân loại các câu lệnh AT mở rộng

Câu lệnh kiểm tra AT+<x>=? Thiết bị di động sẽ trả về danh

sách các tham số và dải giá trị

tương ứng

Câu lệnh đọc AT+<x>? Câu lệnh này trả về giá trị hiện

tại của các tham số tương ứng

Câu lệnh ghi AT+<x>=<…> Câu lệnh này thiết đặt các

tham số theo giá trị được truyền

vào

Câu lệnh thi hành AT+<x> Câu lệnh này đọc các tham số

cố định ảnh hưởng bởi các quá

trình bên trong thiết bị GSM

Thực thi lệnh AT

Các lệnh AT có thể được kết hợp trong cùng một dòng lệnh hoặc thực hiện từng

câu lệnh trên từng dòng riêng.

Khi kết hợp nhiều câu lệnh trên một dòng, chúng ta không cần thêm các tiền tố

“AT” hay “at” trên mỗi câu lệnh, ngoại trừ ở đầu dòng lệnh. Các câu lệnh cần được

ngăn cách nhau bằng dấu chấm phẩy. Mỗi dòng lệnh có bộ nhớ đệm có khả năng chưa

tối đa 256 ký tự. Nếu dòng lệnh vượt quá giới hạn này, sẽ không có lệnh nào được

thực hiện và thiết bị trả về chuỗi “ERROR”.

Khi thực hiện mỗi lệnh AT trên một dòng, chúng ta buộc phải đợi trả lời cuối

cùng cho câu lệnh đó (ví dụ như OK, CME Error, CMS Error) trước khi gửi lệnh tiếp

theo.

Các tập ký tự hỗ trợ

Giao diện câu lệnh AT của các thiết bị SIM548CZ và SIM300CZ mặc định là

tập ký tự IRA. Nó hỗ trợ đầy đủ các tập ký tự sau:

Định dạng GSM

- UCS2

Page 96: GPRS Server

79

- HEX

- IRA

- PCCP437

Tập ký tự có thể được thiết đặt lại hoặc truy vấn sử dụng câu lệnh “AT+CSCS”

(GSM07.07). Các tập ký tự được định nghĩa trong bản thông số kỹ thuật GSM 07.05

Tập ký tự sẽ ảnh hưởng tới quá trình gửi và nhận tin nhắn nhanh (SMS), các tin

nhắn SMS quảng bá, hiển thị các trường văn bản trong danh bạ và các chuỗi ký tự

trong bộ công cụ ứng dụng của thẻ SIM.

4.2 Tập lệnh AT sử dụng điều khiển module GSM và GPS

4.2.1 Cấu hình cho phần cứng: module simcom548 truy cập GPRS

Khởi tạo cấu hình mặc định cho module

(MT: module. TE: máy tính hoặc thiết bị điều khiển module)

Bảng 4.2 Bảng lệnh cấu hình cho Module GPRS truy cập mạng

Page 97: GPRS Server

80

(1)ATZ<CR>

Reset modem, kiểm tra modem dã hoạt động bình thường chưa. Gửi nhiều lần

cho đến khi nhận được chuỗi ATZ<CR><CR><LF>OK<CR><LF>.

(2) ATE0<CR> Tắt chế độ echo lệnh. Chuỗi trả về có dạng

ATE0<CR><CR><LF>OK<CR><LF>.

(3) AT+CLIP=1<CR>

Định dạng chuỗi trả về khi nhận cuộc gọi.

Thông thường, ở chế độ mặc định, khi có cuộc gọi đến, chuỗi trả về sẽ có dạng:

<CR><LF>RING<CR><LF>

Sau khi lệnh AT+CLIP=1<CR> đã được thực thi, chuỗi trả về sẽ có dạng:

<CR><LF>RING<CR><LF>

<CR><LF>+CLIP: "0929047589",129,"",,"",0<CR><LF>

Page 98: GPRS Server

81

Chuỗi trả về có chứa thông tin về số điện thoại gọi đến. Thông tin này cho phép

xác định việc có nên nhận cuộc gọi hay từ chối cuộc gọi.

Kết thúc các thao tác khởi tạo cho quá trình nhận cuộc gọi. Các bước khởi tạo

tiếp theo liên quan đến các thao tác truyền nhận tin nhắn.

(4) AT&W<CR>

Lưu cấu hình cài đặt được thiết lập bởi các lệnh ATE0 và AT+CLIP vào bộ

nhớ.

(5) AT+CMGF=1<CR>

Thiết lập quá trình truyền nhận tin nhắn được thực hiện ở chế độ text (mặc định

là ở chế độ PDU).

Chuỗi trả về sẽ có dạng:

<CR><LF>OK<CR><LF>

(6) AT+CNMI=2,0,0,0,0<CR>

Thiết lập chế độ thông báo cho TE khi MT nhận được tin nhắn mới.

Chuỗi trả về sẽ có dạng:

<CR><LF>OK<CR><LF>

Sau khi lệnh trên được thiết lập, tin nhắn mới nhận được sẽ được lưu trong

SIM, và MT không truyền trở về TE bất cứ thông báo nào. TE sẽ đọc tin nhắn được

lưu trong SIM trong trường hợp cần thiết.

(7) AT+CSAS<CR>

Lưu cấu hình cài đặt được thiết lập bởi các lệnh AT+CMGF và AT+CNMI.

(8) AT+CIPMODE=0<CR>

Lựa chọn phương thức giao tiếp với modem để điều khiển quá trình truyền

nhận dữ liệu bằng GPRS. Có hai phương thức:

AT+CIPMODE=0: dùng lệnh AT.

AT+CIPMODE=1: TE truyền nhận dữ liệu trực tiếp với mạng GSM, modem

chỉ đóng vai trò là thiết bị trung chuyển dữ liệu, mà không thực hiện thêm bất cứ thao

tác nào khác.

Phương pháp dùng lệnh AT được lựa chọn vì tính đơn giản, dễ điều khiển, vì

các thao tác với dữ liệu ở các lớp trên sẽ được modem thực hiện thay cho TE.

Page 99: GPRS Server

82

(9) AT+CDNSORIP=0<CR>

Lựa chọn phương thức định địa chỉ cho Server. Có hai phương thức:

AT+CDNSORIP=0: định địa chỉ trực tiếp bằng địa chỉ IP của Server.

AT+CDNSORIP=1: định địa chỉ gián tiếp thông qua tên miền của Server.

Địa chỉ IP của Server sẽ được truy vấn thông qua hệ thống tên miền DNS

(Domain Name Server).

Để đơn giản và tăng tốc độ kết nối và giảm rủi ro, phương thức định địa chỉ trực

tiếp bằng địa chỉ IP được lựa chọn.

(10) AT+CIPCSGP=1,”m-wap”,”mms”,”mms”<CR>

Thiết lập phương thức thực hiện kết nối GPRS.

Có hai phương thức kết nối dữ liệu: đó là kết nối thông qua hệ thống chuyển

mạch CSD (Circuit Switch Data) dựa trên đường truyền vô tuyến của mạng GSM

(tương tự như việc thực hiện một cuộc gọi data call) và phương pháp chuyển mạch gói

GPRS. CSD có lợi thế về vùng phủ sóng, nhưng giá cước đắt (giá cước được tính theo

thời gian kết nối), tốn băng thông vô tuyến (chiếm trọn kênh truyền vô tuyến) và

module SIM548 không hỗ trợ TCP stack cho phương thức kết nối trên, điều đó gây

nhiều khó khăn cho quá trình truyền nhận dữ liệu. Phương thức kết nối bằng GPRS tuy

gặp phải sự hạn chế về vùng phủ sóng nhưng lại có được mọi ưu thế khác so với CSD.

Đó cũng là nguyên nhân GPRS được lựa chọn trong phạm vi ứng dụng của hệ thống.

Phương thức kết nối GPRS và các tham số được thiết lập tương ứng với các

tham số của dịch vụ GPRS của nhà cung cấp dịch vụ mạng di động GSM Vina Fone

tại Việt Nam.

AT+CIPCSGP=1,”m3-world”,”mms”,”mms”<CR>

(11) AT+CIPHEAD=1<CR>

Thêm phần header “+IPDx:” (x là số byte dữ liệu nhận được) vào phía trước

phần dữ liệu nhận được.

(12) AT+CIPSPRT=1<CR>

Thiết lập định dạng cho quá trình truyền dữ liệu bằng lệnh AT+CIPSEND.

(13) AT+CIPSRIP=1<CR>

Thiết lập định dạng phần header của dữ liệu nhận được.

Page 100: GPRS Server

83

(14) AT+CIPSCONT<CR>

Lưu lại cấu hình thiết lập dùng cho quá trình kết nối và truyền nhận dữ liệu

bằng GPRS.

Các lệnh trên chỉ cần được thực thi 1 lần, sau đó lưu lại và trở thành cấu hình

mặc định của modem. Cấu hình mặc định này không thay đổi, kể cả khi mất nguồn.

Phần khởi tạo này không liên quan đến quá trình hoạt dộng sau này của modem. Do đó

có thể khởi tạo riêng trước khi đưa vào vận hành trong hệ thống.

4.2.2 Truyền nhận thông báo về tình trạng GPRS

Các thông số này cần được cấu hình mỗi khi module bị reset.

Bảng 4.3 Tập lệnh tra cứu trạng thái GPRS

(3) AT+CGREG=1<CR>

Lệnh này cho phép modem gửi các thông báo trạng thái kết nối GPRS về TE.

Page 101: GPRS Server

84

Khi vị trí của modem thay đổi từ vùng phủ sóng GPRS sang vùng chưa phủ

sóng GPRS, modem sẽ gửi về chuỗi

<CR><LF>+CGREG: 0<CR><LF>

Trong trường hợp modem ở ngoài vùng phủ sóng GPRS một thời gian đủ lâu,

kết nối GPRS sẽ bị ngắt, và modem gửi về chuỗi:

<CR><LF>+PDP: DEACT<CR><LF>

Ngược lại, khi modem trở về vùng phủ sóng GPRS, modem sẽ gửi về chuỗi:

<CR><LF>+CGREG: 1<CR><LF>

Việc xác định trạng thái kết nối GPRS tại vị trí hiện tại của modem cho phép

chuyển đổi linh hoạt hơn phương thức truyền nhận dữ liệu (ví dụ như chuyển sang

truyền nhận bằng SMS) giúp bảo đảm kết nối được liên tục.

Trong trường hợp cần khảo sát vùng phủ sóng GPRS, có thể khởi tạo bằng

lệnh:

AT+CGREG=2<CR>

Ngoài thông tin về trạng thái sóng GPRS, khi lệnh trên được khởi tạo, khi

modem chuyển từ cell này sang cell khác, hoặc từ vùng phủ sóng này sang vùng phủ

sóng khác, chuỗi trả về sẽ có dạng:

<CR><LF>+CGREG:<stat>,<lac>,<ci><CR><LF>

Ngoài thông tin về trạng thái vùng phủ sóng GPRS, các thông tin khác như Cell

ID (<ci>) và vùng phủ sóng (<lac>) cũng được modem gửi về, cho kết quả khảo sát

chi tiết hơn.

4.2.3 Thiết lập kết nối

Bảng 4.4 Tập lệnh thiết lập cấu hình TCP

Page 102: GPRS Server

85

(1) AT+CIPSHUT<CR>

Hủy bỏ kết các nối trước đó, đưa trạng thái kết nối của module SIM548 về

trạng thái ban đầu (IP INITIAL).

Nếu lệnh trên được thực hiện thành công, chuỗi trả về sẽ có dạng:

<CR><LF>OK<CR><LF>

Trong trường hợp module trước đo đã ở trạng thái IP INITIAL, chuỗi trả về sẽ

có dạng:

<CR><LF>ERROR<CR><LF>

(2) AT+CIPSTART=”TCP”,”222.252.96.179”,”2505”<CR>

Thiết lập kết nối với Server có địa chỉ IP là“222.252.96.179”, port 2505 với

phương thức truyền nhận là TCP. Server này được thiết lập dựa trên phần mềm TCP

server đã đề cập ở trên.

Chuỗi trả về sẽ có dạng:

<CR><LF>OK<CR><LF>

Nếu kết nối được thực hiện thành công, trong khoảng từ 3 đến 4 giây, module

sẽ gửi về một chuỗi thông báo kết nối được thực hiện thành công:

<CR><LF>CONNECT OK<CR><LF>

Nếu sau khoảng thời gian trên mà không nhận được chuỗi thông báo kết nối

thành công, kết nối chắc chắn sẽ không thực hiện được, cần xem lại các trường hợp

sau trước khi bắt đầu khởi tạo lại kết nối từ bước 1:

Module đang ở trạng thái PDP Deactiviated: do không có dữ liệu truyền đi trên

một đường truyền đã được thiết lập trong một thời gian dài (khoảng vài giờ đồng hồ),

hệ thống mạng sẽ tự động hủy kết nối và đưa module trở về trạng thái PDP

Deactiviated. Trong trường hợp này cần reset lại module (dùng lệnh “AT+CFUN=0”

và “AT+CFUN=1”) trước khi bắt đầu thiết lập kết nối.

Chương trình ứng dụng Server chưa được kích hoạt.

Các chương trình bảo mật chạy trên máy tính đang chạy ứng dụng Server chưa

được tắt đi.

4.2.4 Truyền nhận gói

Bảng 4.5 Lệnh gửi dữ liệu qua GPRS

Page 103: GPRS Server

86

(1) AT+CIPSEND=18<CR>

Truyền một gói dữ liệu có số kí tự cần truyền đi là 18. Số kí tự tối đa có thể

truyền trong một gói là 160 kí tự. Nếu số kí tự cần truyền lớn hơn 160 kí tự, module sẽ

tự động tách thành hai hay nhiều gói dữ liệu và truyền đi.

Khi nhận được lệnh trên, module sẽ trả về chuỗi:

<CR><LF>>

Định dạng của chuỗi trả về là “>”, định dạng này có thể thay đổi bằng lệnh khởi

tạo “AT+CIPSPRT”.

Sau khi nhận được chuỗi trên, dữ liệu truyền đi cần được đưa vào, module sẽ tự

động truyền gói dữ liệu đi sau khi đã nhận đủ số kí tự cần truyền (không cần kí tự kết

thúc chuỗi). ( ở đây dữ liệu truyền là dòng Login, 29N1234,1234)

Thời gian truyền dữ liệu khoảng 1 đến 2 giây, tùy theo số byte cần truyền. Nếu

quá trình truyền dữ liệu được thực hiện thành công, chuỗi trả về sẽ có dạng:

<CR><LF>SEND OK<CR><LF>

(2) <CR><LF>RECV FROM:222.252.96.179:2505<CR><LF>

+IPD32:Socket 1 Already login 29N7890<CR>

Cấu trúc một chuỗi dữ liệu nhận được. Định dạng này có thể thay đổi bằng các

lệnh khởi tạo “AT+CIPHEAD” và “AT+CIPSRIP”.

Chuỗi dữ liệu được gửi đến từ địa chỉ IP “222.252.96.179”, port 2505 và có

tổng số byte dữ liệu là 32(+IPD32) và chứa nội dung: “Socket 1 Already login

29N7890<CR><LF>”. Lưu ý là có thêm 2 kí tự <CR> và <LF> đã được thêm vào

chuỗi ở phía Server trước khi Server gửi đi.

4.2.5 Hủy kết nối

Page 104: GPRS Server

87

Kết nối GPRS giữa module SIM548 và Server có thể bị ngắt do:

Module SIM548 chủ động hủy kết nối.

Server chủ động hủy kết nối.

Hệ thống mạng GPRS chủ động ngắt kết nối để tiếp kiệm tài nguyên mạng

Kết nối TCP yêu cầu sự chặt chẽ trong quá trình liên kết và truyền nhận dữ liệu,

đồng thời các đầu cuối phải nhận biết được trạng thái kết nối. Khi kết nối bị hủy, trạng

thái đường truyền được thể hiện trên module SIM548 qua các hiệu ứng sau.

Bảng 4.6 Tập lệnh hủy kết nối GPRS

(1) và (2): module GPRS chủ động hủy kết nối (nên dùng lệnh “AT+CIPSHUT”).

Trong thực tế ứng dụng, hai lệnh này có thể xem là tương đương nhau. Lệnh

“AT+CIPCLOSE” đưa kết nối GPRS trở về trạng thái “STATE: IP CLOSE”. Lệnh

“AT+CIPSHUT” đưa kết nối GPRS trở về trạng thái “STATE: IP INITIAL” (tham

khảo lệnh “AT+CIPSTART” để biết thêm chi tiết.

Khi một trong hai lệnh trên được thực thi, Server cũng sẽ nhận biết được trạng

thái kết nối, và hủy kết nối trên nhằm tiết kiệm tài nguyên đường truyền.

(3) <CR><LF>CLOSED<CR><LF>

Trường hợp này xảy ra khi Server hoặc hệ thống mạng GPRS chủ động hủy kết

nối. Module SIM548 sẽ nhận biết được trạng thái kết nối và gửi thông báo trên vệ phía

TE.

Cả ba trường hợp trên đều có thể sử dụng lệnh “AT+CIPSTART” để khởi tạo

lại một kết nối GPRS mới.

4.3. Lập trình cho vi điều khiển Atmega 128

Page 105: GPRS Server

88

Sau khi phân tích các yêu cầu của đề tài, vi điều khiển phải thực hiện các công

việc: nhận và xử lý dữ liệu GPS, gửi dữ liệu qua GPRS về server, xử lý các thông tin

phản hồi từ server. Do vậy, thuật toán của chương trình như sau:

Begin

Hiển thị dữ liệu

GPS lên LCD

Kiểm tra

Kết nối tới sever

End

Nhận và xử lý dữ liệu

GPS

Chương trình gửi dữ liệu

tới server

Y

N

Khởi tạo các giá trị ban

đầu

Chương trình nhận dữ

liệu từ server và thi hành

Hình 4.1 Lưu đồ thuật toán của vi điều khiển

Page 106: GPRS Server

89

Vì GPS gửi thông tin về là một chuỗi dữ liệu gồm rất nhiều thông tin khác nhau, bản

tin GPS gửi về có cấu trúc:

Hình 4.3 Cấu trúc chuỗi tin GPRMC

$GPRMC,123519,A,4807.038,N,11131.200,E,022.4,084.4,230910,003.1,W*6A

TThhờờii ggiiaann ::

1122 ggiiờờ

3355 pphhúútt

1199 ggiiââyy

((UUTTCC))

BBắắcc

ĐĐôônngg

TTốốcc ĐĐộộ ::

002222..44 KKnnoott

NNggààyy ::

2233//0099//22001100

KKiinnhh ĐĐộộ ::

11111100 3311..220000´

VVĩĩ ĐĐộộ ::

448800 0077..003388´

Page 107: GPRS Server

90

Từ cấu trúc của bản tin để lấy được những thông tin : thời gian, vĩ độ, kinh độ,

tốc độ ta có lưu đồ thuật toán sau:

BEGIN

Data=

“$GPRMC”

Bỏ qua 1 phần tử

Lấy giá trị giờ

Lấy thông số vĩ độ

Bỏ qua 3 phần tử

Bỏ đi 3 phần tử

Y

N

Lấy thông số kinh độ

Lấy ngày tháng năm

Bỏ qua 7 phần tử

Lấy thông số tốc độ

Bỏ qua 3 phần tử

END

Data có “A”N

1

1

Hình 4.4 Lưu đồ thuật toán chương trình con nhận dữ liệu GPS

Page 108: GPRS Server

91

CHƯƠNG 5: XÂY DỰNG PHẦN MỀM SERVER

5.1. Yêu cầu và mục đích của hệ thống phần mềm

Chức năng giám sát:

- Hiển thị vị trí chính xác các phương tiện trên bản đồ.

- Thường xuyên update vị trí của phương tiện.

- Quan sát được lộ trình của phương tiện.

Chức năng điều khiển, cảnh báo:

Thông qua kết nối GPRS, Server kết nối và nhận dữ liệu từ thiết bị, thông qua

dữ liệu nhận về Server thực hiện tính toán các giá trị như: Vị trí, tốc độ, tình trạng xe...

từ đó đưa ra những điều khiển, cảnh báo cho phương tiện.

- Các điều khiển: gửi thông tin tới các trạm chờ xe buýt, gửi thông tin về thời

gian sắp đến trạm kế của xe buýt...

- Các cảnh báo như: Quá tốc độ, cảnh báo khi xảy ra tắc đường và hướng dẫn

xe buýt tìm được đường đi nhanh nhất...

Chức năng quản lý thông tin:

- Bao gồm chức năng theo dõi thông tin vị trí, tốc độ, và các trạng thái khác

của phương tiện.

Phần mềm Server linh hoạt, dễ cài đặt, sử dụng.

Page 109: GPRS Server

92

Hình 5.1 Sơ đồ hệ thống

Hệ thống phần mềm bao gồm 3 phần chính:

- Phần mềm server quản lý kết nối giữa trung tâm và User - là các thiết bị

phần cứng đặt trên xe buýt và các trạm chờ xe buýt.

- Phần mềm hiển thị giao diện quản lý tuyến xe và trạm chờ : Hiển thị thông

tin xe buýt và trạm chờ.

- Hiển thị vị trí của xe buýt và trạm chờ trên bản đồ offline.

5.2.Cấu trúc và sơ đồ giải thuật

5.2.1. Cấu trúc

Phần mềm xây dựng trên sơ đồ 3 lớp:

Hình 5.2 Sơ đồ phần mềm theo lớp

Page 110: GPRS Server

93

5.2.2. Sơ đồ giải thuật

Dữ liệu thu nhận qua

server

Phân tích và xử lý dữ liệu

Quản lý thông

tin về buýt và

trạm buýt

Hiển thị lên

bản đồ buýt

và trạm

buýt

Gửi xuống

buýt và

trạm xe

buýt

Thông tin vị tríTính toán

khoảng cách

Lưu trữ thông

tin

Hình 5.3 Sơ đồ giải thuật

Page 111: GPRS Server

94

5.3. Xây dựng phần mềm server quản lý phương tiện, ứng dụng giao thức TCP/IP

5.3.1 Ứng dụng giao thức TCP/IP trong việc liên kết các user qua mạng

internet.

5.3.1.1. Sơ lược về TCP server.

Đây là chương trình trên máy tính dùng để truyền nhận các gói TCP giữa các

thiết bị và máy tính được kết nối với đường truyền internet công cộng. Phần mềm do

nhóm tự thiết kế và thực hiện.

Phần mềm này thực hiện bằng công cụ socket cho phép ta biết được địa chỉ của

server mà thiết bị cần kết nối, để thực hiện các thao tác sau này.

Trong quá trình truyền dữ liệu qua mạng internet có 2 giao thức là UDP và TCP

dùng để truyền nhận dữ liệu. TCP có ưu điểm hơn là: Đảm bảo độ tin cậy của gói dữ

liệu được truyền đi do quá trình kết nối và bắt tay chặt chẽ giữa client (trong trường

hợp này là module SIM548) và server. Tuy tốc độ chậm nhưng vẫn phù hợp với các

ứng dụng. Vì thế nhóm chọn giao thức TCP để kết nối trong hệ thống.

5.3.1.2. Đơn vị điều khiển socket

Đây là công cụ được lựa chọn để xây dựng ứng dụng server. Thực tế quá trình

khảo sát cho thấy một số hạn chế sau:

Số lượng socket hạn chế: Có thể tạm hiểu một socket là một liên kết. Khi một

client thiết lập một kết nối với server, chương trình ứng dụng sẽ phải mở một socket

(hay một liên kết) để thao tác với kết nối đó. Do số lượng socket có hạn (65535

socket), bên cạnh đó số lượng client trong hệ thống là rất lớn, do đó cần quản lí thật

chặt các liên kết, hủy bỏ các kết nối không hiệu quả, không truyền nhận dữ liệu sau

một khoảng thời gian ngắn.

Thời gian xử lí khá chậm: Do giao thức TCP/IP đòi hỏi một quy trình bắt tay

chặt chẽ, gói dữ liệu trước khi truyền nhận phải chờ thông tin phản hồi của gói dữ liệu

trước đó, nên thời gian xử lí một gói TCP/IP lên đến khoảng 200 ms. Do đó cần có sự

cân đối giữa thời gian truyền nhận và số lượng liên kết cho phép.

5.3.1.3. Quy trình tạo một server trên máy tính sử dụng socket

Tạo một phần mềm server có khả năng mở socket liên kết, khả năng trao đổi dữ

liệu giữa server và client, chức năng hiển thị các liên kết và điều khiển các client.

Sau khi có được phần mềm, ta phải tạo một ứng dụng chạy trên mạng NAT (

mạng ảo hóa nội bộ) chỉ đến server, bằng cách mở một Port trên modem chỉ đến máy

Page 112: GPRS Server

95

tính đang chạy phần mềm server. Port này chứa IP của máy tính chạy server trên mạng

LAN.

Sau đó thông báo địa chỉ IP của modem ADSL cho client được biết. Cách biết

được IP của một kết nối, truy cập vào website www.IP2location.com.

Client sẽ dùng địa chỉ IP này để kết nối đến server.

5.3.2 Giải pháp ứng dụng của module Sim548 trong việc kết nối server- client

5.3.2.1. Đối với server.

Đầu tiên, Server thực hiện thao tác lắng nghe yêu cầu kết nối. Khi có một yêu

cầu thực hiện kết nối, thì cho phép thực hiện kết nối.

Khi kết nối thành công thì cho phép truyền nhận dữ liệu, nhưng nếu user ngắt

kết nối, kết nối sẽ bị hủy nhằm tiết kiệm tài nguyên. Qua thực tế kiểm nghiệm các

mạng GPRS hiện hành, mặc dù kết nối đã bị hủy bởi hệ thống mạng, nhưng phía

module và Server vẫn không nhận biết được trạng thái đường truyền đã bị hủy. Thao

tác này giúp giảm bớt rủi ro của các liên kết truyền nhận dữ liệu trong quá trình vận

hành hệ thống.

Xây dựng giao thức liên kết dữ liệu: Tùy theo mục đích sử dụng của dữ liệu, ta

có thể xây dựng một giao thức phù hợp. Đây là giao thức được sử dụng trong quá trình

thử nghiệm ứng dụng GPRS login: UserID, password dùng cho thao tác login_data,

nội dung dữ liệu dùng cho quá trình truyền nhận dữ liệu. Có thể bổ sung thêm các cấu

trúc dùng cho các thao tác điều khiển, nhận biết.

5.3.2.2. Module Sim548

Chú ý thời gian thực thi của mỗi lệnh và đặt thời gian “time-out” hợp lí. Đặc

biệt chú ý các lệnh “AT+CIPSTART” và “AT+CIPSEND”. Nếu thời gian thực thi lâu

hơn thời gian khảo sát, kết quả thực thi các lệnh này chắc chắn thất bại.

Do phía server đã chủ động được các liên kết, nên khi nhận được chuỗi

“<CR><LF>CLOSED<CR><LF>”, nếu có nhu cầu tiếp tục truyền nhận thông tin, cần

khởi tạo kết nối với server và “login” trong khoảng thời gian 1 phút kể từ khi kết nối

được thực hiện.

Nếu quá trình khởi tạo kết nối gặp khó khăn, nên reset lại module (bằng lệnh

“AT+CFUN=0” và “AT+CFUN=1”) và bắt đầu khởi tạo lại kết nối.

Khi nhận được chuỗi “<CR><LF>+CGREG: 0<CR><LF>” thông báo vị trí

hiện tại của module không được hỗ trợ sóng GPRS, nên tạm thời ngắt kết nối GPRS

Page 113: GPRS Server

96

cho đến khi chuyển đến vị trí có sóng GPRS (nhận biết bằng chuỗi

<CR><LF>+CGREG: 1<CR><LF>), hoặc chuyển sang phương pháp truyền nhận dữ

liệu khác, chẳng hạn như SMS.

5.3.3 Khả năng và mức độ đáp ứng của Server

Trên lý thuyết mức độ hỗ trợ của server có thể lên đến hàng ngàn user một lúc.

Tuy nhiên trong điều kiện đồ án này, nhóm chưa thực nghiệm được cụ thể, hiện mới

chỉ thử nghiệm với 3 user thật và 2-3 user ảo và hệ thống hoàn toàn đáp ứng.

Để có thể duy trì hệ thống thì cần có kế hoạch trong việc truyền và nhận dữ

liệu. Đặt các cơ chế cập nhật thời gian một cách chính xác và tiết kiệm. Hiện nay các

dữ liệu của user được cập nhật liên tục.

Tốc độ truyền nhận dữ liệu giữa module và server là khá nhanh, đạt mức

20kbps.

5.3.4 Vấn đề bảo mật của hệ thống

Có thể hình dung GPRS như một mạng LAN sử dụng đường truyền vô tuyến

thay cho đường truyền bằng cáp mạng. Mọi kết nối với mạng internet bên ngoài đều

thông qua 1 Gateway. Do đó mạng internet bên ngoài không thể “nhìn thấy” được địa

chỉ IP của thiết bị bên trong (trong trường hợp này là module SIM548), mà chỉ “nhìn

thấy” được địa chỉ IP của Gateway của mạng GPRS của nhà cung cấp dịch vụ.

Như vậy, server không thể phân biệt được module nào vừa thực hiện kết nối với

Server nếu chỉ dựa vào địa chỉ IP. Muốn làm được điều đó, thì sau khi thực hiện được

liên kết, module user phải gửi các gói dữ liệu cung cấp thông tin về module đó cho

server. Khi xây dựng hệ thống, để phân biệt được thông tin nhận được từ module nào

gửi đến, phải qui định cho mỗi module một “ID”, chẳng hạn như mã xe mà module đó

đang được gắn lên. Công việc này đồng nghĩa với việc ta đang xây dựng một lớp ứng

dụng dựa trên lớp TCP. Quy trình cung cấp thông tin về module cho Server tương tự

như một quy trình “đăng nhập” thường thấy trong các ứng dụng liên quan đến mạng

internet như Yahoo.

Tuy nhiên, module Sim548 lại có thể “nhìn thấy” địa chỉ IP của Server. Khi

module SIM548 nhận được gói dữ liệu được truyền đi từ Server, địa chỉ IP của Server

được hiển thị trong phần header của gói dữ liệu đó. Thông tin này giúp module phân

biệt được các gói dữ liệu nhận được và có được phương thức xử lí phù hợp.

Về phía Server, nếu chỉ dừng lại ở việc quy định “ID” cho mỗi module SIM548

thì vẫn có nhiều chỗ hở trong vấn đề bảo mật, vì chỉ cần nắm được thông tin về ID,

Page 114: GPRS Server

97

một thiết bị bên ngoài hệ thống đang xây dựng vẫn có thể kết nối, đăng nhập vào

Server và gây ra những khó khăn cho hệ thống. Vì thế để tăng cường phương thức bảo

mật hệ thống, sản phẩm được áp dụng một số giải pháp sau:

- Xây dựng một “tường lửa” (firewall): Tức là chỉ cho phép một số địa chỉ IP

được thực hiện kết nối với Server, bao gồm địa chỉ IP của các gateway của

nhà cung cấp dịch vụ (địa chỉ IP của mạng Viettel là “203.113.138.98”, của

mạng Mobi Fone là “210.245.59.148”), một số địa chỉ IP có thể nhận biết

được và không cho phép các địa chỉ IP lạ đăng nhập vào hệ thống. Hạn chế

của “tường lửa” là không phân biệt được thiết bị có thuộc hệ thống hay

không, ví dụ như một “hacker” có thể sử dụng một module SIM548 và dùng

mạng GPRS của Viettel để đăng nhập vào hệ thống, khi đó “tường lửa” sẽ

không phân biệt được đâu là module của “hacker”, đâu là module của hệ

thống, vì cả hai đều có chung một địa chỉ IP mà “tường lửa” cho phép vượt

qua, đó là địa chỉ IP của gateway của mạng Viettel, và “hacker” đã vượt qua

được “tường lửa” một cách dễ dàng.

- Xây dựng cơ chế “login”: Đây là bước sàng lọc tiếp theo sau “tường lửa”.

Sau khi đã thực hiện được kết nối với Server, các module phải cung cấp ID

và password phù hợp để Server nhận diện, và có thể được mã hóa/giải mã

nếu cần thiết.

- Xây dựng một giao thức riêng cho lớp ứng dụng: Cơ chế này phục vụ cho

quá trình sàng lọc thông tin được gửi đến từ các module SIM548. Những gói

dữ liệu không phù hợp với giao thức sẽ bị loại bỏ, vì dữ liệu đó chắc chắn

không phải do các module SIM548 trong hệ thống gửi đến.

- Xây dựng cơ chế mã hóa và giải mã dữ liệu: Cơ chế này chỉ nên được sử

dụng trong những hệ thống yêu cầu tính bảo mật cao, vì sẽ tiêu tốn nhiều tài

nguyên, và tăng gánh nặng về xử lí thuật toán cho các hệ nhúng được sử

dụng trong hệ thống.

5.3.5 Giải pháp GPRS

Ứng dụng GPRS trong truyền nhận dữ liệu mang lại nhiều ưu thế hơn so với

SMS:

- Chi phí duy trì hệ thống thấp hơn rất nhiều lần so với SMS.

- Tốc độ nhanh, dung lượng thông tin cho phép truyền tải lớn.

- Độ tin cậy cao.

Page 115: GPRS Server

98

- Chủ động được trạng thái đường truyền.

- Tương thích với nhiều mô hình ứng dụng, từ đơn giản đến phức tạp.

Tuy nhiên trong thực tế, hạn chế của GPRS là vùng phủ sóng, độ ổn định,

nhưng hiện nay các mạng cung cấp dịch vụ GPRS tại Việt Nam phủ sóng GPRS ở hầu

hết các khu vực từ thành phố đến nông thôn. Phương thức này có khả năng mang lại

một giải pháp hoàn thiện cho ứng dụng.

GPRS là một công nghệ khá hoàn thiện và phổ biến hiện nay, việc lựa chọn sử

dụng GPRS hoàn phù hợp và đáp ứng được yêu cầu đặt ra cũng như yêu cầu công

nghệ hiện nay.

Ngoài ra, ta còn kết hợp sử dụng GPRS và SMS để làm toàn diện hơn ứng

dụng. Đôi khi do điều kiện trí hiện tại của module không được hỗ trợ sóng GPRS, môi

trường, lỗi mạng ta không thể kết nối và sử dụng GPRS có thể tạm thời thay thế đường

truyền dữ liệu GPRS bằng dịch vụ SMS. Giải pháp này vừa tiết kiệm chi phí duy trì hệ

thống, vừa hoàn thiện ứng dụng.

5.4. Xây dựng phần mềm Server dùng Java

5.4.1 Java và lịch sử phát triển

Java là ngôn ngữ lập trình hướng đối tượng (tựa C++) do sun Microsystem

đưa ra vào giữa thập niên 90. Chương trình viết bằng ngôn ngữ lập trình java có thể

chạy trên bất kỳ hệ thống nào có cài máy ảo java (Java Virtual achine).

Ngôn ngữ lập trình Java do James Gosling và các công sự của Công ty Sun

Microsystem phát triển. Đầu thập niên 90, Sun Microsystem tập hợp các nhà nghiên

cứu thành lập nên nhóm đặt tên là Green Team. Nhóm Green Team có trách

nhiệm xây dựng công nghệ mới cho ngành điện tử tiêu dùng. Để giải quyết vấn đề

này nhóm nghiên cứu phát triển đã xây dựng một ngôn ngữ lập trình mới đặt tên

là Oak tương tự như C++ nhưng loại bỏ một số tính năng nguy hiểm của C++ và

có khả năng chạy trên nhiều nền phần cứng khác nhau. Cùng lúc đó world wide

web bắt đầu phát triển và Sun đã thấy được tiềm năng của ngôn ngữ Oak nên đã đầu

tư cải tiến và phát triển. Sau đó không lâu ngôn ngữ mới với tên gọi là Java ra

đời và được giới thiệu năm 1995.

Page 116: GPRS Server

99

5.4.2 Các khối chức năng thực hiện yêu cầu đặt ra

Hiển thịHiển thị

Bản đồ offline

Hiển thị vị trí

thông tin xe

và trạm chờ

Nhận và xử

lý dữ liệu

Lắng nghe,

chờ yêu cầu

Kết nối

Điều khiển

Gửi tín hiệu

tới xe bus, trạm

chờ xe bus

Hình 5.4 Sơ đồ khối Server

Khối kết nối: Thực hiện thao tác lắng, chờ yêu cầu kết nối từ user và sau khi có

yêu cầu kết nối thì thực hiện thao tác kết nối Server với user.

Khối xử lý dữ liệu: Dữ liệu khi được các user gửi về Server sẽ được phân tích

và tách thành các mục riêng biệt nhờ vào các hàm tách và phân chia dữ liệu. Dữ liệu

về vị trí, tốc độ. .. Dữ liệu về vị trí được quy đổi thành các tọa độ bao gồm: Kinh độ và

vĩ độ. Sau đó các dữ liệu này được lưu lại sử dụng.

Khối hiển thị: Sẽ tự động cập nhật các thông tin của phương tiện và hiển thị.

Khối hiển thị thông tin, vị trí xe buýt và trạm chờ trên bản đồ.

Khối điều khiển: dữ liệu sau khi xử lý sẽ được tính toán khoảng cách rồi thông

báo cho xe buýt và trạm chờ xe buýt.

5.4.3. Các công việc thực hiện để xây dựng phần mềm Server

Server thực hiện thao tác lắng nghe, chờ yêu cầu kết nối từ user và sau khi có

yêu cầu kết nối thì thực hiện thao tác kết nối Server với user.

Sau khi Server đã được kết nối với user, Server thực hiện nhận và xử lý dữ liệu

từ user gửi về. Dữ liệu user gửi về là một chuỗi các thông tin, gồm có kinh độ, vĩ độ,

tốc độ,...ta thực hiện các thao tác để tách riêng từng dữ liệu cần thiết thành các mảng

riêng biệt. Dữ liệu này sẽ phục vụ cho các khối hiển thị và khối điều khiển.

Page 117: GPRS Server

100

5.4.3.1. Xây dựng bản đồ offline

Bản đồ offline là một bản đồ tĩnh, mỗi khu vực nhất định được hiển thị bằng

một bản đồ, trong đồ án chúng em thực hiện sử dụng khảo sát khu vực Trường ĐH Sư

phạm kỹ thuật Thành Phố Hồ Chí Minh.

Từ tọa độ thật của phương tiện để hiển thị chính xác vị trí của phương tiện trên

bản đồ ta phải dựa và thuật toán cụ thể.

Thuật toán xác định vị trí phương tiện trên bản đồ:

Im.Width

Im.H

eig

ht

(Lngmax,Latmax)

Longitude

Latitude

X

Y

Hình 5.5 Tọa độ của đối tượng trên bản đồ

Đầu tiên, xác định tọa độ của bốn vị trí trên góc bản đồ, khi biết được tọa độ

của đối tượng, sử dụng công thức sau để xác định vị trí:

. ( )* .. (5.1)

.

Im Width X Lngmin X Lngmin Map widthIm Width

Map Width Lngmax Lngmin Lngmax Lngmin

. ( )* .. (5.2)

.

Im Height Y Latmin Y Latmin Map HeightIm Height

Map Height Latmax Latmin Latmax Latmin

(X,Y) là tọa độ vị trí cần xác định trên bản đồ

Page 118: GPRS Server

101

Map.Width là chiều rộng của bản đồ, Map.Height là chiều dài của bản đồ

Với vị trí của bốn góc bản đồ được lấy thực tế có tọa độ như sau:

latmax = 10.853750, lngmin = 106.771320

latmin=10.850996, lngmax=106.774484

5.4.3.2. Xây dựng thuật toán tính khoảng cách

Điểm mốc

Điểm mốc được lấy như trên hình vẽ, được coi là điểm xuất phát của xe. Con

đường được chia ra thành nhiều đoạn bằng nhau,mỗi đoạn cách nhau 10m. Tọa độ của

mỗi đoạn được đi lấy thực tế bằng module GPS.Chiều dài bus đi được tính từ mốc

bằng chiều dài của số đoạn bus đã đi qua nhân cho 10.

Latitude, longitude là vị trí thực của xe buýt gửi về qua module sim548. Dùng

hàm tính khoảng cách từ vị trí thực của xe tới tọa độ của con đường. Khoảng cách

được so sánh nếu nhỏ hơn 5m thì sẽ lấy tọa độ đang xét là tọa độ của xe buýt.

Công thức tính khoảng cách hai điểm theo kinh độ và vĩ độ:

Dist=6378000*acos(sin(latA)*sin(latB)+cos(latA)*cos(latB)*cos(lonB-lonA))

Dist: là khoảng cách giữa hai điểm.

latA,lonA: Vĩ độ, kinh độ của điểm A.

latB,lonB: Vĩ độ, kinh độ của điểm B.

Page 119: GPRS Server

102

CHƯƠNG 6: KẾT QUẢ THỰC NGHIỆM

6.1. Thực nghiệm đánh giá sai số của hệ thống

Tiến hành thực nghiệm đánh giá sai số nhận tín hiệu định vị GPS từ module hệ

thống. Ta tiến hành lấy tọa độ và kiểm tra tại 7 điểm: điểm 1, điểm 2, điểm 3,điểm 4,

điểm 5, điểm 6, điểm 7. Tại mỗi điểm ta thực hiện lấy toạ độ 10 lần, các điểm lần lượt

cách nhau 40m và điểm 1 cách điểm gốc 40m. Tiến hành đo và tính toán quy đổi ta thu

được các kết quả

Bảng 6.1 Kết quả thống kê đo được khoảng cách của điểm 1 so với điểm gốc từ

thực tế

STT Khoảng cách thực tế (m) Khoảng cách đo được từ mạch (m) Sai số (m)

1 40 42.05 2.05

2 40 38.22 1.78

3 40 38.32 1.68

4 40 37.71 2.29

5 40 39.02 0.98

6 40 37.95 2.05

7 40 36.08 3.92

8 40 37.95 2.05

9 40 34.78 5.22

10 40 35.33 4.67

Page 120: GPRS Server

103

Bảng 6.2 Kết quả thống kê đo được khoảng cách của điểm 2 so với điểm 1 từ

thực tế

STT Khoảng cách thực tế (m) Khoảng cách đo được từ mạch (m) Sai số (m)

1 80 80.30 0.3

2 80 81.37 1.37

3 80 81.30 1.3

4 80 80.93 0.93

5 80 81.14 1.14

6 80 81.37 1.37

7 80 81.59 1.59

8 80 81.85 1.85

9 80 82.08 2.08

10 80 82.32 2.32

Bảng 6.3 Kết quả thống kê đo được khoảng cách của điểm 3 so với điểm 1 từ

thực tế

STT Khoảng cách thực tế (m) Khoảng cách đo được từ mạch (m) Sai số (m)

1 120 117.66 2.34

2 120 117.61 2.39

3 120 118.51 1.49

4 120 116.92 3.08

Page 121: GPRS Server

104

5 120 117.83 2.17

6 120 114.63 5.37

7 120 112.05 7.95

8 120 113.34 6.66

9 120 117.82 2.18

10 120 123.35 3.35

Bảng 6.4 Kết quả thống kê đo được khoảng cách của điểm 4 so với điểm 3 từ

thực tế

STT Khoảng cách thực tế (m) Khoảng cách đo được từ mạch (m) Sai số (m)

1 160 157.45 2.55

2 160 160.76 0.76

3 160 161.45 1.45

4 160 161.93 1.93

5 160 161.75 1.75

6 160 161.38 1.38

7 160 161.60 1.6

8 160 162.49 2.49

9 160 162.80 2.8

10 160 162.75 2.75

Page 122: GPRS Server

105

Bảng 6.5 Kết quả thống kê đo được khoảng cách của điểm 5 so với điểm 4 từ

thực tế

STT Khoảng cách thực tế (m) Khoảng cách đo được từ mạch (m) Sai số (m)

1 200 205.97 5.97

2 200 205.65 5.65

3 200 203.49 3.49

4 200 200.17 0.17

5 200 200.02 0.02

6 200 202.55 2.55

7 200 200.76 0.76

8 200 204.04 4.04

9 200 205.88 5.88

10 200 208.73 8.73

Bảng 6.6 Kết quả thống kê đo được khoảng cách của điểm 6 so với điểm 5 từ

thực tế

STT Khoảng cách thực tế (m) Khoảng cách đo được từ mạch (m) Sai số (m)

1 40 39.38 0.62

2 40 38.46 1.54

3 40 37.63 2.37

4 40 35.16 4.84

5 40 36.37 3.63

Page 123: GPRS Server

106

6 40 39.05 0.95

7 40 35.89 4.11

8 40 36.13 3.87

9 40 37.64 2.36

10 40 36.76 3.24

Bảng 6.7 Kết quả thống kê đo được khoảng cách của điểm 7 so với điểm gốc từ

thực tế

STT Khoảng cách thực tế (m) Khoảng cách đo được từ mạch (m) Sai số (m)

1 80 84.89 4.89

2 80 84.503 4.503

3 80 84.78 4.78

4 80 84.66 4.66

5 80 80.35 0.35

6 80 82.12 2.12

7 80 78.087 1.913

8 80 83.46 3.46

9 80 74.69 5.31

10 80 86.15 6.15

Từ bảng trên ta thấy sai số trung bình của mạch phần cứng: 2.92m

So với chiều dài của xe buýt thì sai số của hệ thống trên hoàn toàn chấp nhận

được.

Page 124: GPRS Server

107

6.2. Thực nghiệm đánh giá tính ổn định của hệ thống

Tiến hành thực nghiệm đánh giá độ ổn định của hệ thống trong điều kiện

chung: xe di chuyển với vận tốc 5km/h, quãng đường 820m và các điều kiện thời tiết

khác nhau, ta thu được biểu đồ thể hiện mối liên quan đến thời tiết của hệ thống.

010203040

50607080

lần

1

lần

2

lần

3

lần

4

lần

5

lần

6

lần

7

lần

8

lần

9

lần

10

số lần thử

số lầ

n t

ính

to

án đượ

c

thời tiết tốt thời tiết xấu

Hình 6.1 Biểu đồ tính ổn định của hệ thống

Dựa trên số lần mạch phần cứng kết nối và truyền dữ liệu kinh độ và vĩ độ về

phần mềm server ta rút ra nhận xét: khi thời tiết tốt ( trời nắng, ít mây…) hệ thống hoạt

động ổn định truyền nhận dữ liệu dễ dàng, số lần truyền dữ liệu là liên tục và hầu như

tuyệt đối. Do đó hệ thóng sẽ hoạt động tốt trong điều kiện thời tiết ít mây, trời nắng

đẹp

Nguyên nhân: Khi thời tiết xấu số vệ tinh GPS mà thiết bị thu GPS nhìn thấy sẽ

ít, từ đó tọa độ nhận được thiếu chính xác bị lệch, khoảng giá trị này rơi ra ngoài

khoảng sai số cho phép của việc tính toán của phần mềm. Do đó server sẽ không tính

toán được khoảng cách thực tế, số lần tính toán được sẽ ít hơn, không gửi được các

thông báo và lệnh điều khiển thường xuyên về module.

Page 125: GPRS Server

108

CHƯƠNG 7: CÁC KẾT QUẢ ĐẠT ĐƯỢC, KẾT LUẬN VÀ

HƯỚNG PHÁT TRIỂN

7.1. Các kết quả đạt được

7.1.1. Thiết kế chế tạo thành công mạch phần cứng, hiển thị các thông số.

Hình 7.1 Mạch sản phẩm hoạt động

Hoàn thiện mạch module GPS và GPRS, thu thập dữ liệu GPS, hiển thị chính

xác các thông tin vị trí. Nhận tín hiệu mạng GSM và kết nối GPRS.

Mạch hoàn chỉnh, nhỏ gọn và tiện dụng.

Page 126: GPRS Server

109

7.1.2. Xây dựng phần mềm server có chức năng giám sát và quản lý

Hình 7.2 Giao diện phần mềm server.

Các chức năng:

- Cơ chế trả lời và phúc đáp kết nối. Thực hiện kết nối với các client.

- Quản lý các kết nối với các user.

- Trao đổi dữ liệu hai chiều giữa server và user

- Mô tả các kết nối của hệ thống, thông tin về địa chỉ IP của server

- Phần mềm có giao diện trực quan. Có thể quan sát trực tiếp các phương tiện

trên các bản đồ .

- Hiển thị các thông tin về phương tiện ngay trên các thanh trạng thái.

Page 127: GPRS Server

110

7.1.3. Bản đồ offline

Hình 7.3 Giao diện bản đồ offline.

7.1.4. Ý nghĩa thực tiễn

Đối với nhà điều hành phương tiện công cộng, dễ dàng trong việc quản lý giám

sát các tuyến xe buýt, tiết kiệm nhân lực trong việc điều hành và người thông báo theo

xe buýt. Kết hợp với mạng lưới quản lý giao thông khác đưa ra thông báo dự đoán

chính xác cho người sử dụng xe buýt (ví dụ trường hợp kẹt xe có thể thông báo tới

trạm chờ để người sử dụng biết được)

Với người sử dụng xe buýt, các thông báo bằng quang báo và âm thanh rõ ràng

ở đầu và cuối trạm được thực hiện một cách tự động giúp người đi nhận được thông tin

hỗ trợ chính xác nhất, hướng dẫn người sử dụng lên xuống xe đúng cửa không gây lộn

xộn

Page 128: GPRS Server

111

7.2. Kết luận

7.2.1 Kết luận

Xây dựng được hệ thống trung tâm quản lý có khả năng giám sát và điều hành

được rất nhiều tuyến xe buýt. Ngoài các tính năng ban đầu, có khả năng tích hợp nhiều

ứng dụng khác nhau.

Thành công trong việc chế tạo phần cứng và phần mềm: Sản phẩm phần cứng

nhỏ gọn, đa chức năng, đáp ứng đầy đủ các yêu cầu về xử lý tín hiệu, truyền tải số

liệu, giao tiếp người dùng… Bên cạnh đó với phần mềm quản lý hoàn chỉnh, giao diện

trực quan, có tính ổn định cao giúp cho người sử dụng thao tác nhanh chóng, dễ dàng

Về cá nhân, nhóm cũng đã thu thập được lượng kiến thức lớn từ việc thiết kế,

chế tạo mạch đến việc thiết kế và viết ứng dụng phần mềm. Qua thực tế làm việc,

nhóm cũng đã hiểu sâu hơn về hệ thống thông tin di động, định vị GPS cũng như mạng

lưới thông tin, bên cạnh đó là các yếu tố liên quan giữa bài toán kỹ thuật và kinh tế,

hiệu quả và giá thành.

7.2.2. Các vấn đề còn chưa được giải quyết

Dữ liệu bản đồ số hóa là sản phẩm thương mại, hiện tại hệ thống chưa tích hợp

được đầy đủ các dữ liệu bản đồ.

Vấn đề quản lý cơ sở dữ liệu mới chỉ dừng lại ở mức đơn giản.

7.2.3. Đánh giá

Với khoảng thời gian hạn chế, nhóm đã phân tích và tìm hiểu về các kiến thức

liên quan đến hệ thống, bản thân đề tài có rất nhiều vấn đề cần giải quyết nên hẳn còn

nhiều thiếu sót.. Dù vậy, nhóm tự đánh giá quá trình thực hiện thành công trong việc

đưa ra một giải pháp hoàn chỉnh và giá thành hạ trong vấn đề quản lý hệ thống các

tuyến xe buýt, tạo sự thuận tiện thoải mái cho người sử dụng xe buýt

Đánh giá về khả năng ứng dụng thực tiễn, nhóm cho rằng sản phẩm hoàn toàn

có thể ứng dụng thực tế đuợc ngay. Tuy nhiên vấn đề chuẩn bị cơ sở vật chất phải chu

đáo, hạ tầng cơ sở mạng phải được đảm bảo. Với những ứng dụng phức tạp cần có thời

gian thử nghiệm và đo đạc một cách chính xác. Ngoài ra một số tính năng chưa hoàn

thiện cũng cần phải bổ sung để có thể đem lại nhiều giá trị ứng dụng hơn.

Page 129: GPRS Server

112

Cuối cùng, nhóm hy vọng những kết quả đã đạt được sẽ giúp ích một phần nào

đó cho những người nghiên cứu cùng lĩnh vực tham khảo và tiếp tục phát triển thành

các giải pháp hiệu quả, hoàn thiện và có tính ứng dụng cao hơn.

7.3. Hướng phát triển của đề tài

- Phát triển hệ thống quản lý nhiều xe: Hệ thống xe taxi, xe buýt, xe tải…

- Thực hiện điều khiển giám sát toàn diện hơn phương tiện trong hệ thống:

• Trạng thái tắt/mở máy

• Mô phỏng toàn bộ lộ trình của xe đã đi qua.

• Giám sát xe trên nền bản đồ 64 tỉnh thành Việt Nam.

• Thông báo về trung tâm khi xe có sự cố

• Đo mức nhiên liệu trong bình chứa

• Tích hợp camera theo dõi …

- Xây dựng trang web quản lý trực tuyến với hệ cơ sở dữ liệu hoàn thiện.

- Đưa sản phẩm vào ứng dụng trong thực tế và có tính thương mại cao.

Page 130: GPRS Server

113

TÀI LIỆU THAM KHẢO

[1] Wikipedia, Hệ thống định vị toàn cầu ( 10/07/2010), http://vi.wikipedia.org/

[2] Ted Van Sickle, Programming Microcontrolers in C, Second Edition, LLH

Technology Publishing, 2001

[3] Đoàn Văn Ban, Lập trình hướng đối tượng với JAVA, nhà xuất bản khoa học kỹ

thuật, Hà Nội, 2005

[4] Richard Barnett, Sarah Cox and Larry O’Cull, Embedded C programming And

the Atmel AVR, Second Edition, 2006

[5] Bill Dudney, Jonathan Lehr, Bill Willis, LeRoy Mattingly, Mastering JavaServer

Faces,Wiley Publishing, Canada, 2004