Tải bản đầy đủ (.doc) (16 trang)

Báo cáo Bài tập lớn môn thiết bị ngoại vi

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.2 MB, 16 trang )

MỤC LỤC
Phần I: TÌM HIỂU VỀ CỔNG SONG SONG
1. Các loại cổng song song
2. Khoảng cách và tốc độ
3. Các cổng và các thanh ghi
4. Các chế độ hoạt động
5. Các ngắt
6. Các kênh truy nhập bộ nhớ trực tiếp (DMA chanels).
Phần II: CHƯƠNG TRÌNH CHAT QUA CỔNG LPT
1. Mô tả bài toán
2. Các yêu cầu của hệ thống
3. Nguyên tắc kiểm tra kết nối
4. Nguyên tắc truyền dữ liệu
5. Một số chức năng của chương trình
Phần I: TÌM HIỂU VỀ CỔNG SONG SONG
1. Các loại cổng song song
 Cổng song song có 2 loại:
+ Cổng có ổ cắm 36 chân
+ Cổng có ổ cắm 25 chân
Ngày nay, loại ổ cắm 36 chân không còn được sử dụng, hầu hết các máy
tính PC đều trang bị cổng song song 25 chân nên ta chỉ cần quan tâm đến
loại 25 chân.
Cổng LPT loại 25 chân
Sau đây là chức năng của các đương dẫn tín hiệu:
+ Strobe (1): Với một mức logic thấp ở chân này, máy tính thông báo cho máy in
biết có một byte đang sẵn sàng trên các đường dẫn tín hiệu để được truyền.
+D0 đến D7: Các đường dẫn dữ liệu.
+ Acknowledge: với một mức logic thấp ở chân này, máy in thông báo cho máy
tính biết là đã nhận được kí tự vừa gửi và có thể tiếp tục nhận.
+ Busy (bận – 11): máy in gửi đến chân này mức logic cao trong khi đang đón


nhận hoặc in ra dữ liệu để thông báo cho máy tính biết là các bộ đệm trong máy
tính biết là các bộ đệm trong máy tính đã bị đầy hoặc máy in trong trạn thái Off-
line.
+ Paper empty (hết giấy – 12): Mức cao ở chân này có nghĩa là giấy đã dùng hết.
+ Select (13): Một mức cao ở chân này, có nghĩa là máy in đang trong trạng thái
kích hoạt (On-line)
+ Auto Linefeed (tự nạp dòng): Có khi còn gọi là Auto Feed. Bằng một mức thấp ở
chân này máy tính PC nhắc máy in tự động nạp một dòng mới mỗi khi kết thúc
một dòng.
+ Error (có lỗi): Bằng một mức thấp ở chân này, máy in thông báo cho máy tính là
đã xuất hiện một lỗi, chẳng hạn kẹt giấy hoặc máy in đang trong trạng thái Off-
Line.
+ Reset (đặt lại): Bằng một mức thấp ở chân này, máy in được đặt lại trạng thái
được xác định lúc ban đầu.
+Select Input: bằng một mức thấp ở chân này, máy in được lựa chọn bởi máy tính.
Qua cách mô tả chức năng của từng tín hiệu riêng lẻ ta có thể nhận thấy các
đương dẫn dữ liệu có thể chia thành 3 nhóm:
- Các đường dẫn tín hiệu, xuất ra từ máy tính PC và điều khiển máy tính, được gọi
là các đường dẫn điều khiển.
- Các đường dẫn tín hiệu, đưa các thông tin thông báo ngược lại từ máy in về máy
tính, được gọi là các đường dẫn trạng thái.
- Đường dẫn dữ liệu, truyền các bit riêng lẻ của các ký tự cần in.
-> Từ cách mô tả các tín hiệu và mức tín hiệu ta có thể nhận thấy là: các tín hiệu
Acknowledge, Auto Linefeed, Error, Reset và Select Input kích hoạt ở mức thấp.
Thông qua chức năng của các chân này ta cũng hình dung được điều khiển cổng
máy in.
Đáng chú ý là 8 đường dẫn song song đều được dùng để chuyển dữ liệu từ máy
tính sang máy in. Trong những trường hợp này, khi chuyển sang các ứng dụng để
thực hiện nhiệm vụ đo lường ta phải chuyển dữ liệu từ mạch ngọai vi vào máy tính
để thu thập và xử lý.

