Tải bản đầy đủ (.pdf) (70 trang)

Nghiên cứu thiết kế mặt lặp la bàn chỉ thị số tương thích chuẩn giao tiếp NMEA 0183

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.73 MB, 70 trang )

LỜI CẢM ƠN
Trong thời gian làm đồ án tốt nghiệp em đã nhận đƣợc nhiều sự giúp đỡ ,
đóng góp ý kiến và chỉ bảo nhiệt tình của thầy , cô , bạn bè.
Em xin trân thành cảm ơn thầy giáo : Ths .Nguyễn Đình Thạch đã giới
thiệu, cung cấp tài liệu và tận tình hƣớng dẫn em hoàn thành đồ án này.
Em xin cảm ơn các thầy cô giáo trong trƣờng Đại học Hàng Hải Việt Nam
và các thầy cô trong khoa Điện- Điện tử đã dạy dỗ em trong thời gian học tập tại
trƣờng giúp em có đƣợc các cơ sở lý thuyết và đã tạo điều kiện giúp đỡ em
trong quá trình học tập
Cuối cùng em xin cảm ơn gia đình, bạn bè ,đã luôn tạo điều kiện quan tâm
,giúp đỡ , động viên em trong suốt quá trình học tập và hoàn thành đồ án tốt
nghiệp.
Giáo viên hƣớng dẫn

Sinh viên thực hiện

Ths .Nguyễn Đình Thạch

Trần Thành Công

Em xin chân thành cảm ơn

I


LỜI CAM ĐOAN
Em xin cam đoan đây là đồán độc lập của riêng em. Các thiết kế ,tính toán
trong đồán hoàn toàn mang là của em không sao chépở bất cứ đồán nào trƣớcđó.
Nếu có bất cứ sự không trung thực nào em xin chịu hoàn toàn trách
nhiệm.


II


MỤC LỤC
LỜI CẢM ƠN ..................................................................................................... i
LỜI CAM ĐOAN .............................................................................................. ii
DANH MỤC HÌNH VẼ ..................................................................................... v
LỜI MỞ ĐẦU .................................................................................................... 1
CHƢƠNG 1: CƠ SỞ LÝ THUYẾT VÀ CÁC CÔNG CỤ CẨN THIẾT ĐỂ
THIẾT KẾ MẶT LẶP. ....................................................................................... 2
1.1 GIỚI THIỆU VỀ HỆ THỐNG LA BÀN SỬ DỤNG TRÊN TÀU BIỂN .. 2
1.2 LA BÀN ĐIỆN ĐỒNG BỘ BẰNG TÍN HIỆU SỐ .................................. 2
1.3 CHUẨN TRUYỀN THÔNG NMEA 0183 ............................................... 4
1.3.1 Khái quát chung về chuẩn giao tiếp NMEA 0183 .............................. 4
1.3.2. Đặc tính điện .................................................................................... 5
1.3.3.Cách thức gói tin của NMEA 0183 .................................................... 7
1.3.4. Mã nhận dạng Talker và định dạng tín hiệu la bàn ............................ 7
1.3.5. Định dạng tín hiệu la bàn ................................................................ 10
1.4.NGHIÊN CỨU VỀ HỌ VI ĐIỀU KHIỂN AVR. .................................... 11
1.4.1. Chức năng và đặc điểm ................................................................... 11
1.4.2. Cấu trúc bên trong của AVR ........................................................... 11
1.4.3. Các Port nhập xuất .......................................................................... 16
1.4.4. Ngắt và sự kiện .............................................................................. 17
1.5 LED 7 THANH VÀ PHƢƠNG PHÁP HIỂN THỊ CỦA LED 7 THANH.
..................................................................................................................... 21
1.5.1 Khái quát ......................................................................................... 21
1.5.2 Các thông số của LED 7 thanh ......................................................... 22

III



CHƢƠNG 2: TÍNH TOÁN VÀ THIẾT KẾ PHẦN CỨNG CHO MẶT LẶP LA
BÀN HIỆN THỊ SỐ ......................................................................................... 23
2.1. XÂY DỰNG CẤU TRÚC SƠ ĐỒ KHỐI CHO MẶT LẶP LA BÀN
HIỂN THỊ SỐ. ............................................................................................. 23
2.2. THIẾT KẾ PHẦN CỨNG. .................................................................... 24
2.2.1.Thiết kế mạch nguồn. ...................................................................... 24
2.2.2.Thiết kế khối xử lý trung tâm. .......................................................... 26
2.3. KHỐI GIAO TIẾP VỚI NMEA 0183 .................................................... 29
2.4.MẠCH HIỆN THỊ BẰNG LED 7 THANH ............................................ 30
2.5. MẠCH ĐIỀU KHIỂN ĐỘ SÁNG . ....................................................... 31
2.6. SƠ ĐỒ NGUYÊN LÝ CỦA MẶT LẶP. ............................................... 31
CHƢƠNG 3. XÂY DỰNG THUẬT TOÁN ĐIỀU KHIỂN CHO MẶT LẶP LA
BÀN HIỆN THỊ SỐ ......................................................................................... 33
3.1.LƢU ĐỒ THUẬT TOÁN CỦA CHƢƠNG TRÌNH CHÍNH. ................ 33
3.2. KHỞI TẠO VÀ KHAI BÁO BIẾN ....................................................... 35
3.3. CHƢƠNG TRÌNH THU TÍN HIỆU LA BÀN....................................... 37
3.4. CHƢƠNG TRÌNH XỬ LÝ TÍN HIỆU LA BÀN ................................... 39
3.5. CHƢƠNG TRÌNH HIỆN THỊ TÍN HIỆU RA LED 7 THANH. ............ 41
3.6. CHƢƠNG TRÌNH ĐIỀU KHIỂN ĐỘ SÁNG DIMMER. ..................... 42
CHƢƠNG 4. THI CÔNG ................................................................................. 46
PHỤ LỤC ........................................................................................................ 53

