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

Một phần của tài liệu ỨNG DỤNG CÔNG NGHỆ GPS GPRS GIÁM SÁT HỆ THỐNG XE BUÝT (Trang 83 - 130)

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

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.

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.

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.

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.

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.

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

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

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ư

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.

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.

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ế.

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

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

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)

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>

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.

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

Một phần của tài liệu ỨNG DỤNG CÔNG NGHỆ GPS GPRS GIÁM SÁT HỆ THỐNG XE BUÝT (Trang 83 - 130)