intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

CHƯƠNG 2: GIAO TIẾP CỐNG SONG SONG

Chia sẻ: Huu Thang | Ngày: | Loại File: DOC | Số trang:32

576
lượt xem
131
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Cổng song song (tiếng Anh: Parallel Port) là một cổng thường được dùng kết nối máy in vào máy tính trong thời gian trước đây. Tuy nhiên chúng còn được sử dụng kết nối đến nhiều thiết bị khác với một tốc độ cao hơn so với cổng nối tiếp. Cổng song song có tên như vậy bởi chúng có 8 hàng dữ liệu 1 bit (thành 1 byte) để chuyển đồng thời qua 8 dây dẫn kết nối (xem bảng). Và đây là cách chuyển dữ liệu truyền thống giữa máy in với máy tính (tuy nhiên một số loại cổng song song...

Chủ đề:
Lưu

Nội dung Text: CHƯƠNG 2: GIAO TIẾP CỐNG SONG SONG

  1. Chương GIAO TIẾP CỐNG SONG SONG Cổng song song I/.Giới thiệu Cổng song song (tiếng Anh: Parallel Port) là một cổng thường được dùng kết nối máy in vào máy tính trong thời gian trước đây. Tuy nhiên chúng còn được sử dụng kết nối đến nhiều thiết bị khác với một tốc độ cao hơn so với cổng nối tiếp. Cũng có thể có nhiều loại cổng khác hoạt động theo nguyên tắc “song song”, nhưng bài này chỉ nói đến loại cổng song song được định nghĩa như trên Cổng song song có tên như vậy bởi chúng có 8 hàng dữ liệu 1 bit (thành 1 byte) để chuyển đồng thời qua 8 dây dẫn kết nối (xem bảng). Và đây là cách chuyển dữ liệu truyền thống giữa máy in với máy tính (tuy nhiên một số loại cổng song song có thể không như vậy) 1
  2. 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ẽ lưu trữ các địa chỉ này như sau: 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. 1/. CẤU TRÚC CỔNG SONG SONG -Chế độ byte. -Chế độ EPP (Enhanced Parallel Port). -Chế độ ECP (Extended Capabilities Port). 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: 2
  3. Đị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 2/. Định dạng các thanh ghi như sau: Thanh ghi dữ liệu (hai chiều): 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 lưu trữ trong vùng dữ liệu của BIOS. Thanh ghi dữ liệu được định vịở offset 00h, thanh ghi trang Thanh ghi trạng thái máy in (chỉ đọc): Thanh ghi điều khiển máy in: 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 3
  4. 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. 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. 2. GIAO TIẾP VỚI THIẾT BỊ NGOẠI VI 2.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: 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: 4
  5. 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. 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 : 5
  6. 2.2. Giao tiếp 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 22 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. 6
  7. Hình 5.3 – Mạch giao tiếp đơn giản thông qua cổng máy in Giao diện: Hình 5.4 – Giao diện của chương trình giao tiếp với cổng máy in Chương trình giao tiếp trên VB sử dụng thư viện liên kết động để trao đổi dữ liệu với cổng máy in. Thư viện IO.DLL bao gồm các hàm sau: -Hàm PortOut: xuất 1 byte ra cổng 7
  8. Private Declare Sub PortOut Lib "IO.DLL" (ByVal Port As Integer, ByVal Data End As Byte) Begin VB.CheckBox chkSW Height = 375 Port: địa chỉ cổng, Data: dữ liệu xuất Index = 7 -Hàm PortWordOut: xuất 1 word ra cổng Left = 1800 Private Declare Sub PortWordOut Lib "IO.DLL" (ByVal Port As Integer, ByVal Data TabIndex = 17 As Integer) Top = 3480 -Hàm PortDWordOut: xuất 1 double word ra cổng Width = 1575 Private Declare Sub PortDWordOut Lib "IO.DLL" (ByVal Port As Integer, ByVal Data As Long) -Hàm PortIn:nd ập 1 byte từ cổng, trả về giá trị nhập E nh Private DeclareVB.CheckBox chkSW Height = 375 Port As Integer) As Byte Begin Function PortIn Lib "IO.DLL" (ByVal Index = 6 -Hàm PortWordIn: nhập 1 word từ cổng Left = 1800 PrivateTabIndexFunction PortWordIn Lib "IO.DLL" (ByVal Port As Integer) As Integer Declare = 16 Top = 3000 -Hàm PortDWordIn: nhập 1 double word từ cổng Width = 1575 Private Declare Function PortDWordIn Lib "IO.DLL" (ByVal Port As Integer) As Long End Begin VB.CheckBox chkSW Height = 375 Chương trình nguồn: Index = 5 VERSION 5.00 Left = 1800 Begin VB.Form Form1 TabIndex = 15 Caption = "Printer Interface Example" Top = 2520 ClientHeight = 4665 Width = 1575 ClientLeft = 60 ClientTop = 345 End ClientWidth = 3585 Begin VB.CheckBox chkSW Height = 375 LinkTopic = "Form1" Index = 4 ScaleHeight = 4665 Left = 1800 ScaleWidth = 3585 TabIndex = 14 StartUpPosition = 3 'Windows Default Top = 2040 Begin VB.CommandButton cmdReceive Width = 1575 Caption = "Receive" Height = 495 End Left = 1200 Begin VB.CheckBox chkSW Height = 375 TabIndex = 18 Index = 3 Top = 3960 Left = 1800 Width = 1095 8
  9. TabIndex = 13 Top = 1560 Width = 1575 End Begin VB.CheckBox chkSW Height = 375 Index = 2 Left = 1800 TabIndex = 12 Top = 1080 Width = 1575 End Begin VB.CheckBox chkSW Height = 375 Index = 1 Left = 1800 TabIndex = 11 Top = 600 Width = 1575 End Begin VB.CheckBox chkSW Height = 375 Index = 0 Left = 1800 TabIndex = 10 Top = 120 Width = 1575 End Begin VB.CommandButton cmdExit Caption = "Exit" Height = 495 Left = 2400 TabIndex = 9 Top = 3960 Width = 975 End Begin VB.CommandButton cmdSend 9
  10. Caption = "Send" Height = 495 Left = 0 TabIndex = 8 Top = 3960 Width = 1095 End Begin VB.Label lblLED BackStyle = 0 'Transparent Caption = "LED7" Height = 375 Index = 7 Left = 240 TabIndex = 7 Top = 3480 Width = 1095 End Begin VB.Label lblLED BackStyle = 0 'Transparent Caption = "LED6" Height = 375 Index = 6 Left = 240 TabIndex = 6 Top = 3000 Width = 975 End Begin VB.Label lblLED BackStyle = 0 'Transparent Caption = "LED5" Height = 375 Index = 5 Left = 240 TabIndex = 5 Top = 2520 Width = 975 End TabIndex = 1 10
  11. Begin VB.Label lblLED BackStyle = 0 'Transparent Caption = "LED4" Height = 375 Index = 4 Left = 240 TabIndex = 4 Top = 2040 Width = 975 End End Begin VB.Label lblLED BackStyle = 0 'Transparent Caption = "LED3" Height = 375 Index = 3 Left = 240 TabIndex = 3 Top = 1560 Width = 975 End Begin VB.Label lblLED BackStyle = 0 'Transparent Caption = "LED2" Height = 375 Index = 2 Left = 240 TabIndex = 2 Top = 1080 Width = 975 End Begin VB.Label lblLED 11
  12. Begin VB.Shape shpLED BorderColor = &H000000FF& FillColor = &H000000FF& FillStyle = 0 'Solid Height = 375 Index = 4 Left = 840 Shape = 3 'Circle Top = 2040 Width = 375 End Begin VB.Shape shpLED BorderColor = &H000000FF& FillColor = &H000000FF& FillStyle = 0 'Solid Height = 375 Index = 3 Left = 840 Shape = 3 'Circle Top = 1560 Width = 375 End Begin VB.Shape shpLED BorderColor = &H000000FF& FillColor = &H000000FF& FillStyle = 0 'Solid Height = 375 Index = 2 BackStyle = 0 'Transparent Width = 375 Caption = "LED1" Height = 375 Index = 1 12
  13. End Left = 840 Begin Shape = 3 VB.Shape shpLED 'Circle BorderColor = &H000000FF& Width = 375 FillColor = &H000000FF& Top = 1080 FillStyle = 0 'Solid Height = 375 Index = 1 Left = 840 Shape = 3 'Circle Top = 600 As Integer, Width = 375 ByVal Data As Byte) End Begin VB.Shape shpLED BorderColor = &H000000FF& FillColor = &H000000FF& FillStyle = 0 'Solid Height = 375 Index = 0 Left = 840 Shape = 3 'Circle Top = 120 Width = 375 13
  14. Private Declare Function PortIn Lib "IO.DLL" (ByVal Port As Integer) As Byte 'Variable Private BA_LPT As Integer Private Sub cmdExit_Click() End End Sub Private Sub cmdReceive_Click() Dim n As Integer Dim n1 As Integer Dim i As Integer PortOut BA_LPT + 2, &H8 'SELECTIN = 1 PortOut BA_LPT + 2, 0 'SELECTIN = 0 n1 = PortIn(BA_LPT + 1) 'Doc 4 bit thap n1 = n1 / &H10 'Dich phai 4 bit PortOut BA_LPT + 2, 2 'AUTOFEED=1 n = PortIn(BA_LPT + 1) 'Doc 4 bit cao n = n And &HF0 n = n + n1 For i = 0 To 7 chkSW(i).Value = n Mod 2 If chkSW(i).Value = 0 Then End End Attribute VB_Name = "Form1" Attribute VB_GlobalNameSpace = False Attribute VB_Creatable = False Attribute VB_PredeclaredId = True Attribute VB_Exposed = False 'IO.DLL Private Declare Sub PortOut Lib "IO.DLL" (ByVal Port 14
  15. Private Sub cmdSend_Click() Dim t As Integer Dim i As Integer Dim s As string t = 0 For i = 0 To 7 Private Sub lblLED_Click(In t = t + (2 ^ i) * (1 - shpLED(i).FillStyle) Next i PortOut BA_LPT, t dex As Integer) PortOut BA_LPT, 1 'STROBE = 1 PortOut BA_LPT, 0 'STROBE = 0 End Sub shpLED(Index).FillStyle = 1 -shpLED(Index).FillStyle End Sub Private Sub Form_Load() BA_LPT = &H378 PortOut BA_LPT + 2, 0 End Sub chkSW(i).Caption = "Switch " & Str(i) & " off" Else chkSW(i).Caption = "Switch " & Str(i) & " on" End If n = Fix(n / 2) Next i End Sub II/. KHẢO SÁT SƠ ĐỒ CỔNG SONG SONG 25 CHÂN MÁY TÍNH XÁCH TAY 15
  16. Một cổng song song 25 chân trên máy tính xách tay. Bảng dưới đây là một sơ đồ các dây của một cổng song song tiêu chuẩn. Mô tả Mô tả Chân I/O Chân I/O 1 -Strobe Out 14 -Auto Feed Out 2 +Data Bit 0 Out 15 -Error In 3 +Data Bit 1 Out 16 -Initialize Printer Out 4 +Data Bit 2 Out 17 -Select Input Out 5 +Data Bit 3 Out 18 -Data Bit 0 Return (GND) In 6 +Data Bit 4 Out 19 -Data Bit 1 Return (GND) In 7 +Data Bit 5 Out 20 -Data Bit 2 Return (GND) In 8 +Data Bit 6 Out 21 -Data Bit 3 Return (GND) In 9 +Data Bit 7 Out 22 -Data Bit 4 Return (GND) In 10 -Acknowledge In 23 -Data Bit 5 Return (GND) In 11 +Busy In 24 -Data Bit 6 Return (GND) In 12 +Paper End In 25 -Data Bit 7 Return (GND) In 16 13 +Select In
  17. Chuẩn IEEE 1284 IEEE 1284 là một tiêu chuẩn về giao diện ngoại vi song song hai chiều cho máy tính cá nhân. Nó được phê chuẩn phiên bản cuối cùng (final release) vào tháng 3 năm 1994. Tiêu chuẩn này định nghĩa các đặc trưng vật lý, phương thức truyền dữ liệu của cổng song song. IEEE 1284 đặt ra để tiêu chuẩn hoá việc kết nối giữa máy tính với một thiết bị ngoại vi có tính chất cố định, tuy nhiên khi mở rộng chúng với các loại thiết bị ngoại vi mang tính di chuyển (như các loại máy quét, ổ đĩa di động) chúng cũng được hỗ trợ. Băng thông của các loại cổng song song theo chuẩn IEEE 1284 được liệt kê theo bảng sau 17
  18. Hướng Băng thông Loại cổng song song truyền (Transfer Rate) (Direction) Nibble (4-bit) Input only 50 KBps Byte (8-bit) Input only 150 KBps Compatible Output only 150 KBps EPP (Enhanced Parallel Port) Input/Output 500 KBps-2,77 MBps ECP (Enhanced Capabilities Port) Input/Output 500 KBps-2,77 MBps 1/. Ứ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ả hai loại cổng: cổng song song và cổng giao tiếp qua USB (một số máy còn 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 đã dùng cổng song song như: máy quét, các ổ đĩa gắn ngoài, bộ điều khiển trò chơi trên máy tính (joystick)... Cổng song song còn 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 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ũ (Windows 95/98, một số máy tính công nghiệp chỉ cần đến vậy) hoặc các hệ thống 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... 18
  19. Một số hãng phần mềm còn 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. 2/. Dữ liệu trong tính toán Theo nghĩa rộng, dữ liệu thô là các số, ký tự, hình ảnh hay các kết quả khác của các thiết bị chuyển đổi các lượng vật lý thành các ký hiện. Các dữ liệu thuộc loại này thường được xử lý tiếp bởi người hoặc đưa vào máy tính. Trong máy tính, dữ liệu được lưu trữ và xử lý tại đó hoặc được chuyển (output) cho một người hoặc một máy tính khác. Dữ liệu thô là một thuật ngữ tương đối; việc xử lý dữ liệu thường được thực hiện theo từng bước, và "dữ liệu đã được xử lý" tại bước này có thể được coi là "dữ liệu thô" cho bước tiếp theo. Các thiết bị tính toán được phân loại theo phương tiện mà chúng sử dụng để biểu diễn dữ liệu. Một máy tính tương tự (analog computer) biểu diễn dữ liệu bằng hiệu điện thế, khoảng cách, vị trí hoặc các định lượng vật lý khác. Một máy tính số (digital computer) biểu diễn dữ liệu bằng chuỗi các ký hiệu rút ra từ một bảng chữ cái cố định. Các máy tính số phổ biến nhất sử dụng bảng chữ cái nhị phân, nghĩa là, một bảng chữ cái gồm hai chữ cái, thường được ký hiệu là "0" và "1". Các biểu diễn quen thuộc hơn, chẳng hạn các số và chữ, sẽ được xây dựng từ bảng chữ cái nhị phân. Có một số dạng dữ liệu đặc biệt. Một chương trình máy tính là một tập hợp dữ liệu được hiểu là các lệnh. Hầu hết các ngôn ngữ máy tính phân biệt giữa các chương trình và các dữ liệu khác mà chương trình đó làm việc với. Nhưng trong một số ngôn ngữ, chẳng hạn LISP và các ngôn ngữ tương tự, các chương trình về bản chất là không thể phân biệt với các dữ liệu khác. Ngoài ra, còn có một dạng dữ liệu đặc biệt khác là metadata dữ liệu mêta, nghĩa là một mô tả về dữ liệu khác. Một ví dụ về dữ liệu mêta là danh mục tài liệu tại thư viện, đây là một mô tả về nội dung của các cuốn sách. 3/. CÁC CHUẨN GIAO TIẾP CỔNG SONG SONG NÂNG CAO Cổng song song nâng cao (EPP) được phát minh chung giữa các nhà sản xuất Intel, Xircom và Zenith Data System. Cổng EPP được đưa ra đầu tiên là chuẩn EPP 1.7 và sau đó kể cả chuẩn IEEE 1284 được xuất bản năm 1994. 19
  20. EPP có hai chuẩn là EPP 1.7 và EPP 1.9. Có sự khác nhau giữa hai chuẩn này mà có thể ảnh hưởng đến sự hoạt động của thiết bị. Gần đây trong các cuộc thảo luận người ta cho rằng chuẩn EPP có thể đạt đến tốc độ 500KB/S đến 2MB/S. Đạt được điều này bởi sự cho phép của phần cứng chứa trong cổng để phát ra tín hiệu bắt tay. Chuẩn EPP sử dụng nhiều hơn chuẩn ECP. EPP khác ECP, bởi thực tế là cổng EPP phát ra và điều khiển tất cả các tín hiệu truyền đi và nhận lại từ bên ngoài. Cổng ECP trên phương diện khác đòi hỏi bên ngoài phải vượt qua được chiều hướng ngược lại và điều khiển tín hiệu bắt tay. Điều này còn khó hơn cả việc đạt được với mức logic thường, do đó thật sự đòi hỏi phải dành cho bộ điều khiển hay con chip ngoại vi ECP. Khi sử dụng chuẩn ECP, một điểm khác nhau là đặt cho nhiệm vụ và nhãn cho công việc của mỗi đường. Có một danh sách trong bảng 4 bên dưới. Tên nó thường thấy trong cả chuẩn EPP và cả SPP, tên được thay đổi trong các bảng dữ liệu và trong các tài liệu. Điều này làm cho nó thật sự khó khăn để tập trung vào vấn đề xảy ra một cách chính xác. Do vậy tất cả các tư liệu dưới đây sẽ sử dụng theo tên của chuẩn EPP. 20
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2