IV


DANH MỤC HÌNH VẼ
Số hình

Tên Hình


Trang

1.1

Sơ đồ giao tiếp La bàn – mặt lặp – hệ máy trạm

3

1.2

Nguyên lý chỉ báo của mặt lặp la bàn

4

1.3

Cấu trúc khung dữ liệu tín hiệu chuẩn NMEA 0183

5

1.5

Kết nối giữa một Talker và nhiều Listener

6

1.6

Sơ đồ cấu trúc bên trong của dòng chip AVR


12

1.7

Thanh ghi trạng thái

13

1.8

Cấu trúc bộ nhớ của AVR

14

1.9

Cách truy cập dữ liệu của ngăn xếp

16

1.10

Quy trình phục vụ ngắt

18

1.11

Hình dạng LED 7 thanh


21

1.12

LED 7 thanh loại Anode chung

22

1.13

LED 7 thanh loại Cathode chung

22

2.1

Sơ đồ khối của mặt lặp la bàn hiển thị số

23

2.2

Sơ đồ nguyên lý mạch nguồn +5V

25

2.3

Sơ đồ nguyên lý khối xử lý trung tâm cơ cấu chỉ báo


26

2.4

Mạch tạo dao động cho vi điều khiển

27

2.5

Mạch RESET

28

2.6

Mạch giao tiếp với NMEA0183

29

2.7

Mạch chỉ thị hiện thị bằng LED 7 thanh.

30

2.8

Mạch điều khiển độ sáng Dimmer


31

2.9

Sơ đồ nguyên lý cho mặt lặp la bàn điện

32

3.1

Lƣu đồ thuật toán chính của chƣơng trình.

33

3.2

Khởi tạo ngắt cứng UART

35

3.3

Khởi tạo Timer1

36

3.4

Sơ đồ thuật toán chƣơng trình thu tín hiệu la bàn


37

3.5

Chƣơng trình xử lý tín hiệu la bàn

39

V


3.6

Chƣơng trình quét LED 7 thanh

41

3.7

Chƣơng trình điều khiển độ sáng Dimmer

43

3.8

Biểu đồ thời gian

45


4.1

Sơ đồ nguyên lý của board chính

46

4.2

Sơ đồ mạch in của mặt lặp la bàn chỉ thị số

47

4.3

Sơ đồ mạch in của board chính.

48

4.4

Khởi động chƣơng trình nạp Progisp

49

4.5

Báo nhận mạch nạp và chọn loại chip

49


4.6

Chọn các thông số quan trọng trong quá trình nạp

50

chƣơng trình
4.7

Nạp chƣơng trình

51

4.8

Load chƣơng trình và kết thúc

52

VI


LỜI MỞ ĐẦU
Từ rất lâu đời la bàn là một thiết bị không thể thiếu đối với tàu bè lƣu thông
trên biển giúp nhận biết góc phƣơng vị mà tàu di chuyển. Ngày nay khi các công
nghệ phát triển hệ thống la bàn trang bị trên tàu ngày càng hiện đại. Mỗi tàu khi lƣu
thông trên biển thƣờng đƣợc 1 la bàn từ , la bàn con quay hoặc la bàn điện. Trong
đó la bàn con quay cho độ chính xác cao hơn hết. Tuy nhiên giá thành của la bàn
con quay thƣờng rất cao do các yêu cầu chính xác khi gia công các chi tiết cơ khí
và đòi hỏi 1 công nghệ hiện đại mới có thể chế tạo đƣợc. Mỗi tàu thƣờng chỉ trang

bị 1 la bàn con quay ở vị trí buồng lái chính vậy nên khi muốn quan sát ở góc
phƣơng vị tại các vị trí khác trên tàu thì ngƣời ta thƣờng chọn phƣơng án là lắp đặt
1 mặt lặp la bàn dùng lặp lại các thông tin trên la bàn chủ.
Để tìm hiểu rõ hơn về các hệ thống la bàn cũng nhƣ cách thức truyền dữ liệu
từ la bàn chủ trên tàu em đã chọn đề tài " Nghiên cứu thiết kế mặt lặp la bàn chỉ
thị số tương thích chuẩn giao tiếp NMEA 0183" Sau thời gian tìm hiểu cùng với
sự hƣớng dẫn của thầy giáo Ths.Nguyễn Đình Thạch đến nay em đã hoàn thành đồ
án với nội dung gồm 4 chƣơng
 Chƣơng 1 : CƠ SỞ LÝ THUYẾT VÀ CÁC CÔNG CỤ CẨN THIẾT ĐỂ
THIẾT KẾ MẶT LẶP.
 Chƣơng 2 :TÍNH TOÁN VÀ THIẾT KẾ PHẦN CỨNG CHO MẶT LẶP LA
BÀN HIỆN THỊ SỐ
 Chƣơng 3 :XÂY DỰNG THUẬT TOÁN ĐIỀU KHIỂN CHO MẶT LẶP
