Tuần trước, chúng tôi đã giới thiệu một phiên bản mới của công cụ giao diện nối tiếp Bus Pirate Universal Universal. Bản cập nhật phần mềm cuối cùng bao gồm một thư viện bộ giải mã bàn phím cho cả hai phiên bản phần cứng.

Có một tấn cũ ở bàn phím tìm đường đến bãi rác. Chúng tôi sẽ chỉ cho bạn cách tái chế một thiết bị đầu vào cho dự án tiếp theo của bạn.

Sự liên quan

Bus Pirate.
PC ở bàn phím (PIN #)

SDA.
Dữ liệu KBD (3)

Scl.
Đồng hồ KBD (1)

+ 5Volts.
VDD (5)

Gnd.
Gnd (2)

Tại bàn phím giao tiếp qua giao diện hai dây hai chiều. Xe buýt đang mở Collector, nhưng bàn phím đã có điện trở kéo bên trong. PC ở giao thức bàn phím được mô tả ở đây. Chúng tôi đã sử dụng công cụ Pirate Bus của chúng tôi để chứng minh giao thức bàn phím, nhưng các hiệu trưởng cơ bản tương tự áp dụng cho bất kỳ vi điều khiển nào.

Chúng tôi đã kết nối tên cướp biển đến bàn phím như được mô tả trong bảng. Chúng tôi tin rằng đây là một phụ nữ thông qua lỗ trên bàn phím, nhưng chúng tôi chưa đánh giá nó. Bạn có biết một nguồn cho các ổ cắm mới?

Giao thức.

Bàn phím cung cấp tín hiệu đồng hồ cho tất cả các chuyển dữ liệu; phía PC giống như một thiết bị nô lệ. Không có thư viện giao diện cướp biển nào hiện tại hoạt động với đồng hồ bên ngoài, vì vậy chúng tôi đã viết một thư viện giải mã bàn phím dễ dàng. Thư viện phụ thuộc vào tín hiệu đồng hồ của bàn phím và nó sẽ bị treo nếu bàn phím bị lỗi hoặc không được kết nối. Nếu bạn sử dụng thư viện của chúng tôi trong dự án của riêng bạn, hãy xem xét việc thêm độ trễ thời gian chờ trong các hàm Readbit () và WriteBit ().

PC để bàn phím Mã lệnh

Mã số
Yêu cầu

0x.
Đặt đèn LED trạng thái

0xee.
Echo 0xee.

0xf0.
Đặt Scancode Type.

0xf3.
Đặt tỷ lệ lặp lại

0xf4.
Bật bàn phím

0xF5.
Bàn phím vô hiệu hóa

0xfe.
Gửi lại byte cuối cùng.

0xff.
Đặt lại bàn phím

Một PC sử dụng các lệnh này để điều khiển các chức năng khác nhau của một bàn phím. Bàn phím đáp ứng các lệnh với một byte xác nhận (OXFA). Trong trải nghiệm của chúng tôi, bàn phím sẽ được thiết lập lại nếu byte phản ứng không được đọc ngay sau khi lệnh được gửi.

Mã phản ứng bàn phím để PC

Mã số
Phản ứng

0xfa.
Thừa nhận

0xAA.
Tự kiểm tra thông qua

0xee.
Phản ứng vang vọng

0xfe.
Gửi lại byte cuối cùng.

0x00 hoặc 0xff.
Lỗi hoặc tràn bộ đệm

Bàn phím có một số mã phản ứng byte duy nhất. Nhiều lệnh PC được công nhận với 0xFA. 0xAA được gửi sau khi thiết lập lại bàn phím.

Thiết lập cướp biển xe buýt

Hiz> M.
1. HIZ.

9. PC ở bàn phím
Chế độ> 9 <-set Chế độ Bộ 900 chế độ X02 PC tại bộ giải mã KB đã sẵn sàng PC ở bàn phím>

Đầu tiên, chúng tôi thiết lập tên cướp biển cho ở chế độ bàn phím, tùy chọn 9.

PC ở bàn phím> P <-Power cung cấp thiết lập W / w toggles cung cấp 3.3volt? 1. Không 2. Có. Chế độ> 1 <-Không cung cấp 3.3Volt W / w toggles cung cấp 5volt? 1. Không 2. Có. Chế độ> 2 W <-Capital 'W', bật nguồn cung cấp Cung cấp 9xx 5Volt trên PC ở bàn phím>

Tiếp theo, chúng tôi định cấu hình nguồn điện của Bus Pirate để cung cấp 5Volts cho Bàn phím AT.

PC ở bàn phím> r <-Read byte từ bàn phím X30 PCATKB Đọc: Không có dữ liệu <-Không có sẵn PC ở bàn phím>

Thư viện tại bàn phím theo cú pháp cướp biển xe buýt tiêu chuẩn. Các giá trị số được gửi đến bàn phím dưới dạng byte, ‘r’ đọc một byte từ bàn phím. Giao thức được giao thức bằng bàn phím để các hoạt động bitwise bị vô hiệu hóa. Nếu không có dữ liệu, hãy đọc sẽ trả về ‘Không’.

Thiết lập bàn phím

PC ở bàn phím> 0xee r <-send 0xee, đọc một byte X20 pcatkb viết: 0xee có ack

Leave a Reply

Your email address will not be published. Required fields are marked *