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

BẢO VỆ BÀI TẬP LỚN Tìm hiểu về cổng LPT potx

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 (787.78 KB, 22 trang )

KHOA CÔNG NGHỆ THÔNG TIN
ĐẠI HỌC THÁI NGUYÊN

BẢO VỆ BÀI TẬP LỚN
Tìm hiểu về cổng LPT
Giảng viên hướng dẫn :Vũ Thành Vinh
Lớp ĐTVTK8D.
Nhóm:
1.Vũ Việt Cường
2.Lê Quý Hà
3.Nguyễn Hữu Thức
4.Nguyễn Thị Minh Huyền
5.Đào Thị Hiền
MỤC LỤC
Phần 1: Giới thiệu về cổng LPT
+Tổng quan
+Cấu trúc
Phần 2: Ứng dụng
Phần 3: Kết luận
Phần 4: Tài liệu tham khảo
\
Phần 1: Giới thiệu về cổng LPT
A.T ổng quan:
Công ty Centronics, từng nổi tiếng thế giới với vị trí hàng đầu trong số
nhà sản xuất máy in kiểu ma trận, đã thiết kế ra cổng song song nhằm
mục đích nối máy tính PC với máy in. Về sau,
cổng song song đã phát triển thành một tiêu chuẩn không chính thức.
Tên gọi của cổng song song bắt nguồn từ kiểu dữ liệu truyền qua cổng
này: các bit dữ liệu được truyền song song hay nói cụ thể hơn là byte nối
tiếp còn bit song song.Cho đến nay cổng song song có mặt ở hầu hết các
máy tính PC được


sản xuất trong những năm gần
đây. Cổng song song còn được gọi là cổng máy in (lpt) hay cổng
Centronics.
- Cổng song song, cổng máy in - LPT viết tắt từ Line
PrinterTerminal.
Cấu trúc của cổng song song rất đơn giản với tám đường dữ liệu, một
đường dẫn mass chung, bốn đường dẫn điều khiển để chuyển các dữ liệu
điều khiển tới máy in và năm đường dẫn trạng thái của máy in ngược trở
lại máy tính. Giao diện song song sửdụng các mức logic TTL, vì vậy
việc sử dụng trong mục đích đo lương vàđiều khiển cóphần đơn giản.
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 đạy 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.
B.C ấu trúc cổng song song:
Cổng song song có 2 loại:
Ổ cắm 36 chân
Ổ cắm 25 chân