LA BÀN HIỆN THỊ SỐ
 Chƣơng 4 :THI CÔNG
Chƣơng 1 sẽ giới thiệu về các công cụ cần để có thể triển khai thiết kế . Chƣơng 2
là phần tính toán cho phần cứng của mặt lặp. Chƣơng 3 là phần xây dựng các thuật
toán thu tín hiệu , tách tín hiệu , và điều khiển. Chƣơng 4 là thực hiện thi công.
Hải phòng, tháng 12 năm 2015
Sinh viên thực hiện đề tài
Trần Thành Công

1


CHƢƠNG 1: CƠ SỞ LÝ THUYẾT VÀ CÁC CÔNG CỤ CẨN THIẾT ĐỂ
THIẾT KẾ MẶT LẶP.
1.1 GIỚI THIỆU VỀ HỆ THỐNG LA BÀN SỬ DỤNG TRÊN TÀU BIỂN
Các yêu cầuchung về hệ thống la bàn sử dụng trên tàu biển
Đối với các tàu khi lƣu thông trên biển phải trang bị một la bàn từ chuẩn đã đƣợc

hiệu chỉnh hoặc một phƣơng tiện xác định phƣơng hƣớng mà độc lập với bất kỳ
nguồn năng điện nào để xác định phƣơng hƣớng và hiển thị các thông tin về
phƣơng hƣớng đƣợc đặt tại vị trí lái chính của tàu.
Các tàu phải trang bị các mặt la bàn hoặc phƣơng tiện khácđƣợc chia độ theo
phƣơng ngang 360o.
Các tàu khi lƣu hành trên biển phải đƣợc trang bị một la bàn từ dự trữ có thể
thay thế la bàn nêu trên hoặc 1 phƣơng tiện khác có chức năng tƣơng đƣơng.
Tất cả các tàu có tổng dung tích 500 trở lên phải mang một la bàn con quay
hoặc phƣơng tiện khác nhƣ là các mặt lặp la bàn để các định và hiển thị hƣớng tàu
bằng biện pháp không từ tính. Các thiết bị này phải đƣợc bố trí để có thể dễ dàng
quan sát đƣợc từ vị trí lái chính
Đối với các tàu có trang bị hệ thống mặt lặp la bàn:
-Mặt lặp phải đƣợc chế tạo để có thể lắp đặt thiết bị đọc phƣơng vị
-Mặt lặp phải đƣợc treo trong mặt phẳng ngang nhờ hệ thống các đăng để
tránh ảnh hƣởng chuyển động của tàu.
-Mọi mặt lặp đƣợc trang bị trên boong hở phải có khả năng kín nƣớc.
-Dung sai không quá 0.2o
-Phải đƣợc trang bị hệ thống chiếu sáng phù hợp để có thể đọc đƣợc chỉ số la
bàn mọi lúc.Hệ thống này phải có khải năng điều chỉnh độ sáng.
1.2 LA BÀN ĐIỆN ĐỒNG BỘ BẰNG TÍN HIỆU SỐ
Ngày nay với sự phát triển kỹ thuật thông tin số, các thiết bị hàng hải cũng
đƣợc phát triển với các đặc trƣng nổi bật:
2


-Khả năng điều khiển từ xa thông qua một máy chủ duy nhất.
-Tài nguyên phần cứng và phần mềm có thể cùng đƣợc dùng chung, thông
tin của thiết bị này có thể đƣợc nhiều thiết bị khác khai thác sử dụng
-Độ tin cậy cũng nhƣ chất lƣợng thông tin cao.
Cụ thể đối với hệ thống la bàn:


Hình 1.1 – Sơ đồ giao tiếp La bàn – mặt lặp – hệ máy trạm
Trong đó:
Gyro Compass: La bàn con quay
Magnetic Compass: La bàn từ
Gyro Operator Unit: thiết bị điều chỉnh con quay
Steering Repeater: Mặt lặp
Bridge Workstations: Hệ thống máy trạm.
Nguyên tắc hoạt động:
3


La bàn con quay đƣợc đồng bộ với la bàn từ qua thiết bị điều chỉnh con
quay. Số liệu góc phƣơng vị của la bàn con quay và la bàn từ đều đƣợc chuyển
thành dữ liệu dạng số thông qua một đĩa encoder. Các dữ liệu này đƣợc đóng gói và
truyền đến hệ máy thống máy trạm thông qua chuẩn truyền thông NMEA 0183.
Hoặc đƣợc truyền luôn đến cho các mặt lặp để chỉ thị phƣơng vị.

dữ liệu
La bàn

MODULE
Điều Khiển

Cơ cấu chỉ báo

Hình 1.2 – Nguyên lý chỉ báo của mặt lặp la bàn
Thành phần chính của cơ cấu chỉ báo là LED7 thanh. Thành phần chính của
module điều khiển là một chip vi điều khiển họ AVR .
1.3 CHUẨN TRUYỀN THÔNG NMEA 0183

