Cổng Parallel là gì

Nghiên cứu tìm hiểu cổng song song trên máy tính

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 (218.97 KB, 19 trang )

Cổng song song Kiến trúc máy tính
I. Cổng song song (Parallel Port)
Parallel Port - Cổng Song song là một khe gắn trên máy tính (ngày nay hầu hết
đợc tích hợp trên mainboard) thờng đợc dùng để nối với máy in (printer) hoặc
thiết bị sử dụng cổng song song khác. Mặc dù tốc độ truyền dữ liệu của cổng
parallel chậm hơn so với các chuẩn nh SCSI và IDE, nhng do đặc điểm là rẻ tiền
(đợc tích hợp sẵn) và dễ truy cập (có thể gắn thiết bị từ bên ngoài) nên nó thờng
đợc sử dụng cho nhiều loại đĩa hoặc băng từ cho phép tháo lắp đợc (removable
disk and tape drives). Ngoài ra nó còn đợc sử dụng rộng rãi để truyền dữ liệu
giữa hai máy tính với nhau thông qua các ứng dụng truyền thông (nh Direct
cable connection của Windows, Laplink) và sợi cáp nối laplink. Cổng song song
chuẩn IEEE 1284 cung cấp khả năng truyền dữ liệu hai chiều với tốc độ cao và
hỗ trợ cáp nối với chiều dài tới 32 feet.
Từ nguồn gốc của nó nh là một giao diện đơn giản cuả máy in, cổng song song
cuả máy tính cá nhân đã phát triển thành một nơi để cắm bất cứ điều gì bạn
muốn vào máy tính. Các cổng song song phổ biến bởi vì bạn có thể sử dụng nó
cho đầu ra, đầu vào, hoặc liên kết 2 chiều và bởi vì nó có sẵn nên tất cả các máy
tính đều có một cổng song song.
Máy in vẫn là thiết bị phổ biến nhất kết nối với cổng, nhng các lựa chọn phổ
biến khác bao gồm: băng đĩa và ổ đĩa và máy quét. Máy tính xách tay, máy vi
tính có thể sử dụng một cổng song song dựa trên giao diện mạng hoặc cần điều
khiển. Đối với các ứng dụng đặc biệt, có hàng chục cổng song song cho các thiết
bị sử dụng trong thu thập dữ liệu, kiểm tra, và kiểm soát hệ thống. Và cổng song
song là 1 trong những sự lựa chọn chung cho các dự án có quy mô vừa và nhỏ,
các dự án đó có yêu cầu thông tin liên lạc giữa các máy tính và thiết bị bên
ngoài khác.
Mặc dù phổ biến, nhng các cổng song song luôn luôn có một chút khó khăn để
có thể sử dụng. Qua nhiều năm, một số các biến thể trên các cổng của thiết kế
ban đầu đã xuất hiện, nhng vẫn cha có tài liệu của nguồn riêng lẻ nào mô tả các
cổng trong nhiều biến thể của nó.


Khi việc thiết kế các máy PC phát triển, một số nhà sản xuất đã giới thiệu phiên
bản cải thiện của cổng song song. Những loại mới có cổng tơng thích với thiết
kế ban đầu, nhng thêm khả năng mới, chủ yếu để tăng tốc độ.
Tốc độ là điều quan trọng, vì nh máy tính và các thiết bị ngoại vi có nhận đợc
nhanh hơn, họ làm những công việc đã trở nên phức tạp hơn, và số lợng thông
tin mà họ cần phải trao đổi đã tăng lên. Cổng song song ban đầu đã đợc rất
nhiều đủ nhanh để gửi byte đại diện cho các ký tự ASCII văn bản vào một máy
in kim hay máy in dùng nan hoa chữ. Tuy nhiên, hiện đại, máy in cần phải nhận
đợc rất nhiều thông tin hơn để in một trang với nhiều phông chữ và chi tiết đồ
1
Cổng song song Kiến trúc máy tính
họa, thờng có màu sắc. Nhanh hơn các máy tính có thể truyền tải các thông tin,
nhanh hơn các máy in có thể bắt đầu xử lý và in ấn kết quả.
Một giao diện nhanh cũng làm cho nó khả thi hơn để sử dụng xách tay, phiên
bản nâng cao thuộc ngoại vi giúp bạn sẽ có cách khác để cài đặt bên trong các
máy vi tính. Một cổng song song băng hoặc ổ đĩa rất dễ dàng để di chuyển từ hệ
thống vào hệ thống, và cho sử dụng thờng xuyên, chẳng hạn nh làm bản sao lu
dự trữ, bạn có thể sử dụng một trong những đơn vị cho một số hệ thống. Vì sao
lu có thể bao gồm việc sao chép hàng trăm Megabytes, giao diện đã nhanh
chóng có giá trị.
II. Sự phát triển của các loại cổng song song
Vào năm 1981, IBM (Máy Kinh doanh quốc tế) giới thiệu máy tính cá nhân
(PC). Các cổng song song ( cổng Parallel Standard spp) đã đợc bao gồm trong
chiếc máy tính đầu tiên và nó đã đợc thêm vào nh một lựa chọn thay thế hiệu
suất thấp của các cổng nối tiếp, để sử dụng nó nh điều khiển của máy in đầu
mực kim hiệu suất cao. Cổng đã có khả năng truyền đồng thời 8 bit dữ liệu 1 lúc
(của máy PC với máy in), trong khi cổng nối tiếp chỉ truyền đợc 1bit. Khi trở
nên đợc sử dụng rộng rãi, các cổng song song đã trở thành câu trả lời cho các
thiết bị kết nối nhanh hơn.
Sau sự bắt đầu này, ba nhóm vấn đề lớn xuất hiện đối với tỉ lệ quá cao ngời phát

