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

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

72 929 2

Đ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 72
Dung lượng 2,06 MB

Nội dung

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 0183Nghiê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 0183Nghiê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 0183Nghiê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 0183Nghiê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

Trang 1

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ạitrường giúp em có được các cơ sở lý thuyết và đã tạo điều kiện giúp đỡ emtrong 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ốtnghiệp

Giáo viên hướng dẫn

Trang 2

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ínhtoán trong đồ án hoàn toàn mang là của em không sao chép ở bất cứ đồ án nàotrước đó

Nếu có bất cứ sự không trung thực nào em xin chịu hoàn toàn tráchnhiệm

Trang 3

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

Trang 4

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

Trang 5

DANH MỤC HÌNH VẼ

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

1.3 Cấu trúc khung dữ liệu tín hiệu chuẩn NMEA 0183 51.5 Kết nối giữa một Talker và nhiều Listener 61.6 Sơ đồ cấu trúc bên trong của dòng chip AVR 12

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

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

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

2.9 Sơ đồ nguyên lý cho mặt lặp la bàn điện 323.1 Lưu đồ thuật toán chính của chương trình 33

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

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

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

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

chương trình

50

Trang 7

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ôngtrê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ôngnghệ 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ưuthô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àncon 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ócphươ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 LABÀ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ậttoá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

Trang 8

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ầu chung 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 đã đượchiệ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 độ theophươ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 quayhoặ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àubằ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àngquan 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:

Trang 9

-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

Bridge Workstations: Hệ thống máy trạm

Nguyên tắc hoạt động:

Trang 10

La bàn con quay được đồng bộ với la bàn từ qua thiết bị điều chỉnh conquay Số liệu góc phương vị của la bàn con quay và la bàn từ đều được chuyểnthà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à LED 7 thanh Thành phần chính củamodule đ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ệuthô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êuchuẩn được xây dựng bởi Hiệp hội Điện tử Hàng Hải Quốc gia Mỹ (NationalMarine 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ớihơ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ếtnố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áyTalker đến một Listener tại một thời điểm Trên cơ sở đó, người ta cũng đã mở

Trang 11

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ậnthô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:

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ộtmạ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

Trang 12

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 2dâ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 Atươ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ạchbả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 Acủ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ảnphẩ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

Trang 13

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 đượccủa bộ mã ASCII được cho phép, cộng thêm với CR và LF Mỗi gói tin bắt đầubằ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ạngcủ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ểmtra 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ệucủ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ẽ đượcgửi đi mà không có khoảng cách nào giữa chúng Trường checksum bao gồm mộtdấ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ồmcá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

Trang 14

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ôngtin 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ò

TI Turn Rate Indicator: Bộ chỉ báo tốc độ quay lái

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

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 độ theotốc độ tàu, nước, động cơ

Trang 15

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ậtbằ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ụctiê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, Kinhtuyế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

Trang 16

GGA Global Positioning System Fix Data Time, Position and fix related data for aGPS 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 thuMSK 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ụng chuỗ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épXOR giữa tất cả các ký tự từ dấu “,” đến dấu “*” Checksum không bắt buộcđối với hầ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ự

Trang 17

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ộtcá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éptoán, điều khiển các ngoại vi và điều khiển ngắt

Trang 18

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ốitrực tiếp tất cả 32 thanh ghi đa năng Trong một chu kỳ đồng hồ đơn, tổ chức ALUgiữa những thanh ghi trong tập thanh ghi đa năng được thực thi Tổ chức Alu đượcchia 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ấutrú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ố

Trang 19

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à địachỉ bộ nhớ là 0x005F (thường đây là vị trí cuối cùng của vùng nhớ I/O) là mộttrong 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 bitnà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àythể 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ớ

Trang 20

AVR có cấu trúc Harvard, trong đó đường truyền cho bộ nhớ dữ liệu (data memorybus) và đường truyền cho bộ nhớ chương trình (program memory bus) được táchriê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 16kbyte cho việc lưu trũ chương trình Từ đó tất cả các lệnh AVR đều có độ rộng 16hay 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ìnhATMega8 rộng 12 bit, như vậy bộ nhớ lập trình địa chỉ 4k định rõ Hoạt động củavùng chương trình Boot và được kết hợp những bit Lock Boot cho sự bảo vệ phầnmềm

Trang 21

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í, thanhghi đị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ệuSRAM 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ônggian 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 đană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)