2. Khoảng cách và tốc độ
Khoảng cách cực đại giữa cổng song song máy tính PC và thiết bị ngọai vi bị
hạn chế vì điện dung kí sinh và hiện tượng cảm ứng giữa các đường dẫn có thể làm
biến dạn tín hiệu. Khoảng cách giới hạn là 8m, thông thường chỉ cỡ 1,5 – 2 m. Khi
khoảng cách ghép nối trên 3m nên xoắn các đường dây tín hiệu với đường nối đất
theo kiểu cặp dây xoắn hoặc dùng loại cáp dẹt nhiều sợi trong đó mỗi đường dẫn
dữ liệu điều nằm giữa hai đường nối mass.
Tốc độ truyền dữ liệu qua cổng song song phụ thuộc vào linh kiện phần cứng
được sử dụng. Trên lý thuyết tốc độ truyền đạt giá trị 1 Mbit/s, nhưng với khoảng
cách truyền bị hạn chế trong phạm vi 1m. Với nhiều mục đích sử dụng thì khoảng
cách này đã hoàn toàn thõa đáng. Nếu cần truyền trên khoảng cách xa hơn, ta nên
nghĩ đến khả năng truyền qua cổng nối tiếp hoặc USB. Một điểm cần lưu ý là: việc
tăng khoảng cách truyền dữ liệu qua cổng song song không chỉ làm tăng khả năng
gây lỗi đối với đường dữ liệu được truyền mà còn làm tăng chi phí của đường dẫn.
3. Các cổng và các thanh ghi
Cổng song song có ba thanh ghi, có thể truyền dữ liệu và điều khiển máy in.
Địa chỉ cơ sở của các thanh ghi cho tất cả cổng LPT (line printer) từ LPT1 đến
LPT4 được lưu trữ trong vùng dữ liệu của BIOS. Thông thường, địa chỉ cơ sở của
LPT1 là 378h, LPT2 là 278h, do đó địa chỉ của thanh ghi trạng thái là 379h hoặc
279h và địa chỉ thanh ghi điều khiển là 37Ah hoặc 27Ah.
Các địa chỉ này ta có thể đặt lại trong hệ thống.
Sơ đồ các chân và các bit của thanh ghi
Thanh ghi dữ liệu Thanh ghi trạng thái Thanh ghi Điều khiển
Chân 9: D7 Chân 10: S6 Chân 1: C0
Chân 8: D6 Chân 11: S7 Chân 14: C1
Chân 7: D5 Chân 12: S5 Chân 16: C2
Chân 6: D4 Chân 13: S4 Chân 17: C3
Chân 5: D3 Chân 15: S3
Chân 4: D2
Chân 3: D1

Chân 2: D0
4. Các chế độ hoạt động
Cổng song song gồm có 4 đường điều khiển, 5 đường trạng thái và 8 đường
dữ liệu. Bao gồm 5 chế độ hoạt động như sau:
- Chế độ tương thích (compatibility).
- Chế độ nibble.
- Chế độ byte.
- Chế độ EPP (Enhanced Parallel Port).
- Chế độ ECP (Extended Capabilities Port).
-> 3 chế độ đầu tiên sử dụng cổng song song chuẩn (SPP – Standard Parallel
Port) trong khi đó chế độ 4, 5 là chế độ mở rộng, cần thêm phần cứng để cho
phép hoạt động ở tốc độ cao hơn cụ thể như sau:
a. Original( SPP): dạng chuẩn SPP - Standard Parallel Port : cổng song song
chuẩn
Cổng song song trong các máy PC cổ điển thiết kế dựa trên một giao diện máy
in vẫn đang tồn tại là Centronic. SPP có thể truyền 8 bít một lần tới thiết bị ngoại
vi, dùng giao thức giống như được dùng trong giao diện Centronic gốc. SPP không
có đường nhận dữ liệu rộng 1 byte, nhưng khi truyền từ PC tới thiết bị ngoại vi,
SPP có thể dùng Nibble Mode để truyền mỗi lần 4 bít. Nibble Mode thì chậm
nhưng đã trở thành phổ biến như là một cách để dùng cổng song song cho Input.
b. Dạng PS/2 ( Vào ra 2 chiều đơn giản - Simple Bidirectional)
Một sự cải tiến sớm cho cổng song song là cổng dữ liệu vào ra 2
chiều( Bidirectional Port) được đưa ra trong máy tính IBM: dạng PS/2. Cổng
vào/ra cho phép một thiết bị ngoại vi truyền 8 bít một lần tới PC. Nhóm PS/2 bao
gồm các cổng song song có một cổng dữ liệu vào ra nhưng không hỗ trợ các mode
EPP hoặc ECP( sẽ giới thiệu dưới đây).
c. EPP( enhanced parallel port - cổng song song nâng cao): là cổng được phát
triển ban đầu bởi nhà sản xuất chip Intel. Như một cổng dạng PS/2, các đường dữ
liệu là các đường vào ra. Một EPP có thể đọc hoặc ghi 1 byte dữ liệu trong một chu
kì của bus mở rộng ISA hoặc 1 micro giây, bao gồm bắt tay, trong khi với SPP