triển sản phẩm và của cổng này: Đầu tiên, mặc dù đã có một sự gia tăng tốc độ
của nó, đã có thay đổi trong kiến trúc hoặc không có hiệu quả. Tốc độ tối đa có
thể đạt đợc khi truyền kbyte / seg trong khoảng 150. và nó đã đợc rất nhiều
phần mềm tơng tác. Thứ hai, không có một tiêu chuẩn cho các giao diện điện tử.
Điều này gây ra nhiều vấn đề khi nó đợc muốn đảm bảo hoạt động trong nhiều
nền tảng. Cuối cùng, mẫu thiết kế mà họ đa ra, giới hạn khoảng cách của các
loại cáp cho đến khi bên ngoài tối đa là 1,8 mét. Năm 1991 đã có một cuộc họp
của các nhà sản xuất để cho một tiêu chuẩn mới cho các thông minh kiểm soát
của máy in thông qua một mạng có thể đợc phát triển. Các nhà sản xuất, nơi họ
đã bao gồm cả Lexmark, IBM, Texas Instruments và những ngời khác, hình
thành Mạng In ấn Alliance (NPA), nh một câu trả lời cho những điều tất yếu.
Từ việc giới thiệu từ các máy PC đến thị trờng, các cổng song song có 1 số các
sửa đổi, bổ sung để làm cho nó nhanh hơn. Kể từ khi ban đầu các cổng đơn h-
ớng và song hớng đã đợc tạo ra. Các cổng song hớng đã đợc giới thiệu với sự t-
ơng thích PS / 2. Điều này nó cho phép một giao tiếp của 8 bit trong cả hai h-
ớng. Thật sự thú vị để thông báo cổng ban đầu có khả năng trở thành 1 cổng
song hớng, thực hiện một kết nối giữa hai ống của một thành phần điện tử bao
gồm cả trong một. (Nói cách khác, ban đầu là cổng bidirectional trong thiết kế
cơ bản, nhng không phải trong những hoạt động thiết kế). Cuối cùng EPPs và
2
Cổng song song Kiến trúc máy tính
ECPs đã đợc tạo ra. Hai tác phẩm mới là những cổng tiêu chuẩn nh Pentium
286.
Ban đầu, cổng song song đã đợc sử dụng cho việc giao tiếp với máy in. Hiện
nay nó cũng đợc sử dụng để xử lý ngoại vi khác nh đĩa CD ROM, bản sao lu dự
phòng của băng, đĩa cứng, card mạng, sao chép bảo vệ, máy quét, vv
Trong thời điểm hiện tại có bốn loại cổng song song :
Standart Parallel Port (SPP)
Parallel Port PS / 2 (bidirectional)
Enhanced Parallel Port (EPP)

Extended Capability Port (ECP)
Trong bảng sau là thông tin synthesized của một số loại cổng song song:

SPP PS / 2 EPP ECP
Ngày Giới thiệu 1981 1987 1994 1994
Nhà sản xuất IBM IBM Intel, Xircom
và Zenith
Data Systems
Hewlett Packard

