You are on page 1of 24

Sun Technologies WwW.suno.

vn Chia sẽ = Phát triển

PT2262/PT2272 Encoding/Decoding With PIC C


PT2262/PT2272 Mã hóa/Giải mã Với PIC C

--- 1 ---
Tác giả: CSKiller
Sun Technologies WwW.suno.vn Chia sẽ = Phát triển

MỤC LỤC

I. Giới thiệu ..................................................................................................................3


I.1. Tổng quan về PT2262/2272.................................................................................................................3
I.2. Ứng dụng...........................................................................................................................................3
I.3. Mã hóa/Giải mã PT2262/2272.............................................................................................................4
II. Mã hóa với PT2262......................................................................................................5
II.1. Biểu diễn Bit code mã hóa.................................................................................................................5
II.2. Bit đồng bộ(Synchronous Bit).............................................................................................................6
II.3. Từ mã(Code Word)............................................................................................................................6
II.4. Khung truyền(Code Frame)................................................................................................................7
III. Giải thuật và lập trình mã hóa.......................................................................................7
III.1. Giải thuật........................................................................................................................................7
III.2. Lập trình..........................................................................................................................................8
III.2.1. Thiết lập timing.........................................................................................................................8
III.2.2. Quy ước mã hóa địa chỉ.............................................................................................................8
III.2.3. Thực hiện mã hóa các từ mã......................................................................................................9
III.2.4. Phát dữ liệu..............................................................................................................................9
IV. Giải mã PT2272.......................................................................................................11
V. Lập trình giải mã.......................................................................................................12
V.1. Xác lập timing.................................................................................................................................12
V.2. Xử lý Interrupt /Polling....................................................................................................................13
V.2.1. Sử dụng Interrupt.....................................................................................................................13
V.2.2. Sử dụng Polling........................................................................................................................14
V.3. Giải mã...........................................................................................................................................14
VI. Ứng dụng...............................................................................................................17
VI.1. Remote điều khiển........................................................................................................................17
VI.2. Mạch phát dùng MCU....................................................................................................................17
VI.3. Mạch thu dùng PT2272..................................................................................................................19
VI.4. Mạch thu điều khiển......................................................................................................................20

--- 2 ---
Tác giả: CSKiller
Sun Technologies WwW.suno.vn Chia sẽ = Phát triển

I. Giới thiệu
I.1. Tổng quan về PT2262/2272
o PT2262/2272 là sản phẩm của Princeton Technology sử dụng trong các ứng
dụng điều khiển từ xa.
o Cách thức mã hóa cũng như giải mã của PT2262/2272 đã được mô tả rất chi tiết
trong datasheet của nhà sản xuất.

Cặp chip thu phát PT2262/2272


I.2. Ứng dụng
o Remote phát sử dụng PT2262 với IR hoặc RF.

Remote RF sử dụng PT2262


o Ứng dụng điều khiển mạch từ xa

--- 3 ---
Tác giả: CSKiller
Sun Technologies WwW.suno.vn Chia sẽ = Phát triển

Mạch điều khiển sử dụng PT2272


I.3. Mã hóa/Giải mã PT2262/2272
o Trong 1 số ứng dụng thì việc sử dụng software để thực hiện việc mã hóa/giải mã
sẽ giúp giảm chi phí và đơn giản hóa thiết kế rất nhiều.
o Để thực hiện việc mã hóa/giải mã thì trước tiên cần phải nắm vững cách thức mã
hóa/giải mã của PT2262/2272 để đưa ra giải thuật thực hiện đơn giản và hiệu quả
nhất.

Sử dụng PT2262 mã hóa phím điều khiển

--- 4 ---
Tác giả: CSKiller
Sun Technologies WwW.suno.vn Chia sẽ = Phát triển

Sử dụng PT2272 giải mã phím điều khiển


o Sử dụng vi điều khiển PIC và CCS C là 1 cách hiện thực mã hóa/giải mã, đơn
giản vì chương trình viết bằng C, dễ dàng sử dụng lại như 1 module cho các ứng
dụng khác.

Sử dụng MCU mã hóa/giải mã thay cho PT2262/2272

II. Mã hóa với PT2262


II.1. Biểu diễn Bit code mã hóa
 Cơ bản PT2262 sử dụng mỗi Bit gồm 3 trạng thái 0,1 và f. Mỗi trạng thái sẽ có
1 kiểu mã hóa Bit code khác nhau. Mỗi Bit code mã hóa chứa trong 32 chu kì tần
số mã hóa của OSC(32 α).

