MụC LụC
Lời mở đầu .1
Chương I Đặt vấn đề 1
I.1. Các yêu cầu cho thiết bị di động (Thiết bị A): 2
I.2. Các yêu cầu cho thiết bị quản lý tại trung tâm (thiết bị B): 2
I.3. Máy tính: 2
Chương II
Phân tích và lựa chọn giải pháp thiết kế 3
II.1. Khối thu tín hiệu GPS: 4
II.1.1 Tìm hiểu hệ thống định vị toàn cầu GPS: 4
II.1.2. Lựa chọn giải pháp: 10
II.2. Khối giao tiếp giữa hai thiết bị : 11
II.2.1. Tìm hiểu công nghệ GSM/SMS: 12
II.2.2. Lựa chọn giải pháp : .16
II.3. Khối lưu trữ dữ liệu ngoài (External Memory): .16
II.3.1. Giao diện giữ thẻ nhớ với ngoại vi: 17
II.3.2. Kiến trúc thẻ nhớ: .19
II.4. Khối hiển thị (Display): .21
II.5 Khối giao tiếp người máy: 25
II.6 Khối giao tiếp máy tính: .27
II.6.1 Giới thiệu chung về chuẩn USB: 28
II.6.2 Giải pháp thực thi giao tiếp USB: .34
II.7 Khối điều khiển: 35
Chương III
Thiết kế và thi công thiết bị và phần mềm 36
III.1. Thiết kế phần cứng: .36
III.1.1. Khối thu tín hiệu GPS (GPS module): .38
III.1.2 Khối giao tiếp giữa hai thiết bị (GSM module): 41
III.1.3 Khối lưu trữ dữ liệu ngoài (SD/MMC module): .42
III.1.4 Khối hiển thị (GLCD module): .43
III.1.5 Khối giao tiếp người máy (Touchpad): 45
III.1.6 Khối giao tiếp máy tính (Giao tiếp USB): .46
III.1.7 Nguồn cung cấp: 47
III.2 Thiết kếphần mềm: 48
III.2.1 Phần mềm cho vi điều khiển: 48
III.2.2 Phần mềm trên máy tính: .53
Chương IV
Các kết quả thực hiện .56
IV.1 Phần cứng: .56
IV.1.1 Hình ảnh thiết bị : .56
VI.1.2 Kết quả kiểm tra: .57
IV.2 Phần mềm: 58
Chương V
Ứng dụng và hướng phát triển .60
IV.1. Ứng dụng: 60
IV.2. Hướng phát triển: .61
Tài liệu tham khảo: .63
69 trang |
Chia sẻ: lvcdongnoi | Lượt xem: 2827 | Lượt tải: 4
Bạn đang xem trước 20 trang tài liệu Đề tài Xây dựng hệ thống dẫn đường và quản lý đối tượng di động trên công ngệ GPS và GSM, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
10 (D0) – Chân 17 (D7): 8 bits data.
II. Phân tích và lựa chọn giải pháp thiết kế
- 23 -
- Chân 18 (FS): Font Selet.
o FS = ‘1’, font 6x8.
o FS = ‘0’, font 8x8.
- Chân 19 (VEE): Negative Voltage.
- Chân 20 (LED+): Anode cho Back-light.
- Chân 21 (LED -): Cathode cho Back-light.
Các thủ tục giao tiếp với GLCD:
- Write Data:
o dữ liệu ñược ghi tới GLCD ñược ñặt lên 8 bit data (D0 – D7).
o C/D ñược kéo xuống ‘0’.
o /WR kéo xuống ‘0’ (/RD kéo lên ‘1’).
o /CE kéo xuống ‘0’ trong thời gian > 80ns.
- Read data:
o C/D kéo xuống ‘0’.
o /CE kéo xuống ‘0’.
o Sau 150ns thì ñọc data từ 8 bit data (D0-D7).
o /CE kéo lên ‘1’.
- Write command:
o Lệnh cần ghi ñược ñặt lên D0- D7.
o C/D kéo lên ‘1’.
o /WR kéo xuống ‘0’.
o /CE kéo xuống thấp trong khoảng thời gian > 80ns.
- Read Status: lệnh này ñể kiểm tra trạng thái của chip T6963C
o C/D kéo lên ‘1’.
o /RD kéo xuống ‘0’.
o /CE kéo xuống ‘0’.
o Sau 150ns thì ñọc data trên D0-D7.
o /CE kéo lên ‘1’.
II.4.2 Màn hình GLCD KS0108B:
ðây là tên gọi chung của các màn hình GLCD sử dụng chip ñiều khiển KS0108B
của hãng Samsung.
Cấu tạo màn hình KS0108B ñược thể hiện như trong sơ ñồ khối dưới ñây:
II. Phân tích và lựa chọn giải pháp thiết kế
- 24 -
Hình II.12: Sơ ñồ khối cấu tạo màn hình GLCD KS0108B
Trong ñó màn hình GLCD KS0108B 128x64 pixel gồm 20 Chân:
- Chân 1 (Vss): Ground.
- Chân 2 (Vdd): Power Supply (4.5 – 5.5 Vdc).
- Chân 3 (VO) : LCD supply voltage, ñược dùng ñể chỉnh ñộ tương phản.
- Chân 4 (DI): Data Input/Output Chân of internal shift register.
- Chân 5 (R/W): Read or Write. ðọc từ GLCD (Chân 5 = 1), ghi tới GLCD
(Chân 5 = 0).
- Chân 6 (E): Enable Signal.
- Chân 7 (D0) – Chân 14 (D7): 8 bits data.
- Chân 15 (CS1), Chân 16 (CS2): chip select. Dùng ñể lựa chọn IC1 (khi CS1 =
‘1’, CS2 = ‘0’), và IC2 (khi CS1 = ‘0’, CS2 = ‘1’).
- Chân 17 (RST): Reset, dùng ñể reset chip KS0108B, tích cực mức thấp.
- Chân 18 (VEE): nguồn tạo ra từ bộ tạo nguồn bên trong GLCD.
- Chân 19 (A): Back-light Anode.
- Chân 20 (K): Back-light Cathode.
II. Phân tích và lựa chọn giải pháp thiết kế
- 25 -
Thủ tục giao tiếp ngoại vi với GLCD KS0108B tương tự như giao tiếp với GLCD
T6963C.
II.5 Khối giao tiếp người máy:
Trên hai thiết bị ñều có module hỗ trợ giao tiếp giữa thiết bị với người dùng (cùng
với màn hình hiển thị) ñược gọi chung là khối HMI (Human Machine Interface).
Trên thiết bị A, việc giao tiếp giữa người dùng và thiết bị là các thao tác lựa chọn
chức năng hiển thị lên màn hình (gồm 6 chức năng) nên khối HMI cho thiết bị A ñược
lựa chọn là ma trận 6 phím bấm (khối keypad).
Trên thiết bị B, người dùng cần thao tác ñể quản lý ñối tượng A với nhiều thao tác,
ñồng thời thiết bị B cần thiết kế nhỏ gọn, thẩm mĩ (thiết bị cầm tay) nên khối HMI
ñược lựa chọn là màn cảm ứng (Touchpad) ñược gắn trực tiếp lên màn hình GLCD.
Tìm hiểu màn cảm ứng:
Không phải tất cả các loại màn hình cảm ứng ñều có cấu tạo giống nhau. Hiện nay
ñể chế tạo người ta thường dùng 2 công nghệ - Trở kháng và ðiện dung ñể cảm ứng.
Ngoài ra cũng có những công nghệ khác như quét giải hồng ngoại (IR), sóng âm và kỹ
thuật ñiện từ. Cho dù mỗi loại có những ưu ñiểm riêng, nhưng kỹ thuật cảm ứng bằng
ñiện trở và ñiện dung vẫn ñược ưa chuộng nhất bởi có giá thành thấp và chất lượng
cao.
Kỹ thuật cảm ứng bằng ñiện trở tỏ ra có nhiều ưu ñiểm hơn khi dùng ñể phát hiện
sự tác ñộng của vật thể bằng cao su hoặc ngón tay, ñó lại là những vấn ñề khó khăn ñối
với loại màn hình cảm ứng bằng ñiện dung. Những công nghệ khác vẫn có ưu thế
trong những mục ñích sử dụng ñặc biệt như là”cảm ứng trước khi chạm”ñặc ñiểm
chính của cảm ứng quét bằng hồng ngoại (IR).
Loại màn hình cảm ứng trở kháng:
Với loại cảm ứng bằng trở kháng thường bắt ñầu từ một tấm ñế thủy tinh hoặc nhựa
cứng, trên ñó là một lớp mỏng trong suốt dẫn ñiện (thường là ITO – Indium Tin Oxide
– Oxit thiếc Inñi). Ở giữa là một lớp ñệm bởi một mạng lưới những ñiểm siêu nhỏ và
một lớp khác là chất dẫn ñiện bằng nhựa dẻo thường dùng là Mylar (Polyeste) ñược
phủ ở viền ngoài mặt trên. Cấu tạo như hình vẽ bên dưới, dưới áp lực của bút trỏ hay
ngón tay làm cho 2 tấm vật liệu tiếp xúc ñiện với nhau từ ñó cảm nhận ñược sự chạm
II. Phân tích và lựa chọn giải pháp thiết kế
- 26 -
Hình II.13: Cấu tạo của màn hình cảm ứng
Hầu hết các loại màn hình cảm ứng ñều có cấu tạo như hình vẽ hai lớp dẫn ñiện ñược
tách rời nhau bởi những ñiểm rất nhỏ. Những ñiểm này cho phép hai lớp tiếp xúc với
nhau khi có lực tác ñộng ở lớp trên
Có 2 chuẩn của màn hình cảm ứng dùng trở kháng và kiểu 4 dây và 5 dây, ở loại
màn hình cảm ứng 4 dây có 2 tấm mỗi tấm có 2 dây ở hai cạnh ñối diện nhau, và ñể
ñiều khiển cần cung cấp ñiện áp cho 2 cực của mỗi tấm như hình vẽ bên dưới:
Hình II.14: Cấu tạo màn hình cảm ứng 4 dây (4-wire Touch Screen)
Sự chạm ñược cảm nhận thông qua tấm Y khi ñặt vào ngõ vào của kênh ADC và
ñược dò ra bởi ñiện áp khi 2 tấm bị lực tác ñộng. ADC sẽ ñọc và biến ñổi giá trị như
một hàm ứng với vị trí x (trái/phải) của ñiểm chạm. Vị trí y (trên/dưới) sẽ ñược xác
ñịnh sau khi tính toán và ngắt ñiện áp cấp ở tấm X và chuyển ñiện áp sang tấm Y. Tấm
X sau ñó sử dụng như phần ngắt tín hiệu và là ngõ ra cho kênh ADC
II. Phân tích và lựa chọn giải pháp thiết kế
- 27 -
Hình II.15: Biểu diễn (sơ ñồ nguyên lý) của màn cảm ứng khi bị lực tác ñộng
ðối với loại màn hình cảm ứng trở kháng 5 dây (5-wire) cũng có nguyên lý hoạt
ñộng tương tự nhưng có sự xen kẽ vùng giữa x và y trên cùng 1 tấm, và tấm còn lại
ñược dùng như bệ ñể ngắt tín hiệu. Vì vậy có mỗi dây chạy ñến mỗi góc của mặt ñế và
dây thứ 5 nối giữa 2 lớp. ðể cảm ứng ñược vị trí của x cần phải cấp 1 ñiện áp VCC vào
2 dây bên trái và GND vào 2 dây bên phải (từng cặp ñối nhau) còn dây thứ 5 là ngõ
vào của kênh ADC. Vị trí của y cần cấp 1 ñiện áp VCC vào 2 dây bên trên và GND vào
2 dây bên dưới. Tham khảo hình vẽ cấu tạo bên dưới
Hình II.16: Cấu tạo loại màn hình cảm ứng trở kháng 5 dây
II.6 Khối giao tiếp máy tính:
Hệ thống Digital Map ++ cho phép người dùng quản lý ñối tượng di ñộng thông
qua giao diện phần mềm trên máy tính. Thông tin của ñối tượng di ñộng ñược truyền
về máy tính từ thiết bị B.
Có nhiều phương án ñể giao tiếp ngoại vi với máy tính như RS232, LPT, PCI,
USB.
II. Phân tích và lựa chọn giải pháp thiết kế
- 28 -
Trong thiết kế này chọn giải pháp giao tiếp máy tính sử dụng chuẩn USB vì một số
lý do sau:
- Dễ sử dụng:
o Plug and Play: tính năng cho phép người dùng không cần tắt máy ñể
cài ñặt cấu hình như interrupt, dipswitch,…
o Bộ ñiều khiển USB tự phát hiện và nhận biết khi thiết bị ñược kết nối
hoặc ngắt kết nối.
- Hỗ trợ truyền dữ liệu thời gian thực: ứng dụng này cho phép giao tiếp với các
thiết bị multimedia ñể truyền tín hiệu âm thanh hoặc hình ảnh.
- Mở rộng port:
o USB cung cấp 1 giải pháp mở rộng port cho phép tối ña 127 thiết bị
kết nối cùng lúc với 1 PC.
o Với tốc ñộ kết nối mở rộng lên tới 12Mbps, (nhưng mục tiêu của
USB là dành cho các thiết bị tốc ñộ thấp và trung bình như:
keyboard, mice, modem, scanner,..)
II.6.1 Giới thiệu chung về chuẩn USB:
USB, viết tắt của cụm từ Universal System Bus, ñược phát triển bởi Compaq, Intel,
Microsoft và NEC trên ý tưởng không hạn chế thiết bị cắm vào PC.
Chuẩn giao tiếp USB hỗ trợ 3 tốc ñộ:
- low speed : 1,5 M bps.
- Full speed: 12 M bps.
- High speed: 480 M bps.
Các phiên bản hiện nay:
- USB 1.0: ra ñời ñầu tiên.
- USB 2.0: sử dụng phổ biến hiện nay.
- USB 3.0: mới xuất hiện.
Chuẩn USB có cấu trúc mạng dạng lai cây - sao, trong ñó có 1 host ñiều khiển tới
tối ña 127 thiết bị tớ (slave devices):
- tất cả các giao tiếp trên bus ñược khởi tạo bởi thiết bị chủ (host device) (không
thể giao tiếp trực tiếp giữa các slave mà phải thông qua host).
- Device phải chờ ñể ñược hỏi (request) từ host, khi host hỏi tới thì mới ñược
phép truyền/ nhận trên bus.
II. Phân tích và lựa chọn giải pháp thiết kế
- 29 -
Hình II.17: Tổ chức mạng dạng sao của chuẩn USB
II.6.1.1 Giao diện vật lý:
Cable gồm 4 dây ñược miêu tả như hình vẽ 22 (H22), chiều dài tối ña của cable
khoảng 5m. Trong ñó gồm 1 dây nguồn (Vbus = 5V từ host, có thể cấp nguồn cho
devices), 1 dây ñất (GND) và hai dây tín hiệu (D+ và D-, hai dây này sử dụng cáp
xoắn hai dây).
Hình II.18: USB cable
Một dây usb cable có hai ñầu nối (connector) khác nhau: các ñầu nối gồm 4 Chân
ñược ñánh số thứ tự như sau: 1 (Vbus), 2 (D-), 3 (D+), 4 (GND).
- một ñầu ñược dùng ñể kết nối với host hay hub (gọi là A Receptacle).
Hình II.19: Connector của cable nối tới host.
II. Phân tích và lựa chọn giải pháp thiết kế
- 30 -
- một ñầu ñược dùng ñể kết nối với devices (gọi là B Receptacle).
Hình II.20: Connector của cable nối tới Devices.
Devices hay Hub có thể tiêu thụ dòng từ Port (thực ra là ñược kéo từ Host). Khi
không lấy nguồn từ host thì devices và hubs ñược gọi là ở chế ñộ “Self-Powed”, còn
khi tiêu thụ nguồn từ host thì chúng ñược gọi là ở chế ñộ “Bus-Powed”.
Devices tiêu chuẩn tiêu thụ dòng 100mA, không có device nào ñược quyền kéo
dòng lớn hơn trước khi chúng ñược cấu hình bởi host, và phải giảm dòng xuống dưới
0,5mA khi ở trạng thái “Suspended “(ñiều kiện “suspended” xảy ra ít nhất 1 lần trước
khi thiết bị ñược cấu hình). Sau khi cấu hình, device có thể kéo dòng tới 500mA.
Cụ thể thiết bị USB có 3 chế ñộ nguồn:
- Low Power: cấp nguồn từ host, dòng cung cấp 100mA, ñiện áp trong khoảng
4.4Vdc – 5.25Vdc.
- High Power: cấp nguồn từ host, dòng cung cấp tối ña 500mA, ñiện áp bus từ
4.75Vdc – 5.25Vdc.
- Self Power: thiết bị ñược cấp nguồn từ bên ngoài.
Tại mỗi ñầu cuối của link liên kết giữa device và host có 1 ñiện trở 1,5k kéo 1
trong 2 dây tín hiệu (D+ hoặc D -) lên nguồn 3.3VDC ñể thiết lập tốc ñộ cho bus (một
số thiết bị có ñiện trở ñược chế tạo bằng bán dẫn và do ñó có thể ñược ñiều khiển bằng
phần mềm (firmware)).
- Nếu kéo trở từ D+ lên 3.3VDC thì device ñược cấu hình ở tốc ñộ bus là Full
Speed.
- Ngược lại, nếu kéo trở từ D- lên 3.3VDC thì device ñược cấu hình ở tốc ñộ bus là
Low Speed.
II. Phân tích và lựa chọn giải pháp thiết kế
- 31 -
Hình II.21: Cấu hình tốc ñộ bus cho device
II.6.1.2 Giao thức truyền tin USB:
Các thiết bị trong bus USB chỉ có thể giao tiếp với host mà không giao tiếp trực tiếp
ñược với nhau, tại một thời ñiểm cũng chỉ có một thiết bị ñược “nói chuyện “với host.
Việc truyền dữ liệu luôn ñược khởi ñộng từ host (theo kiểu master – slave, trong ñó
host là master còn các devices là các slaves).
II.6.1.2.1 Gói tin (Packet):
Việc truyền tin giữa device và host ñược thực hiện theo ñơn vị nhỏ nhất là các gói
tin (packets). Một packet bắt ñầu với phần ñồng bộ (Sync Pattern), theo sau là bytes
data, và cuối cùng là tín hiệu kết thúc EOP (End Of Packet).
Byte ñầu tiên của packet là Packet Identifier (PID) (mã gói tin). Có 17 giá trị PID
tương dương với 17 gói tin trong giao thức USB, tuy nhiên có 5 gói tin thường ñược
quan tâm hơn cả:
- Token packet: luôn luôn là packet ñầu tiên trong một Transaction (một giao tiếp),
ñược sử dụng cho việc cấu hình device.
- Data packet: chứa dữ liệu cần truyền ñi.
- Handshake Packet: gói tin dùng ñể xác nhận dữ liệu và báo lỗi (thường ñược gọi là
gói “bắt tay”).
- SOF: Start of Frame Packet, gói tin chỉ thị bắt ñầu một frame mới.
- Special Packet: dùng ñể báo tốc ñộ mà host muốn truyền.
Group PID value Packet Identifier
0001 OUT Token
II. Phân tích và lựa chọn giải pháp thiết kế
- 32 -
1001 IN Token
0101 SOF Token
Token
1101 SETUP Token
0011 DATA0
1011 DATA1
0111 DATA2
Data
1111 MDATA
0010 ACK Handshake
1010 NAK Handshake
1110 STALL Handshake
Handshake
0110 NYET
1100 PREamble
1100 ERR
1000 Split
Special
0100 Ping
Bảng II.2: Bảng mã PID của một số gói tin chính trong giao thức USB
II.6.1.2.2 Các kiểu truyền:
Giao thức USB ñịnh nghĩa 4 kiểu truyền trên bus:
- Control transfer:
o Truyền hai hướng.
o Hỗ trợ cài ñặt, truyền thông tin giữa host và function.
o Gồm 3 giai ñoạn: setup, data, status.
o Mục ñích truyền thông tin khi thiết bị bắt ñầu kết nối với host ñể khởi
tạo device bởi host.
o Chiều dài gói tin tối ña là 8 bytes (tại Low speed) và 8,16,32,64 bytes
(tại High speed).
- Isochronous transfer (IST):
II. Phân tích và lựa chọn giải pháp thiết kế
- 33 -
o Truyền một hướng hoặc hai hướng.
o ðảm bảo cho băng thông (bandwidth) nhưng không ñảm bảo cho lỗi.
o Mục ñích chính của IST là cho các ứng dụng như Audio, khi mà quan
trọng là duy trì data flow, không quan trọng nếu một vài data bị lỗi
hoặc mất (missed).
o IST có thể chứa tối ña 1023 bytes (tại Full speed) và 1024 bytes (tại
High speed), không hỗ trợ Low speed.
- Interrupt transfer (IT):
o Interrupt transfer không có làm gì với ngắt, cái tên ñược chọn như thế
vì chúng ñược sử dụng cho mục ñích mềm dẻo, mà ngắt ñược sử
dụng trong các kiểu liên kết dễ dàng hơn.
o IT có thể có chiều dài gói tin từ 1 -> 8 bytes cho low speed và từ 1 ->
64 bytes cho full speed hoặc lên tới 1024 bytes tại high speed.
o Sử dụng IT khi ta muốn giữ khoảng thời gian ñều nhau ñể phát hiện
thay dổi trạng thái của device, ví dụ: mouse và keyboard.
- Bulk transfer:
o ðây là kiểu transfer cho lượng data lớn.
o Nếu một Out Endpoint ñược ñịnh nghĩa sử dụng Bulk Transfer thì
host sẽ chuyển dữ liệu tới nó sử dụng Out Transactions.
o Chiều dài gói tin tối ña là 8,16,32,64 bytes tại full speed và 512 bytes
tại high speed, không hỗ trợ low speed.
o Thường sử dụng bulk transfer khi ta có lượng lớn data. Tốc ñộ có thể
ñảm bảo nhưng sẽ bị trễ băng thông (bandwidth) nếu có nhiều thiết
bị.
II.6.1.2.3 Các bước kết nối thiết bị qua cổng USB:
Khi một thiết bị USB ñược kết nối vào bus, host sẽ thực hiện một tiến trình ñể xác
nhận và quản lý thiết bị, tiến trình này là ñặc tính “Plug and Play” của USB.
Tiến trình này gồm các bước sau:
- Attached: khi có kết nối thiết bị chủ sẽ nhận biết nhờ sự thay ñổi tín hiệu D + và
D -.
- Powered: host gửi lệnh Port Enable and Reset, ñồng thời cấp dòng 100mA cho
thiết bị, lúc này thiết bị ñược khởi ñộng.
- Default: sau khi reset, thiết bị ở trạng thái mặc ñịnh (default) với ñịa chỉ 0 và
endpoint 0.
- Address: host gán 1 ñịa chỉ cho thiết bị ñể quản lý.
- Configured: host gửi lệnh Get Descriptor ñến thiết bị ñể yêu cầu ñịnh cấu hình
thiết bị, sau ñó host gán các giá trị cấu hình thiết bị qua setup packet. Lúc này
thiết bị ñã sẵn sang ñể sử dụng.
II. Phân tích và lựa chọn giải pháp thiết kế
- 34 -
Hình II.22: Mô tả các bước kết nối thiết bị qua cổng USB
II.6.2 Giải pháp thực thi giao tiếp USB:
Khi thực hiện giao tiếp vơi máy tính thông qua chuẩn USB thì máy tính ñóng vai trò
là host, con các thiết bị ngoại vi là các device. Giao thức USB tương ñối phức tạp, ñặc
biệt là phần firmware cho thiết bị. Tuy nhiên, công việc thiết kế trở nên dễ dàng hơn
khi ngày càng xuất hiện nhiều IC hỗ trợ giao tiếp USB chuyên dụng với firmware nạp
sẵn.
Ví dụ một trong các IC hỗ trợ giao tiếp USB phổ biến hiện nay là FT245BM.
Hình II.23: IC giao tiếp USB FT245BM
Một số tính năng của FT245BM:
- giao tiếp USB song song truyền 2 hướng (bi – directional).
- Tốc ñộ truyền 1MBps.
- Khả năng giao tiếp với vi ñiều khiển, PLDs, FPGAs.
- Nguồn cung cấp 5VDC hoặc 3.3VDC.
- Tương thích chuẩn USB1.1 và USB2.0.
- Tần số clock từ 6MHz – 48MHz.
II. Phân tích và lựa chọn giải pháp thiết kế
- 35 -
Việc sử dụng các ICs chuyên dụng hỗ trợ giao tiếp USB sẽ thuận tiện hơn cho
người thiết kế, tiết kiệm ñươc thời gian và giá thành sản phẩm.
Trong thiết kế này chọn giải pháp dùng vi ñiều khiển 18F4550 của hãng
Microchip, ñây là một vi ñiều khiển thông thường có hỗ trợ thêm module giao tiếp
USB. Như thế có thể coi vi ñiều khiển 18F4550 bằng 1 vi ñiều khiển thông thường
cộng thêm một IC hỗ trợ giao tiếp USB.
II.7 Khối ñiều khiển:
Với yêu cầu xử lý của bài toán thì bộ xử lý trung tâm (hay khối ñiều khiển) có nhiều
lựa chọn như sử dụng vi ñiều khiển, hay các vi mạch khả trình (PLD, FPGA, PSOC).
Tuy nhiên giải pháp sử dụng vi ñiều khiển có nhiều ưu ñiểm hơn ở khả năng tính toán
linh hoạt, mạch phần cứng ñơn giản, giá thành chấp nhận ñược.
Trong thiết bị A sử dụng hai vi ñiều khiển 18F452, còn trong thiết bị B sử dụng một
vi ñiều khiển 18F4550 (cùng của hãng Microchip).
Một số tính năng của vi ñiều khiển 18F452:
- Họ vi ñiều khiển 8 bit, kiến trúc Harvard.
- Bộ nhớ: 32K bytes ROM, 1536 bytes RAM, 256 bytes EEPROM.
- Tần số clock: up to 40 MHz có hỗ trợ PLL.
- Nguồn cung cấp: 2.0 - > 5.5 VDC.
- Dòng hoạt ñộng tối ña: 25mA.
- 3 timer/ counter 8 bits or 16 bits.
- Giao diện ngoại vi: UART, SPI,I2C.
- Hỗ trợ ICSP (In-Circuit Serial Programming).
- 8 kênh ADC 10 bits.
- 5 port vào ra: PortA (5 bits), PortB (8 bits), PortC (8 bits), PortD (8 bits), PortE
(3 bits).
- Dóng gói 40 Chân.
Một số tính năng của vi ñiều khiển 18F4550:
- Họ vi ñiều khiển 8 bit, kiến trúc Harvard.
- Bộ nhớ: 32K bytes ROM, 2048 bytes RAM, 256 bytes EEPROM.
- Tần số clock: up to 48Mhz có hỗ trợ PLL.
- Nguồn cung cấp: 2.0 - > 5Vdc.
- 3 timer/counter 8 bits or 16 bits.
- 8 kênh ADC 10 bits.
- Giao diện ngoại vi: USB 2.0, UART, I2C, SPI.
- 5 Port vào ra: PortA (5 bits), PortB (8 bits), PortC (7 bits), PortD (8 bits), PortE
(3 bits).
- ðóng gói 40 Chân.
III. Thiết kế và thi công các thiết bị và phần mềm
- 36 -
Chương III Thiết kế và thi công các thiết bị và phần mềm
Qua việc tìm hiểu, phân tích ở trên chúng ta ñã lựa chọn ñược các giải pháp công
nghệ phù hợp (trên các khía cạnh về công nghệ, tính khả thi và kinh tế) cho từng khối
chức năng cụ thể. Phần này chúng ta tiến hành thiết kế và thi công các thiết bị và phần
mềm ñể tiến tới hoàn thiện sản phẩm. Hệ thống Digital Map++ ñược miêu tả một cách
tổng quan như hình bên dưới.
Hinh III.1: Mô hình tổng quan hệ thống Digital Map ++
Như vậy, thiết kế của hệ thống gồm 3 khối chính:
- Thiết bị A: gồm thiết kế phần cứng và phần mềm cho khối vi ñiều khiển.
- Thiết bị B: gồm thiết kế phần cứng và phần mềm cho khối vi ñiều khiển.
- Máy tính (PC): phần mềm trên nền Windows.
III.1. Thiết kế phần cứng:
Thiết bị A:
Từ các chức năng yêu cầu của thiết bị A mà chúng ta lựa chọn các thành phần phù
hợp với thiết kế:
- hiển thị bản ñồ và các thông tin kèm theo: sử dụng màn hình GLCD 240x128.
- Thu tín hiệu GPS: sử dụng module SKG25B của Skylab.
- Giao tiếp với trung tâm quan GSM: sử dụng ñiện thoại Nokia.
- Lưu trữ bản ñồ và hành trình: thẻ nhớ SD/MMC card.
III. Thiết kế và thi công các thiết bị và phần mềm
- 37 -
- Cấu hình hệ thống: sử dụng các phím bấm.
- Khối ñiều khiển: sử dụng vi ñiều khiển 18F452 của Microchip.
- Khối nguồn cung cấp cho hệ thống: 5VDC và 3.3VDC.
Sơ ñồ khối phần cứng của thiết bị A ñược mô tả như hình III.2 bên dưới.
Hinh III.2: Sơ ñồ khối phần cứng thiết bị A
Thiết bị B:
Các thành phần phần cứng tương ứng với chức năng của thiết bị B gồm:
- hiển thị thông tin: màn hình GLCD 128x64 (màn hình KS0108B).
- Lưu giá trị cài ñặt, thông tin quản lý: thẻ nhớ SD/MMC card.
- Giao tiếp với thiết bị A: ñiện thoại Nokia 3310.
- Hỗ trợ tương tác người máy: màn cảm ứng 4 dây.
- Khối vi ñiều khiển + giao tiếp USB: sử dụng vi ñiều khiển 18F4550 của hãng
Microchip (có hỗ trợ giao thức USB).
- Khối nguồn cung cấp cho hệ thống: 5VDC và 3.3VDC.
Sơ ñồ khối phần cứng của thiết bị B ñược mô tả như hình III.3 bên dưới:
Hình III.3: Sơ ñồ khối phần cứng thiết bị B
III. Thiết kế và thi công các thiết bị và phần mềm
- 38 -
III.1.1. Khối thu tín hiệu GPS (GPS module):
Khối thu tín hiệu GPS sử dụng module SKG25B của hãng Skylab. Module có 38
Chân. giao diện với ngoại vi theo chuẩn UART (gồm hai cổng UART 0 và UART 1),
gói tin theo chuẩn NMEA 0183.
Hình III.4: Module SKG25B
Miêu tả các Chân chức năng của SKG25B:
- 1, VCC: ñiện áp cung cấp 3.3V (tại chân VCC nên có tụ 10uF kéo xuống ñất
ñể ñảm bảo nguồn ổn ñịnh).
- 2, GND: chân ground.
- 3, NC: No connect.
- 4, RXD 0: chân Receiver của bộ UART 0.
- 5, TXD 0: chân Transfer của bộ UART 0.
- 6, TXD 1: chân Transfer của bộ UART 1.
- 7, RXD 1: chân Receiver của bộ UART 1.
- 8, 9, 31 – 38: các chân vào ra mục ñích chung GPIO (General Purpose Input
Output).
- 10 – 16: GND.
- 17, ANT-IN: ñầu vào của Antenna.
- 18, GND.
- 19, VANT: Nếu dùng antenna tích cực (active antenna) thì phải cấp nguồn
(3.3V) cho chân V-ANT.
- 20, VCC-RF.
- 21, V_BAT: Chân V-BAT phải nối lên nguồn (3.3V) hoặc nối với Battery
(3.3V) thì module mới khởi ñộng ñược (khi nối với Battery thì V-BAT nên có
tụ 10uF nối xuống ñất).
- 22, Reset: chân Reset của module, tích cực mức thấp.
- 23 (SDI), 24 (SDO), 25 (SCK), 26 (SCS 0): các Chân của chuẩn SPI tương ứng
là Serial Data Input, Serial Data Output, Serial Clock, Serial Chip Select.
III. Thiết kế và thi công các thiết bị và phần mềm
- 39 -
- 27 (INT0), 28 (INT1): hai Chân ngắt ngoài của module.
- 29 (PPS): time pulse.
- 30 (GND).
Các chân không dùng tới thì bỏ trống (Leave open if not used).
Vì khối GPS có mức tín hiệu CMOS 3,3V nên khi kết nối với vi ñiều khiển cần qua
một bộ chuyển mức tín hiệu.
Chuyển mức tín hiệu 5V 3,3V:
Trong sơ ñồ khối phần cứng ñược miêu tả như hình vẽ ở sơ ñồ khối có hai mức tín
hiệu khác nhau:
- CMOS 3.3 V: gồm các module SD/MMC card, GPS module và GSM module.
- CMOS 5V: gồm khối vi ñiều khiển và màn hình GLCD.
Vì mức tín hiệu của CMOS 3.3V không tương thích với CMOS 5V nên không thể
nối trực tiếp hai tín hiệu với nhau, mà phải chuyển mức tín hiệu trong hai trường hợp,
tức là phải qua một bộ chuyển ñổi mức tín hiệu 5V 3V.
Hình III.5: Mô hinh ghép nối khối tín hiệu 5V và khối tín hiệu 3.3V
Chuyển mức tin hiệu 5V về 3.3V (5V OUT và 3.3V IN):
Ngõ ra của CMOS 5V có VOL(max) = 0.5V (ñiện áp ngõ ra lớn nhất ở mức logic ‘0’),
và VOH (min) = 4.7 V (ñiện áp ngõ ra nhỏ nhất ở mức logic ‘1’).
Ngõ vào của CMOS 3.3 V có VIL (max) = 1 V, VIH (min) = 2.3 V.
Có một cách tương ñối ñơn giản ñể chuyển mức 5V – > 3.3 V là dùng ñiện trở phân
áp. Cụ thể ở ñây dùng ñiện trở 2.2k và 3.3k, ñược ghép nối như hình vẽ bên dưới:
Hình III.6: Mạch phân áp chuyển mức 5V - > 3.3 V
III. Thiết kế và thi công các thiết bị và phần mềm
- 40 -
Chuyển mức tin hiệu 3.3V về 5V (3.3V OUT và 5V IN):
Ngõ ra của CMOS 3.3 V là VOL (max) = 0.5 V, VOH (min) = 3 V.
Ngõ vào của CMOS 5 V là VIL (max) = 1.5 V, VIH (min) = 3.5 V.
Một cách ñơn giản ñể chuyển mức tín hiệu 3.3 V tới 5 V là dùng các IC chuyên
dụng cho việc chuyển mức tín hiệu, ví dụ: họ 74LVC.
Tuy nhiên do khó tìm mua các IC họ 74LVC ở Việt Nam nên dùng giải pháp thay
thế là sử dụng IC 74HC244, ñây là IC ñệm 3 trạng thái có mức tín hiệu vào tương
thích với mức logic của CMOS 3.3V và tín hiệu ra tương thích với mức logic của
CMOS 5 V.
Hình III.7. Chuyển mức 3.3V - > 5 V sử dụng 74HC244
Trong thiết kế này, vi ñiều khiển giao tiếp với SKG25B thông qua bộ UART1, cụ
thể bảng liên kết Chân của SKG25B với vi ñiều khiển như sau:
SKG25B Tín hiệu trong hình
vẽ III.8
74HC244 Vi ñiều
khiển
(MCU1)
6 (TXD1) To 74HC244 8(in) - > 12(out) RC7 (RXD)
7 (RXD1) From VDK 18 (out) <- 2 (in) RC6 (TXD)
Bảng III.1: Thể hiện liên kết chân vi ñiều khiển với GPS module
Sơ ñồ thiết kế mạch cho module SKG25B:
III. Thiết kế và thi công các thiết bị và phần mềm
- 41 -
Hình III.8: Sơ ñồ thiết kế mạch cho module SKG25B
III.1.2 Khối giao tiếp giữa hai thiết bị (GSM module):
Trong thiết kế của mình module GSM ñược thay thế bằng ñiện thoại Nokia (có hỗ
trợ F-bus), mà cụ thể là ñiện thoại Nokia 3310.
Giao diện ngoại vi của Nokia 3310 gồm 4 Chân: Mbus, GND, TX, RX trong ñó
Mbus là Chân hỗ trợ chuẩn M-bus (một chuẩn giao tiếp modem GSM của Nokia,
chuẩn này chỉ sử dụng 1 dây), F-bus sử dụng 3 Chân: GND, TX, RX.
Tín hiệu của Nokia 3310 là CMOS 3.3V.
Bảng liên kết chân của ñiện thoại với vi ñiều khiển:
- Thiết bị A:
Nokia
3310
Tên tín hiệu trong
hình vẽ III.9
74HC244 Vi ñiều khiển
(MCU1)
3 (RXD) From VDK 5 (out) <- 15 (in) RC6 (TXD)
4 (TXD) To 74HC244 11 (in) -> 9 (out) RC7 (RXD)
Bảng III.2: Thể hiện liên kết chân vi ñiều khiển với GSM module (thiết bị A)
- Thiết bị B:
Nokia
3310
Tên tín hiệu trong
Hình vẽ III.9
74HC244 Vi ñiều khiển
(MCU1)
3 (RXD) From VDK 16 (out) <- 4 (in) RC6 (TXD)
4 (TXD) To 74HC244 2 (in) -> 18 (out) RC7 (RXD)
Bảng III.3: Thể hiện liên kết chân vi ñiều khiển với GSM module (thiết bị B).
III. Thiết kế và thi công các thiết bị và phần mềm
- 42 -
Sơ ñồ thiết kế mạch giao tiếp ñiện thoại Nokia 3310 như hình vẽ dưới:
Hình III.9: Sơ ñồ mạch giao tiếp ñiện thoại Nokia 3310
III.1.3 Khối lưu trữ dữ liệu ngoài (SD/MMC module):
Thẻ nhớ SD/MMC giao diện với ngoại vi theo chuẩn SPI, mức tín hiệu là CMOS
3.3 V. Khi sử dụng giao diện SPI thì mạch giao tiếp với thẻ SD hoàn toàn tương thích
với MMC. Các Chân SPI của SD/MMC card ñược liên kết tương ứng với các Chân
SPI của vi ñiều khiển, vì vi ñiều khiển 18F452 (trên thiết bị A) và vi ñiều khiển
18F4550 (trên thiết bị B) có phân bố Chân tương tự nhau nên sơ ñồ liên kết Chân giữa
thẻ nhớ và vi ñiều khiển là giống nhau cho cả thiết bị A và thiết bị B (như hình vẽ 37),
cụ thể bảng liên kết Chân như sau:
SD/MMC Tín hiệu trong hình vẽ III.10 Vi ñiều khiển
1 (CS) RC2 RC2 (I/O)
2 (MOSI) RC5 RC5 (SDO)
5 (SCK) RC3 RC3 (SCK)
7 (MISO) RC4 RC4 (SDI)
Bảng III.4: Thể hiện liên kết chân vi ñiều khiển với SD/MMC
Hình III.10: Sơ ñồ mạch giao tiếp thẻ nhớ SD/MMC
III. Thiết kế và thi công các thiết bị và phần mềm
- 43 -
III.1.4 Khối hiển thị (GLCD module):
Do yêu cầu hệ thống mà màn hình GLCD trên thiết bị A có kích thước lớn hơn trên
thiết bị B, cụ thể trên thiết bị A sử dụng màn hình GLCD 240x128 (còn gọi là màn
hình T6963C), còn trên thiết bị B sử dụng màn hình GLCD 128x64 (còn gọi là màn
hình KS0108B).
Ngoài các tín hiệu ñiều khiển và dữ liệu ñược liên kết với vi ñiều khiển thì GLCD
còn có các chân chức năng sau:
- Chân VEE: bản thân bên trong mỗi GLCD ñều có bộ chuyển ñổi nguồn DC-DC,
VEE chính là ñầu ra của bộ chuyển ñổi này. Từ VEE nối qua biến trở 20K xuống
GND (ñối với T6963C) và lên VCC (ñối với KS0108B).
- Chân VO: ñây là chân ñể ñiều chỉnh ñộ tương phản cho màn hình. ðược nối vào
chân Adj của biến trở từ chân VEE.
- LED + và LED – là hai Chân Anode và Cathode của Led Backlight. ðể bật
backlight của GLCD thì LED+ nối lên VCC và LED- nối xuống GND (có qua ñiện trở
100Ω ñể hạn dòng).
- Các chân còn lại nếu không dùng sẽ ñược nối xuống GND.
III.1.4.1 T6963C:
Màn hình T6963C ñược giao tiếp với vi ñiều khiển 2 (MCU 2). Mức tín hiệu của
T6963C là CMOS 5V nên các tín hiệu ñược nối thẳng tới các Chân của vi ñiều khiển.
Các ñường tín hiệu giao tiếp giữa màn hình GLCD với vi ñiều khiển ñược chia thành 2
phần:
- Phần tín hiệu ñiều khiển: gồm các Chân RES (tín hiệu Reset), CD (chọn kiểu
giao tiếp là Data hay Instruction), RD (tín hiệu cho phép ñọc từ GLCD), WR
(tín hiệu cho phép ghi tới GLCD).
- Phần dữ diệu: gồm 8 ñường data (D0-D7).
Bảng liên kết Chân của T6963C với vi ñiều khiển:
T6963C MCU2
5 (WR) RA3
6 (RD) RA2
8 (CD) RA1
9 (RES) RA0
10 (D0) -> 17 (D7) RD0 -> RD7
Bảng III.5: Thể hiện liên kết chân vi ñiều khiển với T6963C
III. Thiết kế và thi công các thiết bị và phần mềm
- 44 -
Hình III.11: Mạch giao tiếp T6963c với Vi ñiều khiển 2
III.1.4.2 KS0108B:
Màn hình KS0108B ñược sử dụng trong thiết bị B, giao tiếp với vi ñiều khiển
18F4550 (MCU), mức tín hiệu CMOS 5V nên ñược nối thẳng tới các Chân của vi ñiều
khiển. KS0108B gồm 20 Chân, trong ñó các Chân liên kết với vi ñiều khiển gồm:
- Các tín hiệu ñiều khiển: DI, WR, E, CS1, CS2, RES.
- Dữ liệu: DB0 – DB7.
Bảng liên kết Chân của KS0108B với vi ñiều khiển:
KS0108B MCU
4 (D/I) RB4
5 (WR) RB3
6 (E) RB2
15 (CS1) RB1
16 (CS2) RB6
17 (RES) RB7
7 (DB0)-> 14(DB7) RD0-RD7
Bảng III.5: Thể hiện liên kết chân vi ñiều khiển với KS0108B
III. Thiết kế và thi công các thiết bị và phần mềm
- 45 -
Hình III.12 Mạch giao tiếp KS0108B với vi ñiều khiển
III.1.5 Khối giao tiếp người máy (Touchpad):
Màn hình cảm ứng ñược sử dụng cho thiết bị B là loại màn cảm ứng ñiện trở 4 dây
(nguyên lý hoạt ñộng ñã ñược trình bày trong phần thông tin công nghệ).
Theo nguyên lý hoạt ñộng của màn cảm ứng ñiện trở 4 dây thì ít nhất hai tín hiệu từ
màn cảm ứng phải ñược ñưa vào ñầu vào của ADC. Trong thiết kế này liên kết Chân
của màn cảm ứng với vi ñiều khiển 18F4550 (MCU) như bảng sau:
Màn cảm ứng Vi ñiều khiển
1 (X+) RC0
2 (Y +) RC1
3 (X-) RA0 (ADC0)
4 (Y -) RA1 (ADC1)
Bảng III.6: Thể hiện liên kết chân vi ñiều khiển với màn cảm ứng
III. Thiết kế và thi công các thiết bị và phần mềm
- 46 -
Hình III.13: Mạch giao tiếp màn cảm ứng với vi ñiều khiển
III.1.6 Khối giao tiếp máy tính (Giao tiếp USB):
Bản thân vi ñiều khiển 18F4550 có tích hợp module giao tiếp USB nên mạch cứng
giao tiếp usb ñơn giản chỉ là kéo 2 tín hiệu D+, D- từ vi ñiều khiển cùng với Vcc và
Gnd tới 4 Chân của Connector ‘B’.
Bảng liên kết Chân của vi ñiều khiển với Connector ‘B’:
Vi ñiều khiển Connector ‘B’
RC4 (D-) 2 (D-)
RC5 (D+) 3 (D+)
VDD 1 (VCC)
GND 4 (GND)
Bảng III.7: Thể hiện liên kết chân vi ñiều khiển với dây USB
III. Thiết kế và thi công các thiết bị và phần mềm
- 47 -
Hình III.14: Sơ ñồ mạch giao tiếp USB sử dụng vi ñiều khiển Pic18F4550
III.1.7 Nguồn cung cấp:
Trong thiết bị A và B ñều phải cung cấp cả nguồn 5V và 3.3V. Vì thiết bị A gắn
trên ñối tượng di ñộng nên có thể lấy nguồn từ Accu (ắc quy) của chính ñối tượng di
ñộng ñấy. Còn thiết bị B liên kết với máy tính hoặc cầm tay nên nguồn cung cấp cho
thiết bị B ñược lấy từ cổng USB của máy tính (khi thiết bị ñược gắn vào máy tính)
hoặc lấy từ battery (khi thiết bị không giao tiếp với máy tính).
ðể tạo nguồn 5V sử dụng IC ổn áp LM7805, còn ñể tạo nguồn 3.3V sử dụng IC ổn
áp LM317.
ðóng gói theo kiểu TO
ðiện áp ñầu vào: 7 -> 15VDC
ðiện áp ñầu ra: 5V ± 4%
Dòng hoạt ñộng tối ña: 1A
Dải nhiệt ñộ hoạt ñộng: -400C ->
1250C
Bảng III.8: Một số tính năng của LM7805
ðóng gói theo kiểu TO
ðiện áp ñầu vào: 0 -> 40 VDC
ðiện áp ñầu ra: 1.2 -> 25 VDC
Dòng hoạt ñộng tối ña: 1.5 A
Dải nhiệt ñộ hoạt ñộng: -650C ->
1500C
Bảng III.9: Một số tính năng của LM317
III. Thiết kế và thi công các thiết bị và phần mềm
- 48 -
Sơ ñồ khối tạo nguồn cho thiết bị A:
Hình III.15: Mạch khối tạo nguồn cho thiết bị A
Sơ ñồ khôi tạo nguồn cho thiết bị B:
Hình III.16:. Mạch khối nguồn của thiết bị B
III.2 Thiết kế phần mềm:
III.2.1 Phần mềm cho vi ñiều khiển:
Phần mềm trên vi ñiều khiển sử dụng các chương trình hỗ trợ lập trình cho vi ñiều
khiển của hang Microchip (mikroc, c18, ccs).
Các module phần mềm chính trên vi ñiều khiển:
- Giao tiếp với thẻ nhớ:
o Lưu trữ hành trình của thiết bị vào thẻ nhớ dưới dạng file txt.
o Load bản ñồ trong thẻ nhớ lên màn hình GLCD, bản ñồ trong thẻ nhớ
ñược lưu dưới dạng các file txt (nội dung file txt chứa ma trận ảnh
III. Thiết kế và thi công các thiết bị và phần mềm
- 49 -
MCU1
MCU2
bitmap cần ñể hiện thị lên màn hình). Bản ñồ (cụ thể là bản ñồ thành
phố Hà Nội) ñược chia thành các file ảnh bitmap nhỏ lưu trong thẻ
nhớ, tùy vào vị trí của thiết bị mà sẽ load ảnh tương ứng.
- Giao tiếp với module GPS:
o Module SKG25B có giao diện RS232, các gói tin theo chuẩn NMEA
1083. Vi ñiều khiển ñọc các gói tin từ SKG25B, giải mã gói tin ñể
tìm ra các thông tin cần thiết: kinh ñộ, vĩ ñộ, vận tốc, thời gian, thông
tin vệ tinh.
- Giao tiếp module GSM:
o Module GSM ở ñây chính là ñiện thoại Nokia 3310. vi ñiều khiển
giao tiếp với nokia 3310 theo chuẩn F-bus ñể ra lệnh gửi tin nhắn,
nhận tin nhắn, xóa tin nhắn tới ñiện thoại. Gói tin giao tiếp theo
chuẩn F-bus, nội dung tin nhắn ñược mã hóa theo chuẩn PDU.
- Giao tiếp với màn hình GLCD:
o Vi ñiều khiển giao tiếp với màn hình GLCD (loại T6963C ñối với
thiết bị A, và KS0108B ñối với thiết bị B), ñể hiển thị các thông tin
cần thiết.
- Giao tiếp với màn cảm ứng:
o Màn cảm ứng ñược gắn trên màn hình GLCD ñể hỗ trợ giao tiếp
người dùng. Vi ñiều khiển giao tiếp với màn cảm ứng ñể phát hiện
nhấn và phát hiện vị trí nhấn.
- Giao tiếp USB:
o Vi ñiều khiển trên thiết bị B ñược lập trình ñể trở thành một USB
device, giao tiếp với host là máy tính.
III.2.1.1 Phần mềm cho vi ñiều khiển trên thiết bị A:
Thiết bị A sử dụng 2 vi ñiều khiển 18F452. Chức năng xử lý của mỗi vi ñiều khiển
ñược mô tả như bên dưới:
• Giao tiếp với module GPS (SKG25B) ñể ñọc thông tin
ñịnh vị (kinh ñộ, vĩ ñộ, vận tốc,…).
• Lưu thông tin hành trình vào thẻ nhớ SD/MMC.
• Giao tiếp với trung tâm thông qua modem GSM (ñiện
thoại Nokia 3310).
• Giao tiếp với module GPS (SKG25B) ñể ñọc thông tin
ñịnh vị (kinh ñộ, vĩ ñộ, vận tốc,…).
• Kiểm tra trạng thái cấu hình từ khối nút bấm.
• Load ảnh bản ñồ từ thẻ nhớ SD/MMC.
• Hiển thị bản ñồ và thông tin lên GLCD T6963c.
III. Thiết kế và thi công các thiết bị và phần mềm
- 50 -
Lưu ñồ thuật toán cho vi ñiều khiển 1 (MCU 1):
Hình III.17:. Lưu ñồ thuật toán cho phần mềm khối vi ñiều khiển 1 (thiết bị A)
Vi ñiều khiển 18F452 chỉ có một bộ UART, trong khi ñó module GPS và GSM ñều
có giao diện UART. Do ñó biến toàn cục có tên “GPS” trong chương trình ñược dùng
ñể chỉ trạng thái ñang ñược giao tiếp của module GPS (nếu biến GPS = 1) hay module
GSM (nếu biến GPS = 0).
III. Thiết kế và thi công các thiết bị và phần mềm
- 51 -
Lưu ñồ thuật toán cho vi ñiều khiển 2 (MCU 2):
Hình III.18: Lưu ñồ thuật toán cho phần mềm khối vi ñiều khiển 2 (thiết bị A)
Biến toàn cụ có tên Button trong chương trình ñể chỉ trạng thái của khối nút bấm.
Thông tin hiển thị lên màn hình phụ thuộc vào trạng thái của các nút bấm (ñược setup
bởi người dùng), cụ thể trạng thái các nút bấm như sau:
- 0: không có nút nào ñược nhấn. Hiển thị bản ñồ.
- 1: nút 1 ñược nhấn. Hiển thị bản ñồ + kinh ñộ, vĩ ñộ.
- 2: nút 2 ñược nhấn. Hiển thị bản ñồ + vận tốc.
- 3: nút 3 ñược nhấn. Hiển thị bản ñồ + thời gian.
- 4: nút 4 ñược nhấn. Hiển thị bản ñồ + thông tin du lịch.
- 5: nút 5 ñược nhấn. Hiển thị bản ñồ + trạm y tế gần nhất.
- 6: nút 6 ñược nhấn. Hiển thị bản ñồ + trạm nhiên liệu gần nhất.
III. Thiết kế và thi công các thiết bị và phần mềm
- 52 -
MCU
III.2.1.2 Phần mềm cho vi ñiều khiển trên thiết bị B:
Thiết bị B sử dụng một vi ñiều khiển 18F4550, thực hiện các chức năng giúp quản
lý từ xa ñối tượng di ñộng (thiết bị A) trên màn hình GLCD 128x64 hoặc thông qua
giao diện trên máy tính. Cụ thể chức năng của vi ñiều khiển gồm:
• giao tiếp với máy tính thông qua giao ñiện USB.
• Kiểm tra vị trí nhấn trên màn cảm ứng.
• Hiển thị thông tin lên màn hình GLCD.
• Giao tiếp với thiết bị A thông qua GSM (cụ thể là giao
tiếp với ñiện thoại Nokia 3310).
Lưu ñồ thuật toán của phần mềm trên vi ñiều khiển 18F4550:
Hình III.19: Lưu ñồ thuật toán cho phần mềm khối vi ñiều khiển (thiết bị B)
Trong thiết kế mạch cứng, trạng thái chân RB0 ñược thay ñổi khi thay ñổi trạng thái
công tắc chuyển nguồn từ USB nguồn Battery. Trạng thái RB0 ñược xác ñịnh bởi
biến toàn cục có tên là Mode. Khi thiết bị giao tiếp với máy tính (công tắc nguồn ñược
gạt sang nguồn USB) thì biến Mode = 1, ngược lại khi thiết bị cầm tay (công tắc
nguồn ñược gạt sang nguồn Battery) thì biến Mode = 0.
Bắt ñầu mỗi chương trình thì vi ñiều khiển sẽ kiểm tra biến Mode ñể tiến hành thực
hiện chương trình tiếp theo tương ứng.
III. Thiết kế và thi công các thiết bị và phần mềm
- 53 -
III.2.2 Phần mềm trên máy tính:
Chức năng của phần mềm trên máy tinh là giao tiếp với ñối tượng di ñộng thông
qua thiết bị B (ñược gắn vào cổng USB) ñể ñiều khiển và giám sát ñối tượng di ñộng.
Các gói phần mềm chính trên máy tính:
- Gói phần mềm quản lý ñối tượng:
o Thông tin ñịa lý của ñối tượng (kinh ñộ, vĩ ñộ, vận tốc,…) ñược hiển
thị cụ thể trên giao diện bản ñồ số.
o Có các giao diện ñiều khiển thiết bị (gửi lệnh ñiều khiển thiết bị di
ñộng bằng thao tác trên giao diện phần mềm).
o Phần mềm sử dụng: Mapinfo, Visual c#, Windriver.
- Gói cơ sở dữ liệu:
o Lưu dữ cơ sở dữ liệu về thiết bị ñể tiện cho quản lý.
o Phần mềm sử dụng: mysql, Microsoft Access
Sơ ñồ khối phần mềm trên máy tính:
Hình III.20: Lưu ñồ thuật toán cho phần mềm khối vi ñiều khiển (thiết bị B)
III.2.2.1 Vẽ bản ñồ bằng phần mềm Mapinfo:
Hiện nay có nhiều chương trình hỗ trợ thiết kế bản ñồ cũng như hỗ trợ GIS
(GeoGraphic Information System – hệ thống thông tin ñịa lý) như: MapInfo, Arc
View, Franson, GisCafe,.. Tuy nhiên có thể nói Mapinfo là một phần mềm chuyên
nghiệp hỗ trợ GIS sớm nhất và ñầy ñủ nhất.
Hệ thống phần mềm MapInfo hỗ trợ người lập trình có thể xây dựng các hệ thống
GIS trên nhiều môi trường khác nhau như:
- MapX: Là một ActiveX có thể sử dụng ñể xây dựng ñể xây dựng các chương
trình GIS chạy trên máy tính (PC).
- MapXtreme: Hỗ trợ người lập trình dùng Java có thể tạo ra các ứng dụng GIS
trên môi trường Web theo mô hình Servlet của Java.
III. Thiết kế và thi công các thiết bị và phần mềm
- 54 -
- MapXMobile: Hỗ trợ viết các chương trình GIS trên các thiết bị cầm tay.
MapInfo quản lý bản ñồ theo từng lớp (layer). Mỗi layer có hai phần: phần graphic
(là hình ảnh thể hiện của các ñối tượng trên bản ñồ) và phần dữ liệu (lưu các thông tin
về các ñối tượng trên bản ñồ).
Trong thiết kế này, cơ sở dữ liệu sử dụng ñược lấy từ hai nguồn sau:
- Sử dụng cơ sở dữ liệu của Viện lâm nghiệp quốc gia, từ ñó sử dụng MapInfo ñể
vẽ các layer mới.
- Sử dụng bản ñồ của website ñịnh vị toàn cầu (www.mapsgoogle.com).
Từ cơ sở dữ liệu, sử dụng MapInfo ñể vẽ bản ñồ, cụ thể bản ñồ thành phố Hà Nội
ñược xây dựng gồm 5 layers:
- Layer 1: thể hiện các ñường lớn của thành phố.
- Layer 2: thể hiện các phố lớn của thành phố.
- Layer 3: thể hiện các phố nhỏ.
- Layer 4: thể hiện các ngõ.
- Layer 5: hiển thị ñối tượng di ñộng.
Các layer này có thể tùy biến ẩn / hiện (visible / invisible) bởi người dùng. Vị trí
của ñối tượng di ñộng (thể hiện trên layer 5) sẽ ñược cập nhật mỗi khi nhận dược giá
trị thông tin GPS từ thiết bị B gửi lên qua cổng USB.
III.2.2.2 Viết Driver cho USB sử dụng phần mềm Windriver:
Chuẩn USB có giao thức mềm tương ñối phức tạp. ðể ñơn giản và thuận tiện trong
thiết kế, phần mềm Windriver ñược sử dụng ñể viết driver ñiều khiển giao tiếp với
thiết bị B thông qua cổng USB.
Windriver là một chương trình hỗ trợ viết driver cho việc giao tiếp với ngoại vi theo
các chuẩn USB, PCI.
Khi sử dụng windriver ñể tạo driver cho thiết bị ngoại vi thì ñồng thời cũng tạo ra
các thư viện liên kết ñộng (DLL) với các hàm API ñược hỗ trợ ñể thực hiện giao tiếp
với ngoại vi thông qua driver ñã ñược tạo, trong ñó ñáng quan tâm nhất là các lớp và
ủy quyền sau:
- Ủy quyền D_USER_ATTACH_CALLBACK, sử dụng ñể gán sự kiện có thiết
bị gắn vào cổng USB với một hàm Callback do chúng ta tạo ra thường là khởi
tạo việc truyền, nhận dữ liệu.
- Ủy quyền D_USER_DETACH_CALLBACK, ñược sử dụng ñể gán sự kiện
thiết bị USB ñã ñược tháo ra với một hàm Callback do chúng ta xây dựng
thường là thông báo cho người dùng biết thiết bị ñã ñược tháo ra khỏi cổng
USB.
- Ủy quyền D_USER_TRANSFER_COMPLETION, gán sự kiện truyền nhận kết
thúc vào một hàm xử lý.
III. Thiết kế và thi công các thiết bị và phần mềm
- 55 -
- Ủy quyền D_USER_POWER_CHANGE_CALLBACK, ít ñược sử dụng. ủy
quyền này gán sự kiện khi có sự thay ñổi về nguồn trên bus USB, có thể sử
dụng ủy quyền này ñể ngắt thiết bị ra khỏi bus khi xảy ra sự cố về nguồn.
- Lớp KEY_USB_Device, chứa các hàm thực hiện việc cài ñặt cấu hình khác
nhau cho thiết bị USB hay hàm ñọc các số liệu VIP, PID của thiết bị.
- Lớp KEY_USB_Pipe, chưa số lượng hàm tương ñối lớn hỗ trợ việc truyền /
nhận và kiểm tra trạng thái dữ liệu.
- Lớp Pipe_list, thực hiện quản lý ñường ống vào/ra của thiết bị.
IV. Các kết quả thực hiện
- 56 -
Chương IV: Các kết quả thực hiện
IV.1 Phần cứng:
IV.1.1 Hình ảnh thiết bị:
Dưới ñây là hình ảnh của hai thiết bị (A và B) sau khi hoàn thành. Phần cứng ñược
thiết kế ñảm bảo ñúng với sơ ñồ nguyên lý gồm ñầy ñủ các khối chức năng (các
modules) như ñã phân tích.
Hình IV.1: Sơ ñồ mạch hoàn thành của thiết bị A
Hình IV.2: Sơ ñồ mạch hoàn thành của thiết bị B
IV. Các kết quả thực hiện
- 57 -
Hình IV.3: Hình ảnh thiết bị hoàn thành (A -bên trái), B -bên phải)
VI.1.2 Kết quả kiểm tra:
Sau khi hoàn thành thiết kế phần cứng, tiến hành kiểm tra hoạt ñộng của phần cứng
theo các trình tự từng module ñơn lẻ, sau ñó kiểm tra kết hợp giữa các module với
nhau.
Trình tự kiểm tra các khối và kết quả ñạt ñược:
- Khối nguồn cung cấp:
o Trước khi lắp IC vào mạch, ñiện áp nguồn ñầu ra ño ñược là 4.98V
và 3.37V.
o Sau khi lắp toàn bộ IC vào mạch (ñể test ở chế ñộ “có tải” ), ñiện áp
ñầu ra ño ñược là 4,96V và 3,34V.
- Khối màn hình hiển thị:
o Hiển thị hình ảnh ñúng yêu cầu.
- Khối SD/MMC:
o Kiểm tra các chức năng sau: tạo file, xóa file, ghi nội dung lên file,
ñọc nội dung từ file. Các kết quả ñạt ñúng yêu cầu.
- Khối GSM:
o Kiểm tra các chức năng sau: gửi tin nhắn SMS, nhận tin nhắn, ñọc tin
nhắn, xóa tin nhắn, kiểm tra trạng thái nguồn. Các kết quả ñạt yêu
cầu tuy nhiên khối hoạt ñộng không hoàn toàn ổn ñịnh.
o Phân tích lỗi: khối GSM hoạt ñộng không ổn ñịnh có nguyên nhân
là các module GSM (ñiện thoại Nokia 3310 - do sử dụng ñiện thoại
cũ).
IV. Các kết quả thực hiện
- 58 -
o Khắc phục lỗi: thay ñiện thoại bằng modem GSM chuyên dụng.
- Khối GPS:
o Kiểm tra việc cấu hình cho module SKG25B ñồng thời ñọc các gói
dữ liệu từ module. Kết quả ñạt yêu cầu.
- Khối màn cảm ứng:
o Kiểm tra chức năng phát hiện nhấn và lấy tọa ñộ (vị trí) của ñiểm
nhấn. Kết quả tọa ñộ theo một trục (trục X) thì tuyến tính còn một
trục khác (trục Y) không hoàn toàn tuyến tính.
o Phân tích lỗi: do lớp ñiện trở của màn cảm ứng không hoàn toàn
chính xác.
o Khắc phục lỗi: thay thế bằng màn cảm ứng chất lượng tốt hơn.
- Khối giao tiếp USB:
o Kiểm tra chức năng giao tiếp thiết bị B với máy tính: kết quả ñạt
ñược ñúng yêu cầu.
Kiểm tra kết hợp các khối với nhau:
- Thực hiện các chức năng ñề ra ban ñầu của thiết bị A và B. Kết quả ñạt ñúng yêu
cầu.
IV.2 Phần mềm:
Phần mềm trên vi ñiều khiển ñã kiểm tra ở phần kiểm tra các chức năng phần cứng.
Trong phần này sẽ kiểm tra các chức năng của phần mềm trên máy tính.
Phần mềm trên máy tính hỗ trợ người dùng quản lý ñối tượng di ñộng dựa vào giao
diện bản ñồ số. Các chức năng ñã hoàn thiện của phần mềm:
- Hển thị bản ñồ số (bản ñồ thành phố Hà Nội).
- Hiển thị vị trí của ñối tượng di ñộng tương ứng lên bản ñồ số.
- Có chức năng gửi yêu cầu tới thiết bị B thông qua cổng USB bao gồm:
o Gửi lệnh yêu cầu thiết bị A gửi vị trí về trung tâm.
o Gửi lệnh yêu cầu thiết bị A thực thi lệnh ñiều khiển.
o Nhận thông ñiệp (message) từ thiết bị A gửi về.
IV. Các kết quả thực hiện
- 59 -
Hình IV.4: Giao diện phần mềm trên máy tính (sử dụng cơ sở dữ liệu của Viện lâm nghiệp)
Hình IV.5: Giao diện phần mềm trên máy tính (sử dụng cơ sở dữ liệu của
www.mapsgoogle.com)
V. Kết luận và hướng phát triển
- 60 -
Chương V: Kết luận và hướng phát triển
IV.1. Những kết quả ñã ñạt ñược:
Sau 15 tuần thực hiện ñồ án, các kết quả lý thuyết, thực hành ñã ñược trình bày
trong các chương trước của ñồ án. Có thể tóm tắt lại những kết quả ñã ñạt ñược sau
quá trình thực hiện ñồ án như sau:
- Nắm ñược quy trình phân tích yêu cầu, lựa chọn giải pháp và thiết kế một hệ
thống tương ñối phức tạp, tích hợp khá nhiều chức năng.
- Tìm hiểu rõ và triển khai ñược các hệ thống sử dụng GPS receiver, modem
GSM/SMS, các bộ nhớ dung lượng cao, lập trình giao diện màn hình cảm
ứng,...
- Tìm hiểu rõ và triển khai ñược các hệ thống phần mềm hoặc công cụ chuyên
dụng cho xử lý ảnh số nói chung và bản ñồ số nói riêng như MapInfo, MapX,...
- ðã chế tạo thành công 2 thiết bị với các chức năng ñã ñề ra trong thiết kế,
- ðã lập trình ñược các phần mềm tích hợp hoạt ñộng với hai thiết bị như các yêu
cầu thiết kế ñề ra.
Hệ thống 2 thiết bị và phần mềm tích hợp ñi kèm có thể ñược ứng dụng trong một
số lĩnh vực thực tế. Tuy nhiên mặc dù ñã hoàn thành ñược các nhiệm vụ ñặt ra, nhưng
do thời gian có hạn và kinh phí cũng hạn chế nên các giải pháp cũng còn một số tồn tại
nhất ñịnh. Các ví dụ ứng dụng cũng như các ñịnh hướng phát triển tiếp cho hệ thống
có thể ñược tóm tắt trong các phần sau.
IV.2. Ứng dụng:
Trên thế giới, việc khai thác hệ thống ñịnh vị toàn cầu GPS ñể phục vụ cho lợi ích
nghiên cứu khoa học và ñời sống ñã ñược tiến hành từ rất sớm và ñã ñạt ñược nhiều
kết quả quan trọng.
Ở Việt Nam chúng ta, do nhiều yếu tố mà chúng ta chưa sử dụng ñược triệt ñể
thông tin từ hệ thống GPS. ðề tài này mong muốn khai thác thông tin GPS kết hợp với
một số công nghệ khác ñể xây dựng một hệ thống có thể ứng dụng ñược vào trong một
số lĩnh vực của ñời sống, cụ thể như:
- Dẫn ñường cho ñối tượng di ñộng:
+ Chức năng bản ñồ số dẫn ñường thông thường.
+ Hiển thị các thông tin liên quan:
* Thông tin du lịch: các ñiểm du lịch, ñiểm vui chơi, nhà hang,.. gần nhất
với thiết bị.
V. Kết luận và hướng phát triển
- 61 -
* Thông tin y tế, trạm nhiên liệu,..: trong các trường hợp khẩn cấp như
thiên tai, bạo bệnh,.. thì có thể lựu chọn chức năng tìm kiếm vị trí cần
thiêt (các ñiểm ñến gần nhất: trạm y tế, nhiên liệu,..).
- Quản lý ñối tượng di ñộng:
+ Hệ thống Digital Map ++ sẽ rất hữu ích cho các nhà quản lý phương tiện giao
thông: các hãng taxi, các hang xe bus,.. với giao diện trên thiết bị B hay trên máy
tính, nhà quản lý có thể dễ dàng quản lý các ñối tượng di ñộng.
+Hệ thống Digital Map ++ còn giúp người dùng dễ dàng xác ñịnh vị trí phương
tiện của mình trong các trường hợp mất cắp.
+ Chúng ta có thể xây dựng thêm các thuật toán mở rộng, ví dụ:
* Tìm ñường ñi ngắn nhất và dự báo tắc ñường từ thông tin ñịa lý của
ñối tượng di ñộng.
* Tự ñộng ñiều khiển nâng hạ rào chắn ñường sắt khi có tàu chạy
qua.
- Ứng dụng trong ñịa chính: với chức năng lưu giữ hành trình của thiết bị, chúng ta
có thể sử dụng hệ thống Digital Map ++ ñể vẽ lại hình dạng của một khu ñất nào ñó
bằng cách cho thiết bị di ñộng ñi quanh khu ñất cần ño (tuy nhiên vì ñộ chính xác nên
ứng dụng này chỉ hữu dụng khi ño các khu ñất lớn mà sai số chấp nhận ñược).
IV.3. Hướng phát triển:
Về cơ bản kết quả ñạt ñược của ñề tài ñáp ứng ñược yêu cầu ñặt ra ban ñầu. Việc
lựa chọn giải pháp thiết kế tuy phù hợ p với một số yêu cầu nhưng vẫn tồn tại một số
hạn chế.
Phân tích ưu và nhược ñiểm và từ ñó ñề suất hướng phát triển của một số giải pháp
thiết kế:
- Phần cứng:
o Màn hình GLCD:
Ưu ñiểm : Giá thành rẻ. Hiển thị thông tin linh hoạt. Kết nối vi ñiều khiển
dễ dàng.
Nhược ñiểm: Chỉ thể hiện ñược hình ảnh 2 màu (xanh và trắng) nên việc
hiển thị bản ñồ lên màn hình còn một số hạn chế.
Hướng phát triển: Thay thế màn hình GLCD 2 màu bằng màn hình GLCD
nhiều màu hoặc màn hình TFT (Thin Film Transitor) ñể thực hiện chức
năng hiển thị phong phú hơn.
o Khối GSM:
Ưu ñiểm: Sử dụng mạng GSM ñảm bảo ổn ñịnh và vùng phủ sóng rộng.
Nhược ñiểm: Không ñáp ứng ñược tính Realtime và tốn nhiều cước viễn
thông nếu như giám sát thiết bị một cách liên tục (cước tin nhắn SMS).
V. Kết luận và hướng phát triển
- 62 -
Hướng phát triển: Sử dụng module GSM kết hợp với module GPRS ñể
tăng tính thời gian thực, hạn chế cước viễn thông và ñảm bảo ñược sự ổn
ñịnh và diện phủ sóng.
o Thiết bị B:
Ưu ñiểm: Giá thành rẻ, hoàn toàn làm chủ công nghệ chế tạo nên có thể dễ
dàng cập nhật, nâng cấp khi cần thiết.
Nhược ñiểm: Nếu cầm tay thì còn cồng kềnh và ít chức năng.
Hướng phát triển: Xây dựng phần mềm cho các ñiện thoại di ñộng , các
PDA ñể có thể có các chức năng như thiết bị B. Tạo ra hai lựa chọn cho
người sử dụng: nếu kết nối máy tính thì sử dụng thiết bị B ban ñầu, còn
nếu cầm tay thì sử dụng các ñiện thoại hay PDA.
- Phần mềm:
o Thiết bị B:
Như ñã nêu ở phần cứng, thiết kế phần mềm cho ñiện thoại và PDA ñể sử
dụng các chức năng của thiết bị B trên ñiện thoại và PDA.
o Phần mềm trên máy tính:
Hạn chế: Nếu người dùng ñi xa và không mang theo thiết bị B thì không
quản lý ñược thiết bị A.
Hướng phát triển: Xây dựng Website “ñộng” và Webserver ñể có thể quản
lý ñối tượng di ñộng thông qua internet.
- 63 -
Tài liệu tham khảo:
[1]. Lại Mạnh Dũng, “Xây dựng hệ thống quản lý ñối tượng di ñộng dựa trên công
nghệ GPS và GIS”, Luận văn thạc sỹ, ðại học Bách Khoa Hà Nội, 2007.
[2]. Mai ðức Thông, “Nghiên cứu hệ thống ñịnh vị sử dụng vệ tinh kết hợp cám
biến quán tính”, Luận văn thạc sỹ, ðại học Bách Khoa Hà Nội, 2008.
[3]. Nguyễn Thị Yến, “Ứng dụng công nghệ GPS và công nghệ GIS ñể quản lý các
ñối tượng di ñộng”, Luận văn thạc sỹ, ðại học Bách Khoa Hà Nội, 2008.
[4]. B. Parkinson, J. Spiker, “GPS: Theory and Applications”.
[5]. Geoffrey Blewitt, “Basics of the GPS Technique: Observation Equations”,
Khoa ðịa lý, ðại học Newcastle, Anh Quốc.
[6]. SKG25B manual của hãng Skylab.
[7]. GSM 03.40 specification.
[8]. SMS protocol specification.
[9]. Fbus protocol specification.
[10]. USB complete, USB specification.
[11]. Các trang web trên mạng:
a.
b. www.microchip.com
c. www.skylab.com.cn - skg25b feature.
d. www.nokia.com - sms, fbus protocol.
e. www.usb.org
f. www.usbmadesimple.co.uk
g. www.embedtronics.com/nokia/fbus.html
h. Trang tìm kiếm: www.google.com
Các file đính kèm theo tài liệu này:
- 2009-DATN-GPS Devices-TBSon.pdf