Microsoft
Bidirectional Không Nếu Nếu Nếu
DMA Không Không Không Nếu
Tốc độ 150 Kb /
seg.
150 Kb / seg. 2 Mb / seg. 2 Mb / seg.
Các cổng song song trong các máy tính IBM ban đầu, và tất cả các cổng đều tích
cực noi gơng thiết kế ban đầu, đôi khi đợc gọi là spp, đạt tiêu chuẩn cho các
3
Cổng song song Kiến trúc máy tính
cổng song song, mặc dù ban đầu cổng đã có văn bản tiêu chuẩn không vợt ra
khỏi phạm vi sơ đồ giản lợc và văn kiện chính thức của máy tính IBM. Đợc sử
dụng tên khác là loại-AT hoăc ISA-tơng thích.
Các cổng trong máy tính ban đầu đã đợc dựa trên một giao diện máy in trung
tâm. Tuy nhiên, máy PC giới thiệu một số sự khác nhau, trong đó có các hệ
thống khác vẫn tiếp tục.
SPPs có thể chuyển tám bit cùng một lúc vào một ngoại vi, bằng cách sử dụng
một giao thức tơng tự mà đợc sử dụng bởi các giao diện trung trung tâm ban
đầu. Các spp hiện không có một byte toàn dữ liệu vào cổng, nhng cho sự truyền
dữ liệu của PC-ngoại vi, SPPs có thể sử dụng một chế độ chia nhỏ dữ liệu

(Nibble) để truyền mỗi byte 4 bits tại một thời điểm. Nibble là chế độ chậm, nh-
ng đã trở thành phổ biến nh một cách để sử dụng cho các dữ liệu vào cổng song
song.
PS/2-type (Simple Bidirectional)
Một sớm cải tiến vào cổng song song là cổng dữ liệu song hớng đợc giới thiệu
trên mô hình của IBM PS / 2. Các cổng song hớng cho phép một ngoại vi để
truyền tám bit cùng một lúc vào một máy PC. Thuật ngữ PS/2-type đã đợc dùng
để tham khảo cho bất kỳ cổng song song có một cổng dữ liệu song hớng nhng
không hỗ trợ các chế độ EPP hoặc ECP mô tả dới đây. Chế độ Byte là một byte
8-bit truyền dữ liệu giao thức rằng PS/2-type cổng có thể sử dụng để chuyển dữ
liệu từ ngoại vi với máy PC.
EPP
Các EPP (cổng song song nâng cao) đã đợc phát triển bởi ngời sáng tạo ra chip
Intel, nhà sản xuất máy tính Zenith, và Xircom, nhà sáng tạo của mạng lới sản
phẩm song song. Nh PS/2-type, dòng dữ liệu là song hớng. Một EPP có thể đọc
hay viết một byte dữ liệu trong một chu kỳ ISA mở rộng của các mạch nối, hoặc
khoảng 1 phần triệu giây, bao gồm cả việc bắt tay, so sánh với bốn chu kỳ cho
một spp hoặc cổng PS/2-type. Một EPP có thể chuyển đổi hớng dẫn một cách
nhanh chóng, vì vậy nó rất hiệu quả khi dùng với ổ đĩa, băng và các thiết bị khác
để chuyển dữ liệu trong cả hai hớng. Một EPP cũng có thể mô phỏng một spp,
và một số EPPs cũng có thể đợc dùng nh một cổng PS/2-type.
ECP
Các ECP (khả năng mở rộng cổng) lần đầu tiên đợc đề nghị của Hewlett Packard
và Microsoft. Cũng giống nh các EPP, các ECP là song hớng và có thể chuyển
dữ liệu với tốc độ mạch nối ISA. ECPs có bộ đệm và hỗ trợ DMA (truy cập bộ
nhớ trực tiếp) chuyển và dữ liệu nén. Truyền ECP là hữu ích cho máy in, máy
quét, và thiết bị ngoại vi khác truyền 1 khối dữ liệu lớn. Một ECP cũng có thể
4
Cổng song song Kiến trúc máy tính
mô phỏng một spp hoặc cổng PS/2-type, và nhiều ECP có thể mô phỏng một