hoặc PS/2 thì cần 4 chu kì. Một EPP có thể chuyển đổi chiều nhanh chóng, vì thế
nó rất là hiệu quả khi dùng với đĩa hoặc là thiết bị dài và các thiết bị khác truyền
dữ liệu trong cả 2 chiều. Một EPP có thể dùng thay cho SPP và một vài EPP có thể
dùng thay cho cổng dạng PS/2.
d. ECP(Extended capabilities port - cổng có khả năng mở rộng) được đưa ra lần
đầu tiên bởi Hewlett Packard và Microsoft. Giống với EPP, ECP cũng có các
đường dữ liệu vào ra và có thể truyền dữ liệu ở tốc độ của bus ISA. ECP có bộ
đệm và hỗ trợ DMA( direc memory access – truy cập bộ nhớ trực tiếp) truyền và
nén dữ liệu. Các bộ truyền nhận kiểu ECP rất hữu ích cho printer, và các thiết bị
ngoại vi khác truyền các khối dữ liệu lớn. Một ECP có thể dùng như là một cổng
SPP hoặc PS/2 và nhiều ECP có thể dùng thay cho cổng EPP rất tốt.
5. Các ngắt
+ Phần lớn các cổng song song có khả năng phát hiện tín hiệu ngắt từ thiết bị
ngoại vi.
+ Thiết bị ngoại vi có thể dùng ngắt để thông báo rằng đã sẵn sàng để nhận
byte hoặc có một byte để truyền. Để dùng ngắt, cổng song song phải có một
mức yêu cầu ngắt (Interrupt request - IRQ) xác định.
+ Theo qui ước LPT1 dùng IRQ7 và LPT2 dùng IRQ5. Thế nhưng IRQ5
được dùng bởi nhiều card âm thanh, và bởi vì các mức IRQ không được
dùng bởi các thành phần hệ thống nào rất là hiếm trong hệ thống, thậm chí
IRQ7 có thể được dành cho các thiết bị khác. Một vài cổng cho phép chọn
các mức IRQ khác 2 mức trên.
+ Rất nhiều ứng dụng và thiết bị truy nhập cổng song song không yêu cầu
ngắt cổng song song. Nếu không chọn mức báo ngắt cho cổng song song thì
cổng này vẫn hoạt động trong hầu hết các trường hợp rất là hiệu quả và có
thể dành mức báo ngắt IRQ cho công việc khác .
6. Các kênh truy nhập bộ nhớ trực tiếp (DMA chanels).
DMA : direct memory access
Các cổng ECP có thể truy nhập bộ nhớ trực tiếp (DMA) đối với dữ liệu tại
cổng song song. Khi DMA trao đổi dữ liệu thì CPU không cần kiểm soát đường

truyền và có thể làm các công việc khác vì thế trao đổi dữ liệu bằng DMA làm
tăng khả năng hoạt động cho toàn bộ hệ thống. Yêu cầu để dùng DMA là các
cổng này phải có kênh DMA xác định, thay đổi từ 0 đến 3.
Phần II: CHƯƠNG TRÌNH CHAT QUA CỔNG LPT
1. Mô tả bài toán
+ Chương trình Chat qua cổng LPT là chương trình thực hiện Chat giữa 2
máy tính được nối với nhau qua cổng LPT (Cổng song song).
+ Các thông điệp được gửi và nhận qua cổng LPT.
+ Chương trình được viết bằng ngôn ngữ Visual Basic
2. Các yêu cầu của hệ thống
+ Chương trình thực hiện giao tiếp qua cổng LPT ở chế độ EPP ( enhanced
parallel port - cổng song song nâng cao)
Thiết lập chế độ EPP
+ Chế độ EPP được thiết lập trong BIOS. Để thiết lập chế độ này bạn vào
BIOS chọn “Integrated Peripherals -> Parallel Port Mode” chọn EPP (thiết
lập này đối với cả 2 PC).
+ Trong chế độ EPP máy gửi muốn gửi tin thì bit điều khiển C5 phải được
thiết lập là C5 = 0. Máy nhận phải thiết lập là C5 = 1
Sơ đồ dây nối giữa 2 máy tính như sau:
PC1 PC2
chân 1 chân 10
chân 2 chân 2
chân 3 chân 3
chân 4 chân 4
chân 5 chân 5
chân 6 chân 6
chân 7 chân 7
chân 8 chân 8
chân 9 chân 9
chân 10 chân 1

