note module zigbee mrf.docx

4
Các tác động vào thanh ghi của MRF Điều khiển thanh ghi MRF - Kéo chân CS của MRF xuống mức 0 - Ghi giá trị địa chỉ (1 hay 2 byte) của thanh ghi muốn điều khiển của MRF24j40 ra bus SPI (đia chỉ là 2 byte phải dung thuật toán chuyển đổi như datasheet rồi ghi lần lượt ra SPI) - Ghi giá trị của thanh ghi điều khiển ra bus SPI - Kéo chân CS của MRF lên mức cao - Truyền dữ liệu SPI(đọc vi điều khiển) Tuần tự các thao tác module Zigbee MRF24J40 - Reset - Dereset - Khởi tạo Zigbee Thủ tục nhận gói bản tin - Nhận được ngắt nhận đươc gói bản tin từ chip MRF24j40 - Vô hiệu hóa tất cả các ngắt của vi điều khiển - Set RXDECINV=1; tạm thời không nhận gói tin (nếu nhận được gói tin trước chưa được đọc đã bị thay thế bằng gói tin mới) - Đọc ô nhớ 300h đế lấy thông tin và chiều dài gói tin - Lưu toàn bộ gói tin vào vi điều khiển - Clear RXDECiNV =0; cho phép nhận gói tin mới. - Cho phép vi điều khiển ngắt. Thủ tục nhận gói bản tin

Upload: dhvbkhn

Post on 19-Jul-2016

218 views

Category:

Documents


1 download

TRANSCRIPT

Các tác động vào thanh ghi của MRF

Điều khiển thanh ghi MRF

- Kéo chân CS của MRF xuống mức 0- Ghi giá trị địa chỉ (1 hay 2 byte) của thanh ghi muốn điều khiển của MRF24j40 ra

bus SPI (đia chỉ là 2 byte phải dung thuật toán chuyển đổi như datasheet rồi ghi lần lượt ra SPI)

- Ghi giá trị của thanh ghi điều khiển ra bus SPI- Kéo chân CS của MRF lên mức cao- Truyền dữ liệu SPI(đọc vi điều khiển)

Tuần tự các thao tác module Zigbee MRF24J40

- Reset- Dereset - Khởi tạo Zigbee

Thủ tục nhận gói bản tin

- Nhận được ngắt nhận đươc gói bản tin từ chip MRF24j40- Vô hiệu hóa tất cả các ngắt của vi điều khiển- Set RXDECINV=1; tạm thời không nhận gói tin (nếu nhận được gói tin trước

chưa được đọc đã bị thay thế bằng gói tin mới)- Đọc ô nhớ 300h đế lấy thông tin và chiều dài gói tin- Lưu toàn bộ gói tin vào vi điều khiển- Clear RXDECiNV =0; cho phép nhận gói tin mới.- Cho phép vi điều khiển ngắt.

Thủ tục nhận gói bản tin

+ Steps to read RXFIFO

1. Receive RXIF interupt2. Disable host microcontroller interupts

3. Set RXDECINV =1, disable receiving packets off air4. Read address, 0x30; get RXFIFO frame length value5. Read RXFIFO addresses, 0x301 through (0x30+ Frame length + 2), read packet

data plus LQI and RSSI.6. Clear RXDECINV =0; enable receiving packets7. Enable host microcontroller interrupts

+ Thủ tục gửi gói bản tin (3.12)

1. Ghi header length, frame length, header, vùng dữ liệu2. Ghi thanh ghi TXNM01 h để phát hành gói tập tin

Định nghĩa frame truyền như hình vẽ

2.If the packet requires an Acknowledgment, the Acknowledgment request bit in the frame control field should be set to ‘1’ in the MAC Header (MHR) when the host microcontroller loads the TX Normal FIFO, and set the TXNACKREQ (TXNCON 0x1B<2>) bit = 1. Refer to Section 3.13 “Acknowledgement” for more information about Acknowledgment configuration.3.If the frame is to be encrypted, the security enabled bit in the frame control field should be set to ‘1’ in the MAC Header (MHR) when the host microcontroller loads the TX Normal FIFO, and set the TXNSECEN (TXNCON 0x1B<1>) bit = 1. Refer to Section 3.17 “Security” for more information about Security modes.4. Transmit the packet by setting the TXNTRIG (TXNCON 0x1B<0>) bit = 1. The bit will be automatically cleared by hardware.5. A TXNIF (INTSTAT 0x31<0>) interrupt will be issued. The TXNSTAT (TXSTAT 0x24<0>) bit indicates the status of the transmission:

TXNSTAT= 0: Transmission was successfulTXNSTAT= 1: Transmission failed, retry count exceeded

The number of retries of the most recent transmission is contained in the TXNRETRY (TXSTAT 0x24<7:6>) bits. The CCAFAIL (TXSTAT 0x24<5>) bit = 1 indicates if the failed transmission was due to the channel busy (CSMA-CA timed out).

+ Thay đổi tần số phát (3.4 datasheet)

Cài đặt thông số cho thanh ghi FRCON0 (0x02) như bảng dưới, mỗi một giá trị này ứng với một tần số khác nhau.

The MRF24J40 is capable of selecting one of sixteen channel frequencies in the 2.4 GHz band. The desired channel is selected by configuring the CHANNEL bits in the RFCON0 (0x200<7:4>) register. See Table 3-4for the RFCON0 register setting for channel number and frequency.

+ receive interrupt (3.11.4)