Trang 22

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ôngthườ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ỉ địnhtrướ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 truyxuất tại địa chỉ vào/ra DDRx, các bit PORTxn tại địa chỉ vào/ra PORTx và các bitPINxn 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 đượcghi logic 0 hay chân phải được định như một đầu ra Những port là trạng thái khimột điều kiện reset trở nên tích cực, ngay khi không có đồng hồ đang chạy

Trang 23

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 địnhnhư 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 trongport) đó 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àntươ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

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ơilư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 )

Trang 24

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éohai 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ừ địachỉ đó.

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)

Trang 25

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ườnggắn với hoạt động của 1 thiết bị nào đó như Timer/Counter, giao tiếp nối tiếpUSART, 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ấuhình là các ngõ ra Đặc điểm này cung cấp 1 con đường chung cho ngắt mềm Cácngắ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

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

Trang 26

Xung clkTn có thể được lựa chọn từ nhiều nguồn khác nhau Khi chọn xung nội(system clock), Timer/Counter là một Timer Khi chọn xung ngoài (thông qua chânTn) Timer/Counter là Counter.

Bộ Timer/Counter1 16-bit

Đặc điểm

2 đơn vị ngõ vào so sánh độc lập đôi thanh ghi so sánh ngõ ra đệm

1 đơn vị chốt ngõ vào(One Input Capture Unit)

Bộ chống nhiễu lối vào(Input Capture Noise Canceler)

Xóa timer trong Compare

Giá trị chu kỳ PWM

Bộ phát tần số chung

Bộ đếm sự kiện ngoài

4 nguồn ngắt độc lập (TOV1, OCF1A, OCF1B, and ICF1)

Nguyên lý hoạt động bộ Timer

Với chế độ hoạt động đơn giản nhất của T/C1, thanh ghi đếm TCNT1 đượctăng giá trị từ 0 (BOTTOM) đến 65535 hay 0xFFFF (TOP) và quay về 0 Chế độnày hoàn toàn giống cách mà Timer0 hoạt động chỉ có khác là giá trị đếm cao nhất

là 65535 thay vì 255 như trong timer0 Để set T/C1 ở Normal mode chúng ta cầnset 4 bit WGM về 0, vì 0 là giá trị mặc định của các thanh ghi nên thực tế chúng takhông cần tác động đến các bit WGM Duy nhất một việc quan trọng cần làm là setcác bit Clock Select (CS12, CS11, CS10) trong thanh ghi TCCR1B

Một số định nghĩa khi khai thác chế độ bình thường của T/C1

BOTTOM: Bộ đếm đạt tới BOTTOM khi co giá trị 0x0000

MAX: Bộ đếm đạt tới MAX khi khi đạt giá trị 0xFFFF (65535 thập phân)

TOP: Bộ đếm đạt tới TOP khi nó bằng với giá trị lớn nhất của chuỗi đếm Giá trịnày có thể được gán bởi các giá trị cố định: 0x00FF, 0x01FF, or 0x03FF, hoặc giátrị trong bộ nhớ của các thanh ghi OCR1A, ICR1

Trang 27

1.5 LED 7 THANH VÀ PHƯƠNG PHÁP HIỂN THỊ CỦA LED 7 THANH.

1.5.1 Khái quát

LED 7 thanh (Seven Segment display) là 1 linh kiện rất được sử dụng rộng