chân 12 chân 14
chân 14 chân 12
chân 15 chân 17
chân 17 chân 15
chân 11,13,16 chân nối đất (GR)
chân nối đất (GR) chân 11,13,16
3. Nguyên tắc kiểm tra kết nối
+ Như ta đã biết thanh ghi trạng thái (379H) là thanh ghi chỉ đọc. Theo cách
nối dây như trên, các chân điểu khiển được nối với các chân trạng thái, khi
PC1 thay đổi giá trị thanh ghi điều khiển thì ở PC2 thanh ghi trạng thái sẽ
thay đổi. Dựa vào sự thay đổi của thanh ghi trạng thái mà ta có thể biết được
có yêu cầu kết nối đến hay không.
+ Tương tự như thế khi PC2 nhận được yêu cầu kết nối của PC1 cũng sẽ
thay đổi giá trị thanh ghi điều khiển làm thay đổi giá trị của thanh ghi trạng
thái của PC1.
+ giao thức kết nối được mô tả như sau:
4. Nguyên tắc truyền dữ liệu
+ Như đã nói ở trên. Chế độ EPP có thể truyền và nhận 8 Bit một lúc. Theo
đó ta sử dụng thanh ghi dữ liệu (8bit) để truyền tín hiệu.
+ Để thực hiện ở chế độ EPP thì máy gửi dữ liệu phải thiết lập giá trị của bit
C5 = 0
+ Cũng như nguyên tắc kiểm tra kết nối, chương trình sẽ đọc giá trị của
thanh ghi trạng thái để đưa ra hành động trao đổi dữ liệu.
+ Ban đầu máy cần gửi dữ liệu thay đổi giá trị của thanh ghi điểu khiển làm
giá trị của thanh ghi trạng thái ở máy nhận bị thay đổi (hỏi xem máy nhận có
sẵn sàng nhận dữ liệu hay không?) máy nhận sẽ thay đổi giá trị của thanh
ghi điều khiển để trả lời máy gửi là có thể nhận được dữ liệu hay không.
+ Khi máy gửi nhận được tín hiệu trả lời từ máy nhận là có thể nhận dữ liệu,
máy gửi bắt đầu truyền dữ liệu qua thanh ghi dữ liệu (378H).
+ Nguyên tắc của việc truyền dữ liệu qua thanh ghi 378H như sau:

Máy gửi sẽ gửi đi từng kí tự một và máy nhận cũng nhận từng kí tự và ghép
là thành chuỗi cần gửi. Ban đầu máy gửi gửi đi kí tự đầu tiên và chờ máy
nhận trả lời là đã nhận được thì mới gửi kí tự tiếp theo (đọc ở thanh ghi trạng
thái).
+ Khi máy gửi gửi hết chuỗi cần gửi thì sẽ gửi ra giá trị cuối cùng là 255
(Dec). Khi máy nhận nhận được giá trị 255 thì kết thúc nhận dữ liệu và hiển
thị chuỗi vừa nhận được
+ Cách truyền dữ liệu: như ta đã biết, thanh ghi dữ liệu là thanh ghi 8 bit,
vậy ta có thể thay đổi giá trị từ 0 đến 255.
+ Để gửi 1 kí tự, ta sử dụng bảng mã ASCII, tìm xem kí tự đó ở vị trí bao
nhiêu và gửi số vị trí đó. Bên máy nhận, khi nhận được 1 giá trị (0 - 255) sẽ
tìm trong bảng mã ASCII xem ở vị trí đó là kí tự gì và ghép kí tự đó vào
chuỗi nhận.
+ Do ta chỉ gửi được từ 0 đến 255 mà một số kí tự tiếng việt có giá trị ngoài
khoảng đó nên ta thực hiện mã hóa lại. Thay kí tự tiếng việt vào vị trí của
những kí tự không dùng đến trong khoảng 0 – 255.
+ giao thức truyền dữ liệu được mô tả như sau:
giao thức truyền dữ liệu
5. Một số chức năng của chương trình
- Chương trình có thể kiểm tra kết nối trước khi vào Chat
- Chương trình Chat có một số chức năng như:
+ Chọn màu chữ, kiểu chữ, cỡ chữ…
+ Chọn biểu tượng mặt cười, Buzz…
+ Chọn hình nền Chat và hình nền khung Chat.
+ Lưu và đọc lại nội dung Chat.
+ Giới thiệu về chương trình và nhóm 6.
+ Hiển thị trạng thái truyền dữ liệu và ngày giờ hệ thống.
a. Kiểm tra kết nối
b. Chương trình chat chính
c. Chọn hình ảnh nền khung Chat

d.
Chọn hình nền Chat
e. Chọn biểu tượng mặt cười
f. Chọn màu chữ, kiểu chữ, cỡ chữ
g. Các form giới thiệu (giới thiệu chương trình, giới thiệu nhóm 6)
HẾT

×