LUẬN VĂN TỐT NGHIỆP
THIẾT KẾ BỘ ĐIỀU KHIỂN TẮT/MỞ
THIẾT BỊ ĐIỆN TRONG NHÀ
Sinh viên thực hiện Cán bộ hướng dẫn
Lê Văn Hòa TS. Lương Vinh Quốc Danh
MSSV: 1080972
Luận văn đã được nộp và đánh giá vào ngày …. tháng …. năm …
Kết quả đánh giá: Cán bộ đánh giá: .
TRƯỜNG ĐẠI HỌC CẦN THƠ
KHOA CÔNG NGHỆ
3
NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
Cần Thơ, ngày … tháng … năm 2012
4
NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN 1
Cần Thơ, ngày … tháng … năm 2012
5
NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN 2
Cần Thơ, ngày … tháng … năm 2012
6
LỜI CAM ĐOAN
Trong quá trình thực hiện đề tài, có thể còn nhiều thiếu sót do kiến thức hạn
chế nhưng những nội dung trình bày trong quyển báo cáo này là những hiểu biết và
thành quả của tôi đạt được dưới sự giúp đỡ của giảng viên hướng dẫn là thầy
Lương Vinh Quốc Danh.
Tôi xin cam đoan rằng: những nội dung trình bày trong quyển báo cáo niên
luận này không phải là bản sao chép từ bất kỳ công trình đã có trước nào. Nếu
không đúng sự thật, tôi xin chịu mọi trách nhiệm trước nhà trường.
Cần Thơ, ngày 02 tháng 5 năm 2012
Sinh viên thực hiện
Lê Văn Hòa
7
LỜI CẢM ƠN
Lời đầu tiên tôi xin cảm ơn quý thầy cô khoa công nghệ trường đại học Cần
Thơ đã truyền đạt cho tôi những kiến thức tốt nhất để hoàn thành luận văn tốt
nghiệp này.
Tôi xin được gửi lời cảm ơn sâu sắc đến thầy TS.Lương Vinh Quốc Danh là
giảng viên trực tiếp hướng dẫn tôi hoàn thành đề tài này. Tôi xin cảm ơn vì sự chỉ
bảo và hướng dẫn tận tình của thầy trong suốt quá trình thực hiện.
Khi bắt tay vào thực hiện đồ án thì kiến thức và hiểu biết của tôi trong lĩnh
vực này gần như là con số không, với những kiến thức uyên bác và sự nhiệt tình của
thầy, thầy đã dẫn dắt tôi đi đến bước cuối cùng của đồ án.
Tôi xin gửi lời cảm ơn đến gia đình, bạn bè và những người đã giúp đỡ tôi rất
nhiều trong suốt quá trình thực hiện đồ án.
Một lần nữa tôi xin được gửi lời biết ơn sâu sắc đến thầy cô, gia đình và bạn
bè đã giúp đỡ tôi hoàn thành luận văn tốt nghiệp này.
Sau cùng, tôi xin bày tỏ lòng biết ơn sâu sắc tới gia đình, người thân và bạn
bè đã quan tâm, chia sẻ khó khăn và động viên tôi trong quá trình thực hiện luận
văn.
8
DANH MỤC HÌNH
Hình 2.1 – Sơ đồ chân MRF24J40MA 16
Hình 2.2 – Bản đồ bộ nhớ MRF24J40 17
Hình 2.3 - Short Address Memory 18
Hình 2.4 - Long Address Memory 18
Hình 2.5 – SPI mode 0 timing 20
Hình 2.6 – SPI mode1 timing 20
Hình 2.7 – SPI mode 2 timing 21
Hình 2.8 – SPI mode 3 timing 21
Hình 2.9 – Cấu trúc của chuỗi dữ liệu ghi vào MRF24J40 21
Hình 2.10 – Cấu trúc của chuỗi dữ liệu đọc ra từ MRF24J40 22
Hình 2.11 – ghi chuỗi dữ liệu vào long address 22
Hình 2.12 – đọc chuỗi dữ liệu đọc ra từ long address 22
Hình 2.13 – Cấu trúc của gói tin nhận được 25
Hình 2.14 – Cấu trúc của gói tin phát đi 25
Hình 2.15 – sơ đồ chân DS1307 26
Hình 2.16 – Sơ đồ khối DS1307 27
Hình 2.17 – Sơ đồ kết nối DS1307 với vi điều khiển 27
Hình 2.18 – Các thanh ghi của DS1307 28
Hình 2.19 – Chi tiết các thanh ghi thường sử dụng 30
Hình 2.20 – Thanh ghi điều khiển 30
Hình 2.21 – Mạng I2C 31
Hình 2.22 – Điều kiện star và stop 33
Hình 2.23 – Định dạng của gói tin I2C 34
Hình 2.24 – Sơ đồ chân AT89S52 35
Hình 2.25 – Tổ chức bộ nhớ AT89S52 37
Hình 2.26 – Chuẩn sony 39
Hình 2.27 – Chuẩn Matsushita 40
Hình 3.1 – Sơ đồ phần cứng tổng quát 44
Hình 3.2 – Khối nhận tín hiệu hồng ngoại 45
Hình 3.3 – Khối Zigbee 45
9
Hình 3.4 – Khối cấp nguồn 46
Hình 3.5 – Khối RTC 46
Hình 3.6 – Khối LED 7 đoạn 47
Hình 3.7 – Khối vi điều khiển 48
Hình 3.8 – Khối điều khiển công suất 49
Hình 3.9 – Khối mở rộng port 49
Hình 3.10 – Khối hiển thị 50
Hình 3.11 – Modun mở rộng 51
Hình 3.12 – Quy cách sản phẩm 52
Hình 3.13 – Giải thuật tổng quát 53
Hình 3.14 – giải thuật khởi động 54
Hình 3.15 – Quét LED 7 đoạn 56
Hình 3.16 – Thực hiện lệnh từ điều khiển từ xa 58
Hình 3.17 – tắt/mở các đèn 59
Hình 3.18 – Nạp thời gian tắt và ở đèn 60
Hình 3.19 – Kiểm tra thời gian tắt/mở 61
Hình 3.20 - Modun phụ 62
Hình 3.22 - Bảng điều khiển chính khi mở đèn 63
Hình 3.21- Bảng điều khiển chính 63
Hình 3.23 - Bộ điều khiển 63
Hình 1 - Chức năng của các đèn chỉ dẫn 65
Hình 2 – Sơ đồ đấu dây điện 66
Hình 3 – Bật/tắt đèn 66
Hình 4 – Điều chỉnh giờ 66
Hình 5 – Điều chỉnh ngày và tháng 67
10
DANH MỤC BẢNG
Bảng 2.1 – Chức năng các chân của MRF24J40MA 17
Bảng 2.2 – Chức năng các chân của DS1307 26
Bảng 2.3 – Chọn tần số SQW 30
Bảng 2.4 – Các thông số của chuẩn Sony 40
Bảng 2.5 – Các thông số của chuẩn Matsushita 41
Bảng 2.6 – Các thông số của chuẩn NEC 42
Bảng 2.7 – Các thông số của chuẩn RC5 43
Bảng 3.1 – Kích thước sản phẩm 52
Bảng 3.2 –Chi phí linh kiện 68
11
MỤC LỤC
LỜI CAM ĐOAN 6
LỜI CẢM ƠN 7
DANH MỤC HÌNH 8
DANH MỤC BẢNG 10
MỤC LỤC 11
KÝ HIỆU VÀ VIẾT TẮT 13
TÓM TẮT 14
ABSTRACT 14
CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI 15
1.1. ĐẶT VẤN ĐỀ 15
1.2. LỊCH SỬ GIẢI QUYẾT VẤN ĐỀ 15
1.3. PHẠM VI CỦA ĐỀ TÀI 15
1.4. PHƯƠNG PHÁP THỰC HIỆN 15
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 16
2.1. TỔNG QUAN VỀ MODULE ZIGBEE MRF24J40MA 16
2.1.1. Sơ đồ chân 16
2.1.2. Bản đồ bộ nhớ 17
2.1.3. Các thanh ghi điều khiển 18
2.1.4. Chuẩn giao tiếp SPI 19
2.1.5. Cách thức ghi/đọc dữ liệu vào bộ nhớ MRF24J40 21
2.1.6. Khởi động module MRF24J40MA 23
2.1.7. Thủ tục nhận gói tin 25
2.1.8. Thủ tục phát gói tin 25
2.1.9. Chế độ wake và sleep 26
2.2. TỔNG QUAN VỀ REAL TIME DS1307 VÀ CHUẨN I2C 26
2.2.1. Tổng quan về real time DS1307 26
2.2.2. Chuẩn giao tiếp I2C 30
2.3. TỔNG QUAN VỀ VI ĐIỀU KHIỂN 8051 34
2.3.1. Giới thiệu 34
2.3.2. Vi điều khiển AT89S52 34
2.3.3. Sơ đồ 35
2.3.4. Tổ chức bộ nhớ 37
12
2.4. CÁC CHUẨN DÙNG TRONG ĐIỀU KHIỂN BẰNG HỒNG NGOẠI 37
2.4.1. Chuẩn Sony 39
2.4.2. Chuẩn Matsushita 40
2.4.3. Chuẩn NEC 41
2.4.4. Chuẩn RC5 42
CHƯƠNG 3: THIẾT KẾ PHẦN CỨNG VÀ GIẢI THUẬT PHẦN MỀM 44
3.1. SƠ ĐỒ PHẦN CỨNG TỔNG QUÁT 44
3.1.1. Khối nhận tín hiệu hồng ngoại 45
3.1.2. Khối Zigbee 45
3.1.3. Khối nguồn 46
3.1.4. Khối RTC 46
3.1.5. Khối LED 7 đoạn 47
3.1.6. Khối vi điều khiển 48
3.1.7. Khối điều khiển công suất 49
3.1.8. Khối mở rộng port 49
3.1.10. Modun mở rộng 51
3.1.11. Quy cách sản phẩm 52
3.2. GIẢI THUẬT PHẦN MỀM 53
3.2.1. Giải thuật tổng quát 53
3.2.2. Khởi động 54
3.2.3. Quét LED 7 đoạn 56
3.2.4. Thực hiện lệnh từ điều khiển từ xa 57
3.2.5. Tắt/mở các đèn: 59
3.2.6. Nạp thời gian tắt/mở đèn 60
3.2.7. Kiểm tra thời gian tắt/mở 61
CHƯƠNG 4. KẾT QUẢ VÀ ĐỀ NGHỊ 62
4.1. KẾT QUẢ 62
4.2. ĐỀ NGHỊ 64
PHỤ LỤC 65
TÀI LIỆU THAM KHẢO 69
13
KÝ HIỆU VÀ VIẾT TẮT
CCA Clear Channel Assessment
CFR Code of Federal Regulations
CRC Cyclic Redundancy Check
CS Carrier Sense
FCC Federal Communications Commission
FEC Forward Error Correction
FIFO First-In-First-Out
FHSS Frequency Hopping Spread Spectrum
FS Frequency Synthesizer
GFSK Gaussian shaped Frequency Shift Keying
IF Intermediate Frequency
I/Q In-Phase/Quadrature
ISM Industrial, Scientific, Medical
LC Inductor-Capacitor
LNA Low Noise Amplifier
LO Local Oscillator
LSB Least Significant Bit
LQI Link Quality Indicator
MCU Microcontroller Unit
MSB Most Significant Bit
MSK Minimum Shift Keying
N/A Not Applicable
NRZ Non Return to Zero (Coding)
OOK On-Off Keying
PA Power Amplifier
PLL Phase Locked Loop
POR Power-On Reset
PQI Preamble Quality Indicator
PQT Preamble Quality Threshold
PTAT Proportional To
Absolute Temperature
QLP Quad Leadless Package
QPSK Quadrature Phase Shift Keying
RC Resistor-Capacitor
RF Radio Frequency
RSSI Received Signal Strength Indicator
RX Receive, Receive Mode
SAW Surface Aqustic Wave
SMD Surface Mount Device
SNR Signal to Noise Ratio
SPI Serial Peripheral Interface
SRD Short Range Devices
TBD To Be Defined
T/R Transmit/Receive
TX Transmit, Transmit Mode
UHF Ultra High frequency
VCO Voltage Controlled Oscillator
WOR Wake on Radio, Low power polling
XOSC Crystal Oscillator
XTAL Crystal
PCB Printed Circuit Board
PER Packet Error Rate
14
TÓM TẮT
Bộ điều khiển tắt/mở thiết bị điện trong nhà được thiết kế thành 2 phần: phần
bảng điều khiển chính với các chức năng: Điều khiển tắt/mở đèn hoặc thiết bị dùng
điện khác bằng bộ điều khiển từ xa, hẹn giờ tắt/mở đèn hoặc thiết bị dùng điện
khác, hiển thị thời gian thực và ngày tháng, có tất cả 8 ngõ ra dùng cho 8 thiết bị
độc lập, tất cả các điều khiển được thực hiện bằng bộ điều khiển từ xa hồng ngoại;
Phần modun mở rộng có chức năng điều khiển 1 thiết bị, dùng cho trường hợp thiết
bị cần điều khiển nằm xa hoặc nằm khác phòng (tầng) so với bảng điều khiển chính,
modun phụ liên lạc với bảng điều khiển chính bằng chuẩn Zigbee IEEE 802.15.4.
Từ khóa: hồng ngoại, Zigbee
ABSTRACT
The controller on/off electrical equipment in the home is designed into two
parts: the main panel with the function: Controls on/off lights or other electrical
appliances by remote control, sleep timer lights or other electrical appliances, real-
time display and date, with all 8 outputs for 8 devices independently, all control is
done by using an infrared remote control; subsections modules only control on/off
one device, used for cases of equipment to be located remote control or other is the
room (floor) than the main panel, sub-modules communicate with the main panel
by Zigbee standard IEEE 802.15.4.
Keywords: infrared, Zigbee
15
CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI
1.1. ĐẶT VẤN ĐỀ
Theo cách truyền thống mỗi bóng đèn điện được điều khiển bằng 1 công tắt,
ưu điểm của công tắt này là giá thành thấp, dễ lắp đặt. Nhược điểm là mỗi khi muốn
mở đèn hay tắt đèn ta phải đi đến tận nơi để thực hiện. Và không ít lần ta quên tắt
đèn, quạt khi hết giờ làm việc hay ban ngày mà đèn vẫn mở.
Với lý do đó tôi nảy ra ý định làm một thiết bị có thể điều khiển đèn từ xa,
định thời cho tất cả các đèn trong nhà, đồng thời ta vẫn tắt mở bình thường. Việc
điều khiển được thực hiện bằng remote hồng ngoại và Zigbee. Chuẩn Zigbee có rất
nhiều ưu điểm: tiêu thụ năng lượng thấp, tầm phát sóng ngoài trời khoảng 120 m,
trong nhà khoảng 50m, bảo mật cao, giá thành thấp, kháng nhiễu cao.
Modun MRF24J40MA sử dụng dải tần 2.4GHz, là sản phẩm dùng để xây
dựng mạng không dây cá nhân, khi sử dụng không cần đăng ký tần số.
1.2. LỊCH SỬ GIẢI QUYẾT VẤN ĐỀ
Trên thị trường hiện nay xuất hiện nhiều sản phẩm nhà thông minh, trong đó
bao gồm cả quản lý hệ thống chiếu sáng, nhưng phần lớn có giá thành cao, giao
diện phức tạp, khó sử dụng đối với người không quen công nghệ. Ví dụ như hệ
thống nhà thông minh HomeON (
homeon-ngoi-nha-thong-minh.htm) sử dụng giao diện internet, hệ thống điện Gama
của Siemens (Đức) sử dụng kỹ thuật power line communication có giá khoảng
15.000-20.000 USD, Hệ thống điều khiển thiết bị điện từ xa và tự động quay số báo
động thông qua mạng điện thoại ( />lieu/525/11396.ebook).
1.3. PHẠM VI CỦA ĐỀ TÀI
Tìm hiểu và ứng dụng chuẩn Zigbee IEEE 802.15.4 dùng để bắt tay giữa
bảng điều khiển chính và các modun phụ (nhận lệnh từ bảng điều khiển chính).
Tìm hiểu chuẩn NEC,RC5,Sony,Matsusita chuyên dùng trong điều khiển từ
xa cho các thiết bị điện tử gia đình: TV, DVD, máy lạnh, quạt điện…
Tìm hiểu ứng dụng realtime DS1307 dùng làm IC thời gian.
Điều khiển bật tắt, hẹn giờ tắt/mở thiết bị điện trong nhà, hiển thị thời gian,
ngày tháng, điều chỉnh bằng bộ điều khiển từ xa (remote control) của TV. làm ra
sản phẩm với các tính năng sau: điều khiển 08 thiết bị, mỗi thiết bị có công suất nhỏ
hơn 500W.
1.4. PHƯƠNG PHÁP THỰC HIỆN
Bộ sản phẩm sẽ bao gồm phần chính (bảng điều khiển chính) và các modun
phụ (kết nối với modun chính bằng modun Zigbee MRF24J40MA). Người sử dụng
dùng bộ điều khiển hồng ngoại để điều khiển modun chính và nếu đèn đang được
điều khiển ở xa modun chính, không thể đưa dây điện trực tiếp đến thì dùng modun
phụ.
16
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
2.1. TỔNG QUAN VỀ MODULE ZIGBEE MRF24J40MA
Đặt điểm chung: Modun MRF24J40MA Sử dụng IC MRF24J40, chuẩn
IEEE 802.15.4. Giao thức MiWi™, ZigBee™, giao tiếp với vi điều khiển theo
chuẩn SPI. Sử dụng thạch anh 20Mhz hoặc 32768Hz. Hỗ trợ chế độ tiết kiệm năng
lượng, tiêu thụ dòng điện thấp: RX mode 19mA, TX mode 23mA. Vào chế độ sleep
2us. Kích thước chip 6x6 mm
Đặt điểm RF/Analog: Băng tần ISM 2.405GHz-2.48GHz, độ nhạy -91dBm
và tín hiệu vào tối đa 5dBm, công suất phát trung bình 0dBm, tích hợp TX/RX
Switch. Tích hợp Low Phase Noise VCO, Frequency Synthesizer và PLL Loop
Filter, VCO và lọc số tiêu chuẩn. Tích hợp RSSI ADC và I/Q DACs, tích hợp
LDO. High Receiver and RSSI Dynamic Range Data rate 250Kbps
Đặt điểm MAC/Baseband: Kiến trúc CSMA-CA Mechanism, Automatic
ACK, response and FCS Check , beacon độc lập, transmit và GTS FIFO cấu trúc
Security Engine (AES-128) với CTR, CCM và CBC-MAC modes. Hỗ trợ cả CCA
modes và RSS/LQI, automatic Packet Retransmit Capability. Hỗ trợ chế độ in-line
và chế độ độc lập cho cả bộ thu và bộ phát.
MRF24J40 là một chip sản xuất theo chuẩn IEEE 802.15.4-2003 tuân thủ
giao thức MiWi ™, ZigBee ™ . Các modun MRF24J40MA tích hợp không dây
RF, lớp vật lý và lớp MAC, có thể kết hợp với một bộ vi xử lý đơn giản để truyền
dữ liệu tốc độ thấp cho các ứng dụng bao gồm nhà thông minh, thiết bị điện tử tiêu
dùng, thiết bị ngoại vi máy tính, đồ chơi, tự động hóa công nghiệp và nhiều hơn
nữa. MRF24J40MA được tích hợp máy thu, máy phát,VCO PLL vào một IC duy
nhất. nó sử dụng kiến trúc tiên tiến để giảm thiểu linh kiện ngoài và điện năng tiêu
thụ. MRF24J40MA chủ yếu bao gồm TX/RX FIFOs, một bộ điều khiển CSMA-
CA, superframe. IC MRF24J40 được chế tạo bằng công nghệ tiên tiến 0,18
micromet CMOS và được đóng gói QFN 40-pin 6x6 mm2.
2.1.1. Sơ đồ chân
(Nguồn: MRF24J40MA datasheet)
Hình 2.1 – Sơ đồ chân MRF24J40MA
17
Chú thích: A = Analog, D = Digital, I = Input, O = Output
2.1.2. Bản đồ bộ nhớ
(Nguồn: MRF24J40 datasheet)
Chip MRF24J40MA có hai loại bộ nhớ: Short Address Memory Space và Long
Address Memory Space, trong đó chứa các lệnh điều khiển ngắt, công suất phát,
kênh phát, CSA-MA, security…….và vùng dữ liệu thu phát.
pin Symbol type Description
1 GND Nối đất 0v
2 RESET DI Reset lại module, tác động mức thấp
3 WAKE DI Đánh thức mudule, tác động mức cao
4 INT DO Ngắt cứng
5 SDI DI Chân vào dữ liệu
6 SCK DI clock
7 SDO DO Chân ra dữ liệu
8 CS DI Chọn chip
9 NC - Bỏ trống
10 Vin Nguồn Nguồn(2.8v-3.6v)
11 GND Nối đất Nối đất
12 GND Nối đất Nối đất
Bảng 2.1 – Chức năng các chân của MRF24J40MA
Hình 2.2 – Bản đồ bộ nhớ MRF24J40
18
2.1.3. Các thanh ghi điều khiển
Các thanh ghi trong Short Address Memory chủ yếu quản lý tầng MAC, điều
khiển gói tin thu phát. Long Address Memory chứa các thanh ghi điều khiển RF,
cảm biến sóng mang, đo cường độ tín hiệu. Tham khảo thêm datasheet MRF24J40
để biết chức năng cụ thể của các thanh ghi.
Hình 2.3 - Short Address Memory
(Nguồn: MRF24J40 datasheet)
Hình 2.4 - Long Address Memory
(Nguồn: MRF24J40 datasheet)
19
2.1.4. Chuẩn giao tiếp SPI
SPI (Serial Peripheral Bus) là một chuẩn truyền thông nối tiếp tốc độ cao do
hảng Motorola đề xuất. Đây là kiểu truyền thông Master-Slave, trong đó có 1 chip
Master điều phối quá trình tuyền thông và các chip Slaves được điều khiển bởi
Master vì thế truyền thông chỉ xảy ra giữa Master và Slave. SPI là một cách truyền
song công (full duplex) nghĩa là tại cùng một thời điểm quá trình truyền và nhận có
thể xảy ra đồng thời. SPI đôi khi được gọi là chuẩn truyền thông “4 dây” vì có 4
đường giao tiếp trong chuẩn này đó là SCK (Serial Clock), MISO (Master Input
Slave Output), MOSI (Master Ouput Slave Input) và SS (Slave Select).
SCK: Xung giữ nhịp cho giao tiếp SPI, vì SPI là chuẩn truyền đồng bộ nên
cần 1 đường giữ nhịp, mỗi nhịp trên chân SCK báo 1 bit dữ liệu đến hoặc đi. Đây là
điểm khác biệt với truyền thông không đồng bộ mà chúng ta đã biết trong chuẩn
UART. Sự tồn tại của chân SCK giúp quá trình tuyền ít bị lỗi và vì thế tốc độ truyền
của SPI có thể đạt rất cao. Xung nhịp chỉ được tạo ra bởi chip Master.
MISO– Master Input / Slave Output: nếu là chip Master thì đây là đường
Input còn nếu là chip Slave thì MISO lại là Output. MISO của Master và các Slaves
được nối trực tiếp với nhau.
MOSI – Master Output / Slave Input: nếu là chip Master thì đây là đường
Output còn nếu là chip Slave thì MOSI là Input. MOSI của Master và các Slaves
được nối trực tiếp với nhau.
SS – Slave Select: SS là đường chọn Slave cần giap tiếp, trên các chip Slave
đường SS sẽ ở mức cao khi không làm việc. Nếu chip Master kéo đường SS của
một Slave nào đó xuống mức thấp thì việc giao tiếp sẽ xảy ra giữa Master và Slave
đó. Chỉ có 1 đường SS trên mỗi Slave nhưng có thể có nhiều đường điều khiển SS
trên Master, tùy thuộc vào thiết kế của người dùng.
Hoạt động: mỗi chip Master hay Slave có một thanh ghi dữ liệu 8 bits. Cứ
mỗi xung nhịp do Master tạo ra trên đường giữ nhịp SCK, một bit trong thanh ghi
dữ liệu của Master được truyền qua Slave trên đường MOSI, đồng thời một bit
trong thanh ghi dữ liệu của chip Slave cũng được truyền qua Master trên đường
MISO. Do 2 gói dữ liệu trên 2 chip được gởi qua lại đồng thời nên quá trình truyền
dữ liệu này được gọi là “song công”.
Cực của xung giữ nhịp, phase và các chế độ hoạt động: cực của xung giữ
nhịp (Clock Polarity) được gọi tắt là CPOL là khái niệm dùng chỉ trạng thái của
chân SCK ở trạng thái nghỉ. Ở trạng thái nghỉ (Idle), chân SCK có thể được giữ ở
mức cao (CPOL=1) hoặc thấp (CPOL=0). Phase (CPHA) dùng để chỉ cách mà dữ
liệu được lấy mẫu (sample) theo xung giữ nhịp. Dữ liệu có thể được lấy mẫu ở cạnh
lên của SCK (CPHA=0) hoặc cạnh xuống (CPHA=1). Sự kết hợp của SPOL và
CPHA làm nên 4 chế độ hoạt động của SPI. Nhìn chung việc chọn 1 trong 4 chế độ
này không ảnh hưởng đến chất lượng truyền thông mà chỉ cốt sao cho có sự tương
thích giữa Master và Slave.
20
2.1.4.1. SPI mode 0
(Nguồn: MRF24J40 datasheet)
Lấy mẫu data in tại cạnh lên của SCK, data out tại cạnh lên của SCK.CS phải
bằng 0 khi dịch chuyển dữ liệu và khi truyền dữ liệu xong SCK bằng 0.
2.1.4.2. SPI mode 1
(Nguồn: MRF24J40 datasheet)
Lấy mẫu dữ liệu tại cạnh xuống của SCK trong khi CS=0, khi hoàn thành
CSK phải bằng 0.
Hình 2.5 – SPI mode 0 timing
Hình 2.6 – SPI mode1 timing
21
2.1.4.3. SPI mode 2
(Nguồn: MRF24J40 datasheet)
Lấy mẫu dữ liệu tại cạnh xuống của SCK trong khi CS=0, khi hoàn thành
CSK phải bằng 1.
2.1.4.4. SPI mode 3
(Nguồn: MRF24J40 datasheet)
Lấy mẫu dữ liệu tại cạnh lên của SCK trong khi CS=0, khi hoàn thành CSK
phải bằng 1.
2.1.5. Cách thức ghi/đọc dữ liệu vào bộ nhớ MRF24J40
2.1.5.1. Ghi vào short address
Hình 2.7 – SPI mode 2 timing
Hình 2.8 – SPI mode 3 timing
Hình 2.9 – Cấu trúc của chuỗi dữ liệu ghi vào MRF24J40
(Nguồn: MRF24J40 datasheet)
22
Việc ghi, đọc dữ liệu vào chip MRF24J40 theo chuẩn SPI mode 0. Cấu trúc
của gói dữ liệu ghi vào bao gồm năm bit địa chỉ được đưa vào trước và được đặt
giữa hai bit 0……1, theo sau là 8 bit dữ liệu cần ghi vào bộ nhớ, CS=0 khi đọc/ghi.
2.1.5.2. Đọc từ short address
(Nguồn: MRF24J40 datasheet)
Cấu trúc của gói dữ liệu đoc ra: năm bit địa chỉ được đưa vào trước và được
đặt giữa hai bit 0……0, 8 bit dữ liệu được đưa ra SDO ngay sau đó, CS=0 khi thực
hiện.
2.1.5.3. Ghi vào long address
(Nguồn: MRF24J40 datasheet)
Long address có 10 bit, được đặt giữa 2 bit 1….1, bỏ trống 4 bit, rồi đến 8 bit
dữ liệu, CS=0 khi thực hiện.
2.1.5.4. Đọc dữ liệu từ long address
(Nguồn: MRF24J40 datasheet)
Long address có 10 bit, được đặt giữa 2 bit 1….0 bỏ trống 4 bit, rồi đến 8 bit
dữ liệu ra ở SDO, CS=0 khi thực hiện.
Hình 2.10 – Cấu trúc của chuỗi dữ liệu đọc ra từ MRF24J40
Hình 2.11 – ghi chuỗi dữ liệu vào long address
Hình 2.12 – đọc chuỗi dữ liệu đọc ra từ long address
23
2.1.6. Khởi động module MRF24J40MA
%INITIALIZING THE MRF24J40
void MRF24J40Init(void)
{
BYTE i;
WORD j;
/* place the device in hardware reset */
RESETn = 0;
for(j=0;j<(WORD)300;j++){}
/* remove the device from hardware reset */
RESETn = 1;
for(j=0;j<(WORD)300;j++){}
/* reset the RF module */
SetShortRAMAddr(RFCTL,0x04);
/* remove the RF module from reset */
SetShortRAMAddr(RFCTL,0x00);
/* flush the RX fifo */
SetShortRAMAddr(WRITE_RXFLUSH,0x01);
/* Program the short MAC Address, 0xffff */
SetShortRAMAddr(SADRL,0xFF);
SetShortRAMAddr(SADRH,0xFF);
SetShortRAMAddr(PANIDL,0xFF);
SetShortRAMAddr(PANIDH,0xFF);
/* Program Long MAC Address*/
for(i=0;i<(BYTE)8;i++)
{
SetShortRAMAddr(EADR0+i*2,myLongAddress[i]);
}
/* enable the RF-PLL */
SetLongRAMAddr(RFCTRL2,0x80);
/* set TX for max output power */
SetLongRAMAddr(RFCTRL3,0x00);
24
/* enabled TX filter control */
SetLongRAMAddr(RFCTRL6,0x80);
SetLongRAMAddr(RFCTRL8,0b00010000);
/* Program CCA mode using RSSI */
SetShortRAMAddr(BBREG2,0x78);
/* Enable the packet RSSI */
SetShortRAMAddr(BBREG6,0x40);
/* Program CCA, RSSI threshold values */
SetShortRAMAddr(RSSITHCCA,0x00);
SetLongRAMAddr(RFCTRL0,0x00); //channel 11
SetShortRAMAddr(RFCTL,0x04); //reset the RF module with new settings
SetShortRAMAddr(RFCTL,0x00);
}
25
2.1.7. Thủ tục nhận gói tin
(Nguồn: MRF24J40 datasheet)
1. Nhận được ngắt nhận được gói tin từ chip MRF24J40.
2. Vô hiệu hóa tất cả các ngắt của vi điều khiển.
3. Set RXDECINV = 1; Tạm thời không nhận gói tin( nếu nhận thì gói tin trước
chưa được đọc đã bị thay thế bằng gói tin mới).
4. Đọc ô nhớ 300h để lấy thông tin về chiều dài của gói tin.
5. Lưu toàn bộ gói tin vào vi điều khiển.
6. Clear RXDECINV = 0; Cho phép nhận gói tin mới.
7. Cho phép vi điều khiển ngắt.
2.1.8. Thủ tục phát gói tin
(Nguồn: MRF24J40 datasheet)
1. Ghi header length, frame length, header, vùng dữ liệu như hình 2.14
2. ghi vào thanh ghi txnmtrig 01h để phát gói tin.
Hình 2.13 – Cấu trúc của gói tin nhận được
Hình 2.14 – Cấu trúc của gói tin phát đi
26
2.1.9. Chế độ wake và sleep
Chuẩn bị chân WAKE:
1. WAKE pin = low
2. RXCON (0x0D) = 0x60 – Cho phép chân WAKE tác động ở mức cao.
3. WAKECON (0x22) = 0x80 – cho phép Immediate Wake-up mode
Put to Sleep:
4. SOFTRST (0x2A) = 0x04 reset lại phần mềm
5. SLPACK (0x35) = 0x80 – Put MRF24J40 to Sleep immediately
To Wake:
6. WAKE pin = high – Wake-up MRF24J40
7. Delay 2 ms to allow 20 MHz main oscillator time to stabilize before transmitting
or receiving.
2.2. TỔNG QUAN VỀ REAL TIME DS1307 VÀ CHUẨN I2C
2.2.1. Tổng quan về real time DS1307
2.2.1.1. Sơ đồ chân
pin symbol Description
1 X1 Kết nối với thạch anh
2 X2
3 Vbat Pin cung cấp dự phòng khi mất điện(3V)
4 GND mass
5 SDA Đường dữ liệu
6 SCL Xung đồng hồ
7 SQW/OUT
Chân ra phụ
8 Vcc Nguồn cung cấp chính(5V)
Bảng 2.2 – Chức năng các chân của DS1307
Hình 2.15 – sơ đồ chân DS1307
(Nguồn: DS1307 datasheet)