rãi và được dùng như là 1 công cụ hiển thị đơn giản nhất

Đối với các thiết bị cần chỉ báo ra trạng thái để người sử dụng có thể biết được cácthông tin cần thiết thì người ta thường sử dụng LED 7 thanh

Sử dụng LED 7 thanh ta có thể hiển thị các thông tin đơn giản như 1 dãy số Ví dụnhư trong các thiết bị hiện thị thời gian, nhiệt độ, các bộ đếm…

Hình 1.11 – Hình dạng LED 7 thanh

Trong LED 7 thanh bao gồm 7 LED nối lại với nhau và 1 LED hiển thị dấuchấm ,7 LED đơn được mắc để có thể hiển thị các con số từ 0 - 9 và 1 vài chữ cái.Các LED đơn lần lượt được kí hiệu theo chữ cái A- B -C-D-E-F-G và dấu chấm dot.Như vậy để hiển thị ký tự bất kì nào thì ta phải cấp nguồn vào 1 chân chung vàxuất tín hiệu ra các thanh còn lại đó là LED hiện thị kí tự như mong muốn

Trang 28

1.5.2 Các thông số của LED 7 thanh

LED 7 thanh có nhiều loại nhưng cơ bản có 1 loại đó là

+ Loại Anode chung (chân (+) các LED nối chung với nhau

Hình 1.12 LED 7 thanh loại Anode chung

+ Loại Cathode chung (chân (-) các LED nối chung với nhau )

Hình 1.13 LED 7 thanh loại Cathode chung

Vì LED 7 thanh là tập hợp của các LED đơn,vì vậy khi kết nối cần chú ý để chodòng qua mỗi LED đơn chỉ vào khoảng 10-20mA để LED không bị hỏng

Kết nối LED 7 thanh với vi điều khiển

Lối vào của tín hiệu điều khiển của LED 7 thanh có 8 đường.Cho nên có thể dùng 1PORT nào đó của vi điều khiển để đưa dữ liệu ra LED 7 thanh.Vì vậy LED 7 thanh

Trang 29

có thể nhận 1 dữ liệu 8 bit từ vi điều khiển để hiênh thị trạng thái hoạt sáng tắt củatừng đèn LED đơn

Trang 30

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Ố

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Ố.

Sơ đồ nguyên lý của mặt lặp la bàn số như sau:

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

Nhiệm vụ của các khối chức năng

Nguồn: tạo ra điện áp cố định cho toàn bộ module điều khiển và cơ cấu chỉbáo

Khối giao tiếp với chuẩn NMEA 0183 : biến đổi tín hiệu chuẩn NMEA 0183 ở mứclogic của RS422 về chuẩn logic TTL giúp cho vi điều khiển có thể gia tiếp với tínhiệu thu được từ la bàn

Khối xử lý trung tâm: thu nhận tín hiệu NMEA 0183 sau khi được đưa vềmức logic của cuẩn TTL, phát hiện có tín hiệu, nhận dạng xem đó có phải tín hiệu

từ la bàn hay không nếu không thì lọc bỏ các tín hiệu đó ,sau đó lưu trữ số liệu gócchỉ báo phương vị của la bàn chủ , và đưa ra cơ cấu chỉ báo LED 7 thanh

Khối xử lí trung tâm

Khối Dimmer

Khối giao tiếp với chuẩn NMEA 0183

Trang 31

Cơ cấu chỉ báo LED 7 thanh : sử dụng 4 LED 7 thanh để hiện thị hướng củatàu so với hướng bắc thật

Khối dimmer thay đổi tần số quét LED điều khiển độ sáng của các LED 7thanh

Nguyên tắc hoạt động.

Khi người dùng bật nguồn (hoặc bấm nút Reset), khối xử lý trung tâm kiểmtra xem có tín hiệu đến từ NMEA 0183 hay không, nếu có tín hiệu và đúng là tínhiệu từ là bàn nó sẽ tiến hành xử lí tín hiệu để tách lấy tín hiệu chỉ báo góc phương

vị, sau khi có được dữ liệu nó sẽ lưu trữ lại và tiến hành cung cấp cho cơ cấu chỉbáo LED 7 thanh.Khối chỉ báo gồm 4 LED 7 thanh hiện thị góc phương vị hiệnthời của tàu Quá trình quét LED nhanh hay chậm phụ thuộc vào khối dimmer.Quátrình thu tín hiệu, lưu trữ số liệu góc phương vị của mặt lặp và tính toán hướngquay được thực hiện liên tục cho đến khi ngắt nguồn hoặc ấn nút reset Nếu trongkhoảng thời gian nhất định mà không có tín hiệu nào từ la bàn chủ vi xử lí sẽ xuấttín hiệu để báo rằng không nhận được dữ liệu

H1: Điện áp 1 chiều đưa vào

5V: Cấp nguồn điện áp ổn định cho khối xử lý trung tâm

Trang 32

Hình 2.2– Sơ đồ nguyên lý mạch nguồn +5V

Các linh kiện sử dụng trong mạch:

+ Tụ C1 và C2 (470uF/50V) lọc các thành phần giúp san bằng điện áp

tụ C2 và C4 để lọc bỏ các xung có tần số cao sinh ra trong mạch

Trang 33

2.2.2.Thiết kế khối xử lý trung tâm.

Mạch điều khiển trung tâm là mạch quan trọng nhất sử dụng vi điều khiểnatmega16.Mạch có nhiệm vụ nhận dữ liệu từ khối giao tiếp với chuẩn NMEA 0183

xử lí và đưa ra bộ chỉ bảo số để chỉ báo hướng của tàu

Sau đây là sơ đồ nguyên lý của mạch

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

Cấu tạovà nguyên lý hoạt động

Khối vi điều khiển gồm IC vi điều khiển Atmega16, mạch Reset thích hợpvới dòng AVR và mạch tạo dao động ngoài bằng thạch anh

Atmega 16 là vi điều khiển 8 bit dựa trên cấu trúc RISC.Vởi khả năng thực hiệnmỗi lệnh trong vòng 1 chu kỳ xung clock

Atmega 16 có đặc điểm gồm 16KB bộ nhớ Flash với khả năng đọc trong khighi.512 byte bộ nhớ EEPROM,1KB bộ nhớ SRAM.32 thanh ghi chức năngchung 3 bộ định thời/bộ đếm/ ngắt nội và ngắt ngoại.URSAT

Các chân tín hiệu vào và ra vi điều khiển Atmega16:

Trang 34

Tín hiệu vào:

RESET: tín hiệu khởi động lại, nối từ mạch reset

RxD: tín hiệu la bàn nhận được từ khối giao tiếp với NMEA

DIM+ và DIM- là các chân nhận tín hiệu tăng giảm độ sáng của LED 7 thanh Tín hiệu ra:

PIN A0-A4 :Điều khiển cho phép tắt , mở các LED 7 thanh

PIN C0-C7 :Giá trị hiện thị trên LED 7 thanh

Mạch dao động của khối vi điều khiển:

Sơ đồ nguyên lý

Hình 2.4 – Mạch tạo dao động cho vi điều khiển

Tác dụng của các linh kiện:

Trang 36

2.3 KHỐI GIAO TIẾP VỚI NMEA 0183

Mạch nguyên lý:

Hình 2.6 – Mạch giao tiếp với NMEA0183

Có nhiều loại mạch giao tiếp NMEA để chuyển đổi các mức điện áp, có thể

kể đến mạch giao tiếp cách ly quang được sử dụng phổ biến vì mạch này không sửdụng chung dây GND, tránh làm ảnh hưởng và nhiễu cho tín hiệu của module điềukhiển và có tác dụng bảo vệ cao

Ngày đăng: 08/09/2016, 16:04

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w