You are on page 1of 11

SỬ DỤNG BÀN PHÍM PS / 2 TRONG HỆ THỐNG

NHÚNG
TẠI SAO LẠI SỬ DỤNG BÀN PHÍM PS / 2?
Bàn phím là đơn vị mà chúng ta không thể bỏ trong việc nhập dữ liệu vào máy
tính. Bàn phím AT đã không thay đổi về mặt điện tử và giao thức kể từ năm
1984, khi chiếc máy tính IBM PC AT đầu tiên được phát hành. Với dòng máy tính
IBM PS / 2 được phát hành vào năm 1987, nó có dạng hiện tại là số đầu nối và
phím và bắt đầu được gọi là Bàn phím PS / 2.

Thực tế là tiêu chuẩn defacto này có lịch sử 20 năm đã tạo ra hai kết quả quan
trọng:

 • Giá thấp (US $ 3!),


 • Đơn vị nhập dữ liệu thay thế tương thích với giao thức và điện tử (Súng
mã vạch Laser / CCD và đầu đọc mã vạch / thẻ từ có thể được tính trong số
các đơn vị này).

sang bàn phím PS / 2 ; Từ quan điểm điện tử, nó bao gồm một bàn phím ma
trận có kích thước lên đến 8 x 16 và một bộ điều khiển (Intel 8048 hoặc tương
tự) mã hóa thông tin phím được nhấn trên bàn phím này. Trên PC của chúng
tôi, có một bộ điều khiển bàn phím ( Intel 8042 hoặc tương tự ) , toàn bộ công
việc của nó là duy trì giao tiếp với bộ điều khiển này .

Bạn có thể tìm thông tin chi tiết về phương thức giao tiếp này trong các bài báo
của Adam Chapweske ((1) và (2)).

Về hệ thống nhúng, cần lưu ý hai đặc điểm chính của giao thức:

1. Giao tiếp được thực hiện đồng bộ và nối tiếp chỉ qua hai kênh
( CLOCK và DATA ): Trong các hệ thống nhúng được sử dụng trong các giải
pháp tự động hóa, giải pháp phổ biến là kết nối bàn phím ma trận trực tiếp với
các kênh đầu vào / đầu ra của bộ điều khiển.

Ví dụ, đối với Flashlite186 được sử dụng trong nghiên cứu này, bàn phím 4 × 4
(tức là 16 phím) và thư viện phần mềm được cung cấp bởi nhà sản xuất
JKmicro.

Tuy nhiên, bàn phím ma trận yêu cầu nhiều kênh đầu vào / đầu ra bằng tổng số
hàng và số cột. Ứng dụng bàn phím 4 × 4 được tạo sẵn trong Flash186 sử dụng
8 kênh. Với phương pháp tính toán này, việc sử dụng 101102 phím ( bàn phím
PS / 2 tiêu chuẩn ) làm ma trận sẽ cần ít nhất 21 kênh. Chỉ sử dụng một phần
đáng kể trong số 44 kênh đầu vào / đầu ra trong Flash186 cho bàn phím sẽ
hoàn toàn lãng phí tài nguyên.
Tóm lại, giao thức truyền thông của PS / 2 chỉ sử dụng hai kênh cung cấp một
lợi thế đáng kể.

Việc phát triển mạch tùy chỉnh bộ mã hóa cho bàn phím ma trận là điều dễ
dàng và phổ biến, nhưng rất khó để đưa chi phí của chúng xuống dưới 3 đô la
Mỹ.

Giao tiếp thứ hai là hai chiều: Khi có luồng thông tin từ bàn phím đến PC,
các lệnh thiết lập bàn phím sẽ đi từ PC: Khi chúng ta xem các lệnh được gửi từ
PC; chúng tôi thấy rằng chúng chủ yếu được sử dụng để thiết lập đèn LED bàn
phím và tính năng lặp lại phím. Xem xét rằng hầu hết các hệ thống nhúng mà
chúng tôi sử dụng trong các giải pháp tự động hóa sẽ không cần các cài đặt
này, giao thức một chiều có thể được sử dụng.

Các giao thức được thiết kế để chỉ nhận dữ liệu từ bàn phím sẽ yêu cầu ít tài
nguyên và chi phí lập trình hơn. Vì lý do này, nghiên cứu của chúng tôi dựa trên
giao tiếp một chiều.

