1. Trang chủ
  2. » Luận Văn - Báo Cáo

Thiết bị định vị GPSG/PRS

98 1,6K 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 98
Dung lượng 1,89 MB

Nội dung

Với tốc độ tính toán cao dựa trên kiến trúc RISC, kết hợp các chứcnăng điều khiển tiện ích của một bộ vi điều khiển hiệu năng cao 16-bithighperformance16-bit microcontroller, có thể thực

Trang 1

MỤC LỤC

Trang 2

GPRS General Packet Radio Service

TCP Transmition Control Protocol

Trang 3

DANH SÁCH CÁC BẢNG

CHƯƠNG 1 : VI ĐIỀU KHIỂN DSPIC30F4011

Bảng 1.1 Các chế độ định địa chỉ cơ bản đựơc hỗ trợ 17

CHƯƠNG 2 : MODULE SIM 548 Bảng 2.1 Chi tiết các chân của module SIM548 37

Bảng 2.2 Trạng thái chân RI 42

Bảng 2.3 Thứ tự chân SIM card 44

Bảng 2.4 Trạng thái chân STATUS 44

Bảng 2.5 Các chân dành cho ứng dụng GPS 45

48

Bảng 2.6 Chuẩn đầu ra 62

Bảng 2.7 Giao thức RMC 64

65

Trang 4

6

CHƯƠNG 6 : ỨNG DỤNG GOOGLE MAP API Bảng 6.1 Bảng Data 94

Trang 5

DANH SÁCH CÁC HÌNH

CHƯƠNG 1 : VI ĐIỀU KHIỂN DSPIC30F4011

Hình 1.1 Sơ đồ khối DsPic30F4011 .14

Hình 1.2 Các thanh ghi của khối xử lý trung tâm 15

Hình 1.3 Một ví dụ về đảo bit địa chỉ 19

Hình 1.4 Bản đồ không gian bộ nhớ chương trình 20

Hình 1.5 Truy cập dữ liệu từ không gian chương trình 22

Hình 1.6 Ánh xạ không gian dữ liệu vào không gian chương trình 23

Hình 1.7 Các cổng I/O của dsPic30F4011 24

Hình 1.8 Sơ đồ khối của một cổng I/O dùng chung với ngoại vi khác 25

Hình 1.9 Các vector bẫy lỗi 27

Hình 1.10 Sơ đồ khối của Timer 1 29

Hình 1.11 Sơ đồ khối Timer 2 29

Hình 1.12 Sơ đồ khối Timer 3 30

Hình 1.13.Sơ đồ khối Timer 2/3 - 32bit 30

Trang 6

CHƯƠNG 2 : MODULE SIM 548

Hình 2.1 Module SIM548 31

Hình 2.2 Các thiết bị kèm theo 32

Hình 2.3 Dùng chân PWMRKEY để bật ứng dụng GSM 39

Hình 2.4 Dùng chân PWRKEY để tắt ứng dụng GSM 41

Hình 2.5 Chuẩn giao tiếp nối tiếp của SIM548 43

Hình 2.6 Kết nối SIM card 6 chân 44

Hình 2.7 Cấu tạo đế SIM card 6 chân 44

Hình 2.8 Kết nối với chân NETLIGHT 45

Hình 2.9 Bật ứng dụng GPS 47

Hình 2.10 Kết nối với chân VRTC 47

Hình 2.11 Kết nối với chân RESET 48

Hình 2.12 Mạng GSM 49

Hình 2.13 Chuyển từ chế độ bình thường sang chế độ nghỉ (sleep mode) 51

Hình 2.14 Đưa module trở về trạng thái hoạt động 51

Hình 2.15 Khởi tạo cấu hình mặc định cho module SIM548 52

Hình 2.16 Thiết lập kết nối 56

Trang 7

Hình 2.17 Truyền nhận gói tin giữa module Sim548C và Server 57 Hình 2.18 Kết nối bị huỷ 59 Hình 2.19 Vệ tinh GPS 61

CHƯƠNG 4 : LẬP TRÌNH SOCKET TCP/IP

