Thu tín hiệu GPS hiển thị lên LCD
Trang 1NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
-TP HCM, ngày tháng năm GIÁO VIÊN HƯỚNG DẪN
Trang 2LỜI NÓI ĐẦU
Từ thời xa xưa con người đã biết sử dụng nhiều cách để xác định được vị trí như
là các vì sao, các ngọn núi, mặt trời, Ngày nay với sự ra đời của công nghệ kỹ thuật con người đã phát minh ra đựơc nhiều thiết bị để xác định vi trí một cách chính xác tuyệt đối nhờ vào các vệ tinh nhân tạo bay xung quanh trái đất, chúng phát ra tín hiệu gọi là tín hiệu gps
Hệ thống định vị toàn cầu (Gobal Positioning System - GPS) là hệ thống xác định vị trí dựa trên vị trí của các vệ tinh nhân tạo Trong cùng một thời điểm, ở một vị trí trên mặt đất nếu xác định được khoảng cách đến ba vệ tinh (tối thiểu) thì sẽ tính được toạ
độ của vị trí đó
GPS được thiết kế và quản lý bởi Bộ Quốc phòng Hoa Kỳ Trước đây, hệ thống này chỉ được sử dụng cho mục đích quân sự của Mỹ, nhưng ngày nay chính phủ Hoa Kỳ cho phép mọi người sử dụng nó miễn phí, bất kể quốc tịch Dựa trên đặc tính của hệ thống GPS, ngày càng nhiều công ty đã phát triển các ứng dụng GPS phục vụ dân sự Những ứng dụng này ngày càng được áp dụng rộng rãi không chỉ cho một số ngành chức năng như trắc địa, hàng hải,…mà còn phục vụ đời sống dân sinh như: thiết bị định vị xe cộ, thiết bị định vị cho người già, trẻ nhỏ hoặc vật nuôi, thiết bị dẫn đường
vệ tinh
Trang 3
LỜI CẢM ƠN
Trường CĐ KỸ THUẬT CAO THẮNG là ngôi trường mà em đan theo học, nơi đây có các thầy cô hết lòng truyền đạt những kiến thức cho chúng em đặc biệt là các thầy cô trong khoa ĐIỆN TỬ TIN HỌC Khoa có ngành điện tử viễn thông chúng em đan theo học Suốt thời gian chúng em học đã thu thập được những kiến thức bổ ích cho công việc sau này và thật nhiều lời khuyên qúi báo về học tập cung như về cách sống của các thầy cô đặt biệt là thầy Nguyễn Ngọc Tùng
Chúng em xin cảm ơn Thầy Nguyễn Ngọc Tùng giáo viên hướng dẫn đã nhiệt
tình giúp đỡ và cho em những lời chỉ dạy qúi báu,thầy đã đưa ra ý tưởng về một mảng
đề tài mới định vị toàn cầu GPS cho chúng em thực hiện Dưới sự hướng dẫn của thầy chúng em đã thực hiện đồ án môn Thiết Bị Đầu Cuối với đề tài Thu Tín Hiệu GPS Hiển Thị Lên LCD.Một lần nửa chúng em chân thành cảm ơn Thầy
TP.HCM, tháng 12 năm 2011
Trang 4
CHƯƠNG 1 TỔNG QUAN VỀ HỆ THỐNG ĐỊNH VỊ TOÀN CẦU
GPS
Ngày nay cùng với sự phát triển của thế giới thì thông tin ngày càng trở nên quan
trọng, là một phần không thể thiếu trong cuộc sống, nhu cầu có thông tin và sử dụng thông tin ngày càng được chú trọng.Do đó, để đáp ứng nhu cầu này ngày càng có nhiều phương thức, phương tiện để khai thác thông tin với mục đích là nâng cao hiệu quả và chất lượng thông tin Để thực hiện quá trình truyền và thu nhận thông tin người
ta có thể chia ra làm hai loại : thông tin mặt đất và thông tin vệ tinh Trong đó thông tin vệ tinh được đánh giá là có tính ổn định cao hơn với khả năng phủ sóng rộng với mọi địa hình, trong chương này chúng em xin giới thiệu về thông tin vệ tinh
GPS là chữ viết tắt của từ Global Positioning System : Hệ thống định vị toàn cầu GPS được thiết kế và bảo quản bởi Bộ Quốc Phòng Hoa Kỳ, và được chính phủ Hoa Kỳ cho phép mọi người sử dụng nó miễn phí Hệ thống GPS bao gồm 24 vệ tinh (thực tế chỉ có 21 vệ tinh hoạt động), vệ tinh ban đầu được phóng vào năm 1978 và toàn bộ
24 vệ tinh đưuọc phóng lên quỹ đạo vào năm 1994, Các vệ tinh hoạt động dựa vào năng lượng mặt trời, mỗi vệ tinh nặng 1,5 tấn và dài 5m
GPS ban đầu chỉ dành cho các mục đích quân sự, nhưng từ năm 1980 chính phủ Mỹ cho phép sử dụng dân sự GPS hoạt động trong mọi điều kiện thời tiết, mọi nơi trên Trái Đất, 24 giờ một ngày Không mất phí thuê bao hoặc mất tiền trả cho việc thiết lập sử dụng GPS
1.1 Tổng quan về GPS
Vệ tinh có khả năng thu và phát sóng vô tuyến điện dùng cho mục đích truyền thông thì có tên gọi là vệ tinh thông tin Vệ tinh sẽ khuếch đại sóng vô tuyến điện nhận được ở mặt đất và phát sóng vô tuyến điện đến các trạm mặt đất khác
Vệ tinh được chia làm hai loại là : Vệ tinh quỹ đạo thấp và vệ tinh địa tĩnh
Trang 5 Vệ tinh quỹ đạo thấp: Là vệ tinh mà có thời gian chuyển động một vòng trên quỹ đạo của nó khác với chu kỳ quay của trái đất Các quỹ đạo bay của vệ tinh quỹ đạo thấp hình ellipse gồm có :
LEOs (Low Earthe Orbits) có ở độ cao 750 – 1500 Km, loại vệ tinh này được ứng dụng nhiều trong thông tin di động qua vệ tinh
MEOs (Medium Earthe Orbits) ở độ cao là 10000 – 20000 Km
Vệ tinh địa tĩnh GEO (Geostationary Orbit ) là vệ tinh có quỹ đạo tròn nằm trên mặt phẳng đường xích đạo cách trái đất khoảng 35786 Km, chu kỳ bay xung quanh trái đất là 24h Do chu kỳ trùng với chu kỳ quay của trái đất xung quanh trục của nó theo hướng từ Tây sang Đông và vị trí tương đối của vệ tinh so với trái đất là không đổi
Trên danh nghĩa, GPS bao gồm một chòm 24 quả vệ tinh Chòm vệ tinh này gọi
là khả năng vận hành ban đầu (IOC), được hoàn thành vào tháng 7 năm 1993 Tuy nhiên, đến tháng 12 năm 1993 IOC mới chính thức thông báo Để đảm bảo bao phủ trái đất liên tục các vệ tinh GPS được bố trí sao cho có 4 vệ tinh trên 6 quỹ đạo bay (hình 2.1) Với chòm vệ tinh địa lý này, tại bất cứ đâu trên trái đất sẽ quan sát được từ
4 đến 10 vệ tinh GPS, nếu khi xét với góc ngẩng là100 Chỉ cần 4 vệ tinh để cung cấp thông tin hay vị trí của một điểm
Trang 6Quỹ đạo vệ tinh GPS là quỹ đạo gần như tròn (Dạng elip có độ lệch chuẩn 0.01) với góc nghiêng 550so với xích đạo Nửa trục chính của quỹ đạo GPS vào khoảng
26560 km (độ cao của vệ tinh vào khoảng 20200 km so với bề mặt trái đất) Chu kỳ quỹ đạo GPS là 11 giờ 58 phút Hệ thống GPS được khai báo chính thức để đạt được dung lượng hoạt động đầy đủ (FOC) vào ngày 17/7/1995, đảm bảo 24 quả vệ tinh hoạt động Trên thực tế, vì GPS đạt được dung lượng hoạt động đầy đủ của nó, số các vệ tinh trong chùm vệ tinh GPS luôn lớn hơn 24 quả
1.2 Các ưu điểm và thành phần của GPS
Hệ thống thông tin vệ tinh có tính bảo mật, độ tin cậy thông tin và chất lượng thông tin cao Do hệ thống thông tin vệ tinh có ba trạm trong đó vệ tinh đóng vai trò trạm lặp còn hai trạm thu và phát ở trên trái đất nên xác suất hư hỏng thấp và có thểkhắc phục
Hệ thống thông tin vệ tinh có vùng phủ sóng rộng bởi vì hệ thống thông tin vệ tinh sử dụng vệ tinh ở rất xa so với trái đất nên vùng phủ sóng của vệ tinh rộng trên một vùng lãnh thổ rộng lớn
Hệ thống thông tin vệ tinh có thể đáp ứng một dung lượng thông tin lớn: Hệ thống thông tin vệ tinh sử dụng ở tấn số cao và áp dụng các biện pháp tiết kiệm tần số nên hệ thống có một băng tần rộng và thỏa mãn nhiều yêu cầu thông tin
Hệ thống thông tin vệ tinh có tính hiệu quả kinh tế cao: Hệ thống thông tin được thiết lập nhanh chóng trong điều kiện các trạm mặt đất cách xa nhau Đặc biệt là khả năng truyền thông tin ở khoảng cách xa như là cách lục địa
Hệ thống thông tin vệ tinh có thể cung cấp nhiều loại hình dịch vụ : Dịch vụ thoại, Fax, phát thanh, truyền hình, VSAT… Với tính linh động cao
GPS chứa 3 thành phần: Phần không gian, phần điều khiển và phần người dùng Phần không gian chứa 24 vệ tinh như đã được giới trình bày mục trên Mỗi vệ tinh GPS phát ra một tín hiệu, tín hiệu này có một số thành phần: Hai sóng sin (gọi là tần số sóng mang), hai mã số và một bản tin dẫn đường
Thông tin dẫn đường bao gồm tạo độ của vệ tinh theo thời gian Tín hiệu được truyền đi bởi các đồng hồ nguyên tử có độ chính xác cao trên các vệ tinh
Trang 7Hình các thành phần của GPS
Phần điều khiển của hệ thống GPS bao gồm các trạm trên mặt đất, trong đó có một trạm điều khiển trung tâm (MCS) đặt ở Clorado Springs nước mỹ Chức năng chính của phân hệ điều khiển là nhận tín hiệu từ các vệ tinh và bám sát các vệ tinh GPS theo trật tự để xác định, dự báo vị trí vệ tinh, tích hợp hệ thống, xử lý đồng hồ nguyên tử trên vệ tinh, dữ liệu khí quyển, niên giám vệ tinh và các thông số khác
Phân hệ người dùng bao gồm cả người dùng quân sự và dân sự Với một máy thu GPS được kết nối với anten GPS, một người sử dụng có thể nhận tín hiệu GPS để xác định vị trí của họ ở bất cứ đâu trên toàn thế giới GPS hiện đang được sử dụng rộng rãi trên toàn thế giới mà không cần phải trả phí trực tiếp
1.1 GPS đã phát triển như sau
Hệ thống định vị toàn cầu của Mỹ là hệ dẫn đường dựa trên một mạng lưới 24 quả vệ
tinh được Bộ Quốc phòng Hoa Kỳ đặt trên quỹ đạo không gian.Các hệ thống dẫn đường truyền thống hoạt động dựa trên các trạm phát tín hiệu vô tuyến điện Được
Trang 8biết đến nhiều nhất là các hệ thống sau: LORAN – (LOng RAnge Navigation) – hoạt
động ở giải tần 90-100 kHz chủ yếu dùng cho hàng hải, hay TACAN – (TACtical Air Navigation) – dùng cho quân đội Mỹ và biến thể với độ chính xác thấp VOR/DME –
VHF (Omnidirectional Range/Distance Measuring Equipment) – dùng cho hàng
không dân dụng Ban đầu, GPS và GLONASS đều được phát triển cho mục đích quân sự, nên mặc dù chúng dùng được cho dân sự nhưng không hệ nào đưa ra sự đảm bảo tồn tại liên tục
và độ chính xác Vì thế chúng không thỏa mãn được những yêu cầu an toàn cho dẫn
đường dân sự hàng không và hàng hải, đặc biệt là tại những vùng và tại những thời
điểm có hoạt động quân sự của những quốc gia sở hữu các hệ thống đó Chỉ có hệ thống dẫn đường vệ tinh châu Âu Galileo (đang được xây dựng) ngay từ đầu đã đặt mục tiêu đáp ứng các yêu cầu nghiêm ngặt của dẫn đường và định vị dân sự
GPS ban đầu chỉ dành cho các mục đích quân sự, nhưng từ năm 1980 chính phủ Mỹ cho phép sử dụng trong dân sự GPS hoạt động trong mọi điều kiện thời tiết, mọi nơi trên Trái Đất, 24 giờ một ngày Không mất phí thuê bao hoặc mất tiền trả cho việc thiết lập sử dụng GPS nhưng phải tốn tiền không rẻ để mua thiết bị thu tín hiệu và phần mềm nhúng hỗ trợ
Chùm vệ tinh GPS ban đầu được xây dựng với 11 vệ tinh gọi là Block I Vệ tinh đầu tiên được phóng vào ngày 22/2/1978 Vệ tinh Block I cuối cùng phóng vào ngày 9/9/1985 Các vệ tinh Block I được chế tạo với mục đích chủ yếu là nghiên cứu thử nghiệm Ngóc nghiêng của mặt phẳng quỹ đạo của các vệ tinh này so với mặt phẳng xích đạo là là 63o, góc này sau đó được thay đổi trong các thế hệ vệ tinh tiếp theo Mặc dù thời gian tồn tại của vệ tinh Block I là 4.5 năm, một số còn lại vẫn phục vụ hơn 10 năm Vệ tinh Block I cuối cùng ngừng hoạt động vào ngày 18/10/1995
Thế hệ vệ tinh GPS thứ hai là vệ tinh Block II/IIA Block IIA là phiên bản cải tiến của Block II, với việc tăng dung lượng lưu trữ dữ liệu bản tin dẫn đường từ 14 ngày cho Block II đến 180 ngày cho Block IIA Điều này có nghĩa là các vệ tinh Block II và Block IIA có thể hoạt động liên tục trong vòng 14 đến 180 ngày mà không cần có hỗ trợ ở mặt đất Tổng cộng 28 vệ tinh Block II/IIA được phóng lên trong khoảng từ 9/1989 đến 10/1997 Trong số này có 23 vệ tinh đang hoạt động Khác với Block I, quỹ đạo bay của Block II/ IIA nghiêng 55o so với mặt phẳng xích đạo Thời
Trang 9gian tồn tại theo thiết kế của một vệ tinh Block II/IIA là 7.5 năm, thời gian này đã vượt quá đối với hầu hết các vệ tinh Block II/IIA Để đảm bảo an ninh quốc gia một
số nội dung như khả năng lựa chọn và chống làm giả được thêm vào trong các vệ tinh Block II/IIA
Một thế hệ vệ tinh GPS mới gọi là Block IIR đang được phóng lên Các vệ tinh
bổ sung này sẽ tương thích lại với Block II/IIA, điều đó có nghĩa là những thay đổi này không ảnh hưởng đến khi người sử dụng Block IIR chứa 21 vệ tinh với thời gian tồn tại theo thiết kế là 10 năm Để nâng cao độ chính xác, các vệ tinh Block IIR có khả năng hoạt động độc lập ít nhất 180 ngày mà không cần điều chỉnh ở dưới mặt đất hay bị giảm độ chính xác Khả năng dẫn đường độc lập của thế hệ vệ tinh này đạt được phần nào qua phối hợp vệ tinh với nhau Thêm vào đó, lịch thiên văn dự báo và
dữ liệu đồng hồ được tải lên từ phân hệ điều khiển để hỗ trợ cho dẫn đường độc lập Một số nội dung khác được thêm vào 12 vệ tinh Block IIR cuối cùng theo chương trình hiện đại hóa GPS, các vệ tinh này phóng vào năm 2003 Vào tháng 7/2001 có 6
vệ tinh Block IIR được phóng lên thành công
Block IIR sẽ được kế tiếp bởi các hệ thống khác gọi là Block IIF (Follow-on) chứa 33 vệ tinh Khoảng thời gian tồn tại của vê tinh sẽ là 15 năm Các vệ tinh Block IIF sẽ có những khả năng mới theo chương trình hiện đại hóa, trong đó tăng cường độ chính xác định vị GPS độc lập
Trong tương lai chùm vệ tinh GPS được kỳ vọng sẽ có sự kết hợp của các
vệ tinh Block IIR đang được phóng lên và Block IIF và có thể cả vệ tinh Block III.Một trong những mục tiêu của chương trình hiện đại hóa này là giảm dư thừa tín hiệu
và cải thiện độ chính xác, khả năng ngăn cản tín hiệu và tính toàn vẹn của hệ thống
CHƯƠNG 2
Trang 10VI ĐIỀU KHIỂN PIC 16F877A
2 1 Giới thiệu về vi điều khiển PIC16F87A
2.1.1 Kiến trúc Pic
Trang 12PIC 16F877A là dòng PIC phổ biến nhất hiện nay (đủ mạnh về tính năng, 40 chân, bộ nhớ đủ cho hầu hết các ứng dụng thông thường) Cấu trúc tổng quát của PIC 16F877A như sau:
- 8 K Flash ROM
- 368 Bytes RAM
- 256 Bytes EEPROM
- 5 ports (A, B, C, D, E) vào ra với tín hiệu điều khiển độc lập
- 2 bộ định thời 8 bits (Timer 0 và Timer 2)
- Một bộ định thời 16 bits (Timer 1) có thể hoạt động trong chế độ tiết kiệm năng lượng (SLEEP MODE) với nguồn xung Clock ngoài
- 2 bô CCP( Capture / Compare/ PWM)
- 1 bộ biến đổi AD 10 bits, 8 ngõ vào
- 2 bộ so sánh tương tự (Compartor)
- 1 bộ định thời giám sát (WatchDog Timer)
- Một cổng song song 8 bits với các tín hiệu điều khiển
- Một cổng nối tiếp
- 15 nguồn ngắt
- Có chế độ tiết kiệm năng lượng
- Nạp chương trình bằng cổng nối tiếp ICSP(In-Circuit Serial Programming)
- Được chế tạo bằng công nghệ CMOS
- 35 tập lệnh có độ dài 14 bits
- Tần số hoạt động tối đa 20MHz
Trang 13Đây là vi điều khiển thuộc họ PIC16Fxxx với tập lệnh gồm 35 lệnh có độ dài
14 bit Mỗi lệnh đều được thực thi trong một chu kì xung clock Tốc độ hoạt động tối
đa cho phép là 20 MHz với một chu kì lệnh là 200ns Bộ nhớ chương trình 8Kx14 bit,
bộ nhớ dữ liệu 368 byte RAM và bộ nhớ dữ liệu EEPROM với dung lượng 256byte
Số PORT I/O là 5 với 33 pin I/O
Các đặc tính ngoại vi bao gồm các khối chức năng sau:
Timer0: bộ đếm 8 bit với bộ chia tần số 8 bit
Timer1: bộ đếm 16 bit với bộ chia tần số, có thể thực hiện chức năng đếm dựa vào xung clock ngoại vi ngay khi vi điều khiển hoạt động ở chế độ sleep
Timer2: bộ đếm 8 bit với bộ chia tần số, bộ postcaler
Hai bộ Capture/so sánh/điều chế độ rông xung
Các chuẩn giao tiếp nối tiếp SSP (Synchronous Serial Port), SPI và I2C
Chuẩn giao tiếp nối tiếp USART với 9 bit địa chỉ
Cổng giao tiếp song song PSP (Parallel Slave Port) với các chân điều khiển
RD, WR, CS ở bên ngoài
Các đặc tính Analog:
8 kênh chuyển đổi ADC 10 bit
Trang 14Hai bộ so sánh.
Bên cạnh đó là một vài đặc tính khác của vi điều khiển như:
Bộ nhớ flash với khả năng ghi xóa được 100.000 lần
Bộ nhớ EEPROM với khả năng ghi xóa được 1.000.000 lần
Dữ liệu bộ nhớ EEPROM có thể lưu trữ trên 40 năm
Khả năng tự nạp chương trình với sự điều khiển của phần mềm
Nạp được chương trình ngay trên mạch điện ICSP (In Circuit Serial Programming)
thông qua 2 chân
Watchdog Timer với bộ dao động trong
Chức năng bảo mật mã chương trình
Chế độ Sleep
Trang 152.2 Sơ đồ khối và chức năng các chân PIC16F877A
2 2.1 Sơ đồ khối
Trang 162 2.2 Sơ đồ chân PIC16F877A
2 2.3 Chức năng các chân
OSC1/CLKI 13 I Dao động tinh thể lối vào dao động ngoài OSC2/CLKO 14 O Dao động tinh thể hoặc lối ra xung nhịp MCLR/Vpp 1 I/P Lối vào reset Lối vào điện áp nạp trình
Vpp
RA2/AN2/V-reff/CVRef 4 I/O
Vào ra số lối vào analog 2 Lối vào điện
áp chuẩn V-ref của ADC Lối ra Vref so sánh
RA3/AN3/V+Ref 5 I/O Vào/ ra số Lối vào analog 3 Lối vào điện
áp chuẩn V-ref của ADC RA4/TOCKI/C1OUT 6 I/O Vào/ra số cực máng ngỏ Lối vào xung
ngoài cho timer Lối ra bộ so sánh 1
Trang 17RA5/SS/AN4/C2OUT 7 I/O Vào/ra số lối vào chọn SOI Lối vào
analog 4 lối ra bộ so sánh 2 RB0/INT 33 I/O Vào/ra số Lối vào ngắt ngoài.
RC0/T1OSO/T1CKI 15 I/O Vào/ra số Tạo dao động timer Xung nhịp
ngoài cho timer 1 RC1/T1OSI/CCP2 16 I/O Vào/ra số Tạo timer1 Lối vào Capture
Lối ra Compare2 Lối ra PWM2 RC2/CCP1 17 I/O Vào/ra số Lối vào Vào/ra số Capture1
Lối ra PWM1 RC3/SCK/SCL 18 I/O Vào/ra số Nhịp đồng bộ choSPI và I2C RC4/SDI/SDA 23 I/O Vào/ra số Vào dữ liệu SPI Vào/ra dữ liệu
I2C
I/O I/O I/O I/O I/O I/O I/O
Vào/ra số Cổng song song tớ Vào/ra số Cổng song song tớ Vào/ra số Cổng song song tớ Vào/ra số Cổng song song tớ Vào/ra số Cổng song song tớ Vào/ra số Cổng song song tớ Vào/ra số Cổng song song tớ
Trang 18RD7 30 I/O Vào/ra sô Cổng song song tớ
RE0/RD/AN5 7 I/O Vào/ra số Điều khiển RD cổng song song RE1/WR/AN6 8 I/O Vào/ra số Điều khiển WR cổng song song RE2/CS/AN7 9 I/O Vào/ra số Điều khiển CS cổng song song Vss 12,31 I/O Đất chung cho lối vàp/ra và analog
2 3 Tổ chức bộ nhớ
PIC16F877A gồm có ba bộ nhớ: bộ nhớ EEPROM, Bộ nhớ dữ liệu, bộ nhớ chương trình
Trang 19
2 3.1 Bộ nhớ EEPROM
Một bộ nhớ dữ liệu đặc biệt kiểu EEPROM dung lương 256 byte được tích hợp trong PIC 16F877A và được xem như thiết bị ngoại vi được nối vào bus dữ liệu, bộ nhớ này có thể ghi đọc trong quá trình hoạt động dưới sự điều khiển của chương trình
Bộ nhớ EEPROM thường dùng các lưu trữ các chương trình không bị thay đổi như các hằng chuẩn, các dữ liệu của người sử dụng và không bị mất đi khi ngắt nguồn nuôi
2 3.2 Bộ nhớ dữ liệu
Bộ nhớ dữ liệu được chia thành 4 bank, mỗi bank có dung lượng 128 byte
RAM tĩnh Mỗi bank bao gồm các thanh ghi có chức năng đặc biệt SFR (Special Function Register) nằm ở vùng địa chỉ thấp, và các thanh ghi mục đích chung GPR (General Purpose Register) nằm ở vùng địa chỉ cao Các thanh ghi SFR thường xuyên
được sử dụng như STATUS, INTCON, FSR được bố trí trên tất cả các bank giúp thuận tiện trong quá trình truy xuất
Trang 20Sơ đồ tổ chức bộ nhớ dữ liệu PIC16F877A
Trang 21Bộ nhớ Stack trong vi điều khiển PIC họ 16F87xA có khả năng chứa được 8 địa chỉ
và hoạt động theo cơ chế xoay vòng Nghĩa là giá trị cất vào bộ nhớ Stack lần thứ 9 sẽ ghi đè
lên giá trị cất vào Stack lần đầu tiên và giá trị cất vào bộ nhớ Stack lần thứ 10 sẽ ghi
đè lên giá trị cất vào Stack lần thứ 2
2 3.3 Bộ nhớ chương trình.
Bộ nhớ chương trình của vi điều khiển PIC16F877A là bộ nhớ flash, dung lượng
bộ nhớ 8K word (1 word = 14 bit) và được phân thành nhiều trang (từ page0 đến page 3) Như vậy bộ nhớ chương trình có khả năng chứa được 8*1024 = 8192 lệnh (vì một lệnh sau khi mã hóa sẽ có dung lượng 1 word (14 bit)
Khi vi điều khiển được reset, bộ đếm chương trình sẽ chỉ đến địa chỉ 0000h (Reset vector) Khi có ngắt xảy ra, bộ đếm chương trình sẽ chỉ đến địa chỉ 0004h (Interrupt vector) Bộ nhớ chương trình không bao gồm bộ nhớ stack và không được địa chỉ hóa bởi bộ đếm chương trình
2 4 Các cổng xuất nhập
Cổng xuất nhập (I/O port) chính là phương tiện mà vi điều khiển dùng để tương tác với thế giới bên ngoài Bên cạnh đó, do vi điều khiển được tích hợp sẵn bên trong các đặc tính giao tiếp ngoại vi nên bên cạnh chức năng là cổng xuất nhập thông thường, một số chân xuất nhập còn có thêm các chức năng khác để thể hiện sự tác động của các đặc tính ngoại vi nêu trên đối với thế giới bên ngoài
Vi điều khiển PIC16F877A có 5 cổng xuất nhập, bao gồm PORTA, PORTB, PORTC, PORTD và PORTE
Trang 22Các port của pic 16f877a
2 4.1 Port A
PORTA bao gồm 6 I/O pin ( RA0 –RA5) Đây là các chân “hai chiều” (bidirectional pin), nghĩa là có thể xuất và nhập được Chức năng I/O này được điều khiển bởi thanh ghi TRISA (địa chỉ 85h) Muốn xác lập chức năng của một chân trong PORTA là input, ta “set” bit điều khiển tương ứng với chân đó trong thanh ghi TRISA
và ngược lại, muốn xác lập chức năng của một chân trong PORTA là output, ta
“clear” bit điều khiển tương ứng với chân đó trong thanh ghi TRISA
Chân RA4 dùng chung với lối vào xung nhịp cho timer0 khi dùng bộ đếm xung từ bên ngoài
Các chân khác của cổng A được ghép lối vào của các bộ so sánh tương tự và bộ biến đổi ADC 8 kênh
2 4.2 Port B
PORTB (RPB) gồm 8 pin I/O ( RB0 – RB7) Thanh ghi điều khiển xuất nhập tương ứng là TRISB Bên cạnh đó một số chân của PORTB còn được sử dụng trong quá trình nạp chương trình cho vi điều khiển với các chế độ nạp khác nhau PORTB còn liên quan đến ngắt ngoại vi và bộ Timer0
Trang 23PORTB còn được tích hợp chức năng điện trở kéo lên (20k ohm) được điều khiển bởi chương trình.
Chân RB0 có thể lựa chọn là lối vào của ngắt ngoài Extint
Có 3 chân của cổng B được ghép lối với chức năng ICSP là RB6, RB7, RB3 tương ứng với lối vào PGC, PGD, LVP khi nạp trình.Lối vào RB4 và RB7 làm phát sinh ngắt RBIF khi thay đổi trạng thái khi các chân này định nghĩa là các lối vào Trạng thái hiện tại của lối vào này được so sánh với trạng thái được chốt lại tại lần đọc trước
đó Khi có sự khác nhau thì cờ ngắt RBIF được lập
2 4.3 Port C
PORTC (RPC) gồm 8 pin I/O (RC0 – RC7) Thanh ghi điều khiển xuất nhập tương ứng là TRISC Bên cạnh đó PORTC còn chứa các chân chức năng của bộ so sánh, bộ Timer1, bộ PWM và các chuẩn giao tiếp nối tiếp I2C, SPI, SSP, USART
2 5.Các bộ định thời
2 5.1 Timer 0
• Bộ đếm 8 bit
• Ghi/đọc được
• Có bộ chia 8 bit lập trình được
• Chọn xung nhịp bên ngoài hoặc bên trong
• Sinh ngắt TOIF khi tràn chuyền từ FFh→ 00h
• Chọn sườn xung khi lấy xung nhịp từ bên ngoài
Trang 24Timer0 dùng làm bộ đếm xung nhịp của vi điều khiển vể tạo ra một bộ đếm thời gian Chế độ đếm thời gian được chọn bằng cách đặt bit T0CS = 0 (bit OPTION<5>) Trong các chế độ đếm thời gian, thanh ghi TMR0 tăng một đơn vị sau mỗi chu kỳ máy Thanh ghỉ TMR0 có thể được ghi đọc trong chương trình để xác lập hoặc lấy giá trị hiện thời của timer0.
Hình : Sơ đồ khối Timer0
Timer0 dùng để đếm các xung từ bên ngoài cấp vào chân RA4 Chế độ đếm xung được chọn bằng cách đặt T0CS = 1 Trong chế độ này thanh ghi Timer0 tăng một đơn vị sau mỗi sườn lên hoặc sườn xuống tùy thuộc vào trạng thái của bit T0SE
Bộ chia trước được dùng chung cho hai khối watchdog và Timer0 Việc gắn bộ chia trước cho khối nào được chọn bằng bít PSA(OPTION<3>) Hệ số chia phụ thuộc giá trị của bit PS2:PS1:PS0 của thanh ghi OPTION
Ngắt timer0 xảy ra khi thanh ghi TMR0 tràn, chuyển từ FFh→00h Sự tràn này
sẽ đặt bít T0IF = 1 Ngắt T0IF có thể che bằng bit T0IE Cờ T0IF phải được xóa bằng phần mềm
Trang 25
2 5.2 Timer 1
Timer1 là bộ định thời 16 bit, giá trị của Timer1 sẽ được lưu trong hai thanh ghi (TMR1H:TMR1L) Cờ ngắt của Timer1 là bit TMR1IF (PIR1<0>) Bit điều khiển của Timer1 sẽ là TMR1IE (PIE<0>) Tương tự như Timer0, Timer1 cũng có hai chế
độ hoạt động: chế độ định thời (timer) với xung kích là xung clock của oscillator (tần
số của timer bằng ¼ tần số của oscillator) và chế độ đếm (counter) với xung kích là xung phản ánh các sự kiện cần đếm lấy từ bên ngoài thông qua chân RC0/T1OSO/T1CKI (cạnh tác động là cạnh lên) Việc lựa chọn xung tác động (tương ứng với việc lựa chọn chế độ hoạt động là timer hay counter) được điều khiển bởi bit TMR1CS (T1CON<1>) Sau đây là sơ đồ khối của Timer1:
Hình :Sơ đồ khối của Timer1
2 5.3 Timer 2
Timer2 là bộ định thời 8 bit và được hỗ trợ bởi hai bộ chia tần số prescaler và postscaler Thanh ghi chứa giá trị đếm của Timer2 là TMR2 Bit cho phép ngắt Timer2 tác động là TMR2ON (T2CON<2>) Cờ ngắt của Timer2 là bit TMR2IF (PIR1<1>) Xung ngõ vào (tần số bằng ¼ tần số oscillator) được đưa qua bộ chia tần
số prescaler 4 bit (với các tỉ số chia tần số là 1:1, 1:4 hoặc 1:16 và được điều khiển bởi các bit T2CKPS1:T2CKPS0 (T2CON<1:0>))
Ngoài ra ngõ ra của Timer2 còn được kết nối với khối SSP, do đó Timer2 còn đóng vai trò tạo ra xung clock đồng bộ cho khối giao tiếp SSP
Timer0 và Timer2 là bộ đếm 8 bit (giá trị đếm tối đa là FFh), trong khi Timer1
là bộ đếm 16 bit (giá trị đếm tối đa là FFFFh) Timer0, Timer1 và Timer2 đều có hai chế độ hoạt động là timer và counter Xung clock có tần số bằng ¼ tần số của
Trang 26oscillator Xung tác động lên Timer0 được hỗ trợ bởi prescaler và có thể được thiết lập ở nhiều chế độ khác nhau (tần số tác động, cạnh tác động) trong khi các thông số của xung tác động lên Timer1 là cố định Timer2 được hỗ trợ bởi hai bộ chia tần số prescaler và postcaler độc lập, tuy nhiên cạnh tác động vẫn được cố định là cạnh lên Timer1 có quan hệ với khối CCP, trong khi Timer2 được kết nối với khối SSP.
Sơ đồ khối của Timer 2
2 6 ADC
ADC (Analog to Digital Converter) là bộ chuyển đổi tín hiệu giữa hai dạng tương tự và số PIC16F877A có 8 ngõ vào analog (RA4:RA0 và RE2:RE0) Hiệu điện thế chuẩn VREF có thể được lựa chọn là VDD, VSS hay hiệu điện thể chuẩn được xác lập trên hai chân RA2 và RA3 Kết quả chuyển đổi từ tín tiệu tương tự sang tín hiệu số
là 10 bit số tương ứng và được lưu trong hai thanh ghi ADRESH:ADRESL
Các thanh ghi liên quan đến bộ chuyển đổi ADC bao gồm:
-INTCON (địa chỉ 0Bh, 8Bh, 10Bh, 18Bh): cho phép các ngắt (các bit GIE, PEIE).-PIR1 (địa chỉ 0Ch): chứa cờ ngắt AD (bit ADIF)
-PIE1 (địa chỉ 8Ch): chứa bit điều khiển AD (ADIE)
-ADRESH (địa chỉ 1Eh) và ADRESL (địa chỉ 9Eh): các thanh ghi chứa kết quả chuyển đổi
-ADCON0 (địa chỉ 1Fh) và ADCON1 (địa chỉ 9Fh): xác lập các thông số cho bộ chuyển đổi
Trang 27-PORTA (địa chỉ 05h) và TRISA (địa chỉ 85h): liên quan đến các ngõ vào analog ở PORTA.
-PORTE (địa chỉ 09h) và TRISE (địa chỉ 89h): liên quan đến các ngõ vào analog ở PORTE
Hình: khối ADC
2 7 Ngắt
PIC16F877A có 15 nguồn ngắt được điều khiển bởi thanh ghi INTCON, ngoài
ra mỗi ngắt còn được điều khiển bởi một bit cho phép và cờ ngắt riêng Các cờ ngắt vẫn hoạt động bình thường khi thỏa mãn điều kiện ngắt, không phụ thuộc vào các bit cho phép
Trang 28Sơ đồ logic của tất cả các ngắt trong PIC16F877A.
- Ngắt trên chân INT
Trang 29Bit điều khiển của ngắt RB0/INT nằm trong thanh ghi INTCON, thanh ghi này
còn chứa bit cho phép ngắt toàn cục GIE (Global Interrupt Enable) INTCON<7> , bit cho phép ngắt ngoại vi PEIE (Peripheral Interrupt Enable) INTCON<6> Bit điều
khiển các ngắt khác nằm trong thanh ghi PIE1 và PIE2, cờ ngắt nằm trong thanh ghi PIR1 và PIR2 Trong một thời điểm chỉ có 1 chương trình ngắt được thực thi, chương
trình ngắt kết thúc bằng lệnh RETFIE (Return from Interrupt) để trở về chương trình
chính
Khi chương trình ngắt được thực thi, bit GIE tự động được xóa, địa chỉ tiếp theo của chương trình chính được cất vào stack và bộ đếm chương trình chỉ đến địa chỉ 0004h Khi lệnh RETFIE được thực thi thì bit GIE được tự động set để tiếp tục cho phép các ngắt
Trước khi thực thi chương trình ngắt, nội dung một số thanh ghi SFR như là STATUS, PCLATH cần được lưu lại và nạp lại các nội dung đó sau khi thực thi xong chương trình ngắt Ta phải làm như vậy vì trong khi thực hiện chương trình ngắt, nội dung các thanh ghi này có thể thay đổi và khi trở vể chương trình chính, chương trình chính có thể hoạt động không chính xác
Bên cạnh đó mỗi ngắt còn có một bit điều khiển và cờ ngắt riêng Các cờ ngắt vẫn được set bình thường khi thỏa mãn điều kiện ngắt xảy ra bất chấp trạng thái của bit GIE, tuy nhiên hoạt động ngắt vẫn phụ thuôc vào bit GIE và các bit điều khiển khác Bit điều khiển ngắt RB0/INT và TMR0 nằm trong thanh ghi INTCON, thanh ghi này còn chứa bit cho phép các ngắt ngoại vi PEIE Bit điều khiển các ngắt nằm trong thanh ghi PIE1 và PIE2 Cờ ngắt của các ngắt nằm trong thanh ghi PIR1 và PIR2
Trong một thời điểm chỉ có một chương trình ngắt được thực thi, chương trình ngắt được kết thúc bằng lệnh RETFIE Khi chương trình ngắt được thực thi, bit GIE
tự động được xóa, địa chỉ lệnh tiếp theo của chương trình chính được cất vào trong bộ nhớ Stack và bộ đếm chương trình sẽ chỉ đến địa chỉ 0004h Lệnh RETFIE được dùng
để thoát khỏi chương trình ngắt và quay trở về chương trình chính, đồng thời bit GIE cũng sẽ được set để cho phép các ngắt hoạt động trở lại Các cờ hiệu được dùng để kiểm tra ngắt nào đang xảy ra và phải được xóa bằng chương trình trước khi cho phép
Trang 30ngắt tiếp tục hoạt động trở lại để ta có thể phát hiện được thời điểm tiếp theo mà ngắt xảy ra.
Đối với các ngắt ngoại vi như ngắt từ chân INT hay ngắt từ sự thay đổi trạng thái các pin của PORTB (PORTB Interrupt on change), việc xác định ngắt nào xảy ra cần 3 hoặc 4 chu kì lệnh tùy thuộc vào thời đểm xảy ra ngắt
Trang 31CHƯƠNG 3 Module SIM548C
3 1 Module SIM548C và các thiết bị đi kèm
SIM548C mô-đun là một mô-đun nhỏ gọn hoạt động ở 4 băng tần GSM/GPRS, đồng thời sản phẩm này cũng được tích hợp kĩ thuật GPS cho định vị vệ tinh Thiết kế gọn giúp SIM548C dễ tích hợp GSM/GPRS & GPS thành giải pháp all-in-one Bạn sẽ tiết kiệm cả thời gian và tiền bạc với thiết bị phần cứng tích hợp này Được trang bị với công nghệ GPS định vị vệ tinh Thiết kế nhỏ gọn của SIM548C làm cho nó dễ dàng để tích hợp GSM / GPRS & GPS như là một giải pháp tất cả trong một Bạn sẽ tiết kiệm đáng kể cả thời gian và chi phí cho sự hội nhập của các thành phần phần cứng bổ sung
Với một giao diện tiêu chuẩn công nghiệp và chức năng GPS, sự kết hợp của cả hai công nghệ cho phép tài sản có giá trị để được theo dõi liên tục ở bất kỳ vị trí nào và bất cứ lúc nào với vùng phủ sóng
- Tiêu thụ điện năng thấp
- Cung cấp điện áp khoảng 3,4 4,5 V
- Nhiệt độ hoạt động bình thường: -30 ° C đến +80 ° C
- Bị hạn chế Nhiệt độ hoạt động: -40 ° C đến -30 ° C và +80 ° C đến +85 ° C
Trang 32- Nhiệt độ bảo quản: -45 ° C đến 90 ° C
- Kích thước: 50 * 33 * 8.8mm
Thông số kỹ thuật cho GPS
- Thu 20 kênh, L1 1575,42 MHz, C / code Một con chip tốc độ 1.023 MHz
- Độ chính xác vị trí 2,5 m CEP
-Mà không có SA / vận tốc 0,1 m / s,
Mà không có SA / Thời gian 1 ms đồng bộ GPS thời gian
- Chức vụ với DGPS / SBAS: 2.0 CEP
- Ngày WGS-84
- Mua tỷ lệ (TTFF được xác định ở mức 95% của trạm địa phương vị trí đầu tiên)
- Hot bắt đầu <1 s, trung bình, mở bầu trời
- Warm bắt đầu: 35 s, trung bình, bầu trời mở
- Lạnh bắt đầu: 35 s, trung bình, bầu trời mở
- 60-pin DIP kết nối
- Giao diện bên ngoài SIM 3V hoặc 1.8V
- Dual giao diện âm thanh tương tự
- AT lệnh thông qua giao diện nối tiếp
- Embedded SIM thẻ
- LCD giao diện
Trang 33- RTC sao lưu
- Phí giao diện
- Serial giao diện và giao diện gỡ rối
- Dual nối tiếp giao diện cho GPS
- Hai ăng-ten riêng biệt kết nối GSM / GPRS & GPS và hai miếng đệm ăng-ten cho GSM / GPRS & GPS
Đây là module GSM/GPRS và GPS của hãng SIMCOM
Hình: Module SIM548C
Module SIM548C là một module nhỏ gọn có khả năng hoạt động ở 4 băng tần GSM/GPRS, đồng thời sản phẩm này cũng được tích hợp kĩ thuật GPS cho định vị vệ tinh Thiết kế gọn giúp SIM548C dễ tích hợp GSM/GPRS & GPS thành giải pháp all-in-one Bạn sẽ tiết kiệm cả thời gian và tiền bạc với thiết bị phần cứng tích hợp này
Đặc điểm chung:
• 4 băng tần GSM 850/900/1800/1900MHz
• GPRS multi-slot class 10
• GPRS mobile station class B
• Tương thích với GSM pha 2/2+
Trang 34• Tiêu thụ công suất thấp
• Điện áp cung cấp trong khoảng 3.4 – 4.5V
• Nhiệt độ hoạt động bình thường: -30°C tới +80°C
• Nhiệt độ hoạt động hạn chế: -40°C tới -30°C và +80°C tới +85°C
• Nhiệt độ lưu trữ: -45°C tới +90°C
• Kích thước: 50 x 33 x 8.8mm
Đặc điểm kỹ thuật của GPS:
• 20 kênh nhận, L1 1575.42MHz, C/A code tốc độ chip 1,023MHz
• Độ chính xác vị trí 2.5m CEP
- Không có SA/ vận tốc 0.1 m/s
- Không có SA/ thời gian đồng bộ với GPS 1 μs
• Vị trí với DGPS/SBAS: 2.0 CEP
• Date WGS-84
• Tốc độ thu thấp (TTFF đạt 95% vị trí đầu tiên của trạm địa phương)
- Hot start<1s, trung bình, open sky
- Warm start: 35s, trung bình, open sky
- Cold start: 35s, trung bình, open sky
Trang 35• Giao tiếp cho SIM ngoài 3V hoặc 1.8V
• 2 giao tiếp âm thanh analog
• Giao tiếp serial cho cấu hình lệnh AT
• Giao tiếp LCD
• RTC dự phòng
• Giao tiếp sạc
• Giao tiếp serial và Debug
• 2 giao tiếp serial cho GPS
• 2 đầu nối anten riêng biệt cho GSM/GPRS & GPS và 2 anten đệm cho GSM/GPRS & GPS
Trang 36SIM 548 và các thiết bị đi kèm module SIM548C
Trang 3760 chân sim548
dùng để cung cấp nguồn hoạt động cho module
Vmax= 4.5V Vmin=3.4V Vnorm=4.0VGND Chân nối đất dành cho
các ứng dụng số
tắt nguồn chính của module Chân này được nối với một nút nhấn
Để mở và tắt nguồn của module,phải nhấn nút nhấn để giữ chân này ở mức thấp trong một khoảng thời gian ngắn
VILmax=0.3*VBAT VIHmin=0.7*VBAT VImax=VBAT
Trang 38VIHmax= 3.2 VOLmin=GND VOLmax=0.2V VOHmin=2.7 VOHmax=2.9
Các ngõ vào ra với mục đích chung
NETLIGHT O Ngõ ra cho biết trạng
thái hoạt động của module GSM
VILmin=0V VILmax=0.9 VIHmin=2.0 VIHmax= 3.2 VOLmin=GND VOLmax=0.2V VOHmin=2.7 VOHmax=2.9
STATUS O Ngõ ra cho biết các
trạng thái hoạt động của các ứng dụng khác có trong module
GPIO0
GPIO1
I/O Ngõ vào ra dùng chung
cho các mục đích khác
Port nối tiếp 1
DTR I Ngõ vào cho biết giao
tiếp đã sẵn sàng
VILmin=0V VILmax=0.9
Trang 39đã được gửi đi.
Port nối tiếp 2
DBG_TX O Port dùng để sửa lỗi và
giao tiếp bằng tập lệnh
Các chân dành cho Sim card
SIM_VDD O Nguồn cung cấp cho
Sim card
Có 2 loại nguồn cung cấp 1.8V và 3V Được lựa chọn bởi phần mềm
SIM_DATA I/O Chân truyền nhận dữ
liệu với SIM
VILmin=0V VILmax=0.3*
SIM_VDDSIM_CLK O Xung nhịp cho SIM
SIM_PRESENCE I Chân để nhận biết có
Điện áp ngõ vào từ 24V
0-TEMP_BAT I Ngõ vào cho biết nhiệt
Trang 40
Khi việc bật ứng dụng GSM hoàn tất Module sẽ gửi trả lại thông báo ứng dụng
đã sẵn sàng hoạt động “RDY” Và chân STATUS sẽ được kéo lên mức cao và giữ ở mức này khi ứng dụng GSM hoạt động
Sử dụng chân VCHG để bật ứng dụng GSM.