Vietnamese (machine translation)

Lưu ý

Mục đích của file này là để độc giả tiếng Việt có thể đọc và hiểu tài liệu nhân kernel dễ dàng hơn, không phải để tạo ra một nhánh tài liệu riêng. Nếu bạn có bất kỳ nhận xét hoặc cập nhật nào cho file này, vui lòng thử cập nhật file tiếng Anh gốc trước. Nếu bạn thấy có sự khác biệt giữa bản dịch và bản gốc, hoặc có vấn đề về bản dịch, vui lòng gửi góp ý hoặc patch cho người dịch của file này, hoặc nhờ người bảo trì và người review tài liệu tiếng Việt giúp đỡ.

Bản gốc:

Remote Controller devices

Người dịch:

Google Translate (machine translation)

Phiên bản gốc:

8541d8f725c6

Cảnh báo

Tài liệu này được dịch tự động bằng máy và chưa được review bởi người dịch. Nội dung có thể không chính xác hoặc khó hiểu ở một số chỗ. Khi có sự khác biệt với bản gốc, bản gốc luôn là chuẩn. Bản dịch chất lượng cao (được review) được đặt trong thư mục vi_VN/.

5. Thiết bị điều khiển từ xa

5.1. Lõi điều khiển từ xa

Lõi điều khiển từ xa triển khai cơ sở hạ tầng để nhận và gửi tổ hợp phím và sự kiện chuột trên bàn phím điều khiển từ xa.

Mỗi lần nhấn một phím trên bộ điều khiển từ xa, mã quét sẽ được tạo ra. Ngoài ra, trên hầu hết phần cứng, việc nhấn một phím trong hơn vài chục lần mili giây tạo ra một sự kiện quan trọng lặp lại. Điều đó hơi giống với những gì bàn phím hoặc chuột thông thường được xử lý nội bộ trên Linux[1]. Vì vậy, lõi điều khiển từ xa được triển khai trên đầu vào linux/evdev giao diện.

Tuy nhiên, hầu hết các bộ điều khiển từ xa đều sử dụng tia hồng ngoại (IR) để truyền tín hiệu. Vì có một số giao thức được sử dụng để điều chế tín hiệu hồng ngoại, một phần quan trọng của lõi được dành riêng để điều chỉnh trình điều khiển và lõi hệ thống hỗ trợ giao thức hồng ngoại được sử dụng bởi bộ phát.

Việc truyền hồng ngoại được thực hiện bằng cách nhấp nháy bộ phát hồng ngoại bằng người vận chuyển. Sóng mang có thể được bật hoặc tắt bằng bộ phát hồng ngoại phần cứng. Khi sóng mang được bật, nó được gọi là ZZ0000ZZ. Khi sóng mang bị tắt, nó được gọi là ZZ0001ZZ.

Nói cách khác, một quá trình truyền IR điển hình có thể được xem như một chuỗi các Sự kiện ZZ0000ZZ và ZZ0001ZZ, mỗi sự kiện có thời lượng nhất định.

Các tham số sóng mang (tần số, chu kỳ nhiệm vụ) và các khoảng thời gian cho Các sự kiện ZZ0000ZZ và ZZ0001ZZ phụ thuộc vào giao thức. Ví dụ: giao thức NEC sử dụng sóng mang 38kHz và truyền bắt đầu với ZZ0002ZZ 9ms và SPACE 4,5ms. Sau đó nó truyền 16 bit mã quét, có 8 bit cho địa chỉ (thường là số cố định cho bộ điều khiển từ xa), theo sau là 8 bit mã. Một chút “1” được điều chế với 560µs ZZ0003ZZ, tiếp theo là 1690µs ZZ0004ZZ và một chút “0” được điều chế với 560µs ZZ0005ZZ, tiếp theo là 560µs ZZ0006ZZ.

Tại máy thu, một bộ lọc thông thấp đơn giản có thể được sử dụng để chuyển đổi tín hiệu nhận được tín hiệu theo chuỗi các sự kiện ZZ0003ZZ, lọc sóng mang tần số. Do đó, người nhận không quan tâm đến nhà vận chuyển thông số tần số thực tế: tất cả những gì nó phải làm là đo lượng thời gian nó nhận được sự kiện ZZ0004ZZ. Vì vậy, phần cứng máy thu IR đơn giản sẽ chỉ cung cấp một chuỗi thời gian cho những sự kiện đó vào Kernel. Các trình điều khiển cho phần cứng có dạng như vậy máy thu được xác định bởi ZZ0001ZZ, như được xác định bởi ZZ0000ZZ[2]. Phần cứng khác đi kèm với một bộ vi điều khiển giải mã chuỗi ZZ0005ZZ và quét trả về mã vào hạt nhân. Những loại máy thu như vậy được xác định bởi ZZ0002ZZ.

Khi lõi RC nhận được các sự kiện do ZZ0001ZZ IR tạo ra máy thu, nó cần giải mã giao thức IR để có được mã quét tương ứng. Các giao thức được hỗ trợ bởi lõi RC là được xác định tại enum ZZ0000ZZ.

Khi mã RC nhận được mã quét (trực tiếp, bởi trình điều khiển thuộc loại ZZ0000ZZ hoặc thông qua bộ giải mã IR của nó), nó cần để chuyển đổi thành mã sự kiện đầu vào Linux. Điều này được thực hiện thông qua bản đồ cái bàn.

Kernel có hỗ trợ lập bản đồ các bảng có sẵn trên hầu hết các phương tiện thiết bị. Nó cũng hỗ trợ tải một bảng trong thời gian chạy, thông qua một số các nút sysfs. Xem ZZ0000ZZ để biết thêm chi tiết.

5.1.1. Cấu trúc và chức năng dữ liệu của bộ điều khiển từ xa