Hình 4.1 Sơ đồ giao tiếp thông qua Winsock 83 Hình 4.2 Ứng dụng Client – Server (TCP) 84 Hình 4.3 Ứng dụng Client – Server (UDP 85

Trang 8

LỜI MỞ ĐẦU

Cùng hoà nhịp với sự phát triển của thế giới,Việt Nam ta tiến dần trên conđường công nghiệp hoá, hiện đại hoá nền sản xuất công nghiệp cũng như đời sốngcủa người dân Với sự phát triển của công nghệ khoa học thì công cuộc này đang cónhững bước tiến vượt bậc

Trong quá trình công nghiệp hoá- hiện đại hoá, thì việc chuẩn hoá, đồng bộ cơ

sở hạ tầng là bước tiền đề quan trọng và tất yếu Và một trong dẫn chứng rõ ràngnhất đó là việc lắp đặt thiết bị giám sát hành trình trên xe ô tô theo quy định tạiNghị định 91/2009/NĐ-CP do Bộ Giao Thông Vận Tải ban hành, một trong nhữngbước đầu thực hiện việc đồng bộ hoá, chuẩn hoá

Xuất phát từ thực tiễn này, nhóm chúng em khi thực hiện đã đi đến quyết định

chọn đề tài “Thiết bị định vị GPS/GPRS”.

Trong quá trình thực hiện đồ án, nhóm đã cố gắng tìm hiểu nhiều vấn đề nhưngôn ngữ lập trình Socket, lập trình Web, ngôn ngữ lập trình C#, các thuật toánchuyển đổi… Sau thời gian thực hiện, nhóm chúng em đã đạt được một số kết quảnhất định đó là lập trình thành công cho Vi điều khiển, Socket, Web và đã hiển thịđược vị trí trên bản đồ cập nhật theo thời gian thực Song trong đồ án vẫn còn nhiềuvấn đề nhóm vẫn chưa khắc khục đươc như việc kết nối lại của Socket khi mất kếtnối, chức năng tìm đường, dẫn đường

Nhóm thực hiện đề tài

Nguyễn Tấn LợiNguyễn Trung Nhân

Trang 9

CHƯƠNG 1 : VI ĐIỀU KHIỂN DSPIC30F4011 1.1 Giới thiệu chung về họ vi điều khiển Dspic

Họ vi điều khiển 16 bit dsPic do công ty công nghệ Microchip TechnologyInc sản xuất, được phát triển trên nền họ vi điều khiển 8 bit Pic Vi điều khiểndsPic là một chip xử lý mạnh với bộ xử lý 16 bit (có khả năng xử lý dữ liệu có độdài 16 bit) Với tốc độ tính toán cao dựa trên kiến trúc RISC, kết hợp các chứcnăng điều khiển tiện ích của một bộ vi điều khiển hiệu năng cao 16-bit(highperformance16-bit microcontroller), có thể thực hiện chức năng của một bộ

xử lý tín hiệusố (DSP) nên dsPIC còn có thể được xem là một bộ điều khiển tínhiệu số (Digital Signal Controller – DSC).Họ vi điều khiển dsPic có thể đạt tớitốc độ xử lý 40 MIPS (Mega Instruction Per Second - triệu lệnh trên một giây).Ngoài ra dsPic còn được trang bị bộ nhớ Flash, bộ nhớ dữ liệu EEPROM và cácngoại vi hiệu năng cao và rất đa dạng các thư viện phần mềm cho phép thực hiệncác giải thuật nhúng với hiệu suất cao một cách dễ dàng trong một khoảng thờigian ngắn Chính vì vậy dsPic được ứng dụng rất rộng rãi trong các ứng dụng xử

lý tín hiệu số, đo lường và điều khiển tự động, v v

Họ vi điều khiển dsPic được chia ra làm ba loại tùy theo mục đích của người sửdụng :

- Bộ điều khiển số cho điều khiển motor và biến đổi nguồn (DSC Motor Control

& Power Conversion Family)

- Bộ điều khiển số cho sensor (DSC Sensor Family)

- Bộ điều khiển số đa mục đích (DSC General Purpose Family)

Trang 10

1.2. Đặc điểm chung của vi điều khiển dsPic30F4011

1.2.1. Khối xử lý trung tâm CPU

- Tập lệnh cơ bản gồm 84 lệnh

- Chế độ định địa chỉ linh hoạt

- Độ dài lệnh 24-bit, độ dài dữ liệu 16-bit

- Bộ nhớ chương trình Flash 24 Kbytes

- Bộ nhớ RAM độ lớn 1Kbytes

- Bộ nhớ EEPROM

- Mảng 16 thanh ghi làm việc 16-bit

- Tốc độ làm việc lên tới 40 MIPS

1.2.2. Bộ chuyển đổi tương tự số ADC

- Bộ chuyển đổi tương tự - số (ADC) 10-bit

+ Tốc độ lấy mẫu tối đa 1 Msps (Mega samples per second)

+ Tối đa 10 kênh lối vào ADC

+ Thực hiện biến đổi cả trong chế độ Sleep và Idle

- Chế độ nhận biết điện thế thấp khả lập trình

- Tạo Reset bằng nhận diện điện áp khả lập trình

1.2.3. Các cổng vào ra I/O Port và các ngoại vi

Trang 11

- 3 Timer 16-bit, có thể ghép 2 Timer 16-bit thành Timer 32-bit.

- Chức năng Capture 16-bit

- Các bộ so sánh/PWM 16-bit

- Module SPI 3 dây (hỗ trợ chế độ Frame)

- Module I2C, hỗ trợ chế độ đa chủ tớ, địa chỉ từ 7-bit đến 10-bit

- UART có khả năng địa chỉ hoá, hỗ trợ bộ đệm FIFO

1.2.4. Bộ xử lý tín hiệu số

- Nạp dữ liệu song song

- Hai thanh chứa 40-bit có hỗ trợ bão hoà logic

- Thực hiện phép nhân 2 số 17-bit trong một chu kì máy

- Tất cả các lệnh DSP đều thực hiện trong một chu kì máy

- Dịch trái hoặc phải 16 bit trong một chu kì máy

- Khả năng tự nạp trình dưới điều khiển của software

- Watch Dog Timer mềm dẻo với bộ dao động RC nguồn thấp trên chip

- Chế độ bảo vệ firmware khả lập trình

Trang 12

- Có thể lựa chọn các chế độ quản lí nguồn: Sleep hoặc Idle.

1.3. Cấu trúc của vi điều khiển dsPic30F4011

1.3.1. Khối xử lý trung tâm CPUCPU của dsPic30F4011 được thiết kế trên kiến trúc RISC, nhân của CPU

có một bộ xử lí lệnh 24-bit và bộ đếm chương trình – Program Counter (PC)

độ rộng 23-bit với bit ý nghĩa thấp nhất luôn bằng 0, còn bít ý nghĩa cao nhấtthì được bỏ qua trong suốt quá trình thực hiện chương trình bình thường, chỉtrừ khi thực hiện các lệnh đặc biệt Do đó, bộ đếm chương trình có thể địnhđịa chỉ lên tới 4 triệu từ lệnh của không gian bộ nhớ chươngtrình được sửdụng Thiết bị dsPIC30F chứa 16 thanh ghi làm việc 16-bit Mỗi thanh ghilàm việc có thể có thể làm việc với vai trò như dữ liệu, địa chỉ hoặc thanh ghiđịa chỉ offset Thanh ghi thứ 16 (W15) hoạt động như là con trỏ ngăn xếpmềm cho hoạt động ngắt và gọi ngắt Các chỉ lệnh của dsPIC30F gồm 2 lớp:Lớp MCU và Lớp DSP của lệnh Hai lớp này được kết hợp đồng nhất vớinhau trong kiến trúc và thực hiện từ một khối thực hiện đơn Các chỉ lệnhbao gồm nhiều chế độ địa chỉ và được chế tạo nhằm tương thích với trìnhbiên dịch ngôn ngữ C Không gian dữ liệu có thể được địa chỉ hoá thành 32Kwords hoặc 64 Kbytes và được chia làm hai khối, được gọi là bộ nhớ dữ liệu

X và bộ nhớ dữ liệu Y Mỗi khối đều có khối tạo địa chỉ - AGU (AdressGenerator Unit) riêng biệt của nó Tất cả các lệnh hoạt động đơn độc chỉ qua

bộ nhớ X, và khối AGU – quy định sự xuất hiện của một vùng dữ liệu thốngnhất Lớp thanh chứa phép nhân (Multiply-Accumulate) – MAC của lệnhDSP hoạt động thông qua cả hai khối AGU của bộ nhớ X và Y, nó chia địachỉ dữ liệu thành hai phần Mỗi từ dữ liệu gồm 2-bytes, và tất cả các lệnh cóthể định địa chỉ dữ liệu theobytes hoặc words (từ) Có hai cách để truy xuất

Trang 13

- 32 Kbytes cao của vùng nhớ dữ liệu có thể được sắp xếp trong nửa thấp củakhông gian chương trình tại biên của 16K từ chương trình bất kỳ, được định

nghĩa bởi thanh ghi PSVPAG 8-bit (Program Space Visibility Page) Do đó

các lệnh có thể truy cập không gian chương trình như không gian dữ liệu,nhưng có một giới hạn là nó cần thêm một chu kỳ lệnh nữa Chỉ có 16 bítthấp của mỗi từ lệnh có thể sử dụng phương thức truy cập này

- Truy cập trực tiếp không tuyến tính của các trang 32K từ nằm trong khônggian chương trình cũng có thể sử dụng các thanh ghi làm việc, thông quabảng lệnh đọc và ghi Bảng lệnh đọc và ghi có thể được sử dụng để truy cập

cả 24 bit của một từ lệnh Khối X AGU (khối AGU của bộ nhớ X) cũng hỗtrợ việc đảo bit địa chỉ trên địa chỉ đích kết quả nhằm đơn giản hoá tối đa dữliệu vào hoặc ra để chúng thích hợp cho thuật toán FFT cơ số 2.Với tất cảcác lệnh, nhân của dsPIC30F có khả năng thực hiện việc đọc bộ nhớ dữ liệuhoặc bộ nhớ chương trình, đọc thanh ghi làm việc, ghi vào thanh ghi làmviệc và đọc bộ nhớ chương trình mỗi chu kì lệnh Như vậy, lệnh 3 toán hạngđược hỗ trợ, cho phép thực hiện phép tính C = A + B trong một chu kì lệnh

Trang 14

Hình 1.1 Sơ đồ khối DsPic30F4011

Trang 15

Hình 1.2 Các thanh ghi của khối xử lý trung tâm

Công cụ DSP được tích hợp vào vi xử lý làm tăng ý nghĩa của một CPUmạnh về thuật toán Đặc điểm của nó là thực hiện ở tốc độ cao một phépnhân hai số 17-bit, mộtkhối số học và logic (ALU) 40-bit, hai thanh chứa cókhả năng bão hoà 40-bit và một bộdịch hai hướng 40-bit Dữ liệu trong thanhchứa hoặc bất kỳ một thanh ghi làm việc nào có thể được dịch trái 15 bit haydịch trái 16 bit chỉ trong một chu kỳ lệnh Các lệnh DSP hoạt động thốngnhất với tất cả các lệnh khác và được thiết kế nhằm thích hợp với việc xử lýthời gian thực

Trang 16

Lớp MAC của lệnh có thể đồng thời nạp hai toán hạng dữ liệu từ bộ nhớtrong khi đang nhân hai thanh ghi W Để kích hoạt chế độ nạp đồng thời củatoán hạng, không gian dữ liệu được chia nhỏ cho các lệnh này và tuyến đốivới các lệnh khác Việc này được thực hiện rõ ràng và rất linh hoạt bằng cáchdành một vài thanh ghi làm việc cho mỗi không gian địa chỉ cho lớp MACcủa lệnh.

Nhân của vi xử lý không hỗ trợ đường ống đa tầng lệnh, nhưng một lệnh đơntầng sẽ sử dụng kĩ thuật tiền nạp, truy cập và giải mã từng phần lệnh nhằmmục tiêu một lệnh chỉ thực hiện trong một chu kỳ

1.3.2. Khối tạo địa chỉ AGU

Nhân của vi xử lý dsPIC chứa hai khối tạo địa chỉ độc lập là X AGU và YAGU Khối Y AGU hỗ trợ đọc dữ liệu 16-bit cho lớp MAC của lệnh DSP.Các khối AGU trong dsPIC hỗ trợ 3 kiểu địa chỉ dữ liệu:

- Địa chỉ tuyến tính

- Địa chỉ vòng

- Địa chỉ đảo bit

Chế độ địa chỉ tuyến tính và địa chỉ vòng có thể áp dụng cho không gian dữliệu hoặc không gian chương trình Chế độ đảo bit địa chỉ áp dụng cho cácđịa chỉ không gian dữ liệu

1.3.2.1 Chế độ địa chỉ lệnh

Các chế độ địa chỉ được cung cấp trong lớp MAC của các lệnh thì có khác nhau đôi chút ở các lệnh khác nhau

Trang 17

Bảng 1.1 Các chế độ định địa chỉ cơ bản đựơc hỗ trợ

 Lệnh thanh ghi tệp

Tất cả các lệnh thanh ghi đều sử dụng trường địa chỉ 13-bit để trực tiếp địnhđịa chỉ dữ liệu ở 8192 bytes đầu của bộ nhớ dữ liệu (gần không gian dữ liệu).Tất cả các lệnh thanh ghi tệp đều tận dụng thanh ghi làm việc W0, thanh ghilàm việc trong các lệnh này

 Lệnh MCU

Các lệnh MCU 3 toán hạng có dạng như sau:

Toán hạng 3 = Toán hạng 1 <hàm> Toán hạng 2

Trong đó Toán hạng 1 luôn là thanh ghi làm việc (ví dụ: chế độ địa chỉ chỉ cóthể làthanh ghi trực tiếp) Toán hạng 2 có thể là thanh ghi W, lấy dữ liệu từ

bộ nhớ dữ liệu,hoặc 5 bit thông thường Kết quả được đặt trong có thể là

thanh ghi W hoặc một địa chỉ cố định

 Lệnh di chuyển và tích luỹ

Lệnh di chuyển và các lớp DSP tích luỹ của lệnh làm cho sự mềm dẻo củađịa chỉ cao hơn các lệnh khác Tất cả các lệnh MCU, lệnh di chuyển và tích

Trang 18

luỹ đều hỗ trợ chế độ địa chỉ, và cũng hỗ trợ chế độ thanh ghi gián tiếp vàthanh ghi địa chỉ offset.

Chú ý: đối với lệnh MOV, chế độ địa chỉ được chỉ rõ trong lệnh có thể khác

nhau giữa nguồn và đích Tuy nhiên trường của 4-bit offset của thanh ghi

Wb được chia sẻ giữa nguồn và đích

 Các lệnh MAC

Cả hai toán hạng nguồn của các lệnh DSP (CLR, ED, EDAC, MAC, MPY.N,MOVSAC và MSC) được xem như các lệnh MAC, tận dụng các lệnh đượcđơn giản hoá của chế độ địa chỉ nhằm cho phép người sử dụng có thể điềukhiển con trỏ dữ liệu thông qua các bảng thanh ghi gián tiếp

Hai thanh ghi tiền nạp toán hạng nguồn phải là một trong các thanh ghi sau:{W8, W9, W10, W11} Với đọc dữ liệu, W8 và W9 luôn tương tác trực tiếpvới X AGU, W10 và W11 luôn tương tác trực tiếp với Y AGU Do đó địachỉ hiệu dụng được tạo (trước và sau khi hiệu chỉnh) phải hợp lệ với địa chỉtrong không gian dữ liệu X cho W8, W9 và trong không gian dữ liệu Y choW10, W11

 Các lệnh khác

Bên cạnh các chế độ địa chỉ biến đổi, một vài lệnh sử dụng các hằng số cóđịnh dạng thay đổi Ví dụ: lệnh BRA (branch – phân nhánh) sử dụng dữ liệu16-bit có dấu để chỉ ra đích rẽ nhánh trực tiếp, trong khi lênh DISI sử dụngtrường số 14-bit không dấu Trong một vài lệnh như ADD hay ACC, nguồncủa một toán hạng hoặc kết quả được đưa ra bởi chính mã lệnh của nó Tuynhiên, một vài lệnh như NOR, lại không có toán hạng nào

1.3.2.2. Chế độ đảo bit địa chỉ

Địa chỉ được đảo bit nhằm làm đơn giản hoá dữ liệu cho thuật toán FFT

Trang 19

Thực hiện đảo bit địa chỉ

Đảo bít địa chỉ được bật khi các điều kiện sau được thoả mãn:

- Các bit BWM (lựa chọn thanh ghi W) trong thanh ghi MODCON ở giá trịlớn hơn 15 (không thể truy cập ngăn xếp khi đang sử dụng chế độ đảo bit địachỉ)

- Bit BREN được đặt trong thanh ghi XBREV

- Chế độ địa chỉ được sử dụng là chế độ thanh ghi gián tiếp nếu độ dài bộđệm của các bit được đảo là M = 2N bytes, N bit cuối cùng của bộ đệm dữliệu bắt đầu được định địa chỉ bằng không

Các bit XB <từ bit 14 đến 0 của thanh ghi XBREV> là địa chỉ bit được đảo,hay còn gọi là “điểm xoay” (pivot point) thường là hằng số

Hình 1.3 Một ví dụ về đảo bit địa chỉ

1.3.3. Tổ chức bộ nhớ và bộ nhớ chương trình

1.3.3.1. Không gian địa chỉ chương trình

Không gian địa chỉ chương trình có độ lớn 4M từ lệnh Bản đồ khônggian bộ nhớ chương của dsPic30F4011 được chỉ ra trong Hình 2.4 Bộ nhớchương trình có thể được địa chỉ hoá bởi một giá trị 24-bit bởi bộ đếmchương trình (PC), hoặc bảng lệnh địa chỉ hiệu dụng (EA), hoặc không gian

dữ liệu EA khi không gian chương trình được sắp xếp và địa chỉ hoá Chú ýrằng, địa chỉ không gian chương trình được tăng lên với bước là 2 giữa các từ

Trang 20

chương trình để tạo ra sự tương thích với việc địa chỉ hoá không gian dữ liệu.Truy cập không gian chương trình người sử dụng bị giới hạn trong dải 4Mđịa chỉ của từ lệnh (từ 0x000000 tới 0x7FFFFE) với tất cả các lệnhtruy cập,trừ hai lệnh TBLRD/TBLWT - sử dụngbit 7 của thanh ghi TBLPAG để xácđịnh người sử dụng hoặc thiết lập cấu hình truy cập bộ nhớ.

Hình 1.4 Bản đồ không gian bộ nhớ chương trình

1.3.3.2.Truy xuất dữ liệu từ bộ nhớ chương trình sử dụng các lệnh bảng

Trang 21

Kiến trúc của dsPIC cho phép nạp dữ liệu rộng 24-bit tới bộ nhớ chươngtrình, do đó các lệnh luôn luôn được xếp hàng tuy nhiên kiến trúc của nó cócải tiến so với kiến trúc máy tính Hadvard nên dữ liệu cũng có thể được đưa

ra ở trong không gian chương trình Có hai phương pháp truy cập không gianchương trình

- Thông qua các lệnh đặc biệt về bảng hoặc thông qua việc định địa chỉ vàsắp xếp lại 16K trang từ không gian chương trình trong nửa cao của khônggian dữ liệu Các lệnh TBLRDL và TBLWTL cung cấp phương pháp đọc vàghi trực tiếp từ ít ý nghĩa nhất (LS Word) tại một địa chỉ bất kỳ trong khônggian chương trình mà không cần thông qua không gian dữ liệu Hai lệnhTBLRDH và TBLWTH chỉ là phương thức mà 8 bít cao của từ không gianchương trình có thể được truy xuất như dữ liệu

- Bộ đếm chương trình (PC) được tăng lên hai với mỗi từ chương trình bit Điều này cho phép các địa chỉ bộ nhớ chương trình ánh xạ trực tiếp tớiđịa chỉ không gian dữ liệu Do đó bộ nhớ chương trình có thể được xem nhưhai không gian từ địa chỉ độ rộng 16-bit Các lệnh TBLRDL và TBLWTLtruy cập không gian chứa từ dữ liệu ít ý nghĩa nhất (LS Data Word) và cáclệnh TBLRDH, TBLWTH truy cập không gian chứa Byte dữ liệu nhiều ýnghĩa nhất (MS Data Byte)

24-Sơ đồ trên chỉ ra cách EA được tạo cho hoạt động bảng và truy cập khônggian dữ liệu (PSV = 1) Tại đây P (từ bit 23 tới bit 0) chỉ thị từ không gianchương trình, còn D (từ bit 15 tới bit 0) chỉ thị từ không gian dữ liệu

1.3.3.3.Truy xuất dữ liệu từ bộ nhớ chương trình sử dụng không gian chương

trình

32 Kbytes cao của không gian dữ liệu có thể được bản đồ hoá trong bất

kỳ trang 16K từ bộ nhớ chương trình nào Nó cho phép truy cập vào hằng số

dữ liệu được lưu trữ từ không gian dữ liệu X mà không cần các lệnh đặc biệt

Trang 22

(như TBLRDL/H, TBLWTL/H).Truy xuất không gian chương trình thôngqua không gian dữ liệu được thực hiện nếu bít ý nghĩa thấp nhất của khônggian dữ liệu EA được đặt và chế độ hiển thị không gian chương trình đượcbật bằng cách đặt bit PSV trong thanh ghi điều khiển nhân của vi xử lýCORCON.

Hình 1.5 Truy cập dữ liệu từ không gian chương trình

Truy xuất dữ liệu ở vùng này sẽ thêm vào một chu kỳ lệnh để lệnhđược thực hiện, do đó nạp dữ liệu vào hai bộ nhớ chương trình là cần thiết.Chú ý rằng chỉ phần cao của không gian dữ liệu có khả năng định địa chỉ thiluôn là một phần của không gian dữ liệu X Do đó, khi một thao tác DSP sử

Trang 23

gian dữ liệu Y thông thường sẽ lưu trữ trạng thái dữ liệu cho thao tác DSP,còn không gian dữ liệu X thường sẽ lưu giữ hệ số của dữ liệu.

Tuy nhiên mỗi địachỉ không gian dữ liệu , từ 0x8000 trở lên, bản đồ hoá trực tiếp vào địa chỉ của bộ nhớ chương trình đáp ứng (Hình 2.6) chỉ có 16 bit

thấp của từ chương trình 24 bit được sử dụng để lưu dữ liệu 8 bit cao được

lập trình để loại bỏ các lệnh không hợp lệ nhằm giữ nguyên sức mạnh của bộ

vi xử lý

Hình 1.6 Ánh xạ không gian dữ liệu vào không gian chương trình

1.3.4. Các cổng vào ra I/O Port

Các cổng vào ra của dspic40f4011 đều có thiết kế có đầu vào là mạchTrigger Schmitt nhằm cải tiến khả năng chống nhiễu.Tất cả các cổng vào rađều có ba thanh ghi kết hợp với nhau điều khiển trực tiếp hoạt động của cáccổng

Trang 24

- Thanh ghi dữ liệu trực tiếp (TRISx) xác định cổng đó là Input hay Output.Nếu bit dữ liệu trực tiếp là ‘1’, thì cổng đó là Input và ngược lại Các cổngđược định nghĩa là Input sau khi Reset.

- Thanh ghi cổng (PORT registers): dữ liệu ở một cổng I/O được truy xuấtthông qua thanh ghi PORTx Đọc giá trị của thanh ghi PORT cổng nào sẽ cóđược giá trị của cổng đó Ghi vào thanh ghi PORT của cổng tương đương việcxuất dữ liệu ra cổng đó

- Thanh ghi LAT, kết hợp với một cổng I/O sẽ loại bỏ được các vấn đề có thểxuất hiện khi đọc-thay đổi-ghi vào cổng đó Đọc giá trị thanh ghi LAT sẽ trả

về giá trị được giữ ở đầu ra của bộ chốt cổng đó, thay cho giá trị ở cổng I/O.Việc ghi vào thanh ghi LATx cũng tạo ra hiệu quả như ghi vào thanh ghiPORTx

Cấu hình tương tự cho cổng: khi sử dụng bộ ADC thì cổng được cấu hình làlối vào tương tự Điều này sẽ được nói kĩ hơn ở phần miêu tả ADC

Hình 1.7 Các cổng I/O của dsPic30F4011

Trang 25

Hình 1.8 Sơ đồ khối của một cổng I/O dùng chung với ngoại vi khác

1.3.5. Ngắt và cơ chế ngắt

Vi điều khiển dsPic30F4011 cótới 30 nguồn ngắt và 4 bộ xử lý loạitrừ(bẫy lỗi), bộ xử lýnày sẽ cho phép cácngắt theo mức ưu tiên được sắpđặttrước

CPU có thể đọc bảng vector ngắtvà truyền địa chỉ được chứa trongvectorngắt tới bộ đếm chương trình.Vector ngắt được truyền từ bus dữ liệuchươngtrình vào trong bộ đếm chươngtrình thông qua bộ hợp kênh 24-bit, lốivàocủa bộ đếm chương trình

Bảng vector ngắt (InterruptVector Table - IVT) và bảng vectorngắt thaythế (AlternateInterruptVector Table - AIVT) được đặt gầnđiểm bắt đầu bộ

Trang 26

nhớ chương trình(0x000004) IVT và AIVT Các thanh ghi điềukhiểnngắtvà ưu tiên ngắt:

- Các thanh ghi 16-bit IFS0<15:0>,IFS1<15:0>, IFS2<15:0>Tất cả các cờngắt được lưu trong 3 thanh ghi này Các cờ được đặt tươngứng bởi củangoại vi hoặc tín hiệu bên ngoài và có thể xoá bằng phần mềm

- Các thanh ghi 16-bit: IEC0<15:0>, IEC1<15:0>, IEC2<15:0>: Tất cả cácbit điều khiển cho phép ngắt đều nằm trong 3 thanh ghi này Các bit nàyđược sử dụng để cho phép ngắt độc lập ngoại vi và tín hiệu ngoài

- Các thanh ghi ưu tiên ngắt: IPC0<15:0> IPC10<7:0>: Người sử dụng cóthể chuyển đổi mức ưu tiên ngắt kết hợp với mỗi ngắt được giữ trong cácthanh ghi này

- Nhóm bit IPL<3:0>: Mức độ ưu tiên của CPU hiện hành được lưu rõ ràngtrong các bit này Bit IPL<3> nằm trong thanh ghi CORCON, trong khi đócác bit IPL<2:0> nằm trong thanh ghi trạng thái (SR)

- Hai thanh ghi 16-bit INTCON1<15:0>, INTCON2<15:0>: Chức năng điềukhiển ngắt toàn cục được xuất phát từ hai thanh ghi này INTCON1 chứa các

cờ điều khiển và trạng thái của bộ xử lý loại trừ INTCON2 điều khiển tínhiệu yêu cầu ngắt và việc bảng vector ngắt thay thế

Các nguồn ngắt có thể được người sử dụng sắp xếp mức ưu tiên từ 1 đến 7thông qua thanh ghi IPCx Mỗi nguồn ngắt được kết hợp với một vectorngắt

Trang 27

Hình 1.9 Các vector bẫy lỗi

1.3.6. Các bộ định thời

Trong vi xử lý dsPIC40F4011 có tới năm bộ định thời (Timer) 16-bit.Trong đó các Timer có thể hoạt động riêng biệt, riêng hai Timer 2, 3 và haiTimer 4, 5 có thể kết hợp với nhau để trở thành một Timer 32 bit

Về cấu trúc các Timer này khác nhau vì hai Timer 2 và 3 và hai Timer 4 và 5

có thể kết hợp còn Timer 1 thì không Timer 1 có cấu trúc kiểu A (Hình2.10), Timer 2,4 kiểu B và Timer 3,5 kiểu C Về hoạt động các Timer có hoạt

Trang 28

động gần giống nhau do đó ta sẽ tìm hiểu về Timer 1, các Timer còn lại làtương tự.

Timer 1 có thể hoạt động với nguồn tạo dao động tần số thấp 32KHz, và chế

độ không đồng bộ với nguồn tạo dao động ngoài Đặc điểm riêng biệt củaTimer 1 đó là có thể dùng trong các ứng dụng thời gian thực

Phần tiếp theo sẽ mô tả chi tiết cách thiết lập và sử dụng Timer 1 với ba chếđộ:

- Timer 16-bit: trong chế độ này, timer sẽ tăng sau mỗi chu kỳ lệnh đến khigiá trị củatimer bằng giá trị của thanh ghi chu kỳ PR1 (Period Register) thì sẽreset về ‘0’ và tiếp tụcđếm

- Counter đồng bộ 16-bit: trong chế độ này, timer sẽ tăng ở mỗi sườn lên củacủa xungnhịp ngoài mà được đồng bộ với pha của các xung nhịp trong.Timer tăng đến giá trị nằm trong thanh ghi PR1 thì dừng và reset timer về ‘0’rồi tiếp tục đếm lên

- Counter không đồng bộ 16-bit: khi hoạt động trong chế độ này, timer sẽtăng dần sau mỗi sườn lên của xung nhịp bên ngoài tác động vào Timer sẽtăng dần đến khi giá trị của nó bằng thanh ghi PR1 thì bị reset về ‘0’ rồi lạitiếp tục đếm lên

Hệ số chia tần của bộ định thời

Xung nhịp đầu vào (Fosc/4 hoặc xung nhịp ngoài) đưa vào Timer 16-bit và

có thể được chia tần số theo các tỉ lệ sau: 1:1, 1:8, 1:64, 1:256 được xác địnhbởi các bit TCKPS<1:0> của thanh ghi TxCON Hệ số chia tần này(prescaler) có thể bị xoá khi xảy ra một trong các điều kiện sau:

- Ghi vào TMR

- Ghi vào thanh ghi TxCON (trừ việc ghi vào bit TxCON) Reset thiết bị, nhưPOR và BOR DsPic30F4011 có 5 thanh ghi điều khiển Timer

Trang 29

T1CON T5CON Các thanh ghi này được chia ra làm 2 kiều T1CON thuộckiểu A, T2CON và T4CON thuộc kiểu B, T3CON và T5CON thuộc kiểu C.

Hình 1.10 Sơ đồ khối của Timer 1

Hình 1.11 Sơ đồ khối Timer 2

Trang 30

Hình 1.12 Sơ đồ khối Timer 3

Trang 31

Hình 1.13.Sơ đồ khối Timer 2/3 - 32bit

Trang 32

CHƯƠNG 2 : MODULE SIM 548C

2.1. Module SIM548C và các thiết bị đi kèm.

Đây là module GSM/GPRS và GPS của hãng SIMCOM

Chúng ta có thể giao tiếp với module thông qua chuẩn đế 60 chân dành riêng chomodule SIM548 Thông qua đế chuẩn 60 chân này,chúng ta có thể sử dụng modulevới các mục đích :

Trang 33

· Bàn phím,bảng nút nhấn hay SPI LCD.

· Một port giao tiếp nối tiếp dành cho GSM và hai port nối tiếp dành cho GPSgiúp cho việc thiết kế và phát triển ứng dụng một cách dễ dàng hơn thông qua việcgiao tiếp bằng tập lệnh AT

Bộ sạc cho pin

· Các ngõ vào ra dành cho chức năng nghe,gọi và xử lý âm thanh

· Các ngõ vào của bộ chuyển đổi AD

Để sử dụng được module SIM548C,cần phải có các thiết bị đi kèm:

A: Nguồn cung cấp

Pin Li-Ion : 3.7V – 800mAh

B: Anten GSM

C: Anten GPS

Trang 34

D: Cáp kết nối anten với module.

- Nguồn cung cấp và nguồn sạc pin

- Hai ngõ vào giao tiếp theo chuẩn nối tiếp

- Hai ngõ vào analog

- Ngõ vào ra dành cho Simcard

Trang 35

2.2.2 Mô tả các chân của module

dùng để cung cấp

Vmax= 4.5VVmin=3.4V

Trang 36

nguồn hoạt động chomodule

Vnorm=4.0V

bộ thời gian thực củamodule khi không cónguồn chính Và cung cấp một dòng

ra dành cho nguồn

dự trữ khi có nguồn chính,để tiết kiểm năng lượng của nguồn dự trữ

Vmax=2.0VVmin=1.2VVnorm=1.8VInorm= 20uA

bộ sạc pin của module Đồng thời giúp cho module nhận ra bộ sạc

Vmax=5.25VVmin=1.1 *VBATVnorm=5.1V

cho các ứng dụng số

và 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ânnày ở mức thấp

VILmax=0.3*VBATVIHmin=0.7*VBATVImax=VBAT

Trang 37

DISP_D0 I/O Ngõ vào ra để kiểm

tra đường truyền dữ liệu

VILmin=0VVILmax=0.9VIHmin=2.0VIHmax= 3.2VOLmin=GNDVOLmax=0.2VVOHmin=2.7VOHmax=2.9

DISP_CLK O Ngõ ra kiểm tra

xung Clock

DISP_A0 O Ngõ ra kiểm tra dữ

liệu và địa chỉ (có thể được lựa chọn bằng phần mềm)

VILmin=0VVILmax=0.9VIHmin=2.0VIHmax= 3.2VOLmin=GNDVOLmax=0.2V

Trang 38

VOHmin=2.7VOHmax=2.9Cá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=0VVILmax=0.9VIHmin=2.0VIHmax= 3.2VOLmin=GNDVOLmax=0.2VVOHmin=2.7VOHmax=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

GPIO5

GPIO32

I/O Ngõ vào ra dùng

chung cho các mục đích khác

Port nối tiếp 1

giao tiếp đã sẵn sàng

VILmin=0VVILmax=0.9VIHmin=2.0VIHmax= 3.2VOLmin=GNDVOLmax=0.2VVOHmin=2.7VOHmax=2.9

liệu đã được gửi đi

Port nối tiếp 2

Trang 39

DEBUG_TX O Port dùng để sửa lỗi

và giao tiếp bằng tậplệnh AT

Các chân dành cho Sim card

Sim card

Có 2 loại nguồn cung cấp 1.8V và 2.85V.Đượ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=0VVILmax=0.3* VSIMVIHmin=0.7* VSIMVIHmax= VSIM +0.3VOLmin=GNDVOLmax=0.2VVOHmin= VSIM -0.2VOHmax= VSIM

SIM_CLOCK O Xung nhịp cho SIM

SIM_PRESENCE I Chân để nhận biết có

Điện áp ngõ vào từ 0-24V

TEMP_BAT I Ngõ vào cho biết

nhiệt độ của pin

Bảng 2.1 Chi tiết các chân của module SIM548C

2.2.3. Bật ứng GSM của module SIM548C

Có ba cách để cho phép ứng dụng GSM hoạt động

Trang 40

- Sử dụng chân PWMRKEY.

- Sử dụng chân CHG_IN

- Sử dụng ngắt của một thời gian thực

- Sử dụng chân PWMRKEY để bật ứng dụng GSM:

Để cho phép ứng GSM hoạt động,yêu cầu phải giữ chân PWMRKEY ở

mức thấp trong một khoảng thời gian ngắn

Hình 2.3 Dùng chân PWMRKEY để bật ứng dụng GSM

Khi việc bật ứng dụng GSM hoàn tất Module sẽ gửi trả lại thông báo ứngdụng đã sẵn sàng hoạt động “RDY” Và chân STATUS sẽ được kéo lên mứccao và giữ ở mức này khi ứng dụng GSM hoạt động

RDY GHOST MODE

+CFUN: 0

Ngày đăng: 29/10/2016, 16:01

HÌNH ẢNH LIÊN QUAN

Hình 1.1. Sơ đồ khối DsPic30F4011 - Thiết bị định vị GPSG/PRS
Hình 1.1. Sơ đồ khối DsPic30F4011 (Trang 14)
Hình 1.2. Các thanh ghi của khối xử lý trung tâm - Thiết bị định vị GPSG/PRS
Hình 1.2. Các thanh ghi của khối xử lý trung tâm (Trang 15)
Hình 1.4. Bản đồ không gian bộ nhớ chương trình - Thiết bị định vị GPSG/PRS
Hình 1.4. Bản đồ không gian bộ nhớ chương trình (Trang 20)
Hình 1.5 Truy cập dữ liệu từ không gian chương trình - Thiết bị định vị GPSG/PRS
Hình 1.5 Truy cập dữ liệu từ không gian chương trình (Trang 22)
Hình 1.6. Ánh xạ không gian dữ liệu vào không gian chương trình - Thiết bị định vị GPSG/PRS
Hình 1.6. Ánh xạ không gian dữ liệu vào không gian chương trình (Trang 23)
Hình 1.7. Các cổng I/O của dsPic30F4011 - Thiết bị định vị GPSG/PRS
Hình 1.7. Các cổng I/O của dsPic30F4011 (Trang 24)
Hình 1.8. Sơ đồ khối của một cổng I/O dùng chung với ngoại vi khác - Thiết bị định vị GPSG/PRS
Hình 1.8. Sơ đồ khối của một cổng I/O dùng chung với ngoại vi khác (Trang 25)
Hình 1.9. Các vector bẫy lỗi - Thiết bị định vị GPSG/PRS
Hình 1.9. Các vector bẫy lỗi (Trang 27)
Hình 1.11. Sơ đồ khối Timer 2 - Thiết bị định vị GPSG/PRS
Hình 1.11. Sơ đồ khối Timer 2 (Trang 29)
Hình 1.12. Sơ đồ khối Timer 3 - Thiết bị định vị GPSG/PRS
Hình 1.12. Sơ đồ khối Timer 3 (Trang 30)
Hình 2.1. Module SIM548 - Thiết bị định vị GPSG/PRS
Hình 2.1. Module SIM548 (Trang 32)
Bảng 2.1.  Chi tiết các chân của module SIM548C - Thiết bị định vị GPSG/PRS
Bảng 2.1. Chi tiết các chân của module SIM548C (Trang 39)
Hình 2.3.  Dùng chân PWMRKEY để bật ứng dụng GSM - Thiết bị định vị GPSG/PRS
Hình 2.3. Dùng chân PWMRKEY để bật ứng dụng GSM (Trang 40)
Hình 2.4. Dùng chân PWRKEY để tắt ứng dụng GSM - Thiết bị định vị GPSG/PRS
Hình 2.4. Dùng chân PWRKEY để tắt ứng dụng GSM (Trang 42)
Hình 2.7.  Cấu tạo đế SIM card 6 chân - Thiết bị định vị GPSG/PRS
Hình 2.7. Cấu tạo đế SIM card 6 chân (Trang 45)
Bảng 2.5.  Các chân dành cho ứng dụng GPS - Thiết bị định vị GPSG/PRS
Bảng 2.5. Các chân dành cho ứng dụng GPS (Trang 47)
Hình 2.10.  Kết nối với chân VRTC - Thiết bị định vị GPSG/PRS
Hình 2.10. Kết nối với chân VRTC (Trang 48)
Hình 2.9.  Bật ứng dụng GPS - Thiết bị định vị GPSG/PRS
Hình 2.9. Bật ứng dụng GPS (Trang 48)
Hình 2.11.  Kết nối với chân RESET - Thiết bị định vị GPSG/PRS
Hình 2.11. Kết nối với chân RESET (Trang 49)
Hình 2.12.  Mạng GSM - Thiết bị định vị GPSG/PRS
Hình 2.12. Mạng GSM (Trang 50)
Hình 2.15. Khởi tạo cấu hình mặc định cho module SIM548 - Thiết bị định vị GPSG/PRS
Hình 2.15. Khởi tạo cấu hình mặc định cho module SIM548 (Trang 54)
Hình 2.16. Thiết lập kết nối - Thiết bị định vị GPSG/PRS
Hình 2.16. Thiết lập kết nối (Trang 58)
Hình 2.17. Truyền nhận gói tin giữa module Sim548C và Server - Thiết bị định vị GPSG/PRS
Hình 2.17. Truyền nhận gói tin giữa module Sim548C và Server (Trang 59)
Hình 2.18. Kết nối bị huỷ - Thiết bị định vị GPSG/PRS
Hình 2.18. Kết nối bị huỷ (Trang 61)
Bảng 2.7. Giao thức RM - Thiết bị định vị GPSG/PRS
Bảng 2.7. Giao thức RM (Trang 67)
3.1. Sơ đồ khối - Thiết bị định vị GPSG/PRS
3.1. Sơ đồ khối (Trang 68)
3.3. Sơ đồ nguyên lý - Thiết bị định vị GPSG/PRS
3.3. Sơ đồ nguyên lý (Trang 71)
Hình 4.1. Sơ đồ giao tiếp thông qua Winsock - Thiết bị định vị GPSG/PRS
Hình 4.1. Sơ đồ giao tiếp thông qua Winsock (Trang 88)
Hình 4.2. Ứng dụng Client – Server (TCP) - Thiết bị định vị GPSG/PRS
Hình 4.2. Ứng dụng Client – Server (TCP) (Trang 89)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w