cổng EPP.
III .Cấu trúc của Parallel port
Parallel port bao gồm 25 pins (chân) đợc bố trí theo sơ đồ dới đây, đa số giao
diện đầu cắm của Parallel port đều ở dạng female:
- 8 pins dùng để gởi và nhận data (từ pin số 2 đến số 9) gọi là DATA Port. Dữ
liệu trao đổi qua 8 pin này đợc gói gọn trong 1 byte.
- 5 pins dùng để hiển thị tình trạng hoạt động của parallel port: đang bận, đang
gởi/nhận thông tin (các pin số 10-13 và pin số 15) gọi là STATUS Port. Dữ liệu
trao đổi qua 8 pin này dùng 5 bit cao của byte.
- 4 pins dùng để điều khiển gọi là CONTROL Port, là các pin số 1, 14, 16 và 17.
Dữ trao đổi qua pin này dùng 4 bit thấp của byte.
- 8 pins còn lại đợc dùng tùy theo ý ngời sử dụng. Nếu không đợc sử dụng thì
chúng sẽ đợc grounded (nối đất-thuật ngữ ngành điện?).
Hình 3.1 : Sơ đồ cấu trúc cổng song song
Đây là cấu hình đợc thống nhất trong công nghệ vi tính và đợc công nhận bởi
IEEE (vốn là một tổ chức lớn nhất về qui định hardware quốc tế)
1. Vài ví dụ cho hoạt động của parallel port
DATA port là nơi thông tin sẽ đợc trao đổi từ computer đến các thiết bị
khác (hai chiều). Khi lập trình ắt hẳn cũng có khi bạn nghe nói đến
chuyện viết 1 program/driver cho các hardware (nếu bạn làm cho một số
hãng máy in, viễn thông ). ở đây driver cho parallel port chính là chơng
trình quản lý và điều khiển quá trình trao đổi thông tin này.
DATA port có 8 pins tức là 1 bytes. Bạn có lẽ từng nghe kỹ thuật tải thông
5
Cổng song song Kiến trúc máy tính
tin qua ngã parallel port là nhanh nhất (trong quá khứ) nhng kỳ thực nó
cũng chỉ dùng có 1byte = 8 bit = 8 cái pins này mà thôi.
STATUS port là nơi hiển thị các quá trình vận hành của parallel port. Một ví dụ
đơn giản là giả sử bạn muốn in một bài viết ra printer (dĩ nhiên là qua ngã
parallel port) nhng khi nhấn nút "print" thì lại thấy máy vi tính hiển thị một

thông báo hết giấy! Trên thực tế phía sau những hàng động này là một chuỗi
phối hợp giữa software và hardware. Khi bạn click "print" tức là bạn kích hoạt
một trong những pins của CONTROL port bằng software để bảo cái printer in
bài ra. Nhng trớc khi thực hiện việc in printer cũng tự biết nó hết giấy và tự kích
hoạt một trong số những pins của STATUS port để báo cho computer biết là hết
giấy. Kết quả là software điều khiển quá trình in kiểm tra (trớc khi in) thấy đợc
cho nên nó hiện thông báo hết giấy cho bạn. Nhiều hoạt động tơng tự nh printer
cha on, printer hết mực, printer bị kẹt giấy cũng do phối hợp giữa những cái
pins này mà ra.
2. Cấu trúc của parallel port nhìn trên phơng diện software
Thực ra thì với dân software, họ cũng không cần biết phía parallel port sau
lng máy tính có bao nhiêu pin và mỗi pin cần bao nhiêu điện, cấu trúc nh
thế nào Mấy cái này hơi thừa cho dân software! Tất cả những gì mà một
ngời lập trình cần biết là address của các pin trên parallel port là đủ! 25
pins kia sẽ đợc chia làm 3 phần với tên gọi là DATA port (hay là DATA
register), STATUS port (hay là STATUS register), và CONTROL port (hay
là CONTROL register). Mỗi port là 8 bits với address .Nh mô tả từ đầu,
DATA port sẽ là 8 bits, STATUS port có 5 pins cho nên sẽ cộng thêm 3 bit
trống để tạo một byte, tơng tự nh thế cho CONTROL port. Riêng phần địa
chỉ cho các port này cũng khá là phức tạp, vì nó liên quan đến BIOS. Đại
khái là khi máy tính bật lên (turn on) thì BIOS sẽ làm việc trớc, nó sẽ tìm
kiếm và định địa chỉ cho cái port trong máy của bạn. Vì BIOS không cái
nào giống cái nào cho nên lối qui định địa chỉ của nó cũng khác, tuy
nhiên dới đây là một ví dụ điển hình (bạn thờng thấy) trong các máy vi
tính ngày nay. Những địa chỉ này bạn có thể thấy khi khởi động máy
trong các thông số BIOS hiện ra.
Port Address Ghi chú
3BCh - 3BFh dùng cho prallel port vốn dính vào Video Card (cách
cũ)
378h - 37Fh khu vực memory thờng dùng cho LPT 1