1.3.1 Khái quát chung về chuẩn giao tiếp NMEA 0183
NMEA 0183 là tiêu chuẩn kỹ thuật cho giao tiếp kết hợp điện với tín hiệu
thông tin liên lạc cho các thiết bị hàng hải nhƣ echo sounder, máy dò ngang
(sonar), máy đo gió (anemometer), gyrocompass, autopilot, thiết bị thu GPS ... Tiêu
chuẩn đƣợc xây dựng bởi Hiệp hội Điện tử Hàng Hải Quốc gia Mỹ (National
Marine Electronics Association).Tiêu chuẩn này thay thế cho các tiêu chuẩn trƣớc
đó là NMEA 0180 và NMEA 0182. Sắp tới sẽ đƣợc thay thế bằng tiêu chuẩn mới
hơn NMEA 2000. Tuy nhiên, tiêu chuẩn này vẫn đƣợc nâng cấp thƣờng xuyên.
Tiêu chuẩn điện đƣợc sử dụng là EIA-422, hầu hết phần cứng với NMEA-0183 kết
nối qua cổng EIA-232.
Chuẩn NMEA đƣợc sử dụng mã ASCII đơn giản, phƣơng thức truyền tuần tự. Dữ
liệu sẽ đƣợc truyền đi trong một câu lệnh theo một chiều duy nhất từ một máy
Talker đến một Listener tại một thời điểm. Trên cơ sở đó, ngƣời ta cũng đã mở
4


rộng để một máy phát có thể đến nhiều máy thu, cũng nhƣ một máy thu có thể nhận
thông tin từ nhiều máy phát.
1.3.2. Đặc tính điện
Các thiết bị NMEA0183 đƣợc thiết kế cho cả Listener và Talker (một số thiết
bị là cả 2), sử dụng một giao diện nối tiếp bất đồng bộ có các chỉ số nhƣ sau:
Tốc độ Baud

: 4800/38400

Số bit data

: 8 (bit 7 là “0”)

Bit stop


:1

Parity

: không

Bắt tay

: không

Hình 1.3 – Cấu trúc khung dữ liệu tín hiệu chuẩn NMEA 0183

NMEA0183 cho phép ghép nối một Talker và nhiều Listener trên cùng một
mạch. Loại dây dùng để liên kết là cặp dây xoắn bọc lƣới, với lớp bọc chỉ đƣợc nối
đất ở Talker. Tiêu chuẩn ghi rõ cách thức sử dụng của kết nối riêng.

5


Hình 1.4 – Kết nối giữa một Talker và nhiều Listener
Cổng ra của Talker tƣơng thích với EIARS-422, một hệ thống vi sai với 2
dây tín hiệu A và B. Tín hiệu dẫn vi sai không nối đất và chống đƣợc nhiễu.
Tuy nhiên, một dây kết đơn tại mức TTL cũng đƣợc chấp nhận. Điện áp trên dây A
tƣơng đƣơng với dây TTL đơn, khi mà điện áp trên dây B đảo ngƣợc lại (nếu ngõ
ra A là +5V, thì ngõ ra B là 0V, và ngƣợc lại. Đấy là chế độ đơn cực của RS-422.
Còn chế độ lƣỡng cực sử dụng điện áp ±5V).
Trong trƣờng hợp khác, máy thu sử dụng một bộ opto cách ly với một mạch
bảo vệ phù hợp.
Cổng vào cần đƣợc cách ly với mass máy thu. Thực tế, dây đơn hoặc dây A

của RS-422 có thể nối trực tiếp cổng vào RS-232 máy tính. Thậm chí nhiều sản
phẩm gần đây của, nhƣ máy thu GPS cầm tay, không có cổng ra vi sai RS-422,
nhƣng với chỉ một dây đơn có mức tín hiệu phù hợp nhƣ TTL hay CMOS 5V.
6


1.3.3.Cách thức gói tin của NMEA 0183
Tất cả dữ liệu đƣợc truyền đều ở dạng một câu. Chỉ có những ký tự in đƣợc
của bộ mã ASCII đƣợc cho phép, cộng thêm với CR và LF. Mỗi gói tin bắt đầu
bằng ký tự $ và kết thúc bằng kí tự <CR><LF>.
Định dạng chung 1 gói dữ liệu chuẩn truyền thông NMEA
$xxyyy,a1,a2,....<CR><LF>
Hai kí tự đứng sau $ là định dạng Talker. Ba ký tự tiếp sau đó là nhận dạng
của câu, tiếp đến là một số các trƣờng dữ liệu phân cách bởi dấu phẩy, một số kiểm
tra tổng (checksum) tùy chọn, cuối cùng là carriage return/line feed. Trƣờng dữ liệu
đƣợc định nghĩa duy nhất với mỗi kiểu câu. Ví dụ nhƣ:
$HCHDT,160,M<CR><LF>
"HC" cho biết Talker là la bàn từ, “HDT” cho biết thông tin tiếp theo là hƣớng chỉ
la bàn từ. “160” là giá trị góc phƣơng vị la bàn, và “M” chỉ rõ giá trị góc phƣơng vị
giống la bàn từ.
Một câu có thể chứa đến 80 ký tự cộng thêm “$” và <CR><LF>. khi dữ liệu
của một trƣờng không có thì trƣờng ấy đƣợc lấp đầy, các dầu phẩy lúc này sẽ đƣợc
gửi đi mà không có khoảng cách nào giữa chúng. Trƣờng checksum bao gồm một
dấu “*” và 2 số hex là kết quả của phép OR giữa các ký tự, nhƣng không bao gồm
các dấu "$" và "*".
1.3.4. Mã nhận dạng Talker và định dạng tín hiệu la bàn
Mã nhận dạng Talker
AG

Autopilot – General: Máy lái tự động đa năng


AP

Autopilot – Magnetic: Máy láy tự động theo từ trƣờng

CD