(Hình ảnh về cổng 25 chân và 36 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.
Hình trên giới thiệu loại ổ cắm 25 chân và cách bố trí các chân.
Tên của tín hiệu
Strobe
D0
D1
D2
D3
D4
D5
D6
D7
Acknowledge
Busy (báo bận)
Paper empty (hết giấy)
Select (lựa chọn)
Auto Linefeed (tự động nạp
dòng)
Error (mắc lỗi)
Reset (đặt lại)
Select Input (lựa chọn lối vào)
Ground (nối đất – 0V)
Signal – Ground (nối đất của
tín hiệu)
Chassis – Ground (vỏ máy nối
đất)
+5V

Không sử dụng
Chân số
(chân số 25 chân)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18-25
Chân số
(ổ cắm 36 chân)
1
2
3
4
5
6
7

8
9
10
11
12
13
14
32
31
36
19-30, 33
16
17
18
34, 35
.
Tín hiệu ở các chân trên ổ cắm 25 chân và 36 chân để trong trường hợp
cần thiết có thể so sánh.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ạng 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 inthô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ằn một mức thấp ở chân này, máy in được lựa chọn bởi
máy tính.
Như vậy cáp nối giữa máy in và máy tính bao gồm 25 sợi, nhưng không
phải tất cả điều được sử dụng mà trên thực tế chỉ có 18 sợi được nối với
các chân cụ thể. Nhận xét này giúp chúng ta tận dụng những cáp nối mà
trong lõi đã bị đứt một hai sợi. Tên các đường dẫn và hướng truyền tín
hiệu được mô tả như sau:
Các đường nối và chiều tín hiệu giữa máy tình và máy in.
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 in
đượ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ý. Vì
vậy ta phải tận dụng một trong năm đường dẫn theo hướng ngược lại,
nghĩa là từ bên ngoài về máy tính để truyền số liệu đo lường. Dưới đây
đề cập chi tiết hơn đến các đặc tính một hướng và hai hướng của các
đường dẫn này.Để có thể ghép nốic các thiết bị ngoại vi, các mạch điện
ứng dụng trong đo lường và điều khiển với cổng song song ta phải tìm
hiểu cách trao đổi với các thanh ghi thông qua cách sắp xếp và địa chỉ
các thanh ghi cũng như phần mềm. Các đường dẫn của cổng song song
được nối với ba thanh ghi 8 bit khác nhau:
Thanh ghi dữ liệu
Thanh ghi trạng thái
Thanh ghi điều khiển
Tám đường dẫn dữ liệu dẫn tới 8 ô nhớ trên thanh ghi dữ liệu còn bốn
đường dẫn điều khiển Strobe, Auto Linefeed, Reset, Select Input dẫn tới
bốn ô nhớ trên thanh ghi điều khiển, cuối cùng là năm đường dẫn trạng
thái Acknowledge, Busy, Paper empty, Select, Error nối tới năm ô trên
thanh ghi trạng thái. Riêng ở thanh ghi điều khiển còn phải chú ý tới một
bit nữa được sử dụng cho mục đích ghép nối nhưng không được nối với
ổ cắm 25 chân. Bit này có thể được sử dụng để xóa một bit ngắt liên
quan với đường dẫn Acknowledge, vì vậy chưa đề cập đến đây.
Trên hình, thanh ghi dữ liệu được chỉ rõ là hai hướng dữ liệu có thể
được xuất ra các chân D0 đến D7 hoặc đọc vào. Thanh ghi điều khiển
cũng là hai hướng, thanh ghi trạng thái chỉ có thể được đọc và vì vậy gọi
là một hướng. Ta có thể trao đổi với 3 thanh ghi này như thế nào? Hệ
điều hành DOS dự tính đến bốn cổng song song và đặt tên là: LPT1,
LPT2, LPT3 và LPT4. Tuy vậy, hầu hết các máy tính PC đều chỉ có
nhiều nhất hai cổng song song , và cho đến nay với lí do giảm giá thành,
cổng song song chỉ còn lại một. Về mặt phần cứng, các nhà sản xuất đã

dự tính bốn nhóm, mỗi nhóm 3 địa chỉ, để trao đổi với từng ô nhớ trên
thanh ghi của mỗi giao diện. Ta có thể nhận thấy các địa chỉ thanh ghi
nằm kế tiếp nhau.Khi bật máy tính, BIOS kiểm tra kế tiếp nhau các địa
chỉ được ghi trong bảng và khẳng định xem trên máy có trang bị một vài
cổng song song. Các cổng song song được BIOS tìm thấy sẽ được sắp
xếp theo các tên mà DOS đã chỉ định là: LPT1, LPT2… Điều này giải
thích vì sao trong các tài liệu khác nhau các địa chỉ được ấn định cho
LPT1, LPT2… lại sai lệch nhau. Phần lớn trong các phiên bản của BIOS
chạy trong giai đoạn khởi động (boot phase) của máy tính, trong đó phần
cứng của máy tính được kiểm tra và cấu hình của máy tính, cụ thể ở đây
địa chỉ các giao diện song song, đang tồn tại được xuất ra màn hình
(trong một khung hình chữ nhật). Ta có thể làm dừng quá trình khới
động máy tính bằng phím <Pause> đểquan sát kỹ các thông số được liệt
kê trong bảng.Các địa chỉ thanh ghi của cổng song song trên máy tính
PC.
Cổng song song
(LPT)
Địa chỉ thanh ghi
dữ
liệu
Địa chỉ thanh
ghi trạng
thái
Địa chỉ thanh ghi
điều
khiển
LPT1
LPT2
LPT3
LPT4

3BCh
378h
278h
2BCh
3BDh
379b
279b
2BDh
3BEh
37Ah
27Ah
2BEh
4.Các chế độ hoạt động của cổng LPT
a, Chế độ cơ bản SPP
Chế độ này còn gọi là chế độ Centronic, trong đó truyền dữ liệu được dồng bộ qua
xung STB . Vì tốc độ truyền kí tự của cổng song song nhanh hơn tốc độ in của máy
in nên thông tin ở đây phải có móc nối. Khởi đầu máy tính đặt các số liệu lên bus
sau đó kích hoạt đường
STB
xuống mức thấp để thông tin cho máy in biết rằng số
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. Máy tính đợi cho đến khi đường BSY từ máy in
xuống thấp (máy in không bận) thì sẽ đưa tiếp số liệu lên bus. Điêu khiển móc nối
mềm cho tốc độ truyền dữ liệu cỡ 150kB/s. Gần đây, một số chip super I/O dùng
bộ nhớ FIFO để đệm dữ liệu và dùng các tín hiệu móc nối cứng nên cho tốc độ
tăng tới 500kB/s.
b, Chế độ cải tiến EPP
Gồm 4 chu kì viết dữ liệu, đọc dữ liệu, viết địa chỉ, đọc địa chỉ. Ngoài 3 thanh ghi
dùng chung cho cả chế độ SPP và EPP, chế đọ này còn có thêm thanh ghi địa chỉ

EPP có offset bằng 3, thanh ghi dữ liệu EPP có offset bằng 4 và một số thanh ghi
dự trữ có offset từ 5 đến 7. Quá trình truyền dữ liệu xảy ra trong một chu kì
đọc/viết của bus mở rộng ISA, do đó tốc độ truyền có thể nâng lên từ 500kB/s đến
2MB/s.
c, Chế độ mở rộng ECP
Cho phép truyền dữ liệu theo 2 hướng với 2 chu kì : chu kì lệnh và chu kì dữ liệu.
Chế độ ECP sử dụng mã chiều dai chạy RLE(pun length) và nhiều kenh địa chỉ nên
cho phép nối nhiều thiết bị ngoại vi trao đổi thông tin với máy tính qua một cổng
ghép nối duy nhất. Chuẩn ECP định nghĩa nhiều chế độ làm việc và có thêm nhiều
thanh ghi .
Các máy tính ngày nay có thể cài đặt mọi chế độ kể trên. Số liệu còn có thể trao
đổi qua các cổng song song với nhau giữa các máy vi tính. Muốn vậy, một vài
đường điều khiển và trạng thái phải được ghép nối với nhau để phục vụ việc móc
nối cứng.
Xuất, nhập bằng ngôn ngữ C và cách thức lập trình
- Xuất nhập
Việc truy nhập trực tiếp lên các giao diện của máy tính PC, cụ thể là lên các
đường dẫn riêng lẻ được tiến hành thuận lơị nhất là bằng hợp ngữ, các ngôn ngữ
bậc cao như C cũng có nhứng lệnh đơn giản để thực hiện việc truy nhập
lên các cổng tuy rằng tốc độ truy nhập có thấp hơn một chút.Ngôn ngữ lập
trình C hỗ trợ một số hàm làm nhiệm vụ xuất, nhập dữ liệu với các thiết bị
ngoại vi
Turbo C cung cấp hàm để xuất dữ liệu:
Outportb(Địa chỉ cổng,giá trị )
Để nhập dữ liệu:
Inportb(địa chỉ cổng)
Các hàm import và outport nằm trong thư viện <dos.h>
- int inport (int portid)
- unsigned char inportb (int portid)
-void outport (int portid, int value)

-void outportb (int portid, unsigned char value)
Như vậy, để xuất nhập dữ liệu qua cổng LPT1 thì ta cần địa chỉ của portid là 378h
ứng với thanh ghi dữ liệu,379h ứng với thanh ghi trạng thái (chỉ đọc) 37AH ứng
với thanh ghi điều khiển
Cách thức lập trình
Khi lập trình điều ta quan tâm nhất đó là địa chỉ(address) các chân của cổng LPT.
Lúc này ta sẽ nhìn 25 chân hoặc 36 chân của cổng LPT trên phương diện phần
mềm (software) đối với 25 chân 3 phần với tên gọi DATA port (hay là DATA
register),STATUS port(hay là STATUS register),và CONTROL prot hay là
(COTROL register)
Mỗi port là 8 bits với address quy định. DATA port sẽ là 8 bits, STATUS port
có 5 chân 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
Làm thế nào để truyền dữ liệu tới cổng LPT 25 chân bằng phần mềm (software)
Khi học C chúng ta đã được biết tới lệnh outport() và inport của C.Nếu khi ta
viết outport(0x378,0xff) trong chương trình C thì chương trình gửi giá trị 0xff
(hệ hexa)=128 (hệ decimal)=111111111 (hệ binary) ra data register của parallel
port (LPT1).Theo giá trị vừa tính thì “11111111”nghĩa là 8 chân của data
register trên parallel port sẽ có dòng điện 5 volts
Ví dụ về một chương trình kiểm tra vị trí parallel port trên máy tính để minh
hoạ cho lập trình điều khiển parallel port:
#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 vân vân
Phần 2 : ỨNG DỤNG
Cổng song song có ứng dụng nhiều nhất cho máy in,rất nhiều người sử dụng
quen gọi chúng là”cổng máy in” hoặc “cổng LPT” có thể bởi chỉ biết đến chúng
sử dụng với máy in. Các máy in ngày nay đó dần chuyển sang các cổng nhanh
hơn USB 2.0,RJ-45(kết nối với mạng máy tính) nhưng đến thời điểm đầu năm
2008 thì các máy in đang sản xuất vẫn đồng thời hỗ trợ cả 2 cổng : cổng song
song và cỏng giao tiếp qua USB(một só máy cũ có thêm cổng RJ-45).
Không những chỉ sử dụng cho máy in, nhiều thiết bị gắn ngoài trước đây có sử
dụng cổng song song như: máy quyét,các ổ đĩa gắn ngoài, bộ điều khiển trò
chơi trên máy tính,…
Cổng song song cũng sử dụng để kết nối các máy tính với nhau để truyền dữ
liệu, tuy nhiên chúng ta phải được hỗ trợ từ hệ điều hành hoặc phần mềm.
Chúng chỉ thực hiện trên các máy tính công nghiệp với hệ điều hành cũ không
hỗ trợ các cổng giao tiếp mới hơn. Các phần mềm hỗ trọ việc kết nối trực tiếp
hai máy tính này có thể kể đến là: Laplink, PC AnyWhere, NC…
Một số phần mềm cũng sử dụng cổng song song để gắn thiết bị xác nhận bản
quyền nhằm tránh hiện tượng sao chép phần mềm hoạt động ở nhiều máy tính
khác nhau.
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:
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.
Sơ đồ chân kết nối mô tả như sau:
C1 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
2. Điều khiển đèn led với cổng LPT

3. Thi công mạch nạp 89SXXX và AVR qua cổng LPT
Sơ đồ nguyên lý:
Hướng dẫn:
+ Danh mục linh kiện gồm:
1. 1 D1 LED đơn màu đỏ
2. 1 J1 CON6 (đầu cắm loại cái- cắm vào mạch ứng dụng vi điều khiển)
3. 1 P1 LPT DB25 (Cổng LPT 25 chân)
4. 2 R1,R2 1K
5. 4 R3,R4,R5,R6 10 OHm
6. 1 U1 74HC245
+ Vẽ mạch in gọn để bỏ vào trong vỏ cổng LPT- tốt nhất là mạch in có hình dạng
theo vỏ cổnng LPT là đẹp nhất
Phần 3 : KẾT LUẬN
Cổng LPT (paralell port) là cổng song song dễ sử dụng. Trong 25 chân tín hiệu,
cổng có 8 chân dữ liệu, 4 chân điều khiển, 4 chân trạng thái. Nên việc xuất nhập dữ
liệu qua cổng trở nên dễ dàng. Chính vì vậy, nó có thể sử dụng cả cho những người
dùng không chuyên nghiệp.
Tuy nhiên, tốc độ truyền của cổng không cao và khoảng cách truyền không lớn.
Nên cổng chỉ có thể giao tiếp với các thiết bị ngoại vi ở gần.
Hơn nữa qua những tư liệu về cổng LPT ta rút ra những ưu điểm cũng như những
hạn chế của cổng LPT như sau:
 Ưu điểm:
+Thuận tiện cho việc nhập, xuất dữ liệu
+Thuận tiện cho việc lắp ráp phần cứng
+Tốc độ trao đổi dữ liệu với các mạch nối tiếp nhanh
+thuận tiện trong việc đo lường và điều khiển
+Khắc phục được các khó khăn của USB
 Nhược điểm:
+Khoảng cách truyền thấp
+cống kềnh

+Gây khó khăn cho người lập trình
Phần 4: TÀI LIỆU THAM KHẢO
1. Ngô Diên Tập, Lập trình ghép nối máy tính trong windows, Nhà xuất bản khoa
học và kỹ thuật, năm
2. Phạm Hùng Kim Khánh, Tài liệu lập trình hệ thống .
3. Trần Quang Vinh, Cấu trúc máy tính, Nhà xuất bản giáo dục.
4. Giáo trình lý thuyết và bài tập ngôn ngữ C [tập 1 & 2].
5. Visual Basic 6.0 - Lập trình cơ sở dữ liệu.
6. Ngô Diên Tập, Đo lường và điều khiển máy tính.
7. Một số trang web về điện tử - viễn thông.


8. Scott Mueller; Upgrading and Repairing Pcs, 17th Edition

×