278h - 27Fh khu vực memory thờng dùng cho LPT 2
(nên nhớ là mỗi khoản là 8 bits, tính theo hệ hexadecimal)
Một điều tôi muốn nhắc các bạn là những thông tin đa ra trên đây thờng là thay
đổi tùy theo từng máy tính, một máy có thể có nhiều LPT, thông thờng thì BIOS
sẽ dò xem trong máy có bao nhiêu port và sẽ qui định địa chỉ cho từng port.
Theo tôi thờng thấy thì nếu máy bạn có hai cái parallel port (nếu bạn mua
motherboard có hai parallel port) thì LPT1 sẽ đợc gán vào điạ chỉ 378h-37Fh (8
6
Cổng song song Kiến trúc máy tính
bits). Nếu có LPT2 thì sẽ đợc gán vào địa chỉ 278h-27Fh. Riêng phần 3BCh-
3BFh trong quá khứ thờng đợc dùng khi parallel port cài sẵn trong video card.
Những loại này đã cũ rồi, cho nên nhiều BIOS sẽ gán vào LPT1 cũng không
chừng. Điều tốt nhất là bạn vào BIOS kiểm tra là biết ngay (life was not meant
to be easy!).
Cũng lu ý các bạn các điạ chỉ trên là port address qui định trên BIOS, khi BIOS
qui định những địa chỉ trên (tắt máy vẫn còn) nó sẽ qui định kèm theo điạ chỉ lu
thông tin (tắt máy sẽ mất) cho từng port. Những địa chỉ dới đây sẽ đợc dùng đa
số bởi các bạn lập trình để kiểm tra xự hiện diện của parallel port trên máy bạn.
Start Address Function Software Identify
0000:0408h LPT1's Base Address Base
0000:040Ah LPT2's Base Address Base + 1
0000:040Ch LPT3's Base Address Base + 2
0000:040Eh LPT4's Base Address (note 1) Base + 3
Hãy lấy một ví dụ đơn giản về một chơng trình kiểm tra vị trí parallel port trên máy
bạn để minh hoạ cho lập trình điều khiển parallel port dới đây:
#include <stdio.h>
#include <dos.h>
void main(void)
{
/* Pointer to location of Port Addresses */

unsigned int far *ptraddr;
/* Address of Port */
unsigned int address;
int a;
ptraddr = (unsigned int far *)0x00000408;
for (a = 0; a < 3; a++)
{
address = *ptraddr;
if (address == 0)
printf("No port found for LPT%d \n", a+1);
else
printf("Address assigned to LPT%d is %Xh\n",
a+1, address);
*ptraddr++;
}
}
Trơng trình C này đơn giản là
tìm đến điạ chỉ 0000:0408h và
dò tìm xem có port nào tồn tại
hay không. Nó sẽ dò từ
0000:0408h đến 0000:040Dh để
kiểm tra LPT1, LPT2, và LPT3.
Bạn nên nhớ mỗi base address sẽ
có 2 bytes (sizeof(unsigned int)
= 2 bytes!).
Nh tôi mô tả phía trên, Base+1,
Base+2 chẳng qua là lối gọi
phổ thông trong cách lập trình.
Chẳng hạn bạn kiểm tra nhà số
10, 11, 12. Bạn có thể kiểm tra

nhà số 10 sau đó nhà số 10 +1 =
11
7
Cổng song song Kiến trúc máy tính
3.Cấu trúc cổng song song
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:
- Chế độ tơng thích (compatibility).
- Chế độ nibble.
- Chế độ byte.
- Chế độ EPP (Enhanced Parallel Port ).
- Chế độ ECP (Extended Capabilities Port).
8
Chân Tín hiệu Mô tả
1 STR (Out) Mức tín hiệu thấp, truyền dữ liệu tới máy in
2 D0 Bit dữ liệu 0
3 D1 Bit dữ liệu 1
4 D2 Bit dữ liệu 2
5 D3 Bit dữ liệu 3
6 D4 Bit dữ liệu 4
7 D5 Bit dữ liệu 5
8 D6 Bit dữ liệu 6
9 D7 Bit dữ liệu 7
10 ACK (In) Mức thấp: máy in đã nhận 1 ký tự và có khả năng
nhận nữa
11 BUSY (In)
Mức cao: ký tự đã đợc nhận; bộ đệm máy in đầy;
12 PAPER EMPTY (In) Mức cao: hết giấy
13 SELECT (In) Mức cao: máy in ở trạng thái online
14 AUTOFEED (Out) Tự động xuống dòng; mức thấp: máy in

xuống dòng tự động
15 ERROR (In) Mức thấp: hết giấy; máy in ở offline; lỗi máy in
16 INIT (Out) Mức thấp: khởi động máy in
17 SELECTIN (Out) Mức thấp: chọn máy in
18-25 GROUND 0V
Cổng song song Kiến trúc máy tính
3 chế độ đầu tiên sử dụng port song song chuẩn (SPP Standard Parallel Port)
trong khi đó chế độ 4, 5 cần thêm phần cứng để cho phép hoạt động ở tốc độ cao
hơn. Sơ đồ chân của máy in nh sau:
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 lu trữ trong vùng dữ liệu của BIOS. Thanh ghi dữ liệu đợc định vị ở
offset 00h, thanh ghi trạng thái ở 01h, và thanh ghi điều khiển ở 02h. 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. Tuy nhiên trong một số trờng hợp, địa chỉ của cổng song song có thể khác
do quá trình khởi động của BIOS. BIOS sẽ lu trữ các địa chỉ này nh sau:
Định dạng các thanh ghi nh sau:
Thanh ghi dữ liệu (hai chiều):
7 6 5 4 3 2 1 0
Thanh ghi trạng thái máy in (chỉ đọc):

