Cấu trúc cổng LPT

6 753 2
Cấu trúc cổng LPT

Đang tải... (xem toàn văn)

Thông tin tài liệu

Cấu trúc cổng LPT Cấu trúc cổng LPT Bởi: Khoa CNTT ĐHSP KT Hưng Yên Cấu trúc Parallel port nhìn phương diện hardware Parallel port bao gồm 25 pins (chân) bố trí theo sơ đồ đây, đa số giao diện đầu cắm Parallel port dạng female: pins dùng để gởi nhận data (từ pin số đến số 9) gọi DATA Port (dân software gọi thế) Dữ liệu trao đổi qua pin gói gọn byte pins dùng để hiển thị tình trạng hoạt động parallel port: bận, gởi/nhận thông tin (các pin số 10-13 pin số 15) gọi STATUS Port Dữ liệu trao đổi qua pin dùng bit cao byte pins dùng để điều khiển gọi CONTROL Port, pin số 1, 14, 16 17 Dữ trao đổi qua pnin dùng bit thấp byte pins lại dùng tùy theo ý người sử dụng Nếu không sử dụng chúng grounded (nối đất-thuật ngữ ngành điện?) 1/6 Cấu trúc cổng LPT Ðây cấu hình thống công nghệ vi tính công nhận IEEE (vốn tổ chức lớn qui định hardware quốc tế) Bạn kiểm tra lại số pin đánh dấu cách nhìn rõ vào dây parallel port parallel port phía sau máy vi tính bạn Vài ví dụ cho hoạt động parallel port DATA port nơi thông tin trao đổi từ computer đến thiết bị khác (hai chiều) Khi lập trình hẳn có bạn nghe nói đến chuyện viết program/driver cho hardware (nếu bạn làm cho số hãng máy in, viễn thông ) Ở driver cho parallel port chương trình quản lý điều khiển trình trao đổi thông tin DATA port có pins tức bytes Bạn có lẽ nghe kỹ thuật tải thông tin qua ngã parallel port nhanh (trong khứ) dùng có 1byte = bit = pins nầy mà thôi! Tôi trỡ lại sau việc bàn thảo sợi dây parallel tốt STATUS port nơi hiển thị trình vận hành parallel port Một ví dụ đơn giản giả sử bạn muốn in viết printer (dĩ nhiên qua ngã parallel port) nhấn nút "print" lại thấy máy vi tính hiển thị thông báo hết giấy! Trên thực tế phía sau hàng động nầy chuổi phối hợp giửa software hardware Khi bạn click "print" tức bạn kích hoạt pins CONTROL port software để bảo printer in Nhưng trước thực việc in printer tự biết hết giấy tự kích hoạt số pins STATUS port để báo cho computer biết hết giấy Kết software điều khiển trình in kiểm tra (trước in) thấy thông báo hết giấy cho bạn Nhiều hoạt động tương tự printer chưa on, printer hết mực, printer bị kẹt giấy phối hợp giửa pins nầy mà Tôi bàn kỹ mức độ cấu trúc điện sau Cấu trúc parallel port nhìn phương diện software Thực với dân software, họ không cần biết phía parallel port sau lưng máy tính có bao nhiên pin pin cần điện, cấu trúc Mấy nầy thừa cho dân software! Tất mà người lập trình cần biết address pin parallel port đủ! 25 pins chia làm phần với tên gọi DATA port (hay DATA register), STATUS port (hay STATUS register), CONTROL port (hay CONTROL register) Mỗi port bits với address hẵn hòi Như mô tả từ đầu, DATA port bits, STATUS port có pins cộng thêm bit trống để tạo byte, tương tự cho CONTROL port Riêng phần địa cho port nầy phức tạp, liên quan đến BIOS Nếu bạn hiểu cách phân bố memory máy tính đơn giản hơn, không hy vọng lối giải thích làm bạn hiểu phần Ðại khái máy tính bật lên (turn on) BIOS làm việc trước, tìm kiếm định địa cho port máy bạn Vì BIOS không giống lối qui định địa khác, nhiên 2/6 Cấu trúc cổng LPT ví dụ điển hình (bạn thường thấy) máy vi tính ngày Những địa bạn thấy khởi động máy thông số BIOS Port Address Ghi 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 278h - 27Fh khu vực memory thường dùng cho LPT (nên nhớ khoản bits, tính theo hệ hexadecimal) Một điều muốn nhắc bạn thông tin đưa thường thay đổi tùy theo máy tính, máy có nhiều LPT, thông thường BIOS dò xem máy có port qui định địa cho port Theo thường thấy máy bạn có hai parallel port (nếu bạn mua motherboard có hai parallel port) LPT1 gán vào điạ 378h-37Fh (8 bits) Nếu có LPT2 gán vào địa 278h-27Fh Riêng phần 3BCh-3BFh khứ thường dùng parallel port cài sẵn video card Những loại nầy củ rồi, nhiều BIOS gán vào LPT1 không chừng Ðiều tốt bạn vào BIOS kiểm tra biết (life was not meant to be easy!) Cũng lưu ý bạn điạ port address qui định BIOS, BIOS qui định địa (tắt máy còn) qui định kèm theo điạ lưu thông tin (tắt máy mất) cho port Những địa dùng đa số bạn lập trình để kiểm tra xự diện parallel port máy bạn Start Address Function Software Identify 0000:0408h LPT1's Base Address Base 0000:040Ah LPT2's Base Address Base + 0000:040Ch LPT3's Base Address Base + 0000:040Eh LPT4's Base Address (note 1) Base + Hãy lấy ví dụ đơn giản chương trình kiểm tra vị trí parallel port máy bạn để minh hoạ cho lập trình điều khiển parallel port đây: #include #include void main(void) {/* Pointer to location of Port Addresses */ 3/6 Cấu trúc cổng LPT 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); elseprintf("Address assigned to LPT%d is %Xh\n", a+1, address); *ptraddr++;}} Chương trình C đơn giản tìm đến điạ 0000:0408h dò tìm xem có port tồn hay không Nó dò từ 0000:0408h đến 0000:040Dh để kiểm tra LPT1, LPT2, LPT3 Bạn nên nhớ mổi base address có bytes (sizeof(unsigned int) = bytes!) Như mô tả phía trên, Base+1, Base+2 chẳng qua lối gọi phổ thông cách lập trình Chẳng hạn bạn kiểm tra nhà số 10, 11, 12 Bạn kiểm tra nhà số 10 sau nhà số 10 +1 = 11 vân vân Ứng dụng việc điều khiển parallel port Việc hiểu hoạt động biết điều khiển parallel port tối cần thiết cho bạn chuyện sâu kỹ nghệ hardware Hầu hết dụng cụ tân tiến thời điều liên quan đến việc dùng software để vận hành hardware, ví dụ bạn gỡi 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 trình điều khiển nó, bạn phải thấu hiểu tất Một ví dụ đơn giản khác điều khiển học điều khiển robot, bạn dùng software từ máy vi tính kích hoạt pin cổng parallel gỡi tới robot mệnh lệnh, chẳng hạn tới phía trước, quay qua bên trái Cấu trúc đào sâu bên Parallel port 4/6 Cấu trúc cổng LPT Dưới liệt kê 25 chân parallel port với tên gọi (hardware software) thứ tự chân Chân tên signal (dùng cho hardware) Direction/type (nhìn từ PC) Tên signal thứ tự bit (dùng cho software) Normal signal line function -STROBE OC/Pullup Control register bit kích hoạt thông báo gỡi nhận data, đọc, viết D0 hai chiều Data register bit bit chứa data D1 hai chiều Data register bit bit chứa data D2 hai chiều Data register bit bit chứa data D3 hai chiều Data register bit bit chứa data D4 hai chiều Data register bit bit chứa data D5 hai chiều Data register bit bit chứa data D6 hai chiều Data register bit bit chứa data D7 hai chiều Data register bit bit chứa data 10 -ACK Input Status register bit Pulsed low by printer to acknowledge data byte Rising (usually) edge causes IRQ if enabled 11 BUSY Input Status register bit kích hoạt printer bận (busy) 12 NOPAPER Input Status register bit kích hoạt printer hết giấy 13 SELECTED Input Status register bit kích hoạt printer hoạt động 14 -AUTOFEED OC/Pullup Control register bit kích hoạt thông báo data sẵn sàng để đọc viết 15 -ERROR Input Status register bit kích hoạt printer bị lổi (vì nhiều lý do) 16 -INITIALIZE OC/Pullup Control register bit kích hoạt để printer reset lại vị trí ban đầu 17 -SELECT OC/Pullup Control register bit kích hoạt để đánh dấu printer nhận valid address 18 Ground Ground chân (18-25) bỏ trống, dùng tùy ý 25 Ground Thêm hình minh hoạ tổng thể hoạt động parallel port 5/6 Cấu trúc cổng LPT 6/6 ... từ máy vi tính kích hoạt pin cổng parallel gỡi tới robot mệnh lệnh, chẳng hạn tới phía trước, quay qua bên trái Cấu trúc đào sâu bên Parallel port 4/6 Cấu trúc cổng LPT Dưới liệt kê 25 chân parallel... mức độ cấu trúc điện sau Cấu trúc parallel port nhìn phương diện software Thực với dân software, họ không cần biết phía parallel port sau lưng máy tính có bao nhiên pin pin cần điện, cấu trúc Mấy.. .Cấu trúc cổng LPT Ðây cấu hình thống công nghệ vi tính công nhận IEEE (vốn tổ chức lớn qui định hardware quốc

Ngày đăng: 31/12/2015, 22:06

Mục lục

    Cấu trúc cổng LPT

Tài liệu cùng người dùng

Tài liệu liên quan