Nguyên tắc truyền dữ liệ u:

Một phần của tài liệu Bài giảng VHDL (Trang 130 - 132)

Khi nhấn 1 phím, bộ xử lý bàn phím gửi đến PC mã quét (scan-code) của phím được nhấn. Khi phím được nhấn, mã này gọi là make-code. Khi phím được nhả, mã này gọi là break-code.

Break-code gồm 2 byte: byte đầu là F0 (đối với bàn phím mở rộng), byte kế là mã make-code.

Scan code có 3 tiêu chuẩn: set 1, set 2, set 3. Bàn phím hiện nay thường sử dụng set 2. Ví dụ:

Nhấn SHIFT: make-code = 12 . Nhấn A: make-code = 1C Nhả A: break-code = F0, 1C . Nhả SHIFT: break-code = F0, 12 .

Bàn phím PS2 giao tiếp bằng giao thức nối tiếp bất đồng bộ 2 chiều .Xung clock được phát bởi bàn phím, tần số khoảng 10-16.7kHz .Các trạng thái hoạt động:

Data=high, clock=high: trạng thái rảnh .

Data=high, clock=low: trạng thái cấm giao tiếp .

Data=low, clock=high: trạng thái máy chủ được yêu cầu truyền dữ liệu .

4.2.3.1 Truyền dữ liệu từ bàn phím về máy chủ .

Các bước thực hiện:

Kiểm tra bus đang ở trạng thái rảnh .

Clock ở mức cao ít nhất 50us trước khi bàn phím gửi data . Bàn phím gửi data từng khung dữ liệu 11 bit .

Dữ liệu được đọc tại cạnh xuống của clock .

Máy chủ có thể cấm giao tiếp bằng cách kéo clock xuống thấp .

Khi clock được giải phóng, bàn phím lại truyền tiếp dữ liệu chưa hoàn chỉnh . Mã được truyền nối tiếp từng byte, với khung truyền 11bit. Gói dữ liệu gởi từ Keyboard theo thứ tự sau:

1 start bit = 0;

8 data bits (LSB truyền trước);

1 parity bit (if number of ones is even, then parity bit = 1); 1 stop bit = 1.

Chương 4 : Các cổng giao tiếp được sử dụng trên Kit FPGA Spartan 3

Hình 4. 6 : Thứ tự truyền data từ Keyboard đến Host. 4.2.3.2 Truyền dữ liệu từ máy chủ đến bàn phím :

Các bước thực hiện:

Máy chủ cấm truyền từ bàn phím đến bằng cách kéo clock xuống thấp.

Máy chủ kéo data xuống thấp và giải phóng clock báo hiệu bàn phím phát xung clock bắt đầu truyền dữ liệu.

Dữ liệu được đọc tại cạnh lên của clock .

Sau khi bàn phím nhận stop bit Keyboard sẽ truyền tín hiệu ACK đến máy chủ kết thúc quá trình truyền dữ liệu.

Data được truyền theo khung dữ liệu gồm 11-12bit như sau: 1 start bit = 0 .

8 data bit (LSB truyền trước) . 1 parity bit .

1 stop bit = 1 .

1 acknowledge bit (host only) .

Hình 4. 7 : Thứ tự truyền data từ Host đến Keyboard.

Một phần của tài liệu Bài giảng VHDL (Trang 130 - 132)

Tải bản đầy đủ (PDF)

(137 trang)