Communications – Digital Selective Calling (DSC): gọi chọn số DSC

CR

Communications – Receiver / Beacon Receiver: Đèn hiệu thu

CS

Communications – Satellite: Vệ tinh truyền thông

7


CT Communications – Radio-Telephone (MF/HF): Thoại vô tuyến MF/HF
CV

Communications – Radio-Telephone(VHF): Thoại vô tuyến VHF

CX

Communications – Scanning Receiver: Máy thu quét truyền thông

DF


Direction Finder: Kính ngắm định hƣớng

EC

Electronic Chart Display & Information System (ECDIS): Hệ thống thông

tin và biểu đồ điện tử
EP

Emergency Position Indicating Beacon: Phao định vị vô tuyến

ER

Engine Room Monitoring Systems: Các hệ thống kiểm tra buồng máy

GP

Global Positioning System (GPS): Hệ thống định vị toàn cầu GPS

HC

Heading – Magnetic Compass: Hƣớng mũi tàu theo la bàn từ.

HE

Heading – North Seeking Gyro: Hƣớng mũi tàu theo con quay hƣớng Bắc.

HN


Heading – Non North Seeking Gyro: Hƣớng mũi tàu không theo con quay

II

Integrated Instrumentation: Trang thiết bị tích hợp

IN

Integrated Navigation: Thông tin định vị tích hợp

LC

Loran C: hệ thống vô tuyến hàng đạo xa.

P

Proprietary Code: Mã sở hữu riêng

RA

RADAR and/or ARPA

SD

Sounder, Depth: Máy đo độ sâu

SN

Electronic Positioning System: Hệ thống định vị điện tử


SS

Sounder, Scanning: Máy quét dò
Turn Rate Indicator: Bộ chỉ báo tốc độ quay lái

TI
VD

Velocity Sensor, Doppler, other/general: Bộ cảm biến tốc độ theo hiệu ứng

Doppler
DM Velocity Sensor, Speed Log, Water, Magnetic: Bộ cảm biến tốc độ theo tốc
độ tàu, nƣớc, từ trƣờng.
VW Velocity Sensor, Speed Log, Water, Mechanical: Bộ cảm biến tốc độ theo
tốc độ tàu, nƣớc, động cơ.
8


WI

Weather Instruments : Dụng cụ báo thời tiết.

YX

Transducer: Bộ biến đổi

ZA

Timekeeper – Atomic Clock: đồng hồ nguyên tử


ZC

Timekeeper – Chronometer: Đồng hồ bấm giờ

ZQ

Timekeeper – Quartz: Đồng hồ thạch anh

ZV

Timekeeper – Radio Update, WWV or WWVH: Đồng hồ đƣợc cập nhật

bằng vô tuyến, WWV hoặc WWVH
Các mã nhận dạng kiểu dữ liệu
AAM

WaypointArrival Alarm: Thông tin báo động

ALM GPSAlmanac Data: Dữ liệu GPS
APA Autopilot Sentence "A": Tín hiệu A từ máy lái tự động
APB Autopilot Sentence "B": Tín hiệu B từ máy lái tự động
ASD Autopilot System Data: Dữ liệu từ hệ thống máy lái tự động
BEC Bearing & Distance to Waypoint – Dead Reckoning: Góc phƣơng vị và
khoảng cách đến mục tiêu – Tính toán va chạm
BOD Bearing – Waypoint to Waypoint: Góc phƣơng vị và vị trí xuất phát tới mục
tiêu
BWC Bearing and Distance to Waypoint – Latitude, N/S, Longitude, E/W, UTC,
Status: Góc phƣơng vị và khoảng cách đến mục tiêu – Vĩ tuyến, Bắc/Nam, Kinh
tuyến, Đông/Tây, UTC, Trạng thái
BWR Bearing and Distance to Waypoint – RhumbLine Latitude, N/S, Longitude,

E/W, UTC, Status: Góc phƣơng vị và khoảng cách đến mục tiêu – Đƣờng vĩ tuyến,
Bắc/Nam, Kinh tuyến, Đông/Tây, UTC, trạng thái.
DBT Depth Below Transducer: Thông tin độ sâu
DPT Heading – Deviation & Variation: Thông tin về cuộc gọi chọn số
DSI DSC TransponderInitiate: Thiết bị phát đáp Radar
DSR DSC TransponderResponse: Bộ đáp ứng tín hiệu phát đáp
9


GGA Global Positioning System Fix Data. Time, Position and fix related data for a
GPS receiver: Dữ liệu định vị toàn cầu
GLL Geographic Position – Latitude/Longitude: Vị trí, kinh độ, vĩ độ.
HDT Heading – True: Hƣớng thực
MSK MSK Receiver Interface (for DGPS Beacon Receivers): Thông tin cổng thu
MSK dùng cho máy thu DGPS
MSS MSKReceiver Signal Status: thông tin về nhiệt độ bộ thu tín hiệu MSK
MWD

Wind Direction & Speed: Hƣớng và tốc độ gió

MWV

Wind Speed and Angle: Tốc độ gió và góc thổi

OSD Own Ship Data: Dữ liệu tàu
Mỗi câu NMEA đƣợc định nghĩa thống nhất nhƣ sau :
-Mỗi chuỗi bắt đầu bằng ký tự "$."
-5 ký tự đầu tiên biểu hiện loại của chuỗi. 2 ký tự đầu định nghĩa thiết bị sử
dụngchuỗi 3 ký tự tiếp theo xác định ý nghĩa của chuỗi trả về.
-Các trƣờng dữ liệu nối tiếp nhau bởi dấu “,”.