--- 5 ---
Tác giả: CSKiller
Sun Technologies WwW.suno.vn Chia sẽ = Phát triển

Waveform của các Bit code


II.2. Bit đồng bộ(Synchronous Bit)
 Là Bit được thêm vào trong 1 khung truyền để giúp đồng bộ hóa quá trình mã
hóa/giải mã. Độ dài của Sync Bit là bằng 4 lần độ dài 1 bit địa chỉ/dữ liệu tức 128
α.

Waveform của Sync Bit


II.3. Từ mã(Code Word)
 Cấu trúc việc truyền các Bit địa chỉ/ dữ liệu và Bit đồng bộ của PT2262 được
xác định như sau:

Cấu trúc 1 từ mã 9 bits địa chỉ/3 bits dữ liệu


 Với dòng PT2262 sử dụng 6 bits địa chỉ và 6 bits dữ liệu thì từ mã này được
biểu diễn:

 Như vậy với các dòng PT2262 với số đường địa chỉ/dữ liệu khác nhau ta có
các Code Word khac nhau theo dạng sau:

--- 6 ---
Tác giả: CSKiller
Sun Technologies WwW.suno.vn Chia sẽ = Phát triển

Các dòng PT2262 với số lượng bit địa chỉ/dữ liệu khác nhau

II.4. Khung truyền(Code Frame)


 Một khung truyền bao gồm 4 từ mã(Code Word) phát liên tục nhau ra chân
DOUT của PT2262 khi chân /TE là tích cực(/TE tích cục mức thấp).

Cấu trúc 1 khung truyền được gởi

III. Giải thuật và lập trình mã hóa


III.1. Giải thuật
 Mỗi bit sử dụng trong PT2262 có độ dài 32α thay thế bằng 8 bits 1,0 liên tục(1
Byte). Theo biểu diễn này ta có:

Timing của phần mã hóa các bit


 Bit 0 được thay thế bằng chuỗi 10001000
 Bit 1 được thay thế bằng chuỗi 11101110
 Bit f được thay thế bằng chuỗi 10001110
 Sync Bit được thay thế bằng chuỗi : 10000000|00000000|00000000|00000000
 Như vậy các Bit Code khi phát đi sẽ được được thay thế bằng chuỗi bit mã
hóa nó. Ví dụ 1 từ mã Code Word PT2262 muốn phát là “11110000|1010|
SyncBit” (8 bits địa chỉ|4 bits dữ liệu|1 Sync Bit) sẽ được mã hóa thành chuỗi
128 bit là:

--- 7 ---
Tác giả: CSKiller
Sun Technologies WwW.suno.vn Chia sẽ = Phát triển

11101110.11101110.11101110.11101110.10001000.10001000.10001000.1000
1000|11101110.10001000.11101110.10001000|11101110.00000000. 00000000.
00000000
 Thực hiện việc gởi 4 lần 1 từ mã(Code Word) để tạo 1 khung truyền.
III.2. Lập trình
III.2.1. Thiết lập timing
 Sử dụng Timer để thực hiện việc truyền các bit dữ liệu, do đó cần phải xác
định và tính toán các giá trị timing của tốc độ truyền.

 Các giá trị timing này có thể thay đổi bằng việc tính toán lại các giá trị:

III.2.2. Quy ước mã hóa địa chỉ


 Vì PT2262/2272 sử dụng các bit địa chỉ là 3 trạng thái 0,1 và f, do đó cách
biểu diễn địa chỉ này là cơ số 3, với 8 bits địa chỉ ta có tối đa “3 mũ 8” địa chỉ
được mã hóa.

--- 8 ---
Tác giả: CSKiller
Sun Technologies WwW.suno.vn Chia sẽ = Phát triển

 Để đơn giản hóa việc sử dụng các bits 3 trạng thái này ta chuyển về số thập
phân 32 bits có 8 chữ số với mỗi ký số biểu diễn 1 bits 3 trạng thái này với quy
ước:
 Số 0 biểu diễn mức 0
 Số 1 biễu diễn mức 1
 Số 2 biểu diễn mức f
 Giả sử địa chỉ thập phân 11112200 là địa chỉ đã mã hóa của 8 bits địa chỉ A0-
A7: 1111ff00. Ngược lại với giá trị mặc định(các chân địa chỉ để hở) 8 địa chỉ A0-
A7 của PT2262 là ffffffff sẽ được biểu diễn bằng số thập phân 22222222.
III.2.3. Thực hiện mã hóa các từ mã
 Áp dụng quy tắc mã hóa theo cách trên ta có định nghĩa:

 Với 1 từ mã Code Word thông thường có độ dài là 128 bits tức sử dụng 1 bộ