7 6 5 4 3 2 1 0
9
Địa chỉ Chức năng
0000h:0408h Địa chỉ cơ sở của LPT1
0000h:040Ah Địa chỉ cơ sở của LPT2
0000h:040Ch Địa chỉ cơ sở của LPT3
Tín hiệu máy in D7 D6 D5 D4 D3 D2 D1 D0
Chân số 9 8 7 6 5 4 3 2

Tín hiệu máy in BUSY ACK PAPER
EMPTY
SELECT ERROR IRQ x x
Số chân cắm 11 10 12 13 15 - - -
Cổng song song Kiến trúc máy tính
Thanh ghi điều khiển máy in:

7 6 5 4 3 2 1 0
Tín hiệu máy in x x DIR IRQ
Enable
SELECTIN INIT AUTOFEED STROBE
Số chân cắm - - - - 17 16 14 1
x: không sử dụng
IRQ Enable: yêu cầu ngắt cứng.
1 = cho phép
0 = không cho phép
Chú ý rằng chân BUSY đợc nối với cổng đảo trớc khi đa vào thanh ghi trạng
thái, các bit SELECTIN , AUTOFEED và STROBE đợc đa qua cổng đảo trớc
khi đa ra các chân của cổng máy in.
Thông thờng tốc độ xử lý dữ liệu của các thiết bị ngoại vi nh máy in chậm hơn
PC nhiều nên các đờng ACK , BUSY và STR đợc sử dụng cho kỹ thuật bắt tay.
Khởi đầu, PC đặt dữ liệu lên bus sau đó kích hoạt đờng STR xuống mức thấp để
thông tin cho máy in biết rằng dữ liệu đã ổn định trên bus. Khi máy in xử lý
xong dữ liệu, nó sẽ trả lại tín hiệu ACK xuống mức thấp để ghi nhận. PC đợi
cho đến khi đờng BUSY từ máy in xuống thấp (máy in không bận) thì sẽ đa tiếp
dữ liệu lên bus.
IV. ứng dụng của việc điều khiển parallel port
Việc hiểu hoạt động và biết điều khiển parallel port là tối cần thiết cho các bạn
đi chuyên sâu trong các kỹ nghệ hardware. Hầu hết các dụng cụ tân tiến thời nay
điều liên quan đến việc dùng software để vận hành hardware, ví dụ nh bạn có

thể gỡi một lệnh từ máy vi tính làm cho tên lửa phóng đi, shutdown
computer điều thuộc dạng software điều khiển hardware. Và với trách nhiệm
một ngời điều khiển nó, bạn phải thấu hiểu tất cả. Một ví dụ đơn giản khác
trong điều khiển học nh điều khiển robot, nếu bạn dùng software từ máy vi tính
kích hoạt một pin nào đó của cổng parallel và gỡi tới robot nh mệnh lệnh, chẳng
hạn đi tới phía trớc, quay qua bên trái
Cấu trúc đào sâu bên trong của Parallel port
Dới đây là liệt kê 25 chân của parallel port với tên gọi (hardware và software) và
thứ tự của từng chân.
10
Cổng song song Kiến trúc máy tính
Châ
n
tên signal
(dùng cho
hardware)
Direction/
type
(nhìn từ
PC)
Tên signal và
thứ tự
của bit
(dùng cho
software)
Normal signal line function
1 -STROBE OC/Pullup
Control
register bit 0
kích hoạt thông báo gỡi hoặc nhận data,

0 là đọc, 1 là viết
2 D0 hai chiều
Data register
bit 0
bit 0 chứa data
3 D1 hai chiều
Data register
bit 1
bit 1 chứa data
4 D2 hai chiều
Data register
bit 2
bit 2 chứa data
5 D3 hai chiều
Data register
bit 3
bit 3 chứa data
6 D4 hai chiều
Data register
bit 4
bit 4 chứa data
7 D5 hai chiều
Data register
bit 5
bit 5 chứa data
8 D6 hai chiều
Data register
bit 6
bit 6 chứa data
9 D7 hai chiều

Data register
bit 7
bit 7 chứa data
10 -ACK Input
Status register
bit 6
Pulsed low by printer to acknowledge
data byte
Rising (usually) edge causes IRQ if
enabled
11 BUSY Input
Status register
bit 7
kích hoạt khi printer đang bận (busy)
12
NOPAPE
R
Input
Status register
bit 5
kích hoạt khi printer hết giấy
13
SELECT
ED
Input
Status register
bit 4
kích hoạt khi printer đang hoạt động
14
-