-Sau dấu “*” là 2 ký tự số checksum miêu tả 1 số hex. Checksum là 1 phép
XORgiữa tất cả các ký tự từ dấu “,” đến dấu “*”. Checksum không bắt buộc
đối vớihầu hết các câu dữ liệu nhƣng bắt buộc đối với RMA, RMB và RMC.
-Chuỗi kết thúc với ký tự .
1.3.5. Định dạng tín hiệu la bàn
HDT Heading – True
$ − −HDT, x. y , T ∗ hh
1

Trong đó:
1) Hƣớng mũi tàu
2) T = True
3) Checksum dạng hexa
10

2

3


Ví dụ:
$HEHDT,340.3,T, <CR><LF>
$HEHDT,6.9,T, <CR><LF>
$HEHDT,120.3,T, <CR><LF>
1.4.NGHIÊN CỨU VỀ HỌ VI ĐIỀU KHIỂN AVR.
1.4.1. Chức năng và đặc điểm
AVR là một họ vi điều khiển do hãng Atmel sản xuất. AVR là chip vi điều
khiển 8 bits với cấu trúc tập lệnh đơn giản hóa - RISC (Reduced Instruction Set
Computer), một kiểu cấu trúc đang thể hiện ƣu thế trong các bộ xử lí.
So với các chip vi điều khiển 8 bits khác, AVR có nhiều đặc tính hơn hẳn, hơn cả

trong tính ứng dụng (dễ sử dụng) và đặc biệt là về chức năng:
Ít linh kiện ngoài, nguồn dao động đƣợc tích hợp sẵn
Thiết bị lập trình (mạch nạp) cho AVR rất đơn giản
Bên cạnh lập trình bằng ASM, cấu trúc AVR đƣợc thiết kế tƣơng thích C.
Nguồn tài nguyên về source code, tài liệu, application note…rất lớn trên internet.
Các dòng chip AVR: AT90, Attiny, ATmega, Atxmega, FPSLIC.
1.4.2. Cấu trúc bên trong của AVR
Giới thiệu
Chức năng chính của CPU là đảm bảo cho việc thực hiện chƣơng trình một
cách chính xác. Vì vậy CPU cần phải truy nhập vào bộ nhớ, thực hiện các phép
toán, điều khiển các ngoại vi và điều khiển ngắt.

11


Hình 1.6 – Sơ đồ cấu trúc bên trong của dòng chip AVR
Các thành phần của vi điều khiển
Đơn vị số học ALU
Đơn vị thực thi cao ALU của dòng chip AVR hoạt động theo hƣớng kết nối
trực tiếp tất cả 32 thanh ghi đa năng. Trong một chu kỳ đồng hồ đơn, tổ chức ALU
giữa những thanh ghi trong tập thanh ghi đa năng đƣợc thực thi. Tổ chức Alu đƣợc
chia thành ba mục chính: toán học logic, chức năng bit. Một vài sự thi hành cấu
trúc cũng cung cấp một bộ nhân việc hỗ trợ cả phép nhân có dấu/ không dấu và
định dạng phân số.
12


Thanh ghi trạng thái (Status Register)
Nằm trong vùng nhớ I/O, thanh ghi SREG có địa chỉ I/O là 0x003F và địa
chỉ bộ nhớ là 0x005F (thƣờng đây là vị trí cuối cùng của vùng nhớ I/O) là một

trong số các thanh ghi quan trọng nhất của AVR. Thanh ghi SREG chứa 8 bit cờ
(flag) chỉ trạng thái của bộ xử lí, tất cả các bit này đều bị xóa sau khi reset, các bit
này cũng có thể đƣợc đọc và ghi bởi chƣơng trình. Cấu trúc thanh ghi nhƣ sau:

Hình 1.7 – Thanh ghi trạng thái
Tập các thanh ghi đa năng.
Tập thanh ghi là tập lệnh RISC đƣợc tối ƣu hóa cho AVR đƣợc tăng cƣờng.
Cấu trúc này đƣợc yêu cầu có tính hiệu suất và tính linh hoạt, sơ đồ vào/ra sau đây
hỗ trợ bởi tập thanh ghi:
Một toán hạng đầu ra 8 bit và một kết quả đầu vào 8 bit
Hai toán hạng đầu ra 8 bit và một kết quả đầu vào 8 bit
Hai toán hạng đầu ra 8 bit và một kết quả đầu vào 16 bit
Một toán hạng đầu ra 16 bit và một kết quả đầu vào 16 bit
Tất cả các lệnh điều thanh ghi trong tập lệnh đều có thể truy xuất trực tiếp và
trong 1 chu kỳ đơn. Mỗi thanh ghi đƣợc phân chia một địa chỉ bộ nhớ dữ liệu, ánh
xạ chúng một cách trực tiếp với 32 vị trí đầu của không gian dữ liệu ngƣời dụng.
Mặc dù không đƣợc thực thi theo đúng quy luật nhƣ vùng SRAM, tổ chức nhớ này
thể hiện sự linh hoạt tốt trong việc truy xuất thanh ghi, vì thanh ghi X, Y có thể
thiết lập đến chỉ mục nào đó trong tập thanh ghi đa năng.
Cấu trúc bộ nhớ
13


