• No results found

ZigBee Data Depackager

N/A
N/A
Protected

Academic year: 2021

Share "ZigBee Data Depackager"

Copied!
22
0
0

Loading.... (view fulltext now)

Full text

(1)

ZigBee Data Depackager

Group members: Cheng Peng and Patrice Umenne

Supervisor: Bengt Oelmann

(2)

Introduction

 ZigBee is a new wireless protocol that works well in

 sensors, remote monitoring and portable electronics

 Uses a low data rate of 250 kbps

 Long battery life due to low data rate

(3)

Introduction

(4)

Protocol overview

 The four main frames used for

communication in the IEEE 802.15.4 standard are:

 Beacon Frame

 Acknowledgement Frame

 MAC Command Frame

 Data Frame

(5)

Beacon Frame

(6)

Acknowledgment Frame

(7)

MAC Command Frame

(8)

Data Frame

(9)

System Structure

 Overall Block

Acknowledge Request

RTR RTS

ZigBee Data Depackager Baseband

Decoder

Microprocessor

8 bits address

8 bits data

8 bits data

(10)
(11)

Y

State flow diagram

C2 C1 C

B A

N N

Y

crc_reg_initialize =1, counter1_rst = 1, counter1_en = 1 r_w = 1

counter1_en = 1, r_w = 1, comparator1_en = 1

counter1_en = 1, comparator1_en = 1, rtr = 1, counter1_trigg = 1, r_w = 1 rts =

1 ?

comparator1_output = 1?

counter1_en = 1, comparator1_en = 1, r_w = 1

counter1_en = 1, comparator1_en = 1, r_w = 1

Asynchronous reset Counter1, CRC

initialized

RTS Ready to Send Signal Tested for incoming data Counter 1

incremented in loop until sixth byte

Sixth byte is frame

length

(12)

State flow diagram

D

N Y

Y

N F

E

Y

counter2_en = 1, counter2_trigg = 1, crc_reg_en = 1, rtr = 1, r_w =1 rts = 1?

E2

E1 counter2_en = 1, crc_reg_en = 1, crc_reg_trigg = 0, r_w=1

counter2_en = 1, crc_reg_en = 1, crc_reg_trigg = 1

counter2_output = 0?

rts = 1?

D1 multiplexer_select_address = 01, counter2_en = 1, counter2_initialize = 1, r_w = 0 multiplexer_select_address = 01, address_loc = 10000000, r_w = 1

r_w = 1, crc_reg_en = 1, counter2_en = 1

Frame length Byte written to address 128 Counter2 initialized with Frame value RTS signal tested

Counter2 decremented in loop to address the RAM on Every new byte

Each byte written to RAM

Each Byte enters CRC Counter2 Tested to have addressed ”0”

Location

(13)

G

H

I2 I1 H1

H2

I

State flow diagram

r_w=1, multiplexer_select_data =01, address_loc=10000010, multiplexer_select__address =01

r_w=1, multiplexer_select_data =10, address_loc=10000001, multiplexer_select__address =01

multiplexer_select_data =10, address_loc=10000001, multiplexer_select__address =01

r_w=1, latch_out_h=1, multiplexer_select_data =01, address_loc=10000010, multiplexer_select__address =01

r_w = 1, latch_out_l = 1, multiplexer_select_data = 10, address_loc = 10000001, multiplexer_select__address = 01

multiplexer_select_data =01, address_loc=10000010, r_w= 1, crc_reg_en = 1, latch_in_h = 1, latch_in_l = 1

CRC Checksum

Low Byte Written to RAM location 129

CRC High Byte

written to location

130

(14)

Y

State flow diagram

N N

Y

multiplexer_select__address =10, r_w=1

request = 1?

r_w=1, multiplexer_select__address =10, ack=1

exam_microprocessor = 0?

Microprocessor

sends request which is tested

Acknowledgement to read reply

Continous read cycle

until unique address

to status register

informs controller to

exit read cycle to First

state

(15)

Testbench Simulation Wave

Diagrams

(16)

Testbench Simulation

(17)

Testbench Sim

(18)

Testbench Sim

(19)

Testbench Sim

(20)

System Verification

Input data Output data

10001101 00000101

01100101 Address Data

11100001 10000010 00101010 ← CRC high byte 00111010 10000001 00010111 ← CRC low byte frame length → 00000101 10000000 00000101 ← frame length

11001111 00000100 11001111 10011011 00000011 10011011 00001110 00000010 00001110 11100111 00000001 11100111 10111001 00000000 10111001

(21)

CRC Verification

Input data Output data

10001101 00000101

01100101 Address Data

11100001 10000010 00000000 ← CRC high byte 00111010 10000001 00000000 ← CRC low byte frame length → 00000111 10000000 00000111 ← frame length

11001111 00000110 11001111 10011011 00000101 10011011 00001110 00000100 00001110 11100111 00000011 11100111 10111001 00000010 10111001 app. high byte → 00101010 00000001 00101010 app. low byte → 00010111 00000000 00010111

(22)

Conclusion and Future Work

The depackager receives byte data, stores and calculates an error checksum.

Then allows the Microprocessor to read stored data.

Future Work would involve coding the processor to read

Frame data, process Frame contents and extract data

payload to sensor nodes

References

Related documents

In accordance with article 20 in the General Data Protection Regulation (GDPR), natural persons have the right to request all personal information that relates to them

Photocentric variability of the quasars has been sim- ulated using a Markov chain model at the level of 100 µas and does not appear to significantly perturb the results for either

 Zigbee defines:- network, security and application layers atop the PHY and... Zigbee

Part of R&D project “Infrastructure in 3D” in cooperation between Innovation Norway, Trafikverket and

Through my research and consequent design practices surrounding the topic of data collection, I hope to contribute to the ever-growing discussions around how personally

Data mining and statistical analysis is also required in this report in order to find out the model for calculating total cost of keeping a master data as well

ing the proposed semantic representation based on conceptual spaces) to generate human-readable natural language descriptions for such time series patterns and temporal rules.

Advertising Strategy for Products or Services Aligned with Customer AND are Time-Sensitive (High Precision, High Velocity in Data) 150 Novel Data Creation in Advertisement on