đệm 16 Bytes để chứa kết quả chuỗi Code Word sau mã hóa.
 Giả sử thực hiện việc mã hóa 8 bits địa chỉ, 4 bits dữ liệu và 1 Sync Bit ta có:

III.2.4. Phát dữ liệu


 Sử dụng Timer với các giá trị timing được xác định ở 1 tốc độ đã được xác
định trước.

--- 9 ---
Tác giả: CSKiller
Sun Technologies WwW.suno.vn Chia sẽ = Phát triển

 PT2262 phát mỗi khung truyền(Code Frame) chứa 4 từ mã(Code Word), do


đó cần thực hiện việc lặp gởi các bits dữ liệu trong bộ đệm 4 lần.

Thiết lập truyền 4 lần bộ đệm 128 bits

Hàm kiểm tra việc truyền bộ đệm dùng trong timer

--- 10 ---
Tác giả: CSKiller
Sun Technologies WwW.suno.vn Chia sẽ = Phát triển

IV. Giải mã PT2272


o Thực hiện giải mã ngược lại quá trình mã hóa của PT2262 để thu được kết quả
dữ liệu.
o Trong Waveform của mã hóa PT2262 các bit 1,0 có những khoảng thời gian xác
định, dựa vào khoảng thời gian này để xác định các bit đã phát

o Các thời khoảng bit có thể có là 4α,12α và 127α tương ứng với độ dài 1bit, 3 bits
và 31.5 bits.
o Việc đo các thời khoảng bit này thực hiện khi có sự thay đổi trạng thái của tín
hiệu. Các điểm đỏ sẽ đánh dấu việc kết thúc đo thời gian bit 0 và bắt đầu đo cho bit
1, ngược lại các điểm xanh kết thúc việc đo thời gian của bit 1 và bắt đầu đo cho bit
0.

Thực hiện đo thời khoảng bit


o Gọi T1 và T2 là khoảng thời gian đo được của xung 1 và 0 liên tiếp nhau thì ta có
bảng giải mã các bits:

T1 T2 Code
1bit 3bits 4 bits 1000
3bit 1bits 4 bits 1110
1bit 31.5bits Sync Bit
Khác Khác Lỗi

--- 11 ---
Tác giả: CSKiller
Sun Technologies WwW.suno.vn Chia sẽ = Phát triển

o Với mỗi cặp 4 bits thu được liên liếp nhau ta lại thu được kết quả giải mã tương
ứng:
4 bits cao 4 bits thấp Kết quả giải mã
1000 1000 0
1000 1110 f
1110 1110 1
1110 1000 Lỗi

o Thực hiện lần lượt 12 bits địa chỉ/ dữ liệu và 1 Sync Bit ta sẽ thu được 1 từ
mã(Code Word).
o Vì PT2262 phát 1 khung truyền gồm 4 từ mã(Code Word) nên khi ta thu liên tiếp
các từ mã(Code Word) giống nhau thì có nghĩa chắc chắn dữ liệu đã được giải mã
đúng.

V. Lập trình giải mã


V.1.Xác lập timing
 Giống với phần phát, phần thu phải xác định tần số mã hóa bên phát bằng
cách xác định các giá trị timing.

 Các giá trị timing này có thể thay đổi bằng việc tính toán lại các giá trị:

--- 12 ---
Tác giả: CSKiller
Sun Technologies WwW.suno.vn Chia sẽ = Phát triển

V.2.Xử lý Interrupt /Polling


V.2.1. Sử dụng Interrupt
 Việc sử dụng interrupt sẽ giúp quá trình xử lý không liên tục các tín hiệu
thu từ mạch RF mà thay vào đó là kiểm tra các điểm thay đổi được thiết lập
bởi ngắt.
 Dùng interrupt sẽ giúp vi điều khiển có thể thực hiện các thao tác điều
khiển, xủ lý khác trong quá trình giải mã.
 Tuy nhiên các giải thuật sử dụng interrupt phải đảm bảo không tạo các
trạng lái vòng lặp không xác định điều kiện thoát, tránh sử dụng các giải
thuật gây cấm ngắt.

Khởi động ngắt ngoài

--- 13 ---
Tác giả: CSKiller
Sun Technologies WwW.suno.vn Chia sẽ = Phát triển

Hàm xử lý trong ngắt


