CoresComm |
Product Specification |
The IEEE 802.15.4 standard and ZigBee wireless technology are designed to satisfy the market’s need for a
low-cost, standard-based and flexible wireless network technology, which offers low power consumption,
reliability, interoperability and security for control and monitoring applications with low to moderate data rates.
The IEEE 802.15.4 standard specifies the physical (PHY) and medium access control (MAC) layers at the 868/915 MHz
and 2.45 GHz ISM bands. This core implements the major digital signal processing (DSP) part of a modem conforming to the IEEE 802.15.4 standard for the 868/915 MHz
DSSS PHY employing offset quadrature phase-shift keying (OQPSK) modulation. It contains transmitter and receiver that are independent.
The transmitter receives the PHY payload and outputs the half-sine pulse-shaped OQPSK baseband signal for the
resulting PHY protocol data unit. The receiver receives automatic-gain-controlled IF signal and outputs the detected PHY payload.
The figure below shows essential integration requirements.
IF independent: The receiver can process the input at your selected IF frequency including zero IF, provided that the input was channel-filtered and sampled properly. This is possible as a result of a featured frequency offset estimation and compensation.
Required clock/sampling frequency = four times the chip rate, i.e., 1.6 or 4 MHz for the 868 or 915 MHz PHY respectively (customizable, see core modification below).
Four-bit representation of analog input/output.
To meet the -85 dBm receiver sensitivity requirement, the maximum allowable noise figure of the RF analog front end is estimated to be 18 dB or 22 dB for the 915 or 868 MHz PHY respectively.
Small area: 1.2k and 7.4k equivalent gate counts (using a standard cell library) for the transmitter and receiver respectively.
Low power consumption: 0.98mW (in 0.18u) when receiving a packet.
ce: One bit input, the chip enable. The transmitter is active only when ce is '1'.
clk: One bit input, the transmitter clock. All synchronous logic and digital-to-analog convertors act on the rising edge of clk. The clock frequency is required to be four times the chip rate.
reset: One bit input. This pin has two functions. Together with the frame_length input described below, it may be used to reset the transmitter or to force a packet transmission.
frame_length: Seven bit input. The transmitter should be reset at power up by maintaining reset='1' and frame_length="0000000" during a rising edge of clk. On the other hand, the transmitter can be forced to transmit a packet by maintaining reset='1' with nonzero frame_length during a rising edge of clk. Then that nonzero frame_length value will be interpreted as the number of octets in the PHY payload. In addition, after such a rising edge of clk, the tx_busy output will be '1' until the packet transmission is completed.
sym_in: Four bit input representing the subsequent data symbols of the PHY payload. During tx_busy='1', the transmitter will read sym_in two times the number of octets in the PHY payload, according to the timing provided by the sym_clk output described below.
sym_clk: One bit output. During tx_busy='1', there will be a number of positive pulses at sym_clk. The pulse duration equals one clock cycle, while the number of pulses equals the number of four-bit symbols in the PHY payload. The transmitter will read sym_in for a single data symbol when clk'Event and clk='1' and sym_clk='1'.
tx_busy: One bit output indicating a packet is being transmitted. When tx_busy='1', the external circuit is required not to maintain reset='1'.
i_out: Four bit output representing the I-phase baseband pulse-shaped OQPSK signal in two's complement format.
q_out: Four bit output representing the Q-phase baseband pulse-shaped OQPSK signal in two's complement format.
ce: One bit input, the chip enable. The receiver is active only when ce is '1'.
clk: One bit input, the receiver clock. All synchronous logic and analog-to-digital convertors act on the rising edge of clk. The clock frequency is required to be fixed at 1.6 or 4 MHz for the 868 or 915 MHz PHY respectively.
reset: One bit input, the synchronous reset. After enabled by ce, the receiver is required to be reset by setting reset high for one clock period.
I: Four bit input representing the quantized I-phase IF signal in two's complement format.
Q: Four bit input representing the quantized Q-phase IF signal in two's complement format.
sym_out: Four bit output. Detected symbols are read here.
sym_out_valid: One bit output. A rising edge of sym_out_valid indicates that a start-of-frame delimiter immediately following a synchronization symbol has been detected, and hence the subsequent symbols detected will represent the frame length and frame data respectively. After the rising edge, there will be approximately one symbol duration (i.e., 40000 or 16000 ns for the 868 or 915 MHz band respectively) until the next detected symbol (i.e., the first part of the frame length representation) is available by the receiver. A falling edge of sym_out_valid indicates that the last symbol of a frame has been detected. Indeed sym_out_valid='1' indicates presence of a data frame.
clk_out: One bit output. The waveform of clk_out is a quasi-periodic pulse train - the pulse duration equals one clock cycle, while the duration between the rising edges of two adjacent pulses varies around one symbol duration due to a timing-tracking process of the receiver. When sym_out_valid is '1', external circuit must read sym_out once every period of one symbol duration for a detected symbol that is available between one clock cycle before and after the rising edge of clk_out. A working example is to read sym_out when clk'Event and clk='1' and sym_out_valid='1' and clk_out='1'.
Click for details.
If the current specification does not meet your requirements, tell us about your requirements at support@corescomm.com before you buy to consider the best of our offer. We can commit to all the digital design for the PHY specification.
This core is available for both ASIC and FPGA. Since CoresComm is a member of the SignOnce Common License Consortium, an FPGA license may be sold under the project or site license supported by the consortium. Contact us at sales@corescomm.com for your further information/quote.
For license with source code, deliverables include the source code and test bench in VHDL. For license without source code, an NGC netlist is provided instead of the source code. One-year full support via e-mail is included in every license.