Đồ án VĐK : Điều khiển động cơ từ xa bằng hồng ngoại
PHẦN 1: SƠ LƯỢC VỀ MCU PHILIPS P89V51Rx2
Đối với đa số sinh viên đều biết đến vi điều khiển gắn liền với dòng
chip của hãng Atmel như: AVR, 89c51, 89s52 ...
Cùng với sự phát triển và nhu cầu về ứng dụng vi điều khiển ngày một
cao các dòng chip mới ra đời, nhiều tính năng và dễ dàng hơn cho người
lập trình. Trong số đó phải kể đến dòng chip hãng Phillip với các MCU
như P89V51RD2, P89V51RC2, P89V5RB2…
Để giới thiệu về dòng chip này xin lấy MCU P89V51RD2 làm điển hình.
1/ Khái qt tính năng:
+ Khái qt:
ϒ P89V51RD2 là vi điều khiển 80C51 có 64kB Flash và
1024bytes<1kB> bộ nhớ dữ liệu RAM.
ϒ Tính năng đặc biệt của P89V61RD2 là ở chế độ hoạt động mode x2.
Người thiết kế có thể chọn chạy ứng dụng của mình ở chế độ này để nâng
đôi tốc độ khi hoạt động ở cùng tần số dao độngxung nhịp>. Tốc độ thông thường của 80c51 là 12 xung nhịp trong 1 chu kì
máy.
ϒ Bộ nhớ chương trình Flash cho phép lập trình ISP hoặc/và song song.
Chế độ lập trình song song được đưa ra để thích ứng với tốc độ cao, giảm
thời gian và giá thành.
Chức năng ISP cho phép ta nạp chương trình trực tiếp vào chip ngay trên
mạch ứng dụng.
ϒ P89V51RD2 cịn có chức năng IAP (In_Application Program) cho
phép bộ nhớ chương trình Flash có thể được cấu hình lại trong khi ứng
dụng đang chạy.
+ Một số tính năng:
ϒ CPU 80C51.
ϒ Hoạt động ở 5 VDC trong tầm tần số dao động 0 đến 40MHz.
ϒ 64kB ISP.
ϒ SPI (Serial Peripheral Interface) và chức năng UART được cải tiến.
SPI cho phép truyền dữ liệu đồng bộ với tốc độ cao giữa chip Phillip với
các thiết bị ngoại vi khác hay giữa chip phillip với nhau.
ϒ PCA (Program counter array) với chức năng PWM/capture/compare
16bits.
ϒ 4 cổng xuất nhập.
ϒ 3 Timers/Couters 16bits.
ϒ Watchdog Timer có thể lập trình được.
ϒ 8 nguồn ngắt với 4 mức ưu tiên ngắt. Nó cũng có ngắt ngồi, timer,
nối tiếp như 89x, ngồi ra cịn có ngắt bởi PCA, UART/SPI.
ϒ 2 thanh ghi DPTR.
ϒ Tương thích mức logic TTL và CMOS.
ϒ Phát hiện nguồn yếu <Brownout Detect>
ϒ Chế độ Low-power, Power down, Idle.
NTH: Phan Hồng Định & Ơng Thế Khương Lớp 04CDT_DHBK ĐN 1
Đồ án VĐK : Điều khiển động cơ từ xa bằng hồng ngoại
Có thể khái quát bằng sơ đồ khối :
Hình 1: Sơ đồ khối MCU P89V51RD2
2/ Khái quát về phần cứng :
Sơ đồ chân
:
NTH: Phan Hồng Định & Ơng Thế Khương Lớp 04CDT_DHBK ĐN 2
Đồ án VĐK : Điều khiển động cơ từ xa bằng hồng ngoại
2.1/ Sơ qua về các chân của vi điều khiển:
- Port 0, Port 1, Port 2, Port 3: Như cấu trúc 8051 kinh điển.
- P1.0 / T2: Ngõ vào Counter cho Timer/Counter 2 hoặc ngõ ra cho
Counter/Timer 2.
- P1.1 / T2EX: Điều khiển hướng và cạnh kích chức năng Capture
cho timer/Counter 2.
- P1.2 / ECI: Ngõ vào xung nhịp. Tín hiệu này là nguồn xung nhịp
ngồi cho chức năng PCA.
- P1.3 / CEX0: ngõ vào xung nhịp cho chức năng Capture/Compare
modul 0.
- P1.4:
o SS : Chọn cổng phụ vào cho SPI.
o CEX1: ngõ vào xung nhịp cho chức năng Capture/Compare
modul 1.
- P1.5:
o MOSI: phục vụ SPI
o CEX2: ngõ vào xung nhịp cho chức năng Capture/Compare
modul 2.
- P1.6:
o MISO: phục vụ SPI
o CEX3: ngõ vào xung nhịp cho chức năng Capture/Compare
modul 3.
- P1.7:
o SCK: phục vụ SPI
o CEX4: ngõ vào xung nhịp cho chức năng Capture/Compare
modul 4.
-P S E N
: Cho phép dùng bộ nhớ chương trình ngồi. Khi MCU
sử dụng bộ nhớ chương trình trong chip, P S E N khơng tích cực. Khi
sử dụng bộ nhớ chương trình ngồi, P S E N thường ở mức tích cực 2
lần trong mỗi chu kì máy. Sự chuyển mức cao sang thấp ↓ trên P S E
N cưỡng bức từ bên ngoài khi ngõ vào RST đang ở mức cao trong
hơn 10 chu kì máy sẽ đưa MCU vào chế độ lập trình host từ bên
ngồi.
- RST: Khi nguồn dao động đang hoạt động, mức cao trên chân RST
trong ít nhất 2 chu kì máy sẽ Reset lại hệ thống. Nếu chân P S EN
chuyển mức ↓
trong khi RST vẫn còn ở mức cao, MCU sẽ vào
chế độ lập trình host từ bên ngồi, nếu khơng, sẽ hoạt động bình
thường.
- E A : Cho phép sử dụng bộ nhớ chương trình ngồi.
o E A =’0’ Bộ nhớ ngồi.
o E A =’1’ Bộ nhớ trong chip.
- ALE/ PROG : Cho phép khóa địa chỉ<Như 8051 cổ điển> ngồi ra,
chân này cịn được dùng để đưa vào chế độ lập trình FLASH.
2.2/ Tổ chức bộ nhớ:
MCU P89V51RD2 có 2 vùng khơng gian địa chỉ riêng biệt: vùng lưu
trữ cho bộ nhớ chương trình và cùng địa chỉ cho bộ nhớ dữ liệu
Harvard>
NTH: Phan Hồng Định & Ơng Thế Khương Lớp 04CDT_DHBK ĐN 3
Đồ án VĐK : Điều khiển động cơ từ xa bằng hồng ngoại
2.2.1/ Lựa chọn bank bộ nhớ chương trình flash:
Có 2 vùng bộ nhớ nội flash trong MCU, Block 0 có 64kB và được tổ
chức thành 512 sector, mỗi sector chứa 128 Bytes. Block 1 chứa chương
trình ISP/IAP và được kích hoạt khi chọn kết hợp bit reset mềm
(SWR)<FCF.1> và bit chọn bank (BSEL) <FCF.0>. Sự kết hợp này
được thể hiện trong bảng dưới đây :
Nếu chế độ IAP/ISP được enable thì đoạn bootcode được đặt ở 8kB
đầu tiên. Quá trình tuần tự sau khi nguồn được bật: chương trình boot sẽ tự
động thực thi và cố gắng lấy tín hiệu autobaud từ máy chủ. Nếu khơng có
autobaud xảy ra trong vịng 400ms và bit cờ SoftICE khơng được bật,
chương trình boot sẽ tự động vào đoạn chương trình được người dùng lập
trình.
2.2.2/ Thực thi đoạn code Reset nguồn sau khi bật nguồn:
reset code execution>
Khi mới cấp điện vào MCU, tất cả các port đều ở trạng thái bất kì nào
đó tới khi oscillator bắt đầu hoạt động và quá trình reset kéo tất cả các pin
lên mức cao. Q trình bật nguồn mà khơng đi đơi với việc Reset MCU hợp
lý sẽ dẫn tới tình trạng ta không biết MCU thực thi lệnh ở vùng nhớ nào.
Điều đó có thể dẫn đến mã lệnh trong flash bị thay đổi. Reset hệ thống trong
khi chương trình đang hoạt động sẽ khơng có ảnh hưởng tới RAM của
MCU, tuy nhiên, nội dung của vùng nhớ RAM trên chip trong quá trình bật
nguồn là các giá trị ngẫu nhiên.
Khi bắt đầu mở nguồn, chân RST phải được giữ ở mức cao một
khoảng thời gian đủ cho oscillator khởi động
| với dao động ở tần số thấp>, thêm nữa, để quá trình reset là hợp lệ, cần giữ
mức cao ít nhất 2 chu kì máy. Các giá trị trở và tụ được chọn trên hình 3:
NTH: Phan Hồng Định & Ơng Thế Khương Lớp 04CDT_DHBK ĐN 4
Đồ án VĐK : Điều khiển động cơ từ xa bằng hồng ngoại
Hình 3: Mạch Reset hợp lệ
Nói một cách dễ hiểu, để quá trình Reset là hợp lệ, ta nên mắc mạch
RC như hình3. Khi dùng ở chức năng ISP/ICP, cần thêm một Push button
kéo lên nguồn như hình5. Q trình Reset ngồi<chỉ nhấn nút RESET> và
POR là có tác dụng như nhau.
Hình 4: Mạch MCU P89V51RD2 khi sử dụng ISP
Q trình Reset ngồi và reset khi bật nguồn sẽ làm cho các bit SWR
và BSEL mang giá trị 0. MCU sẽ thực thi đoạn bootcode tại 8kB đầu tiên
(block 1) và cố gắng lấy tín hiệu autobaud, trong khoảng 400ms ko nhận
được tín hiệu autobaud và cờ solfICE khơng tích cực MCU chuyển sang
thực thi user code cùng địa chỉ (block 0),tức là thực hiện quá trình solfware
reset. Ngồi ra cịn có các chế độ reset khác : Brown-out reset, Watchdog
reset.
Trạng thái của bit SWR và BSEL sau các kiểu reset được thể hiện
trong bảng sau:
NTH: Phan Hoàng Định & Ông Thế Khương Lớp 04CDT_DHBK ĐN 5
Đồ án VĐK : Điều khiển động cơ từ xa bằng hồng ngoại
2.3/ Bộ nhớ RAM và các thanh ghi chức năng đặc biệt (SFRs):
MCU P89V51RB2/RC2/RD2 có RAM của bộ nhớ nội 1kB và có khả
năng giao tiếp bộ nhớ ngồi lên tới 64kB.
Có 4 đặc điểm đáng lưu ý về bộ nhớ nội là :
1. 128 bytes thấp của RAM (00-7Fh) có byte được định địa chỉ trực
tiếp hoặc không trực tiếp.
2. 128 bytes cao hơn (80h-FFh) được định địa chỉ không trực tiếp.
3. Chỉ các thanh ghi chức năng đặc biệt (80h-FFh) được định địa chỉ
trực tiếp.
4. 768 bytes của Expanded Ram (000h-2FFh) được định địa chỉ
không trực tiếp bởi lệnh MOVX và việc xóa bit EXTRAM.
128 bytes cao của RAM có cùng địa chỉ với SFRs, RAM phải truy cập
gián tiếp. Vùng không gian RAM và SFRs là phân biệt về mặt vật lý ngay cả
khi chúng có cùng địa chỉ logic.
Hình 5: Cấu trúc bộ nhớ nội
NTH: Phan Hồng Định & Ơng Thế Khương Lớp 04CDT_DHBK ĐN 6
Đồ án VĐK : Điều khiển động cơ từ xa bằng hồng ngoại
Các thanh ghi chức năng đặc biệt
NTH: Phan Hồng Định & Ơng Thế Khương Lớp 04CDT_DHBK ĐN 7
Đồ án VĐK : Điều khiển động cơ từ xa bằng hồng ngoại
NTH: Phan Hồng Định & Ơng Thế Khương Lớp 04CDT_DHBK ĐN 8
Đồ án VĐK : Điều khiển động cơ từ xa bằng hồng ngoại
NTH: Phan Hồng Định & Ơng Thế Khương Lớp 04CDT_DHBK ĐN 9
Đồ án VĐK : Điều khiển động cơ từ xa bằng hồng ngoại
3/ Mô tả chức năng :
Trong phần khái qt tính năng tơi đã đề cập đến các tính năng của
MCU Phillip. Ở phần này xin được đi sâu hơn ở tính năng : Tạo tốc độ baud
UART và các chức năng PCA.
3.1/ Tạo tốc độ baud UART :
Bit TCLK và/hoặc RCLK trong thanh ghi T2CON cho phép chọn
nguồn sinh tốc độ Baud UART truyền phát từ timer1 hoặc 2:
SCON: SM0-SM1 quyết định mode UART tốc độ baud.
TI: cờ ngắt truyền phát.
RI: cờ ngắt thu nhận.
REN: cho phép thu.
SM2= ‘1’ UART mode 2 và 3, cho phép truyền thông đa xử lý.
Khi TCLK = 0, Timer 1 là nguồn sinh tốc độ Baud,
Khi TCLK = 1, Timer 2 là nguồn sinh tốc độ Baud.
Ở đây ta xét đến trường hợp Timer 2 được dung làm nguồn sinh tốc độ baud
Nếu Timer 2 ở chế độ ‘counter’ ( C/T2 = 1) thì tốc độ baud ở mode UART 1
và 3 được tính theo cơng thức :
Mode 1 & 3 baud rate = Timer 2 over flow/ 16
Trong trường hợp timer 2 ở chế độ ‘timer’ thì tốc độ baud được tính theo
cơng thức:
Oscillator Frequency
Baud rate = ---------------------------------------------(16 x (65536 – (RCAP2H RCAP2L)))
Với RCAP2H - RCAP2L là giá trị integer 16bit khơng dấu.
NTH: Phan Hồng Định & Ơng Thế Khương Lớp 04CDT_DHBK ĐN 10
Đồ án VĐK : Điều khiển động cơ từ xa bằng hồng ngoại
Hình 6: Timer 2 ở chế độ sinh tốc độ baud
Ta có bảng thống kê một số giá trị tốc độ baud tương ứng với các giá trị
trong RCAP2L và RCAP2H :
NTH: Phan Hồng Định & Ơng Thế Khương Lớp 04CDT_DHBK ĐN 11
Đồ án VĐK : Điều khiển động cơ từ xa bằng hồng ngoại
3.2/ Chức năng PCA :
Chức năng nổi bật của P89V51RD2 là có 5 kênh PCA, các thanh ghi
chịu tác động: CMOD, CCON, CCAPMn.
Hình 7: Hệ thống các ngắt của PCA
a. Thanh ghi chức năng đặc biệt CMOD:
Có thể can thiệp vào từng bit, chức năng các bit được thể hiện trong bảng :
PCA là Timer 16bit đặc biệt, gồm 5 modul. Mỗi modul có thể lập
trình để vận hành 1 trong 4 chế độ: capturecạnh lên/xuống, timer, ngõ ra tốc
độ cao, hay PWM. Timer PCA thể vận hành nhờ các nguồn xung nhịp:
½OscFreq ; 1/6OscFreq; tốc độ tràn của timer 0; hay từ ngõ vào trên chân
ECI(P1.2). Nguồn xung nhịp của PCA được chọn nhờ các bit CPS1-CPS0
trên thanh ghi đa dụng CMOD.
NTH: Phan Hồng Định & Ơng Thế Khương Lớp 04CDT_DHBK ĐN 12
Đồ án VĐK : Điều khiển động cơ từ xa bằng hồng ngoại
b.
Thanh ghi chức năng đặc biệt CCON:
c.
Thanh ghi chức năng so sánh/capture cho các modul PCA: CCAPMn
d.
Các chế độ hoạt động của PCA :
NTH: Phan Hoàng Định & Ông Thế Khương Lớp 04CDT_DHBK ĐN 13
Đồ án VĐK : Điều khiển động cơ từ xa bằng hồng ngoại
+ Chế độ Capture :
Phải có ít nhất 1 bit trong CAPP hoặc CAPN được bật; sự chuyển
mức CEX sẽ thành ngõ vào Capture cho modul này.Khi có sự chuyển mức
hợp lệ trên CEX, phần cứng của modul PCA sẽ tự nạp các giá trị thanh ghi
Timer/Counter của PCA (CH và CL) vào các thanh ghi Capture modul PCA
đó <CCAPnL, CCAPnH>. Xem hình vẽ dưới để thấy rõ hơn chức năng đấy.
Hình 8: Chế độ Capture của PCA
NTH: Phan Hồng Định & Ơng Thế Khương Lớp 04CDT_DHBK ĐN 14
Đồ án VĐK : Điều khiển động cơ từ xa bằng hồng ngoại
+ Chức năng PWM của PCA :
Hình 9: Chế độ PWM của PCA.
Ở chức năng này, giá trị ở ngõ ra CEX phụ thuộc vào giá trị của 2
thanh ghi: CCAPnL và CL, khi CL tăng lớn hơn CCAPnL thì CEX sẽ
chuyển sang mức 1, ngược lại, sẽ ở mức 0, mỗi lần tràn cờ, CCAPnL sẽ nạp
lại giá trị từ CCAPnH, chính điều này cũng cho phép ta cập nhật duty cycle
mới mà không gây ảnh hưởng tới q trình PWM.
Chức năng PWM này có độ phân giải 8 bit, tức là ta được 256 mức
chia <tương đối mịn với áp 24V thì mỗi mức sẽ được 24/256≈94mV>.
NTH: Phan Hồng Định & Ơng Thế Khương Lớp 04CDT_DHBK ĐN 15
Đồ án VĐK : Điều khiển động cơ từ xa bằng hồng ngoại
Phần 2: DỤNG VI ĐIÊU KHIÊN TRONG ĐIỀU KHIỂN
ĐỘNG CƠ DC BẰNG SÓNG HỒNG NGOẠI
Với những ưu điểm của mình và nhu cầu của đời sống mà phạm vi ứng dụng
của VI ĐIỀU KHIỂN ngày càng rộng rãi. Điều khiển động cơ là một trong
những ứng dụng đặc trưng của vi điều khiển. Với đề tài này chúng tôi rất
mong được sự ủng hộ của thầy cô và các bạn sinh viên.
1.1/ Giới thiệu sơ lược về hồng ngoại:
1.1.1/ Hồng ngoại là gì ?
Hồng ngoại là sự bức xạ năng lượng với tần số thấp hơn tần số mà
mắt ta nhìn thấy . Vì vậy chúng ta khơng thể nhìn thấy nó được. Tuy nhiên
như chúng ta đều biết mặc dù khơng “nhìn” thấy tần số âm thanh nhưng
chúng ta biết rằng nó tồn tại và tai ta có thể nghe thấy chúng.
Ta khơng thể nhìn thấy hay nghe thấy hồng ngoại nhưng ta có thể cảm thấy
nó từ sự cảm ứng nhiệt trên da. Khi bạn đưa tay tới gần ngọn lửa hoặc những
vật nóng , bạn sẽ cảm thấy nhiệt dù bạn khơng nhìn thấy. Bạn nhìn thấy
ngọn lửa là bởi vì nó phát ra nhiều loại bức xạ mắt ta có thể nhìn thấy, đồng
thời nó cũng phát ra hồng ngoại mà ta chỉ có thể cảm nhận qua da.
1.1.2/ Hồng ngoại trong điện tử:
Hồng ngoại thật thú vị, bởi vì nó được tạo ra 1 cách dễ dàng và không bị ảnh
hưởng bởi nhiễu điện từ do đó nó được sử dụng một cách rộng rãi và tiện lợi
trong thông tin và điều khiển. Tuy nhiên nó khơng hồn hảo, nhiều nguồn
sáng khác nhau có thể phát ra hồng ngoại và có thể gây nhiễu đến thơng tin
này. Mặt trời là một ví dụ, nó phát ra một khoảng phổ rất rộng trong đó có
phổ hồng ngoại. Việc sử dụng hồng ngoại trong các thiết bị điều khiển từ xa
TV/VCR và nhiều ứng dụng khác cũng một phần là do các Diode phát và
thu hồng ngoại rất rẻ và sẵn có trên thị trường.
Như đã nói ở trên, nhiều thứ có thể tạo ra hồng ngoại, bất kỳ thứ gì bức xạ
nhiệt đều có khả năng đó. Bao gồm cơ thể chúng ta, đèn, lị vi sóng, chà sát
tay bạn vào nhau, thâm chí cả nước nóng nữa . Vì vậy để cho phép sự truyền
thông hiệu quả sử dụng hồng ngoại và tránh những tín hiệu nhiễu khơng
mong muốn phải sử dụng một “khố” để báo cho đầu thu đâu là tín hiệu có
ích, đâu là nhiễu. Khi nhìn lên bầu trời đêm bạn có thể thấy rất nhiều vì sao,
NTH: Phan Hồng Định & Ông Thế Khương Lớp 04CDT_DHBK ĐN 16
Đồ án VĐK : Điều khiển động cơ từ xa bằng hồng ngoại
nhưng bạn có thể dễ dàng nhận ra 1 chiếc máy bay bởi ánh sáng nhấp nháy
của nó. Ánh sáng nhấp nháy này cũng có thể coi là một “khoá” , một kiểu
mã hoá đối với chúng ta.
Tương tụ như máy bay trong bầu trời đêm ,TV của chúng ta cũng có thể
nhận hàng trăm nguồn hồng ngoại li ti từ cơ thể chúng ta, những chiếc đèn
xung quanh thậm chí là một tách trà nóng . Một cách để tránh những nguồn
hồng ngoại khác nhau là tạo ra một khố. Do đó, điều khiển từ xa dùng để
điều biến hồng ngoại của nó tại một tần số nào đó . Đầu thu hồng ngoại ở
TV/VCR sẽ đi theo tần số này mà lờ đi các hồng ngoại khác nhận được.
Khoảng tần số hay sử dụng là 3060KHz , tốt nhất là khoảng từ
3638KHz .Hồng ngoại phát ra từ các diode hồng ngoại theo các xung nhịp
với tần số 36000 lần một giây phát ra các mức logic “0” và “1”
Để tạo ra tần số 36 Khz là việc đơn giản, cái khó ở đây là thu và nhận dạng
nó . Đó là lý do tại sao nhiều công ty sản xuất ra thiết bị thu hồng ngoại bao
gồm những bộ lọc, mạch giải mã và sửa dạng đầu ra. Một xung vng chu
kỳ xấp xỉ 27µs đưa vào cực bazơ của Transistor có thể điều khiển 1 LED
hồng ngoại để truyền đi
Bạn có thể bật hoặc tắt tần số này tại đầu phát , đầu thu sẽ chỉ ra khi nào đầu
phát là bật hay tắt
NTH: Phan Hồng Định & Ơng Thế Khương Lớp 04CDT_DHBK ĐN 17
Đồ án VĐK : Điều khiển động cơ từ xa bằng hồng ngoại
Những bộ giải điều chế có mức logic đảo tại đầu ra khi có một gói hồng
ngoại được gửi, đầu ra ở mức tích cực thấp ,tương đương mức logic 1.
Để tránh việc một điều khiển từ xa Philip có thể thay đổi kênh của một TV
Panasonic..., người ta sử dụng các cách mã hoá khác nhau cho cùng một
khoảng tần số đó . Chúng sử dụng các kiểu tổ hợp bít khác nhau để mã hố
việc truyền dữ liệu và tránh nhiễu.
1.1.3/ Điều khiển TV SONY :
Sony sử dụng loại mã hóa độ rộng bít, đây là kiểu mã hoá đơn giản
cho việc giải mã.
Hãy xem xét khoảng thời gian nhỏ T cỡ 600µs. Mỗi bit truyền đi là sự
kết hợp của -T+T cho bít “0” và -T+2T cho bít ”1” .Vì vậy bit 0 có chiều dài
1200µs và bit 1 có chiều dài 1800µs.
Mức lên (+T) trong tín hiệu trên có nghĩa là hồng ngoại được truyền đi , mức
xuống (-T) nghĩa là khơng có.
Các nhà sản xuất tăng cường hiệu quả truyền tín hiệu bằng cách mở
rộng 1 chút khoảng thời gian sóng mang 36 KHz tích cực và rút ngắn
khoảng thời gian kia. Như vậy tín hiệu tử REMOTE SONY có dạng sóng
như sau:
NTH: Phan Hồng Định & Ơng Thế Khương Lớp 04CDT_DHBK ĐN 18
Đồ án VĐK : Điều khiển động cơ từ xa bằng hồng ngoại
Mỗi lần khi 1 tín hiệu hồng ngoại được truyền đi nó được mã hóa
thành 12 bit và Header (cũng có thể xem là Start bit).
_ Phần Header được truyền đi đầu tiên và có độ rộng 3T hay 1800us.
_ Tiếp theo là 12 bit được điều chế như sau:
500µs im lặng + 700µs hồng ngoại = bit 0
500µs im lặng +1300µs hồng ngoại = bit 1
Bit đầu tiên sau bit START là bit LSB, ta đặt tên nó là bit B0, bit cuối cùng
sẽ là B11
B0---B6 : 7 bit mã lệnh
B7---B11 : 5 bit địa chỉ
Nếu bạn sử dụng mắt nhận hồng ngoại có sẵn trên thị trường , tất cả dạng
sóng trên sẽ bị đảo lại như sau:
NTH: Phan Hồng Định & Ơng Thế Khương Lớp 04CDT_DHBK ĐN 19
Đồ án VĐK : Điều khiển động cơ từ xa bằng hồng ngoại
Để thu và giải mã được tín hiệu từ REMOTE SONY, thực tế ta khơng cần
thu tồn bộ 12 bit mã hoá. Ta chỉ cần thu 7 bit COMMAND và có thể bỏ qua
5bit địa chỉ, bởi với cùng một điều khiển thì tất cả các nút bấm đều phát ra
mã địa chỉ như nhau, chỉ khác nhau mã lệnh. Mã địa chỉ được SONY sử
dụng để phân biệt giữa các MODEL REMOTE SONY khác nhau.
2/ Thuật toán thu nhận tín hiệu hồng ngoại:
Để thu 7 bit mã lệnh ta có thuật tốn sau:
1. Thiết lập thanh ghi A = 01000000B
2. Khởi đầu bằng cách chờ tín hiệu xuống – Đây sẽ là bit START
3. Chờ cho tín hiệu lên - Đây là khởi đầu của bit
4. Chờ tín hiệu đi xuống
5. Chờ khoảng 750-950µs
6. Đo mức tín hiệu
7. Nếu mức tín hiệu là mức cao (UP) –Bit nhận được là bit 0
- Thiết lập bit nhớ C = 0 (bit mã lệnh thu được)
- Quay phải có nhớ A, như vậy C sẽ được gửi vào MSB của A, LSB của A
gửi vào C.
- Ban đầu, A = 01000000B thì sau khi quay ta có C = 0 và MSB của A là
bit đầu tiên của mã lệnh.
- Như vậy sau 7 lần quay thì C = 1 và 7 bít bên trái của A sẽ chứa mã lệnh
- Kiểm tra bit nhớ C, nếu C = 1 nhảy tới bước 9 , nếu C = 0 quay lại bước 4
8. Nếu mức tín hiệu là mức thấp (DOWN) – Bit nhận được là 1
- Thiết lập Bit nhớ C = 1 (bit mã lệnh thu được)
- Quay phải có nhớ A
- Kiểm tra bit nhớ C, nếu C = 1 nhảy tới bước 9 , nếu C = 0 quay lại bước 3
9. 7 bit mã lệnh chứa trong 7 bit trái của A : A = D6D5D4D3D2D1D00
- Quay phải A được 7 bít phải của A chứa mã lệnh :
A = 0D6D5D4D3D2D1D0
NTH: Phan Hoàng Định & Ông Thế Khương Lớp 04CDT_DHBK ĐN 20