AUTOFE
ED
OC/Pullup
Control
register bit 1
kích hoạt thông báo data đã sẵn sàng để
đọc hoặc viết
15 -ERROR Input
Status register
bit 3
kích hoạt khi printer bị lỗi (vì nhiều lý
do)
16
-
INITIALI
ZE
OC/Pullup
Control
register bit 2
kích hoạt để printer reset lại vị trí ban
đầu
17 -SELECT OC/Pullup
Control
register bit 3
kích hoạt để đánh dấu printer nhận đợc
valid address
11
Cổng song song Kiến trúc máy tính
18 Ground
Ground chân (18-25) bỏ trống, dùng tùy ý

25 Ground
.
Hình 5.0 : Minh hoạ tổng thể hoạt động của parallel port
1. Giao tiếp với thiết bị ngoại vi
1.1. Giao tiếp với máy tính
Quá trình giao tiếp với cổng song song dùng 2 chế độ: chế độ chuẩn SPP và chế
độ mở rộng. Việc giao tiếp ở chế độ chuẩn mô tả nh sau:
12
Cổng song song Kiến trúc máy tính
Hình 5.1 - Trao đổi dữ liệu qua cổng song song giữa 2 PC dùng chế độ chuẩn
Sơ đồ chân kết nối mô tả nh sau:
PC1 PC2
Chức năng Chân Chân Chức năng
D0 2 15 ERROR
D1 3 13 SELECT
D2 4 12 PAPER EMPTY
D3 5 10 ACK
D4 6 11 BUSY
BUSY 11 6 D4
ACK 10 5 D3
PAPER EMPTY 12 4 D2
SELECT 13 3 D1
ERROR 15 2 D0
GND 25 25 GND
Ngoài ra, việc kết nối giữa 2 máy tính sử dụng cổng song song có thể dùng chế
độ mở rộng, chế độ này cho phép giao tiếp với tốc độ cao hơn.
13
Cổng song song Kiến trúc máy tính
Hình 5.2 - Trao đổi dữ liệu qua công song song giữa 2 PC dùng chế độ mở rộng
Sơ đồ chân kết nối mô tả nh sau

:
PC1 PC2
Chức năng Chân Chân Chức năng
D0 2 2 D0
D1 3 3 D1
D2 4 4 D2
D3 5 5 D3
D4 6 6 D4
D5 7 7 D5
D6 8 8 D6
D7 9 9 D7
SELECT 13 17 SELECTIN
BUSY 11 16 INIT
ACK 10 1 STROBE
SELECTIN 17 13 SELECT
INIT 16 11 BUSY
STROBE 1 10 ACK
14
Cổng song song Kiến trúc máy tính
1.2 Giao tiếp với thiết bị khác
Quá trình giao tiếp với các thiết bị ngoại vi có thể thực hiện thông qua chế độ
chuẩn. Để đọc dữ liệu, có thể dùng một IC ghép kênh 2 ->1 74LS257 và dùng 4
bit trạng thái của cổng song song còn xuất dữ liệu thì sử dụng 8 đờng dữ liệu D0
D7.
Những cổng song song có thể dùng để nối với những thiết bị ngoại vi thông th-
ờng của máy tính nh :
- Máy in .
- ổ ghi CD .
- ổ đĩa cắm ngoài .
- ổ có thể di chuyển IOmega Zip.

- ổ đĩa lu trữ dạng Tape .
- Card mạng .
15
Cổng song song Kiến trúc máy tính
- Máy quét .
Cổng song song đợc bắt đầu do sự phát triển của hãng IBM dùng để nối
máy in với máy tính . Khi IBM trong quá trình thiết kế PC , họ muốn máy tính
nối với máy tính với máy in Centronic , nhà sản xuất máy in hàng đầu hồi đó .
IBM quyết định không dùng cùng giao diện cổng trên máy tính mà Centronic đã
dùng trên máy in .
Thay vào đó những kỹ s IBM dùng cặp chân DB-25 cùng với đầu nối Centronic
36 chân để tạo cable riêng biệt nối với máy in . Những nhà sản xuất máy in khác
không hỗ trợ giao diện Centronic nên làm hệ thống cable ghép .
Máy tính gửi dữ liệu tới máy in hay một thiết bị khác thông qua cổng song song
, nó gửi 8-bit dữ liệu ( 1 byte ) một lần .Do đó 8-bit này đợc truyền song song ,
nó có khả năng gửi 50 tới 100 KB dữ liệu / giây .
Chân 1 mang tín hiệu Strobe . Nó duy trì mức điện áp 2.8V và 5 V , nhng có thể
dới 0.5V khi PC gửi byte dữ liệu . Tín hiệu này về mức đó 0.5V cho náy in biết
dữ liệu đang gửi .
Chân 2 tới 9 dùng để chứa dữ liệu mang - Carry Data. Nó chứa nội dung dữ liệu
nếu là 5V có nghĩa là mang giá trị bit 1 và dới 0.5V có nghĩa mang giá trị bit 0 .
16
Cổng song song Kiến trúc máy tính
Chân 10 gửi tín hiệu Acknowledge từ máy in tới máy tính . Tơng tự nh chân 1 ,
nó duy trì ở một mức điện áp 2,8V tới 5 V khi nó về giá trị dới 0.5 V thì cho
máy tính biết dữ liệu đã đợc đợc nhận .
Nếu máy in bận , thì chân 11 có giá trị là 1 . Khi mức điện áp dới 0.5V có nghĩa
là nói cho máy tính biết máy in đã sẵn sàng nhận dữ liệu .
Máy in sẽ cho máy tính biết trạng thái của nó Out Of Paper bằng cách gửi ra
chân 12 mức tín hiệu là 1.

