Định vị GPS và truyền thông GSM
Trang 1ARM 7 GPS/GSM/GPRS Development Kit –A7GG
User Manual
Trang 2 A7GG Userguide Rev 1.0 : phiên bản đầu tiên
A7GG Userguide Rev 1.1 : phiên bản titans
Copyright © 2011 Titans Technology Tài liệu này thuộc bản quyền của Titans Technology ( www.titans.com.vn ), chúng tôi hy vọng các bạn khi sử dụng với bất kì mục đích nào bằng bất cứ hình thức nào bao gồm sao chép, in, copy, trích dẫn… cần phải ghi
rõ xuất xứ nguồn gốc từ trang web của chúng tôi Hãy truy xuất trang web của chúng tôi thường xuyên để có những cập nhật mới nhất về các thiết bị, hay những bài viết mới nhất Hy vọng sẽ cùng các bạn phát triển nền công nghiệp điện tử Việt Nam
Trang 3Mục lục
1 Giới thiệu 4
1.1 Giới thiệu A7GG 4
1.2 Chi tiết 5
2 Mô tả phần cứng 6
2.1 Sơ đồ khối 6
2.2 Sơ đồ mạch 6
2.3 Layout 7
3 Connector 8
4 Quick Start guide 10
5 Demo 17
6 Phụ lục 21
Trang 4Tài liệu này mô tả về thiết bị, cũng như các thông tin cần thiết để các bạn sử dụng trong quá trình tham khảo hoặc phát triển ứng dụng dựa trên sản phẩm này Để cập nhật những thay đổi mới nhất, vui lòng truy cập trang web www.titans.com.vn của chúng tôi Nếu có bất cứ ý kiến đóng góp cũng như cần hỗ trợ, tư vấn thêm thông tin về sản phẩm, vui lòng gởi mail đến địa chỉ email: support@titans.com.vn
1.1 Giới thiệu A7GG
Hệ thống định vị toàn cầu GPS kết hợp với giải pháp GSM/GPRS cho phép chúng
ta thực hiện các ứng dụng tracker rất phổ biến trong các hệ thống giao thông dân dụng hiện nay như thiết bị hộp đen, quản lý phương tiện, theo dõi các đối tượng chuyển động
… thậm chí là các ứng dụng quân sự như máy bay, tàu chiến, và theo dõi hành trình tên lửa…
Kit A7GG sử dụng vi điều khiển ARM7TDMI 32bit của NXP là LCP2148 , có tốc
độ lên tới 60Mhz kết hợp với module tích hợp GPS và GSM/GPRS SIM548 của hãng SIMCOM rất thông dụng trên thị trường Do đó A7GG cho phép thực hiện hầu hết các ứng dụng GPS hay GSM như đã đề cập ở trên
Trang 51.2 Chi tiết
Bộ kit A7GG bao gồm các phần sau :
1 Kit A7GG bao gồm Chip vi xử lý LPC2148
o 32-bit ARM7TDMI-S microcontroller in a LQFP64 package
o 40 kB of on-chip static RAM and 512 kB of on-chip Flash program memory
o Two 10-bit A/D converter provides 14 analog inputs
o Single 10-bit DAC provides variable analog output
o Multiple serial interfaces including two UARTs (16C550), two Fast buses (400 kbit/s)
I2C-o 60 MHz maximum CPU clI2C-ock available frI2C-om prI2C-ogrammable I2C-on-chip PLL
o Control via AT commands (GSM 07.07 ,07.05 and SIMCOM enhanced AT Commands)
Một cáp nguồn DC
Cáp và antenna GPS, GSM
Một LCD 16x2
Các tài liệu hướng dẫn, phần mềm viết code, và các thông tin đi kèm
Source code demo của kit, các ví dụ mẫu được viết cho chip LPC2148
Trang 6SD Card
Hình 3 : A7GG Block diagram
2.2 Sơ đồ mạch
Trang 7Hình 4 : Schematic
2.3 Layout
Hình 5 : A7GG Layout
Trang 9 SIM Connector để gắn thẻ sim
Hình 9: SIM Connector
Trang 104 Quick Start guide
Tiếp theo, chúng ta sẽ thực hiện một ví dụ cơ bản với A7GG Development Kit
Trước tiên để có thể lập trình được cho vi xử lý ARM trên KeilC, chúng ta phải tải bộ
mdk420.exe với thư viện và bộ Compiler cho hầu hết các dòng ARM tại trang chủ của KeilC
(http://www.keil.com/arm/mdk.asp)
Tạo Project với Keil C uVision4
Khởi động cửa sổ làm việc với Keil C, vào menu Project chọn New uVision Project
Trang 11Tại khung Data base chúng ta sẽ tìm chip LPC214x với Vendor là NXP(founded by Philips) , cửa sổ bên trái sẽ mô tả các tính năng được tích hợp trên chip được sử dụng rồi nhấn OK Tiếp đến chúng ta nhấn Yes khi cửa sổ yêu cầu add file Startup.s xuất hiện
Kết thúc tạo Project Tiếp theo chúng ta sẽ tạo file để lập trình với ngôn ngữ được lưa chọn, C hoặc C++ hoặc ASM
Vào menu File chọn New hoặc nhấn tổ hợp Ctrl+N để tạo một file chương trình mới Save lại
với tên được lựa chọn, ở đây đặt là main.c(biên dịch với C)
Tại khung làm việc có tên là Project nhấp chuột phải vào Source group 1 chọn Add Files to
Group , tìm tới file mới tạo là main.c để thêm file vào Project
Trong file chương trình main.c, với khai bao ban đầu cho trình biên dịch là thư viện của chip được sử dung
Trang 12Config cho Project bằng cách vào menu Project ->Options for Targets 1 Tại thẻ Output tick
vào dòng chữ Creat HEX File,ở đây chúng ta sẽ sử dụng cổng COM để nạp chương trình cho ARM do đó không cần thiết phải thiết lập tại thẻ Utilities Cửa sổ này phù hợp với việc nạp
chương trình xuống ARM trực tiếp từ KeilC với mạch nạp được KeilC hỗ trợ như ULINK,
JLINK
Sau đó vào Project - >Build Target để tạo file HEX và nạp xuống ARM qua cổng JTAG
Chương trình cơ bản để giao tiếp GPIO
Để có thể giao tiếp với GPIO của ARM LPC2148 một cách nhanh nhất mà không cần thiết phải tác động tới các vùng thanh ghi, chúng ta sẽ tiến hành xây dựng một thư viện
để giao tiếp với các GPIO này và sử dụng chúng cho các chương trình sau
Dưới đây là thư viện GPIO đã được nhóm thực hiện xây dựng trên nền tảng ngôn ngữ C:
Tên thư viện:
Trang 13Tên hàm Mô tả Cú pháp
gọi để khai báo chân sử dụng cho chip ARM, khởi tạo nó vào chế độ GPIO
HARM_GPIO_init(char PINSELECT) PINSELECT ở đây có dạng là GPIO_<0:31> Ví dụ:
GPIO_0
năng thiết lập lên chân GPIO tương ứng sau khi đã được khởi tạo lên mức logic HIGH
HARM_GPIO_set(char PINSELECT)
năng thiết lập lên chân GPIO tương ứng sau khi đã được khởi tạo về mức logic LOW
HARM_GPIO_clr(char PINSELECT);
HARM_GPIO_read Hàm được gọi có
chức năng đọc và trả về giá trị của GPIO tương ứng
GPIO_Value=HARM_GPIO_read(char PINSELECT);
GPIO_Value ở đây sẽ có giá trị là 0 hoặc 1
Để sử dụng được các hàm này, chúng ta sẽ copy 2 file HARM_GPIO.h và
HARM_GPIO.c vào thư mục chứa project của chúng ta Sau đó thêm khai báo cho
Processor như sau:
Trang 14Chúng ta có thể sử dụng một nền phần cứng ARM nào đó hay một chương trình mô phỏng về ARM LPC2148 để thực thi chương trình trên, có thể là Protues hay trình biên dịch KeilC – ARM cũng hỗ trợ mô phỏng cho dòng ARM này
Dưới đây là hình ảnh mô phỏng trên KeilC:
Chương trình cơ bản để giao tiếp UART
Để giao tiếp với UART được một cách thuận tiện và nhanh nhất, nhóm đã xây dựng một thư viện để giao tiếp UART với các ngoại vi khác
Thư viện cho cả 2 UART gồm có:
Hàm sử dụng với UART0:
HARM_UART0_setup Hàm khởi tạo UART0 vào
chế độ truyền dữ liệu nối
HARM_UART0_setup(char UART,Uint32 BAUDRATE,char PARITY_BIT,Uint8
Trang 15“Hello World” là chuỗi cần gửi ra UART0
chế độ truyền dữ liệu nối tiếp
HARM_UART0_setup(char UART,Uint32 BAUDRATE,char PARITY_BIT,Uint8 DATA_BIT,Uint8 STOP_BIT)
HARM_SendToUART1 Hàm gửi chuỗi dữ liệu ra
Trang 17B Demo mở rộng GPS/GPRS (Cần phải có server GPRS)
Khi bật nguồn, Kit A7GG cho phép ta test GSM bằng cách gởi tin nhắn tới số cố định
Trang 18
Ta cũng có thể test GPS, Dữ liệu sẽ được đưa thẳng lên trang web miễn phí :
http://arm-gps.co.cc/ thông qua GPRS
Trang 19Dữ liệu tọa độ vị trí hiện tại được gởi lên server thông qua GPRS
Một số lĩnh vực ứng dụng
- Ứng dụng GPS trong lĩnh vực định vị giám sát:
Trang 20- Ứng dụng GSM/GPRS trong lĩnh vực điều khiển/ giám sát từ xa
Trang 216 Phụ lục