V.2.2. Sử dụng Polling
 Thực hiện việc lặp kiểm tra liên tục ngõ vào của chân thu trong chương
trình thay cho chức năng interrupt.

V.3.Giải mã
 Các trạng thái giải mã gồm: Trạng thái sẵn sàng nhận, trạng thái kiểm tra có
dữ liệu nhận, trạng thái kiểm tra nhận Sync Bit.

Định nghĩa các trạng thái giải mã


 Kiểm tra độ dài của 2 bit 1 và 0 liên tiếp nhau để xác định chuỗi bit mã hóa

--- 14 ---
Tác giả: CSKiller
Sun Technologies WwW.suno.vn Chia sẽ = Phát triển

 Điều kiện để biết nhận đủ 12 bits địa chỉ/ dữ liệu là đã thực hiện nhận đủ 96
bits trong bộ đệm

 Thực hiện việc kiểm tra Sync Bit để biết nhận đúng 1 từ mã(Code Word)

 Thực hiện việc giải mã thông tin địa chỉ thu được từ bộ đệm, theo quy ước địa
chu thu được là 1 số 32 bits:

--- 15 ---
Tác giả: CSKiller
Sun Technologies WwW.suno.vn Chia sẽ = Phát triển

 Thực hiện việc giải mã dữ liệu thu được từ bộ đệm:

--- 16 ---
Tác giả: CSKiller
Sun Technologies WwW.suno.vn Chia sẽ = Phát triển

VI. Ứng dụng


VI.1. Remote điều khiển
 Sử dụng loại remote sử dụng PT2262/SC2262 với điện trở Rosc là 4M7.
 Tần số phát của mạch RF là 315 MHz.
 Số lượng phím điều khiển tùy thuộc vào loại remote 4,6,8 hoặc12.

VI.2. Mạch phát dùng MCU


 Sử dụng PIC12F683 để phát tín hiệu thay cho Remote.
 Cấu hình dao động trong 8MHz.
 Không sử dụng chức năng Master Clear trên chân GP3 để có thể dùng như 1
IO nếu cần(Disable Master Clear).
 Sử dụng chân phát dữ liệu GP5.
 Các input trên mạch thu được điều khiển bởi 3 bits trong 4 bits của phần dữ
liệu phát.

--- 17 ---
Tác giả: CSKiller
Sun Technologies WwW.suno.vn Chia sẽ = Phát triển

 Khai báo sử dụng thư viện mã hóa:

 Chương trình main đọc phím nhấn và gởi dữ liệu:

--- 18 ---
Tác giả: CSKiller
Sun Technologies WwW.suno.vn Chia sẽ = Phát triển

 Kết quả biên dịch:

Kết quả biên dịch


VI.3. Mạch thu dùng PT2272
 Mạch thu dùng PT2272-L4.
 Điện trở R của OSC là 820K tương ứng với ROSC của remote là 4.7M.

--- 19 ---
Tác giả: CSKiller
Sun Technologies WwW.suno.vn Chia sẽ = Phát triển

VI.4. Mạch thu điều khiển


 Sử dụng PIC12F683 để thu tín hiệu.
 Cấu hình dao động trong 8MHz.
 Không sử dụng chức năng Master Clear trên chân GP3 để có thể dùng như 1
IO nếu cần(Disable Master Clear).
 Sử dụng ngắt ngoài (external interrupt on RA2) để thực hiện việc giải mã.
 Các Output trên mạch thu được điều khiển bởi 3 bits trong 4 bits của phần dữ
liệu nhận được.

--- 20 ---
Tác giả: CSKiller
Sun Technologies WwW.suno.vn Chia sẽ = Phát triển

 Khai báo sử dụng thư viện giải mã

 Hàm xử lý IO khi nhận được dữ liệu

Hàm sẽ được gọi mỗi khi nhận được dữ liệu


 Hàm main khi sử dụng interrupt:

--- 21 ---
Tác giả: CSKiller
Sun Technologies WwW.suno.vn Chia sẽ = Phát triển

 Hàm main khi sử dụng polling

--- 22 ---
Tác giả: CSKiller
Sun Technologies WwW.suno.vn Chia sẽ = Phát triển

 Kết quả biên dịch:

Kết quả biên dịch

--- 23 ---
Tác giả: CSKiller
Sun Technologies WwW.suno.vn Chia sẽ = Phát triển

Tài liệu tham khảo:


1. PT2262 Datasheet.
2. PT2272 Datasheet.

--- 24 ---
Tác giả: CSKiller

You might also like