Định vị GPS và truyền thông GSM
ARM 7 GPS/GSM/GPRS Development Kit –A7GG ARM 7 GPS/GSM/GPRS Development Kit User Manual Rev : 1.1 Date: 5/2012 Copyright © 2011 Titans Technology www.titans.com.vn Rev1.0 - 11/2011 www.titans.com.vn 2 Hardware Revision A7GG Rev 1.0 : phiên bản đầu tiên. LPC2148 ARM7-TDMI. JTAG Connector. SIM548 GPS/GSM/GPRS A7GG Rev 1.1 : Sửa nguồn 3V3/5V. Sửa JTAG Interface. Sửa layout. Document Revision 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. Rev1.0 - 11/2011 www.titans.com.vn 3 Mụ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 Rev1.0 - 11/2011 www.titans.com.vn 4 Tà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 Giới thiệu 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 . Hình 1: Kit phát triển A7GG Rev1.0 - 11/2011 www.titans.com.vn 5 1.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 I2C- buses (400 kbit/s). o 60 MHz maximum CPU clock available from programmable on-chip PLL. LCD 16x2 Switching power supply USB Connector MMC/SD Card Conenctor RTC in LPC2148 Built-in Temperature DS18B20 Module SIM548 GPS/GSM/GPRS o Quad-Band 850/900/1800/1900MHz o GPRS multi-slot class 10 o GPRS mobile station class B o Compliant to GSM phase 2/2+ – Class 4 (2 W @ 850/900 MHz) – Class 1 (1 W @ 1800/1900MHz) 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. Rev1.0 - 11/2011 www.titans.com.vn 6 2 Mô tả phần cứng 2.1 Sơ đồ khối UART0 USB Power RTC JTAG 14.7456Mhz UART1 SIM548 LPC2148 32-bit ARM7TDMI Expension Connector Button Temp LCD SD Card Hình 3 : A7GG Block diagram 2.2 Sơ đồ mạch Rev1.0 - 11/2011 www.titans.com.vn 7 Hình 4 : Schematic 2.3 Layout Hình 5 : A7GG Layout Rev1.0 - 11/2011 www.titans.com.vn 8 3 Connector A7GG có một connector mở rộng 20 chân cho phép mở rộng các thiết bị ngoại vi Hình 6 : Expension Connector JTAG Connector cho Debug/Programming Hình 7: JTAG Connector LCD Connector hiển thị chữ Hình 8: LCD Connector Rev1.0 - 11/2011 www.titans.com.vn 9 SIM Connector để gắn thẻ sim Hình 9: SIM Connector Rev1.0 - 11/2011 www.titans.com.vn 10 4 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 Sau đó sẽ xuất hiện cửa sổ yêu cầu nơi lưu và tên của Project, ở đây Project có tên là A7GG_pjt_KeilC. Sau khi lưu Project lại KeilC sẽ yêu cầu chúng ta chọn dòng chip sử dụng, ở đây ARM LPC2148 của NXP được sử dụng cho board phát triển A7GG [...]... A7GG cho phép ta test GSM bằng cách gởi tin nhắn tới số cố định Rev1.0 - 11/2011 17 www.titans.com.vn Ta cũng có thể test GPS, Dữ liệu sẽ được đưa thẳng lên trang web miễn phí : http://armgps.co.cc/ thông qua GPRS Rev1.0 - 11/2011 18 www.titans.com.vn Dữ 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: Rev1.0 - 11/2011... 11/2011 16 www.titans.com.vn 5 Demo A Demo GSM /GPS A7GG khi bán đã được nạp sẵn Demo gởi tin nhắn tới số đt cố định và hiển thị tọa độ GPS lên LCD Souce code của demo này sẽ được cung cấp khi các bạn mua kit A7GG Chú ý là tín hiệu GPS có thể bị mất tín hiệu khi ở trong nhà hoặc khi mới khởi động, bạn cần để an ten ra ngoài trời và chờ trong vài phút B Demo mở rộng GPS/ GPRS (Cần phải có server GPRS) Khi... 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 và PC qua UART0 Với: UART : lựa chọn UART0 BAUDRATE: tốc độ truyền dữ liệu PARITY_BIT: lựa chọn bit chẵn lẻ DATA_BIT: số lượng bit dữ liệu STOP_BIT: số lượng bit STOP printf(“Hello World!\r\n”); “Hello World” là chuỗi cần gửi ra UART0 \r mã CR \n mã NL Value = kbhit(); Value ở đây sẽ có giá trị là 0 hoặc 1 Hàm sử dụng với UART1: Tên hàm HARM_UART1_setup Mô tả Hàm khởi tạo UART1 vào chế độ truyền. .. vào chế độ truyền dữ liệu nối tiếp HARM_SendToUART1 Hàm gửi chuỗi dữ liệu ra UART1 GetFromUART1 Hàm lấy dữ liệu từ UART1 và lưu vào bộ đệm Cú pháp HARM_UART0_setup(char UART,Uint32 BAUDRATE,char PARITY_BIT,Uint8 DATA_BIT,Uint8 STOP_BIT) Với: UART : lựa chọn UART1 BAUDRATE: tốc độ truyền dữ liệu PARITY_BIT: lựa chọn bit chẵn lẻ DATA_BIT: số lượng bit dữ liệu STOP_BIT: số lượng bit STOP HARM_SendToUART1(“HelloWorld!\r\n”;... đơn giản gửi dữ liệu từ ARM lên máy tính thông qua UART0: Rev1.0 - 11/2011 15 www.titans.com.vn #include “LPC2148.h” #include “HARM_UART.h” int main(void) { /*setup UART0 */ /* * Baudrate: 9600 * Parity bit: None * Data bit: 8 * Stop bit: 1 * */ HARM_UART0_setup(UART0,9600,’N’,8,1); printf(“www.hlab.com.vn\r\n”); printf(“H-LABORATORY\r\n”); printf(“ARM7 GPS/ GSM/ GPRS Development Kit Demo Example \r\n”);... 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ó: File Name HARM_UART.h HARM_UART.c Description File header cho chương trình File chứa chương trình mở rộng ở file header Hàm sử dụng với UART0: Tên hàm Mô tả HARM_UART0_setup Hàm khởi tạo UART0 vào chế độ truyền dữ liệu nối tiếp Rev1.0 - 11/2011... 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... 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: File Name HARM_GPIO.h HARM_GPIO.c Description File mở rộng hàm con và các tham số cho chương trình File chứa các chương trình sử dụng để giao tiếp với GPIO Tên hàm... HARM_GPIO_read Mô tả Hàm này được gọi để khai báo chân sử dụng cho chip ARM, khởi tạo nó vào chế độ GPIO Hàm có chức 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 Hàm có chức 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 Hàm được gọi có chức năng đọc và trả về giá trị của GPIO tương ứng Cú pháp HARM_GPIO_init(char PINSELECT) PINSELECT . ARM 7 GPS/ GSM/ GPRS Development Kit –A7GG ARM 7 GPS/ GSM/ GPRS Development Kit User Manual Rev : 1.1. “LPC2148.h” #include “HARM_GPIO.h” int main(void) { /*init GPIO */ HARM_GPIO_init(GPIO_0); /*set pin to GPIO*/ HARM_GPIO_init(GPIO_1); /*set GPIO_0 to LOW*/ HARM_GPIO_clr (GPIO_0);. Data bit: 8 * Stop bit: 1 * */ HARM_UART0_setup(UART0,9600,’N’,8,1); printf(“www.hlab.com.vn ”); printf(“H-LABORATORY ”); printf( ARM7 GPS/ GSM/ GPRS Development Kit Demo Example