AVR có cấu trúc Harvard, trong đó đƣờng truyền cho bộ nhớ dữ liệu (data memory
bus) và đƣờng truyền cho bộ nhớ chƣơng trình (program memory bus) đƣợc tách
riêng. Data memory bus chỉ có 8 bit và đƣợc kết nối với hầu hết các thiết bị ngoại
vi, với register file. Trong khi đó program memory bus có độ rộng 16 bits và chỉ
phục vụ cho instruction registers.

Hình 1.8. – Cấu trúc bộ nhớ của AVR

Bộ nhớ chƣơng trình (Program memory)
ATMega16 chứa bộ nhớ Flash có thể lập trình lại trong hệ thống trên chip 16
kbyte cho việc lƣu trũ chƣơng trình. Từ đó tất cả các lệnh AVR đều có độ rộng 16
hay 32 bit, Flash đƣợc tổ chức nhƣ 4k x 16.
Bộ nhớ Flash chịu đƣợc ít nhất 10.000 chu kỳ ghi/xóa. Bộ đếm chƣơng trình
ATMega8 rộng 12 bit, nhƣ vậy bộ nhớ lập trình địa chỉ 4k định rõ. Hoạt động của
vùng chƣơng trình Boot và đƣợc kết hợp những bit Lock Boot cho sự bảo vệ phần
mềm.
14


Bộ nhớ dữ liệu SRAM
Có không dƣới vị trí bộ nhớ dữ liệ định địa chỉ cho tập thanh ghi, bộ nhớ I/O
và dữ liệu SRAM nội. 96 vị trí đầu tiên dùng địa chỉ cho tập thanh ghi, bộ nhớ I/O
và 1024 vị trí tiếp theo đƣợc định địa chỉ cho bộ nhớ dữ liệu SRAM nội.
Có 5 địa chỉ khác nhau dùng cho các vùng bộ nhớ dũ liệu: dịch chuyển trực tiếp,
gián tiếp, tiền giảm và tăng dữ liệu gián tiếp. Trong tập thanh ghi, từ thanh ghi R26
đến R31 có vai trò là thanh ghi con trỏ địa chỉ gián tiếp.
Chế độ địa chỉ trực tiếp tham chiếu.
Khi sử dụng chế độ thanh ghi địa chỉ gián tiếp tự động tăng hay giảm vị trí, thanh
ghi địa chỉ X, Y và Z đƣợc sử dụng.
32 thanh ghi làm việc đa năng, 64 thanh ghi vào/ra và 1024 byte bộ nhớ dữ liệu
SRAM nội trong Atmega 8 đều sử dụng qua tất cả các chế độ này.
Bộ nhớ dữ liệu EEPROM
ATMega8 chứa 512 bte của bộ dữ liệu EEPROM. Nó vận hành trong vùng không
gian dữ liệu riêng biệt, nơi mà những bte dũ liệu đơn có thể đƣợc đọc và ghi.
EEPROM có thể chịu đƣợc ít nhất 100.000 chu kỳ ghi/xóa.
Bộ nhớ vào/ra
Tất cả I/O của ATMega16 và thiết bị ngoại vi đƣợc đặt trong không gian vào/ra. Vị
trí vào/ra đƣợc truy xuất bởi lệnh IN/OUT, để truyền dữ liệu giữa 32 thanh ghi đa

năng và vùng không gian vào/ra. Những thanh ghi vào/ra có vùng địa chỉ $00 $1F,
Ngăn xếp
Stack đƣợc hiểu nhƣ là 1 “tháp” dữ liệu, dữ liệu đƣợc chứa vào stack ở đỉnh “tháp”
và dữ liệu cũng đƣợc lấy ra từ đỉnh. Kiểu truy cập dữ liệu của stack gọi là LIFO
(Last In First Out – vào sau ra trƣớc).

15


Hình 1.9 – Cách truy cập dữ liệu của ngăn xếp
1.4.3. Các Port nhập xuất
Tất cả các Port AVR khi đƣợc sử dụng nhƣ các port nhập/xuất số thông
thƣờng đều đƣợc thực hiên đƣợc các chức năng đọc – sửa đổi – ghi. Điều này có
nghĩa là hƣớng của một chân port nào đó có thể thay đổi mà không cần chỉ định
trƣớc với lệnh SBI và CBI.
Chức năng nhập/xuất số thông thƣờng
Mỗi Port gồm ba thanh DDxn, PORTxn và PINxn, các bit DDxn đƣợc truy
xuất tại địa chỉ vào/ra DDRx, các bit PORTxn tại địa chỉ vào/ra PORTx và các bit
PINxn tại địa chỉ vào ra PINx.
Bit DDxn trong thanh ghi DDRx lựa chọn hƣớng của chân này. Nếu DDxn
đƣợc ghi mức 1, Pxn đƣợc định nhƣ một đầu ra. Nếu DDxn đƣợc ghi logic 0, Pxn
đƣợc định nhƣ một đầu vào.
Nếu PORTxn đƣợc ghi logic 1 khi đƣợc nhƣ một đầu vào, điện trở kéo lên
đƣợc kích hoạt. Để chuyên điện trở kéo lên không hoạt động, PORTxn phải đƣợc
ghi logic 0 hay chân phải đƣợc định nhƣ một đầu ra. Những port là trạng thái khi
một điều kiện reset trở nên tích cực, ngay khi không có đồng hồ đang chạy.

16