Máy tính nhận mức tín hiệu là 1 ở chân 13 cho biết thiết bị nối với máy tính
Online
Máy tính gửi tính hiệu Auto feed có giá trị là 1 ( mức điện áp 5V ) ở chân 14
Nếu máy in ở trạng thái Problems khi mức tín hiệu dới 0.5V ở chân 15 cho máy
tính biết máy in đang có lỗi .
Khi một công việc in mới đợc sẵn sàng chân 16 có giá trị là mức 0 với tín hiệu
Initialize .
Chân 17 đợc dùng cho máy tính để điều khiển máy in Offline .
Chân 18 tới 25 dùng để nối đất .
SPP/EPP/ECP
Đối với đặc điểm kỹ thuật đầu tiên cho cổng song song là không định hớng có
nghĩa là dữ liệu đợc truyền đi theo một hớng ở mỗi chân . Cùng với việc giới
thiệu PS/2 trong năm 1987 , IBM đã thiết kế cổng song song mới với hai hớng
Bidirectional . Kiểu này gọi chung là SPP (Standard Parallel Port) để thay thế
cho thiết kế ban đầu .
Thông tin Bidirectional cho phép mỗi thiết bị có thể nhận cũng nh là truyền tín
hiệu . Nhiều thiết bị dùng 8 chân ( từ chân 2 tới chân 9 ) đợc thiết kế ban đầu
cho dữ liệu . Dùng cùng với 8 chân này cho truyền thông tin thành dạng Haft-
Duplex , có nghĩa là thông tin đợc truyền theo một hớng trong một thời gian .
Nhng chân 18 tới chân 25 dùng để nối đất cũng có thể đợc dùng cho truyền dữ
liệu . Điều này nó cho phép truyền dẫn Full-Duplex ( cả hai hớng trong cùng
một lúc ) .
17
Cổng song song Kiến trúc máy tính
EPP (Enhanced Parallel Port) do Intel , Xircom và Zeninth đa ra năm 1991 ,
cho phép tốc độ truyền dữ liệu cao hơn 500KB tới 2MB/ giây . Mục đích của nó
cho những thiết bị không phải máy in sử dụng nh thiết bị lu trữ yêu cầu tốc độ
truyền dữ liệu cao .
ECP (Extended Capabilities Port) đi kèm theo việc giới thiệu EPP , Microsoft
và HP cũng đa ra thông số kỹ thuật của ECP . ECP hớng tới thiết kế cho cải tiến

tốc độ và chức năng của máy in khác với tiêu chí của EPP .
Năm 1994 chuẩn IEEE 1284 đợc phát hành . Nó bao gồm cả hai tính năng của
những thiết bị dùng cổng song song , EPP và ECP . Nó yêu cầu cả hệ điều hành
cùng với thiết bị phần cứng phải hỗ trợ những tính năng kỹ thuật trên .
Ngày nay hầu hết máy tính đều hỗ trợ SPP , ECP và EPP , nó sẽ tự động nhận
ra kiểu của thiết bị sử dụng gắn thêm vào . Chúng ta cũng có thể thiết lập bằng
tay kiểu này trong BIOS .
Mục lục
I. Cổng song song (Parallel Port) 1
II. Lịch sử phát triển các loại cổng song song.2
III. Cấu trúc của Parallel port.5
18
Cổng song song Kiến trúc máy tính
1. Vài ví dụ cho hoạt động của parallel port 6
2. Cấu trúc của parallel port nhìn trên phơng diện software7
3. Cấu trúc cổng song song9
IV. Ưng dụng của việc điều khiển parallel port.12
1. Giao tiếp với các thiết bị ngoại vi 14
1.1. Giao tiếp với máy tính.14
1.2. Giao tiếp với các thiết bị khác 17
19