KẾT NỐI VÀ GIAO THỨC

Do những ưu điểm của bàn phím PS / 2, có rất nhiều ứng dụng được phát triển
cho các nền tảng khác nhau trên Internet. Ví dụ: trên trang (3) chứa mã do
Craig Peacock phát triển cho 68HC705, thông tin chi tiết về bàn phím PS / 2
được cung cấp. Một giải pháp ví dụ được thực hiện trong C cho bộ xử lý AVR của
Atmel được đưa ra trong tài liệu (4). Có
hai bước chuẩn bị quan trọng phải được thực hiện trước khi kết nối bàn phím với
bất kỳ bộ điều khiển nào
:

1) Bàn phím đôi khi có thể lên đến 100mA ; Đáp ứng yêu cầu cung cấp + 5VDC
được quy định. Trong kết nối này, phải cẩn thận để đảm bảo rằng đất nguồn
được kết nối với bàn phím được ngắn mạch với đất nguồn của bộ điều khiển. 2)
Điều hòa tín hiệu DỮ LIỆU và ĐỒNG HỒ trong cấu trúc bộ thu mở với điện trở
kéo lên 10kOhm. Trong kết nối bộ thu mở; Nếu không có tín hiệu hoặc nếu nó ở
mức logic "0", đầu ra là 5V, và nếu tín hiệu ở mức "1", 0V được quan sát.

Nhấn một phím trên bàn phím sẽ tạo ra một luồng gói dữ liệu. Mỗi gói dữ liệu
được hoàn thành trong 11 chu kỳ ĐỒNG HỒ: Các gói này, mỗi gói có thể được
phát hiện dưới dạng 11 bit; Nó bao gồm 1 start (= 0), 8 data, 1 parity (= 0
hoặc = 1) và 1 stop (= 1) bit.

Trong bài báo của Adam Chapweske (1); Các sóng quan sát được trong ĐỒNG
HỒ và DỮ LIỆU cho giá trị sẽ được coi là 31 (cơ sở 16 “15”) là giá trị ASCII khi
phím “Q” được “nhấn” trên bàn phím PS / 2 được hiển thị như sau:

Sau đây là các kết quả cần được làm nổi bật đối với giao thức truyền thông với
sự trợ giúp của hình ảnh sóng:
CLOCK chỉ tạo ra tín hiệu trong quá trình truyền dữ liệu: Nghĩa là, tín hiệu này
phù hợp với ứng dụng ngắt. Dữ liệu hợp lệ của tín hiệu DATA được hình thành
khi tín hiệu CLOCK giảm từ 5V xuống 0: Việc đọc dữ liệu nên được thực hiện ở
giai đoạn này trong quy trình ngắt.

MÃ KHÓA

Nếu chúng ta chú ý đến việc sử dụng bàn phím, chúng ta nhận ra rằng chúng ta
thực sự đang thực hiện một quá trình với nhiều giai đoạn. Ngay cả khi chúng ta
nhấn một nút duy nhất trong thời gian ngắn; Việc nhấn phím, sau đó rút ngón
tay ra khỏi phím cần được xem xét. Sau khi nhấn phím trong một thời gian dài,
lặp lại, nhấn các phím [SHIFT], [ALT], [ALTGR], [CTRL] cùng với các kết quả
khác nhau là những thứ khác mà bộ mã hóa có thể thực hiện được.

Trong bài báo của Craig Peacock (3), các mã được tạo ra khi nhấn một phím
được đưa ra trong hình vẽ sau:

Các điểm sau đây cần được xem xét khi giải mã với sự trợ giúp của giải pháp
này:

 • Một số khóa tạo ra hai ký tự và các khóa [PRT SCR] và [PAUSE] tạo ra
nhiều ký tự hơn.
 • Các phím sẽ gửi lại mã dưới dạng (F0) (XX) ngay sau khi ngón tay được
rút ra.
 • Hình minh họa cho thấy thứ tự bàn phím tiếng Anh được sử dụng ở Hoa
Kỳ.

Vì các mã phím do các bàn phím khác nhau tạo ra sẽ không thay đổi, nên mô-
đun thông dịch sẽ phải xem xét tình huống này. Ví dụ: nếu bàn phím F của Thổ
Nhĩ Kỳ được sử dụng, ký tự 'Q' chỉ được thay thế bằng 'F' làm nhãn, nhưng bộ
mã hóa vẫn gửi mã (15h).