Nếu PORTxn đƣợc ghi logic 1 khi một chân đƣợc định nhƣ một đầu ra, thì
chân port đƣợc đƣa lên cao 1. Nếu PORTxn đƣợc ghi logic 0 khi chân đƣợc định
nhƣ một chân đầu ra, chân port đƣợc điều khiển thấp (0).
Để đọc dữ liệu từ ngoài thì ta phải thực hiện các bƣớc sau:
Đƣa dữ liệu ra thanh ghi điều khiển DDRxn để đặt cho PORTx (hoặc bit n trong
port) đó là đầu vào (xóa thanh ghi DDRx hoặc bit).
Sau đó kích hoạt điện trở pull-up bằng cách set thanh ghi PORTx (bit).
Cuối cùng đọc dữ liệu từ địa chỉ PINxn (trong đó x: là cổng và n là bit).
Để đƣa dữ liệu từ vi điều khiển ra các cổng cũng có các bƣớc hoàn toàn
tƣơng tự. Ban đầu ta cũng phải định nghĩa đó là cổng ra bằng cách set bit tƣơng
ứng của cổng đó….và sau đó là ghi dữ liệu ra bit tƣơng ứng của thanh ghi PORTx.

1.4.4. Ngắt và sự kiện
a. Khái niệm
Ngắt là một cơ chế cho phép thiết bị ngoại vi báo cho CPU biết về tình trạng
sẵn sàng cho đổi dữ liệu của mình.
b. Trình phục vụ ngắt và bảng vector ngắt
Đối với mỗi ngắt thì phải có một trình phục vụ ngắt ISR (Interrupt Service
Routine)
Khi kích hoạt một ngắt bộ vi điều khiển đi qua các bƣớc sau:
-Vi điều khiển kết thúc lệnh đang thực hiện và lƣu địa chỉ của lệnh kế tiếp
(PC) vào ngăn xếp.
-Nhảy đến một vị trí cố định trong bộ nhớ đƣợc gọi là bảng véc tơ ngắt nơi
lƣu giữ địa chỉ của một trình phục vụ ngắt.
-Bộ vi điều khiển nhận địa chỉ ISR từ bảng véc tơ ngắt và nhảy tới đó. Nó bắt
đầu thực hiện trình phục vụ ngắt cho đến lệnh cuối cùng của ISR là RETI(trở về từ
ngắt).
17



Khi thực hiện lệnh RETI bộ vi điều khiển quay trở về nơi nó đã bị ngắt.
Trƣớc hết nó nhận địa chỉ của bộ đếm chƣơng trình PC từ ngăn xếp bằng cách kéo
hai byte trên đỉnh của ngăn xếp vào PC. Sau đó bắt đầu thực hiện các lệnh từ địa
chỉ đó.

Hình 1.10 – Quy trình phục vụ ngắt
c. Xử lý ngắt ưu tiên
Nhƣ ta đã biết khi đang thực hiện các lệnh ,nếu có ngắt xảy ra thì nó sẽ tạm
dừng chƣơng trình và thực thi chƣơng trình con phục vụ ngắt. Trong thực teesthif
có nhiều ngắt khác nhau thực hiện cùng một thời điểm ,khi đó ngắt sẽ phục vụ ngắt
theo thứ tự ƣu tiên với nguyên tắc :ngắt nào có mức ƣu tiên cao nhất thì sẽ phục vụ
cho ngắt đó trƣớc.
Các mức ƣu tiên của các ngắt từ thấp nhất đến cao nhất:
Ngắt thực hiện chạy từng lệnh (INT1)
Ngát che đƣợc INTR.
Ngắt không che đƣợc NMI.
Ngắt nội bộ (INT0 xảy ra cho phép chia số 0,ngắt mềm).
18


Ngắt ngoài (External Interrupt).
Là loại ngắt duy nhất độc lập với các thiết bị của chip, các ngắt khác thƣờng
gắn với hoạt động của 1 thiết bị nào đó nhƣ Timer/Counter, giao tiếp nối tiếp
USART, chuyển đổi ADC…
Các ngắt ngoài đƣợc kích hoạt bởi 2 chân INT0, và INT1. Chú ý rằng nếu đã
kích hoạt, các ngắt sẽ kích bằng (trigger even)nếu các chân INT0, INT1 đƣợc cấu
hình là các ngõ ra. Đặc điểm này cung cấp 1 con đƣờng chung cho ngắt mềm. Các
ngắt ngoài có thể đƣợc kích bởi cạnh xuống hoặc lên hoặc mức thấp.
d.Timer/Counter (T/C)
- Timer/Counter là các module độc lập với CPU. Chức năng chính của các

bộ Timer/Counter là định thì (tạo ra một khoảng thời gian, đếm thời gian…) và
đếm sự kiện.
Bộ Timer/Counter0 8-bit
Đặc điểm
Bộ định thời và đếm sự kiện (timer/counter0) là một module định thời/đếm 8 bit, có
các đặc điểm sau:
-Bộ đếm đơn kênh
-Bộ tổng hợp tần số
-Bộ đếm sự kiện ngoài
-Bộ chia tần 10 bit
Hoạt động của bộ Timer
Mạch đếm lên làm thanh ghi TCNTn tăng 1 đơn vị mỗi khi có xung clkTn,
khi đạt giá trị lớn nhất (8bit = 255), cờ TOVn đƣợc set (logic 1) và bộ đếm tràn, giá
trị bộ đến TCNTn trở về 00 và tiếp tục đếm.

19


×