Hình 2.35: Sơ đồ lý tưởng của remote sony.
Trước khi lập trình giải mã tín hiệu điều khiển từ xa, chúng ta cần lưu ý một số điểm sau:
- Remote tùy từng hãng sẽ sử dụng 16bit hay 32 bit- Luôn có một xung Start có độ dài khoảng 2,4ms còn lại là mã thiết bị (TV, VCD, Điều Hòa....) và mã khiển (Với TV là nút Power, kênh 1, kênh 2, Volume...) tùy hãng mà bố trí khách nhau, nhưng khi lập trình chúng ta không quan tâm, mà chỉ quan tâm nhận được gì, và chắc chắn rằng nếu đọc đúng thì tất cả các nút trên điều khiển sẽ cho ra mã khác nhau.
- Trong giải mã Remote người ta sử dụng độ dài xung để xác định bit chứ không phải cứ truyền bít 1 là hight (Vì nếu truyền 2 bit 1, điện áp sẽ không đổi, và không đồng bộ được xung Clock nên không thể nhận dạng được).Qui định: + Độ dài mức cao (Từ lúc có sườn xung lên đến lúc có sườn xung xuống là 2,4ms) là báo Start.
+ Độ dài mức thấp = 0,6ms là mức 1 hay 0 tùy bạn định nghĩa, theo sony đó là mức 1.
+ Độ dài mức thấp = 1,2ms là mức 0 hay 1 ( ngược với định nghĩa mức thấp) + Giữa 2 mức thấp sẽ được cách biệt bằng một xung mức cao, với độ dài cố định = 0,6ms.
+ Sau khi đủ 16 hoặc 32bit, sẽ chuyển sang mức thấp liên tục, kết thúc một Frame truyền.
Căn cứ vào đó ta có 2 cách lập trình:
Luôn đo khoảng thời gian giữa 2 sườn xuống - Mức Start luôn = 2,4ms:
+ khi đó mức 1 = 0,6 + 0,6 = 1,2 ms + Mức 0 = 0,6+1,2= 1,8ms
- Trạng thái nghỉ, đủ 16/32bit và ở mức thấp, chờ đến sườn lên để nhận Frame truyền sau.
Chỉ xác định độ dài xung mức thấp, đo sườn xuống và đợi sườn lên - Mức Start luôn = 2,4ms:
+ khi đó mức 1 = 0,6ms + Mức 0 = 1,2ms
Trạng thái nghỉ, đủ 16/32bit và ở mức thấp, chờ đến sườn lên để nhận Frame truyền sau.
Hình 2.36: Dạng tín hiệu từ remote sony.
Phần đầu tiên của tín hiệu có độ dài 3T bằng 1800us gọi là header hay start bit. Các bit còn lại được mã hóa như sau:
- 500us im lặng + 700us hồng ngoại = bit 0 - 500us im lặng + 1300us hồng ngoại = bit 1
Hình 2.37: Tín hiệu thu được từ remote sony.
Bit start đặt là bit B0, bit cuối là B11. Với 7 bit đầu là bit lệnh, 5 bit cuối là bit địa chỉ. Vì các tín hiệu đều lấy từ cùng remote nên ta chỉ cần giải mã 7 bit lệnh đầu tiên.
Hình 2.38: Tín hiệu sau khi qua mắt thu hồng ngoại.