Đặc điểm của cổng song song: - Các bit dữ liệu đ-ợc truyền song song.. - Khoảng cách cực đại giữa cổng song song máy tính PC và thiết bị ngoại vi bị hạn chế vì điện dung ký sinh và hiện
Trang 1cổng song song của máy Vi tính
Cổng song song hay là cổng LPT do công ty Centronics thiết kế ra nhằm mục
đích nối máy tính PC với máy in Về sau, cổng song song đã đ-ợc phát triển thành một tiêu chuẩn không chính thức
1 Đặc điểm của cổng song song:
- Các bit dữ liệu đ-ợc truyền song song
- Giao diện song song sử dụng các mức logic TTL
- Khoảng cách cực đại giữa cổng song song máy tính PC và thiết bị ngoại
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ạng tín hiệu Khoảng cách giới hạn là 8 m, thông th-ờng chỉ khoảng 1,5 – 2 m
- Tốc độ truyền dữ liệu phụ thuộc vào phần cứng Trên lý thuyết, tốc độ truyền đạt đến giá trị 1 Mbyte/s, nh-ng khoảng cách truyền bị hạn chế trong 1 m
2 Cấu trúc của cổng song song:
Cổng song song có hai loại là: ổ cắm 36 và ổ cắm 25 chân, nh-ng ở đây chúng ta chỉ tìm hiểu vể loại ổ cắm 25 chân
1
13
14
25
Hình II.2.1 – Hình dạng cổng song song 25 chân
Trang 2Bảng II.2.1: Tên gọi và chức năng của các chân cổng song song khi ghép nối với máy in
Số hiệu chân Tên của tín
hiệu Chức năng của các đ-ờng dẫn tín hiệu
1 Strobe Với một mức thấp ở chân này, máy tính thông báo cho máy in biết là có một byte
sẵn sàng trên các đ-ờng dẫn tín hiệu để
đ-ợc truyền
e
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
11 Busy (Bận) Máy in gửi một mức logic cao để thông báo là bộ đệm máy in đã bị đầy hoặc máy
in đang trong trạng thái off-line
(Hết giấy) Một mức cao từ máy in có nghĩa là giấy đã dùng hết
13 Select Một mức cao có nghĩa là máy in đang
trong trạng thái kích hoạt (On-Line)
Linefeed
Bằng một mức thấp ở chân này, máy tính 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
Trang 3lại ) đ-ợc đặt lại trạng thái xác định lúc ban
đầu
17 Select Input Bằng một mức thấp, máy in đ-ợc lựa chọn
bởi máy tính
Các đ-ờng dẫn của cổng song song đ-ợc nối với ba thanh ghi 8 bit khác nhau để ng-ời dùng có thể truy cập vào chúng bằng phần mềm:
- Thanh ghi dữ liệu
- Thanh ghi điều khiển
- Thanh ghi trạng thái
Trên hình II.2.2, tám đ-ờng dữ liệu D0 D7 dẫn tới thanh ghi dữ liệu; bốn
đ-ờng điều khiển là Strobe, Auto Linefeed, Reset, Select Input dẫn tới thanh ghi
điều khiển; còn năm đ-ờng trạng thái Acknowledge, Busy, Paper Empty, Select, Error dẫn tới thanh ghi trạng thái Thanh ghi dữ liệu đ-ợc chỉ rõ là hai h-ớng – dữ liệu có thể đ-ợc xuất ra hay đọc vào trên các đ-ờng dẫn D0 đến D7 Thanh ghi
điều khiển cũng là hai h-ớng, còn thanh ghi trạng thái chỉ là một h-ớng – chỉ có thể đ-ợc đọc
7
6
5
4
3
2
1
0
D7, chân 9 D6, chân 8 D5, chân 7 D4, chân 6 D3, chân 5 D2, chân 4 D1, chân 3 D0, chân 2
7 6 5 4 3 2 1 0
Busy, chân 11 Acknowledge, chân 10 Paper Empty, chân 12 Select, chân 13 Error, chân 15
Thanh ghi dữ liệu Thanh ghi trạng thái
Trang 4Khi thiết kế phần cứng,
các thanh ghi đều đ-ợc
đánh địa chỉ để quản lý,
chúng đ-ợc đánh liên tiếp
nhau, trong đó, địa chỉ của
thanh ghi dữ liệu là địa chỉ
cơ bản, hai địa chỉ còn lại
đ-ợc tính theo địa chỉ cơ
bản đó Hệ điều hành DOS
dự tính đến bốn cổng song
song và đặt tên là: LPT1,
LPT2, LPT3, LPT4 Nh-
vậy, sẽ có bốn nhóm ba địa
chỉ các thanh ghi Tuy
nhiên, hầu hết các máy tính
hiện nay đều chỉ có một
cổng song song
7 6 5 4 3 2 1 0
Select Input, chân 17 Reset, chân 16 Auto Feed, chân 14 Strobe, chân 1 Thanh ghi điều khiển
Hình II.2.2 – Kết nối giữa các chân ổ cắm và các thanh ghi bên trong của cổng song song 25 chân
Trang 5Bảng II.2.2 – Các địa chỉ thanh ghi của cổng song song trên máy tính PC
Cổng
song
song
Địa chỉ thanh ghi dữ liệu ghi trạng thái Địa chỉ thanh Địa chỉ thanh ghi điều khiển
3 Lập trình bằng ngôn ngữ C cho cổng song song
Thực chất của việc trao đổi dữ liệu giữa máy tính với các thiết bị ngoại vi bên ngoài thông qua cổng song song bằng phần mềm chính là việc đọc và ghi dữ liệu lên các thanh ghi của cổng song song ở đây ta xét các lệnh nh- trên của ngôn ngữ lập trình C:
- Lệnh xuất ra dữ liệu: outportb(địa chỉ thanh ghi, giá trị)
- Lệnh nhận dữ liệu vào: x=inportb(địa chỉ thanh ghi) //x là biến chứa giá trị nhận vào
Để thực hiện đ-ợc các lệnh trên phải khai báo: #inlude<dos.h>