Ứng dụng mẫu cho FlashLite186 FlashLite186 được sử dụng trong nghiên cứu
này; Đây là một bo mạch chủ nhỏ gọn, công nghiệp (dải nhiệt độ hoạt động từ
20 đến +85 ° C) với bộ xử lý RDC8822 tương thích 33Mhz 80186, đi kèm với hệ
điều hành DOS được cài đặt trên đó. Nếu muốn, có thể cấp nguồn 734 VDC
bằng bộ chuyển đổi không được điều chỉnh. Thông số kỹ thuật chi tiết có thể
được truy cập từ http://www.lima.com.tr/JK/FlashLite186.asp .
Khi hệ điều hành là DOS, nhiều nền tảng phát triển thông thường có thể được
sử dụng. Borland C / C ++ V.4.52 đã được sử dụng trong nghiên cứu này. Quá
trình cài đặt ứng dụng trên FlashLite186; Nó được thực hiện bằng cách sử dụng
giao thức XModem trong một chương trình như Hyperterminal trên PC với sự trợ
giúp của cổng nối tiếp được gọi là cổng “bàn điều khiển” trên thẻ.

Gọi cổng nối tiếp là một bảng điều khiển là một lựa chọn có ý thức: trên PC, các
đầu vào mà chúng ta mong đợi từ bàn phím và đầu ra dưới dạng văn bản gõ
trên màn hình được chuyển hướng đến cổng này.

Có 44 kênh đầu vào / đầu ra kỹ thuật số trên FlashLite186. Trong thực tế, hai
trong số các kênh được gọi là PORTC trên đầu nối J9 được sử dụng. Ngoài ra còn
có một chân cho ngắt INT2 trên đầu nối này. Tín hiệu CLOCK được kết nối với
chân ngắt này ngoài chân 0 của PortC, giúp dễ dàng lập trình.
Trong thực tế, quy trình ngắt được kích hoạt khi tín hiệu ĐỒNG HỒ chuyển từ
0V sang 5V. Giai đoạn này diễn ra trong các pha màu vàng của sóng được thể
hiện trong hình vẽ. Trong chương trình, nó được đợi cho đến khi ĐỒNG HỒ giảm
xuống 0V một lần nữa trong các giai đoạn màu đỏ và DATA chỉ được đọc trong
trường hợp này.

Dưới đây là các hàm C thêm các ngắt vào các sóng liền kề và sau đó giải mã ký
tự và mã 'shift':
Bạn có thể tải xuống toàn bộ ứng dụng từ trang web bên dưới.
http://www.lima.com.tr/Support/JKSupport.asp
Sau khi biên dịch và chạy chương trình PS2Test với định nghĩa '#define DEBUG'
được mở cho mục đích nghiên cứu, nếu phím 'Q' được nhấn, nó sẽ hiển thị hình
ảnh sau.

Byte đầu tiên (15h) cho biết phím 'Q' đã được nhấn, phím F0h đã được nhả và
15h cuối cùng cho biết phím 'Q' đã được nhả.

Ứng dụng này cũng phân tích thành công các lần đọc mã vạch được thực hiện
bằng súng laser.

Kết luận : Giao thức điện tử của bàn phím PS / 2 có thể dễ dàng thực hiện
trong các hệ thống nhúng. Giải pháp này; Không nên quên nó trong các môi
trường yêu cầu tiết kiệm từ các kênh đầu vào / đầu ra hoặc sử dụng các đơn vị
đầu vào dữ liệu thay thế.

Tài liệu tham khảo


1) Adam Chapweske PS / 2 Mouse / Keyboard Protocol, 1999

2) Adam Chapweske Giao diện bàn phím ATPS / 2, 2001


3) Craig Peacock Giao diện bàn phím AT, ngày 19 tháng 8. 2001
(www.beyondlogic.org/keyboard/keybrd.htm)

4) Atmel AVR313: Giao diện Bàn phím PC AT,


http://www.atmel.com/atmel/acrobat/doc1235.pdf

5) JKmicro - Hướng dẫn sử dụng FlashLite186


http://www.jkmicro.com/documentation/pdf/FL186_man14.pdf

Máy tính công nghiệp Cem Çelik Lima


www.lima.com.tr
istanbul Tháng 6 năm 2004

You might also like