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
Trang 1KHOA CÔNG NGHỆ THÔNG TIN
ĐẠI HỌC THÁI NGUYÊN
Trang 4cổ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ốitiếp còn bit song song.Cho đến nay cổng song song có mặt ở hầu hết cácmáy tính PC được
Trang 5sả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.
Trang 6Cấ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ậyviệ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 đườngdẫn có thể làm biến dạn tín hiệu Khoảng cách giới hạn là 8m,thôngthường chỉ cỡ 1,5 – 2 m Khi khoảng cách ghép nối trên 3m nên xoắncác đường dây tín hiệu với đường nối đất theo kiểu cặp dây xoắn hoặcdùng loại cáp dẹt nhiều sợi trong đó mỗi đường dẫn dữ liệu điều nằmgiữa hai đường nối mass Tốc độ truyền dữ liệu qua cổng song songphụ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ênnghĩđế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
Trang 7(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áytính PC đều trang bịcổng song song 25 chân nên ta chỉ cần quan tâm đếnloạ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
Trang 8Tên của tín hiệu
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áocho 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
Trang 9Acknowledge: 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
Trang 10Paper 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
Trang 11Cá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
Trang 12Đá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ộtbit 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ó
Trang 13nhiề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àicổ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 BIOSchạy trong giai đoạn khởi động (boot phase) của máy tính, trong đó phầncứ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
3BDh 379b 279b 2BDh
3BEh 37Ah 27Ah 2BEh
Trang 14bộ 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
Trang 15Cho 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ị
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
Trang 16Khi 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 minh
ho cho l p trình i u khi n parallel port: ạ cho lập trình điều khiển parallel port: ập trình điều khiển parallel port: đ ều khiển parallel port: ể minh
#include <stdio.h>
#include <dos.h>
void main (void)
{
/* Pointer to location of Port Addresses */
unsigned int far * ptraddr;
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
Trang 17Cổ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:
Trang 18Ngoà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:
Trang 202 Đ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ý:
Trang 21Hướ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)
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ữ
Trang 22liệ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.
http://dientuvietnam.net
http://www.diendandientu.com
8 Scott Mueller; Upgrading and Repairing Pcs, 17th Edition