AT86RF232-ZXR

AT86RF232-ZXR

  • 厂商:

    ACTEL(微芯科技)

  • 封装:

    QFN-32-EP(5x5)

  • 描述:

  • 数据手册
  • 价格&库存
AT86RF232-ZXR 数据手册
AT86RF232 Features • High Performance RF-CMOS 2.4GHz radio transceiver targeted for ® ® IEEE 802.15.4, ZigBee , RF4CE, 6LoWPAN, and ISM applications • Industry leading link budget: - Receiver sensitivity -100dBm - Programmable output power from -17dBm up to +3dBm • Ultra-low current consumption: - SLEEP = 0.4µA - TRX_OFF = 330µA - RX_ON = 11.8mA (LISTEN) - BUSY_TX = 13.8mA (at max. transmit power) • Ultra-low supply voltage (1.8V to 3.6V) with internal regulator • Support for coin cell operation • Optimized for low BoM cost and ease of production: - Few external components necessary (crystal, capacitors and antenna) • Easy to use interface: - Registers, frame buffer and AES accessible through fast SPI - Only two microcontroller GPIO lines necessary - One interrupt pin from radio transceiver - Clock output • Radio transceiver features: - 128-byte FIFO (SRAM) for data buffering - Fully integrated, fast settling PLL to support Frequency Hopping - Battery monitor - Fast Wake-Up time < 0.4msec ™ • Special IEEE 802.15.4 -2011 hardware support: - FCS computation and Clear Channel Assessment - RSSI measurement, Energy Detection and Link Quality Indication • MAC hardware accelerator: - Automated acknowledgement, CSMA-CA and retransmission - Automatic address filtering - Automated FCS check • Extended feature set hardware support: - AES 128-bit hardware accelerator - Antenna Diversity - True Random Number Generation for security application • Commercial temperature range: - 0°C to +70°C • I/O and packages: - 32-pin low-profile QFN package 5 x 5 x 0.9mm³ - RoHS/Fully Green • Compliant to IEEE 802.15.4-2011, IEEE 802.15.4-2006 and IEEE 802.15.4-2003 • Compliant to EN 300 328/440, FCC-CFR-47 Part 15, ARIB STD-66, RSS-210 Low Power, 2.4GHz Transceiver for ZigBee, IEEE 802.15.4, 6LoWPAN, RF4CE and ISM Applications AT86RF232 PRELIMINARY Rev. 8321A–MCU Wireless–10/11 1 8321A–MCU Wireless–10/11 1 Pin-out Diagram 2 1. XTAL2 XTAL1 AVSS EVDD AVDD AVSS IRQ AVSS 2 23 /SEL AVSS 3 22 MOSI RFP 4 21 DVSS RFN 5 20 MISO AVSS 6 19 SCLK DVSS 7 18 DVSS /RST 8 17 9 10 11 12 13 14 15 16 CLKM AVSS DEVDD DVDD DVDD DVSS SLP_TR DIG2 AT86RF232 DVSS AVSS 32 31 30 29 28 27 26 25 1 24 exposed paddle DIG1 Note: AVSS AVSS Figure 1-1. Atmel AT86RF232 Pin-out Diagram. The exposed paddle is electrically connected to the die inside the package. It shall be soldered to the board to ensure electrical and thermal contact and good mechanical stability. AT86RF232 8321A–MCU Wireless–10/11 AT86RF232 1.1 Pin Descriptions Table 1-1. Atmel AT86RF232 Pin Description. Pins Name Type Description 1 AVSS Ground Analog ground 2 AVSS Ground Analog ground 3 AVSS Ground Ground for RF signals 4 RFP RF I/O Differential RF signal 5 RFN RF I/O Differential RF signal 6 AVSS Ground Ground for RF signals 7 DVSS Ground Digital ground 8 /RST Digital input Chip reset; active low 9 DIG1 Digital output (Ground) 1. Antenna Diversity RF switch control, see Section 11.3 2. If disabled, pull-down enabled (DVSS) 10 DIG2 Digital output (Ground) 1. Antenna Diversity RF switch control (DIG1 inverted), see Section 11.3 2. RX Frame Time Stamping, see Section 11.4 3. TX Frame Time Stamping, see Section 11.4 4. If functions disabled, pull-down enabled (DVSS) 11 SLP_TR Digital input Controls sleep, transmit start, receive states; active high, see Section 6.5 12 DVSS Ground Digital ground 13, 14 DVDD Supply Regulated 1.8V voltage regulator; digital domain, see Section 9.4 15 DEVDD Supply External supply voltage; digital domain 16 DVSS Ground Digital ground 17 CLKM Digital output Master clock signal output; low if disabled, see Section 9.6 18 DVSS Ground Digital ground 19 SCLK Digital input SPI clock 20 MISO Digital output SPI data output (master input slave output) 21 DVSS Ground Digital ground 22 MOSI Digital input SPI data input (master output slave input) 23 /SEL Digital input SPI select, active low 24 IRQ Digital output 1. Interrupt request signal; active high or active low; configurable 2. Frame Buffer Empty Indicator; active high, see Section 11.5 25 XTAL2 Analog input Crystal pin, see Section 9.6 26 XTAL1 Analog input Crystal pin or external clock supply, see Section 9.6 27 AVSS Ground Analog ground 28 EVDD Supply External supply voltage, analog domain 29 AVDD Supply Regulated 1.8V voltage regulator; analog domain, see Section 9.4 30, 31, 32 AVSS Ground Analog ground Paddle AVSS Ground Analog ground; Exposed paddle of QFN package 3 8321A–MCU Wireless–10/11 1.2 Analog and RF Pins 1.2.1 Supply and Ground Pins EVDD, DEVDD ® EVDD and DEVDD are analog and digital supply voltage pins of the Atmel AT86RF232 radio transceiver. AVDD, DVDD AVDD and DVDD are outputs of the internal 1.8V voltage regulators. The voltage regulators can be configured for external supply. For details, refer to Section 9.4. AVSS, DVSS AVSS and DVSS are analog and digital ground pins respectively. The analog and digital power domains should be separated on the PCB. 1.2.2 RF Pins RFN, RFP A differential RF port (RFP/RFN) provides common-mode rejection to suppress the switching noise of the internal digital signal processing blocks. At board-level, the differential RF layout ensures high receiver sensitivity by rejecting any spurious emissions originated from other digital ICs such as a microcontroller. A simplified schematic of the RF front end is shown in Figure 1-2. Figure 1-2. Simplified RF Front-end Schematic. PCB AT86RF232 0.9V M0 LNA RX PA TX CM Feedback RXTX The RF port is designed for a 100 differential load. A DC path between the RF pins is allowed. A DC path to ground or supply voltage is not allowed. The RF port DC values depend on the operating state, see Chapter 7. In TRX_OFF state, when the analog front-end is disabled (see Section 7.1.2.3), the RF pins are pulled to ground, preventing a floating voltage. 4 AT86RF232 8321A–MCU Wireless–10/11 AT86RF232 In transmit mode, a control loop provides a common-mode voltage of 0.9V. Transistor M0 is off, allowing the PA to set the common-mode voltage. The common-mode capacitance at each pin to ground shall be < 30pF to ensure the stability of this common-mode feedback loop. In receive mode, the RF port provides a low-impedance path to ground when transistor M0, see Figure 1-2, pulls the inductor center tap to ground. A DC voltage drop of 20mV across the on-chip inductor can be measured at the RF pins. 1.2.3 Crystal Oscillator Pins XTAL1, XTAL2 The pin 26 (XTAL1) of Atmel AT86RF232 is the input of the reference oscillator amplifier (XOSC), the pin 25 (XTAL2) is the output. A detailed description of the crystal oscillator setup and the related XTAL1/XTAL2 pin configuration can be found in Section 9.6. When using an external clock reference signal, XTAL1 shall be used as input pin. For further details, refer to Section 9.6.3. 1.2.4 Analog Pin Summary Table 1-2. Analog Pin Behavior – DC values. Pin Values and Conditions Comments RFP/RFN VDC = 0.9V (BUSY_TX) VDC = 20mV (receive states) VDC = 0mV (otherwise) DC level at pins RFP/RFN for various transceiver states. AC coupling is required if a circuitry with DC path to ground or supply is used. Serial capacitance and capacitance of each pin to ground must be < 30pF. XTAL1/XTAL2 VDC = 0.9V at both pins CPAR = 3pF DC level at pins XTAL1/XTAL2 for various transceiver states. Parasitic capacitance (Cpar) of the pins must be considered as additional load capacitance to the crystal. DVDD VDC = 1.8V (all states, except SLEEP) VDC = 0mV (otherwise) DC level at pin DVDD for various transceiver states. Supply pins (voltage regulator output) for the digital 1.8V voltage domain, recommended bypass capacitor 100nF. AVDD VDC = 1.8V (all states, except P_ON, SLEEP, RESET, and TRX_OFF) VDC = 0mV (otherwise) DC level at pin AVDD for various transceiver states. Supply pin (voltage regulator output) for the analog 1.8V voltage domain, recommended bypass capacitor 100nF. 5 8321A–MCU Wireless–10/11 1.3 Digital Pins The Atmel AT86RF232 provides a digital microcontroller interface. The interface comprises a slave SPI (/SEL, SCLK, MOSI and MISO) and additional control signals (CLKM, IRQ, SLP_TR, /RST and DIG2). The microcontroller interface is described in detail in Chapter 6. Additional digital output signals DIG1 and DIG2 are provided to control external blocks, that is for Antenna Diversity RF switch control, see Section 11.3. 1.3.1 Driver Strength Settings The driver strength of all digital output pins (MISO, IRQ, DIG1, and DIG2) and CLKM pin are fixed. The capacitive load should be as small as possible as, not larger than 50pF. 1.3.2 Pull-up and Pull-down Configuration All digital input pins are internally pulled-up or pulled-down in radio transceiver state P_ON, see Section 7.1.2.1. Table 1-3 summarizes the pull-up and pull-down configuration. Table 1-3. Pull-up / Pull-Down Configuration of Digital Input Pins. Pins H ˆ pull-up, L /RST H /SEL H SCLK L MOSI L SLP_TR L ˆ pull-down In all other radio transceiver states, no pull-up or pull-down circuitry is connected to any of the digital input pins mentioned in Table 1-3. In RESET state, the pull-up or pull-down resistors are not enabled. If the additional digital output signals DIG1or DIG2 are not activated, these pins are pulled-down to digital ground. 6 AT86RF232 8321A–MCU Wireless–10/11 AT86RF232 2 Disclaimer Typical values contained in this datasheet are based on simulations and testing. Minimum and maximum values are available when the radio transceiver has been fully characterized. 3 Overview The Atmel AT86RF232 is a low-power 2.4GHz radio transceiver designed for consumer ZigBee/IEEE 802.15.4, RF4CE, 6LoWPAN, and 2.4GHz ISM band applications. The radio transceiver is a true SPI-to-antenna solution. All RF-critical components except the antenna, crystal and de-coupling capacitors are integrated on-chip. Therefore, the AT86RF232 is particularly suitable for applications like:  2.4GHz IEEE 802.15.4 and ZigBee systems  RF4CE systems  6LoWPAN systems  Wireless sensor networks  Residential and commercial automation  Health care  Consumer electronics  PC peripherals ® The AT86RF232 can be operated by using an external microcontroller like Atmel AVR microcontrollers. A comprehensive software programming description can be found in reference [6], AT86RF232 Software Programming Model. 7 8321A–MCU Wireless–10/11 4 General Circuit Description This single-chip radio transceiver provides a complete radio transceiver interface between an antenna and a microcontroller. It comprises the analog radio, digital modulation and demodulation including time and frequency synchronization and data buffering. The number of external components is minimized such that only the antenna, the crystal and decoupling capacitors are required. The bidirectional differential antenna pins (RFP, RFN) are used for transmission and reception, thus no external antenna switch is needed. The Atmel AT86RF232 block diagram is shown in Figure 4-1. PA and Power Control PA XTAL2 XTAL1 Figure 4-1. AT86RF232 Block Diagram. XOSC PLL AVREG TX Data Configuration Registers TX BBP /SEL DVREG SPI (Slave) RFP FTN, BATMON Frame Buffer MISO MOSI SCLK RFN LNA PPF BPF Limiter ADC RX BBP AES IRQ CLKM DIG2 AGC AD DIG1/2 Analog Domain /RST RSSI Control Logic SLP_TR Antenna Diversity Digital Domain The received RF signal at pin 5 (RFN) and pin 6 (RFP) is differentially fed through the low-noise amplifier (LNA) to the RF filter (PPF) to generate a complex signal, driving the integrated channel filter (BPF). The limiting amplifier provides sufficient gain to drive the succeeding analog-to-digital converter (ADC) and generates a digital RSSI signal. The ADC output signal is sampled by the digital base band receiver (RX BBP). The transmit modulation scheme is offset-QPSK (O-QPSK) with half-sine pulse shaping and 32-length block coding (spreading) according to [1] and [2]. The modulation signal is generated in the digital transmitter (TX BBP) and applied to the fractional-N frequency synthesis (PLL), to ensure the coherent phase modulation required for demodulation of O-QPSK signals. The frequency-modulated signal is fed to the power amplifier (PA). 8 AT86RF232 8321A–MCU Wireless–10/11 AT86RF232 Two on-chip low-dropout voltage regulators (A|DVREG) provide the analog and digital 1.8V supply. An internal 128-byte RAM for RX and TX (Frame Buffer) buffers the data to be transmitted or the received data. The configuration of the Atmel AT86RF232, reading and writing of Frame Buffer is controlled by the SPI interface and additional control lines. The AT86RF232 further contains comprehensive hardware-MAC support (Extended Operating Mode) and a security engine (AES) to improve the overall system power efficiency and timing. The stand-alone 128-bit AES engine can be accessed in parallel to all PHY operational transactions and states using the SPI interface, except during SLEEP state. To improve the reliability of an RF connection the RF performance can further be improved by using Antenna Diversity. Additional features of the Extended Feature Set, see Chapter 11, are provided to simplify the interaction between radio transceiver and microcontroller. 9 8321A–MCU Wireless–10/11 5 Application Circuits 5.1 Basic Application Schematic A basic application schematic of the Atmel AT86RF232 with a single-ended RF connector is shown in Figure 5-1. The 50Ω single-ended RF input is transformed to the 100Ω differential RF port impedance using balun B1. The capacitors C1 and C2 provide AC coupling of the RF input to the RF port, optional capacitor C4 improves matching if required. Figure 5-1. Basic Application Schematic. CB2 CX1 XTAL CX2 VDD CB1 Digital Interface XTAL2 XTAL1 AVSS EVDD MOSI 22 DVSS 21 AT86RF232 MISO 20 SCLK 19 6 AVSS 9 DVSS DEVDD DVDD DVDD 8 /RST DVSS DVSS 18 CLKM 17 DIG2 7 DVSS DIG1 C2 AVDD 3 AVSS 5 RFN C4 AVSS /SEL 23 4 RFP B1 IRQ 24 2 AVSS SLP_TR C1 RF AVSS 1 AVSS AVSS 32 31 30 29 28 27 26 25 R1 C3 10 11 12 13 14 15 16 VDD CB3 CB4 The power supply decoupling capacitors (CB2, CB4) are connected to the external analog supply pin 28 (EVDD) and external digital supply pin 15 (DEVDD). Capacitors CB1 and CB3 are bypass capacitors for the integrated analog and digital voltage regulators to ensure stable operation. All decoupling and bypass capacitors should be placed as close as possible to the pins and should have a low-resistance and lowinductance connection to ground to achieve the best performance. The crystal (XTAL), the two load capacitors (CX1, CX2), and the internal circuitry connected to pins XTAL1 and XTAL2 form the crystal oscillator. To achieve the best accuracy and stability of the reference frequency, large parasitic capacitances should be avoided. Crystal lines should be routed as short as possible and not in proximity of digital I/O signals. 10 AT86RF232 8321A–MCU Wireless–10/11 AT86RF232 Crosstalk from digital signals on the crystal pins or the RF pins can degrade the system performance. Therefore, a low-pass filter (C3, R1) is placed close to the Atmel AT86RF232 CLKM output pin to reduce the emission of CLKM signal harmonics. This is not needed if the pin 17 (CLKM) is not used as a microcontroller clock source. In that case, the output should be turned off during device initialization. The ground plane of the application board should be separated into four independent fragments, the analog, the digital, the antenna and the XTAL ground plane. The exposed paddle shall act as the reference point of the individual grounds. Table 5-1. Example Bill of Materials (BoM) for Basic Application Schematic. Designator Description Value Manufacturer Part Number Comment B1 SMD balun 2.45GHz Wuerth 748421245 2.45GHz Balun B1 (alternatively) SMD balun / filter 2.45GHz Johanson Technology 2450FB15L0001 2.45GHz Balun / Filter CB1 CB3 LDO VREG bypass capacitor 100nF Generic CB2 CB4 Power supply decoupling 1µF AVX Murata CX1, CX2 Crystal load capacitor 12pF C1, C2 RF coupling capacitor C3 CLKM low-pass filter capacitor C4 (optional) RF matching R1 CLKM low-pass filter resistor XTAL Crystal X7R (0402) 10% 16V 0603YD105KAT2A GRM188R61C105KA12D X5R (0603) 10% 16V AVX Murata 06035A120JA GRM1555C1H120JA01D COG (0402) 5% 50V 22pF Murata Epcos AVX GRM1555C1H220JA01J C0G 5% B37920 (0402 or 0603) 06035A220JAT2A 2.2pF AVX Murata 06035A229DA GRP1886C1H2R0DA01 COG (0603) 0.5pF 50V 50V Designed for fCLKM = 1MHz Value depends on final PCB implementation 680 CX-4025 16MHz SX-4025 16MHz Designed for fCLKM = 1MHz ACAL Taitjen Siward XWBBPL-F-1 A207-011 11 8321A–MCU Wireless–10/11 5.2 Extended Feature Set Application Schematic The Atmel AT86RF232 supports additional features like:  Security Module (AES) Section 11.1  Random Number Generator Section 11.2  Antenna Diversity uses pins DIG1(/2) Section 11.3  RX and TX Frame Time Stamping (TX_ARET)  Frame Buffer Empty Indicator uses pin DIG2 Section 11.4 uses pin IRQ Section 11.5  Dynamic Frame Buffer Protection Section 11.6 An extended feature set application schematic illustrating the use of the AT86RF232 Extended Feature Set, see Chapter 11, is shown in Figure 5-2 Although this example shows all additional hardware features combined, it is possible to use all features separately or in various combinations. Figure 5-2. Extended Feature Application Schematic. CB2 CX1 XTAL CX2 VDD CB1 MOSI 22 4 RFP DVSS 21 AT86RF232 5 RFN MISO 20 8 /RST CLKM 17 DVSS DVSS 18 DEVDD 7 DVSS DVDD SCLK 19 DVDD 6 AVSS 9 Digital Interface XTAL2 XTAL1 AVSS EVDD AVDD AVSS AVSS 3 AVSS DVSS ANT1 /SEL 23 SLP_TR B1 IRQ 24 2 AVSS DIG1 Balun RFSwitch SW1 1 AVSS DIG2 ANT0 AVSS 32 31 30 29 28 27 26 25 R1 C3 10 11 12 13 14 15 16 VDD CB3 12 CB4 AT86RF232 8321A–MCU Wireless–10/11 AT86RF232 In this example, a balun (B1) transforms the differential RF signal at the Atmel AT86RF232 radio transceiver RF pins (RFP/RFN) to a single ended RF signal, similar to the Basic Application Schematic; refer to Figure 5-1. During receive mode the radio transceiver searches for the most reliable RF signal path using the Antenna Diversity algorithm. One antenna is selected (SW2) by the Antenna Diversity RF switch control pin 9 (DIG1), refer to Section 11.3. RX and TX Frame Time stamping is implemented through pin 10 (DIG2), refer to Section 11.4. The security engine (AES) does not require specific circuitry to operate, for details refer to Section 11.1. 13 8321A–MCU Wireless–10/11 6 Microcontroller Interface This section describes the Atmel AT86RF232 to microcontroller interface. The interface comprises a slave SPI and additional control signals; see Figure 6-1. The SPI timing and protocol are described below. Figure 6-1. Microcontroller to AT86RF232 Interface. AT86RF232 /SEL /SEL /SEL MOSI MOSI MOSI MISO MISO MISO SCLK SCLK SCLK GPIO1/CLK CLKM CLKM GPIO2/IRQ IRQ SPI - Master SPI - Slave SPI Microcontroller IRQ SLP_TR GPIO3 SLP_TR GPIO4 /RST /RST GPIO5 DIG2 DIG2 Microcontrollers with a master SPI such as Atmel AVR family interface directly to the AT86RF232. The SPI is used for register, Frame Buffer, SRAM and AES access. The additional control signals are connected to the GPIO/IRQ interface of the microcontroller. Table 6-1 introduces the radio transceiver I/O signals and their functionality. Table 6-1. Signal Description of Microcontroller Interface. 14 Signal Description /SEL SPI select signal, active low MOSI SPI data (master output slave input) signal MISO SPI data (master input slave output) signal SCLK SPI clock signal CLKM Optional, Clock output, refer to Section 9.6.4, usable as: - microcontroller clock source - high precision timing reference IRQ Interrupt request signal, further used as: - Frame Buffer Empty indicator, refer to Section 11.5 SLP_TR Multi purpose control signal (functionality is state dependent, see Section 6.5): - Sleep/Wakeup enable/disable SLEEP state - TX start BUSY_TX_(ARET) state /RST AT86RF232 reset signal, active low DIG2 Optional, - IRQ_2 (RX_START) for RX Frame Time Stamping, see Section 11.4 - Signals frame transmit within TX_ARET mode for TX Time Stamping AT86RF232 8321A–MCU Wireless–10/11 AT86RF232 6.1 SPI Timing Description Pin 17 (CLKM) can be used as a microcontroller master clock source. If the microcontroller derives the SPI master clock (SCLK) directly from CLKM, the SPI operates in synchronous mode, otherwise in asynchronous mode. In asynchronous mode, the maximum SCLK frequency fasync is limited to 7.5MHz. The signal at pin 17 (CLKM) is not required to derive SCLK and may be disabled to reduce power consumption and spurious emissions. Figure 6-2 and Figure 6-3 illustrate the SPI timing and introduces its parameters. The corresponding timing parameter definitions t1 – t9 are defined in Section 12.4. Figure 6-2. SPI Timing, Global Map and Definition of Timing Parameters t5, t6, t8, t9. t8 t9 /SEL SCLK MOSI 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 t5 MISO Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 t6 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 Figure 6-3. SPI Timing, Detailed Drawing of Timing Parameters t1 to t4. /SEL SCLK t3 MOSI t4 Bit 7 Bit 6 t1 MISO Bit 5 t2 Bit 7 Bit 6 Bit 5 The SPI is based on a byte-oriented protocol and is always a bidirectional communication between master and slave. The SPI master starts the transfer by asserting /SEL = L. Then the master generates eight SPI clock cycles to transfer one byte to the radio transceiver (via MOSI). At the same time, the slave transmits one byte to the master (via MISO). When the master wants to receive one byte of data from the slave it must also transmit one byte to the slave. All bytes are transferred with MSB first. An SPI transaction is finished by releasing /SEL = H. An SPI register access consists of two bytes, a Frame Buffer or SRAM access of at least two or more bytes as described in Section 6.2. /SEL = L enables the MISO output driver of the Atmel AT86RF232. The MSB of MISO is valid after t1 (see Section 12.4 parameter) and is updated at each falling edge of SCLK. If the driver is disabled, there is no internal pull-up circuitry connected to it. Driving the appropriate signal level must be ensured by the master device or an external pull-up resistor. 15 8321A–MCU Wireless–10/11 Note: 1. When both /SEL and /RST are active, the MISO output driver is also enabled. Referring to Figure 6-2 and Figure 6-3 Atmel AT86RF232 MOSI is sampled at the rising edge of the SCLK signal and the output is set at the falling edge of SCLK. The signal must be stable before and after the rising edge of SCLK as specified by t3 and t4, refer to Section 12.4 parameters. This SPI operational mode is commonly known as “SPI mode 0”. 6.2 SPI Protocol Each SPI sequence starts with transferring a command byte from the SPI master via MOSI (see Table 6-2) with MSB first. This command byte defines the SPI access mode and additional mode-dependent information. Table 6-2. SPI Command Byte Definition. Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 1 0 1 1 0 0 1 reserved 0 1 1 reserved 0 0 0 reserved 0 1 0 reserved Bit 1 Bit 0 Register address [5:0] Access Mode Access Type Register access Read access Register address [5:0] Write access Frame Buffer access Read access Write access SRAM access Read access Write access Each SPI transfer returns bytes back to the SPI master on MISO. The content of the first byte (see value “PHY_STATUS“ in Figure 6-4 to Figure 6-14) is set to zero after reset. To transfer status information of the radio transceiver to the microcontroller, the content of the first byte can be configured with register bits SPI_CMD_MODE (register 0x04, TRX_CTRL_1). For details, refer to Section 6.3.1. In Figure 6-4 to Figure 6-14 and the following chapters logic values stated with XX on MOSI are ignored by the radio transceiver, but need to have a valid logic level. Return values on MISO stated as XX shall be ignored by the microcontroller. The different access modes are described within the following sections. 6.2.1 Register Access Mode A register access mode is a two-byte read/write operation initiated by /SEL = L. The first transferred byte on MOSI is the command byte including an identifier bit (bit[7] = 1), a read/write select bit (bit[6]), and a 6-bit register address. On read access, the content of the selected register address is returned in the second byte on MISO (see Figure 6-4). Figure 6-4. Packet Structure - Register Read Access. byte 1 (command byte) MOSI 1 MISO Note: 16 0 ADDRESS[5:0] PHY_STATUS 1. (1) byte 2 (data byte) XX READ DATA[7:0] Each SPI access can be configured to return radio controller status information (PHY_STATUS) on MISO, for details refer to Section 6.3. AT86RF232 8321A–MCU Wireless–10/11 AT86RF232 On write access, the second byte transferred on MOSI contains the write data to the selected address (see Figure 6-5). Figure 6-5. Packet Structure - Register Write Access. byte 1 (command byte) MOSI 1 1 MISO byte 2 (data byte) ADDRESS[5:0] WRITE DATA[7:0] PHY_STATUS XX Each register access must be terminated by setting /SEL = H. Figure 6-6 illustrates a typical SPI sequence for a register access sequence for write and read respectively. Figure 6-6. Example SPI Sequence – Register Access Mode. Register Write Access Register Read Access /SEL SCLK MOSI WRITE COMMAND MISO PHY_STATUS WRITE DATA READ COMMAND XX PHY_STATUS XX READ DATA 6.2.2 Frame Buffer Access Mode The Atmel AT86RF232 128-byte Frame Buffer can hold the PHY service data unit (PSDU) data of one IEEE 802.15.4 compliant RX or one TX frame of maximum length at a time. A detailed description of the Frame Buffer can be found in Section 9.3. An introduction to the IEEE 802.15.4 frame format can be found in Section 8.1. Frame Buffer read and write accesses are used to read or write frame data (PSDU and additional information) from or to the Frame Buffer. Each access starts with /SEL = L followed by a command byte on MOSI. If this byte indicates a frame read or write access, the next byte PHR indicates the frame length followed by the PSDU data, see Figure 6-7 and Figure 6-8. On Frame Buffer read access, PHY header (PHR) and PSDU are transferred via MISO starting with the second byte. After the PSDU data, three more bytes are transferred containing the link quality indication (LQI) value, the energy detection (ED) value, and the status information (RX_STATUS) of the received frame, for LQI details refer to Section 8.6. The Figure 6-7 illustrates the packet structure of a Frame Buffer read access. Figure 6-7. Packet Structure - Frame Read Access. byte 1 (command byte) byte 2 (data byte) byte 3 (data byte) byte n-1 (data byte) byte n (data byte) MOSI 0 0 1 reserved[4:0] XX XX XX XX MISO PHY_STATUS PHR[7:0] PSDU[7:0] ED[7:0] RX_STATUS[7:0] 17 8321A–MCU Wireless–10/11 The structure of RX_STATUS is described in Table 6-3. Table 6-3. Structure of RX_STATUS. Bit 7 6 RX_CRC_VALID 5 4 TRAC_STATUS Read/Write Reset value R 0 R 0 Bit 3 2 RX_STATUS R 0 R 0 1 0 reserved Read/Write Reset value Note: 1. R 0 RX_STATUS R 0 R 0 R 0 More information to RX_CRC_VALID, see Section 8.2.5, and to TRAC_STATUS, see Section 7.2.6. On Frame Buffer write access the second byte transferred on MOSI contains the frame length (PHR field) followed by the payload data (PSDU) as shown by Figure 6-8. Figure 6-8. Packet Structure - Frame Write Access. byte 1 (command byte) byte 2 (data byte) byte 3 (data byte) byte n-1 (data byte) byte n (data byte) MOSI 0 1 1 reserved[4:0] PHR[7:0] PSDU[7:0] PSDU[7:0] PSDU[7:0] MISO PHY_STATUS XX XX XX XX The number of bytes n for one frame access is calculated as follows: Read Access: n = 5 + frame_length [PHY_STATUS, PHR byte, PSDU data, LQI, ED, and RX_STATUS] Write Access: n = 2 + frame_length [command byte, PHR byte, and PSDU data] Each read or write of a data byte automatically increments the address counter of the Frame Buffer until the access is terminated by setting /SEL = H. A Frame Buffer read access may be terminated (/SEL = H) at any time without affecting the Frame Buffer content. Another Frame Buffer read operation starts again at the PHR field. The content of the Atmel AT86RF232 Frame Buffer is overwritten by a new received frame or a Frame Buffer write access. Figure 6-9 and Figure 6-10 illustrate an example SPI sequence of a Frame Buffer access to read a frame with 2-byte PSDU and write a frame with 4-byte PSDU. Figure 6-9. Example SPI Sequence - Frame Buffer Read of a Frame with 2-byte PSDU. /SEL SCLK MOSI COMMAND XX MISO PHY_STATUS PHR 18 XX PSDU 1 XX PSDU 2 XX LQI XX ED XX RX_STATUS AT86RF232 8321A–MCU Wireless–10/11 AT86RF232 Figure 6-10. Example SPI Sequence - Frame Buffer Write of a Frame with 4-byte PSDU. /SEL SCLK MOSI COMMAND MISO PHY_STATUS PHR PSDU 1 XX PSDU 2 XX XX PSDU 3 PSDU 4 XX XX Access violations during a Frame Buffer read or write access are indicated by interrupt IRQ_6 (TRX_UR). For further details, refer to Section 9.3. Notes: 1. The Frame Buffer is shared between RX and TX; therefore, the frame data are overwritten by new incoming frames. If the TX frame data are to be retransmitted, it must be ensured that no frame was received in the meanwhile. 2. To avoid overwriting during receive Dynamic Frame Buffer Protection can be enabled, refer to Section 11.6. 3. For exceptions, receiving acknowledgement frames in Extended Operating Mode (TX_ARET) refer to Section 7.2.4. 6.2.3 SRAM Access Mode The SRAM access mode allows accessing dedicated bytes within Atmel AT86RF232 Frame Buffer or AES address space, refer to Section 11.1. the During frame receive after occurrence of interrupt IRQ_2 (RX_START) an SRAM access can be used to upload the PHR field while preserving Dynamic Frame Buffer Protection, see Section 11.6. Each SRAM access starts with /SEL = L. The first transferred byte on MOSI shall be the command byte and must indicate an SRAM access mode according to the definition in Table 6-2. The following byte indicates the start address of the write or read access. SRAM address space:  Frame Buffer: 0x00 to 0x7F  AES: 0x82 to 0x94 On SRAM read access, one or more bytes of read data are transferred on MISO starting with the third byte of the access sequence (see Figure 6-11). Figure 6-11. Packet Structure – SRAM Read Access. byte 1 (command byte) byte 2 (address) byte 3 (data byte) byte n-1 (data byte) byte n (data byte) MOSI 0 0 0 reserved[4:0] ADDRESS[7:0] XX XX XX MISO PHY_STATUS XX DATA[7:0] DATA[7:0] DATA[7:0] On SRAM write access, one or more bytes of write data are transferred on MOSI starting with the third byte of the access sequence (see Figure 6-12). 19 8321A–MCU Wireless–10/11 Figure 6-12. Packet Structure – SRAM Write Access. byte 1 (command byte) byte 2 (address) byte 3 (data byte) byte n-1 (data byte) byte n (data byte) MOSI 0 1 0 reserved[4:0] ADDRESS[7:0] DATA[7:0] DATA[7:0] DATA[7:0] MISO PHY_STATUS XX XX XX XX As long as /SEL = L, every subsequent byte read or byte write increments the address counter of the Frame Buffer until the SRAM access is terminated by /SEL = H. Figure 6-13 and Figure 6-14 illustrate an example SPI sequence of an Atmel AT86RF232 SRAM access to read and write a data package of five byte length respectively. Figure 6-13. Example SPI Sequence – SRAM Read Access of a 5-byte Data Package. /SEL SCLK MOSI COMMAND MISO PHY_STATUS ADDRESS XX XX DATA 1 XX DATA 2 XX DATA 3 XX XX DATA 4 DATA 5 DATA 4 DATA 5 Figure 6-14. Example SPI Sequence – SRAM Write Access of a 5-byte Data Package. /SEL SCLK MOSI COMMAND MISO PHY_STATUS ADDRESS XX XX Notes: 20 DATA 1 DATA 2 XX DATA 3 XX XX XX 1. The SRAM access mode is not intended to be used as an alternative to the Frame Buffer access modes (see Section 6.2.2). 2. Frame Buffer access violations are not indicated by a TRX_UR interrupt when using the SRAM access mode, for further details refer to Section 9.3.3. AT86RF232 8321A–MCU Wireless–10/11 AT86RF232 6.3 Radio Transceiver Status information Each Atmel AT86RF232 SPI access can be configured to return status information of the radio transceiver (PHY_STATUS) to the microcontroller using the first byte of the data transferred via MISO. The content of the radio transceiver status information can be configured using register bits SPI_CMD_MODE (register 0x04, TRX_CTRL_1). After reset, the content on the first byte send on MISO to the microcontroller is set to zero. 6.3.1 Register Description Register 0x04 (TRX_CTRL_1): The TRX_CTRL_1 register is a multi-purpose register to control various operating modes and settings of the radio transceiver. Figure 6-15. Register TRX_CTRL_1. Bit 0x04 Read/Write Reset value 7 6 5 4 reserved IRQ_2_EXT_EN TX_AUTO_CRC_ ON RX_BL_CTRL R/W 0 R/W 0 R/W 1 R/W 0 3 2 1 0 IRQ_MASK_MODE IRQ_POLARITY R/W 1 R/W 0 Bit 0x04 SPI_CMD_MODE Read/Write Reset value R/W 0 R/W 0 TRX_CTRL_1 TRX_CTRL_1  Bit 3:2 - SPI_CMD_MODE Each SPI transfer returns bytes back to the SPI master. The content of the first byte (PHY_STATUS) can be configured using register bits SPI_CMD_MODE. Table 6-4. SPI_CMD_MODE. Register Bits SPI_CMD_MODE Note: 1. Value Description 0 Default (empty, all bits zero) 1 Monitor TRX_STATUS register 2 Monitor PHY_RSSI register 3 Monitor IRQ_STATUS register More information to register TRX_STATUS, see Section 7.1.5, to register PHY_RSSI, see Section 8.3, and to register IRQ_STATUS, see Section 6.6. 21 8321A–MCU Wireless–10/11 6.4 Radio Transceiver Identification The Atmel AT86RF232 can be identified by four registers. One register contains a unique part number and one register the corresponding version number. Two additional registers contain the JEDEC manufacture ID. 6.4.1 Register Description Register 0x1C (PART_NUM): The register PART_NUM can be used for the radio transceiver identification and includes the device part number. Figure 6-16. Register PART_NUM. Bit 7 6 0x1C Read/Write Reset value R 0 R 0 Bit 3 2 0x1C Read/Write Reset value 5 4 R 0 R 0 1 0 R 1 R 0 PART_NUM PART_NUM PART_NUM R 1 R 0 PART_NUM  Bit 7:0 - PART_NUM Table 6-5. PART_NUM. Register Bits Value Description PART_NUM 0x0A AT86RF232 part number Register 0x1D (VERSION_NUM): The register VERSION_NUM can be used for the radio transceiver identification and includes the device version number. Figure 6-17. Register VERSION_NUM. Bit 7 6 5 0x1D Read/Write Reset value R 0 R 0 Bit 3 2 0x1D Read/Write Reset value 4 VERSION_NUM VERSION_NUM R 0 R 0 1 0 R 1 R 0 VERSION_NUM R 0 R 0 VERSION_NUM  Bit 7:0 - VERSION_NUM Table 6-6. VERSION_NUM. 22 Register Bits Value Description VERSION_NUM 0x02 Revision A AT86RF232 8321A–MCU Wireless–10/11 AT86RF232 Register 0x1E (MAN_ID_0): Part one of the JEDEC manufacturer ID. Figure 6-18. Register MAN_ID_0. Bit 7 6 Read/Write Reset value R 0 R 0 Bit 3 2 0x1E 4 R 0 R 1 1 0 R 1 R 1 MAN_ID_0 0x1E Read/Write Reset value 5 MAN_ID_0 MAN_ID_0 R 1 R 1 MAN_ID_0  Bit 7:0 - MAN_ID_0 Table 6-7. MAN_ID_0. Register Bits Value Description MAN_ID_0 0x1F Atmel JEDEC manufacturer ID, bits[7:0] of the 32-bit JEDEC manufacturer ID are stored in register bits MAN_ID_0. Bits [15:8] are stored in register 0x1F (MAN_ID_1). The higher 16 bits of the ID are not stored in registers. Register 0x1F (MAN_ID_1): Part two of the JEDEC manufacturer ID. Figure 6-19. Register MAN_ID_1. Bit 7 6 0x1F Read/Write Reset value R 0 R 0 Bit 3 2 0x1F Read/Write Reset value 5 4 R 0 R 0 1 0 R 0 R 0 MAN_ID_1 MAN_ID_1 MAN_ID_1 R 0 R 0 MAN_ID_1  Bit 7:0 - MAN_ID_1 Table 6-8. MAN_ID_1. Register Bits Value Description MAN_ID_1 0x00 Atmel JEDEC manufacturer ID, bits[15:8] of the 32-bit JEDEC manufacturer ID are stored in register bits MAN_ID_1. Bits [7:0] are stored in register 0x1E (MAN_ID_0). The higher 16 bits of the ID are not stored in registers. 23 8321A–MCU Wireless–10/11 6.5 Sleep/Wake-up and Transmit Signal (SLP_TR) Pin 11 (SLP_TR) is a multi-functional pin. Its function relates to the current state of the Atmel AT86RF232 and is summarized in Table 6-9. The radio transceiver states are explained in detail in Chapter 7. Table 6-9. SLP_TR Multi-functional Pin. Transceiver Status Function Transition Description PLL_ON TX start LH Starts frame transmission TX_ARET_ON TX start LH Starts TX_ARET transaction TRX_OFF Sleep LH Takes the radio transceiver into SLEEP state, CLKM disabled SLEEP Wakeup HL Takes the radio transceiver back into TRX_OFF state, level sensitive In states PLL_ON and TX_ARET_ON, pin 11 (SLP_TR) is used as trigger input to initiate a TX transaction. Here SLP_TR is sensitive on rising edge only. After initiating a state change by a rising edge at pin 11 (SLP_TR) in radio transceiver state TRX_OFF, the radio transceiver remains in the new state as long as the pin is logical high and returns to the preceding state with the falling edge. SLEEP state The SLEEP state is used when radio transceiver functionality is not required, and thus the AT86RF232 can be powered down to reduce the overall power consumption. A power-down scenario is shown in Figure 6-20. When the radio transceiver is in TRX_OFF state the microcontroller forces the AT86RF232 to SLEEP by setting SLP_TR = H. If pin 17 (CLKM) provides a clock to the microcontroller this clock is switched off after 35 CLKM cycles. The AT86RF232 awakes when the microcontroller releases pin 11 (SLP_TR). The CLKM clock frequency setting for 62.5kHz are not intended to directly clock the microcontroller. When using these clock rates, CLKM is turned off immediately when entering SLEEP state. Figure 6-20. Sleep and Wake-up Initiated by Asynchronous Microcontroller Timer. SLP_TR tTR1a CLKM tTR3 (35 CLKM clock cycles) CLKM off async timer elapses (microcontroller) Note: 24 1. Timing figures tTR3 and tTR1a refer to Table 7-1. AT86RF232 8321A–MCU Wireless–10/11 AT86RF232 6.6 Interrupt Logic 6.6.1 Overview The Atmel AT86RF232 differentiates between nine interrupt events (eight physical interrupt registers, one shared by two functions). Each interrupt is enabled by setting the corresponding bit in the interrupt mask register 0x0E (IRQ_MASK). Internally, each pending interrupt is stored in a separate bit of the interrupt status register. All interrupt events are OR-combined to a single external interrupt signal (IRQ pin). If an interrupt is issued, pin 24 (IRQ) = H, the microcontroller shall read the interrupt status register 0x0F (IRQ_STATUS) to determine the source of the interrupt. A read access to this register clears the interrupt status register and thus the IRQ pin, too. Interrupts are not cleared automatically when the event that caused them vanishes. Exceptions are IRQ_0 (PLL_LOCK) and IRQ_1 (PLL_UNLOCK) because the occurrence of one clears the other. The supported interrupts for the Basic Operating Mode are summarized in Table 6-10. Table 6-10. Interrupt Description in Basic Operating Mode. IRQ Name Description Section IRQ_7 (BAT_LOW) Indicates a supply voltage below the programmed threshold. 9.5.4 IRQ_6 (TRX_UR) Indicates a Frame Buffer access violation. 9.3.3 IRQ_5 (AMI) Indicates an address match. IRQ_4 (CCA_ED_DONE) Multi-functional interrupt: 1. AWAKE_END:  Indicates finished transition to TRX_OFF state from P_ON, SLEEP, or RESET state. 2. CCA_ED_DONE:  Indicates the end of a CCA or ED measurement. 7.2.3.4 7.1.2.3 8.4.4 8.5.4 IRQ_3 (TRX_END) RX: Indicates the completion of a frame reception. TX: Indicates the completion of a frame transmission. 7.1.3 7.1.3 IRQ_2 (RX_START) Indicates the start of a PSDU reception. Register bits TRX_STATUS changes to BUSY_RX, the PHR is valid to be read from Frame Buffer. 7.1.3 IRQ_1 (PLL_UNLOCK) Indicates PLL unlock. If the radio transceiver is in BUSY_TX / BUSY_TX_ARET state, the PA is turned off immediately. 9.7.5 IRQ_0 (PLL_LOCK) Indicates PLL lock. 9.7.5 Note: 1. The IRQ_4 (AWAKE_END) interrupt can usually not be seen when the transceiver enters TRX_OFF state after P_ON, or RESET, because register 0x0E (IRQ_MASK) is reset to mask all interrupts. It is recommended to enable IRQ_4 (AWAKE_END) to be notified once the TRX_OFF state is entered. The interrupt handling in Extended Operating Mode is described in Section 7.2.5. 25 8321A–MCU Wireless–10/11 6.6.2 Interrupt Mask Modes and Pin Polarity If register bit IRQ_MASK_MODE (register 0x04, TRX_CTRL_1) is set, an interrupt event can be read from IRQ_STATUS register even if the interrupt itself is masked. However, in that case no timing information for this interrupt is provided. The Table 6-11, Figure 6-21, and Figure 6-22 describes the function. Table 6-11. IRQ Mask Configuration. IRQ_MASK Value IRQ_MASK_MODE Description 0 0 IRQ is suppressed entirely and none of interrupt causes are shown in register IRQ_STATUS. 0 1 IRQ is suppressed entirely but all interrupt causes are shown in register IRQ_STATUS. ≠0 0 All enabled interrupts are signaled on IRQ pin and are also shown in register IRQ_STATUS. ≠0 1 All enabled interrupts are signaled on IRQ pin and all interrupt causes are shown in register IRQ_STATUS. Interrupt Sources Figure 6-21. IRQ_MASK_MODE = 0. . . . IRQ_MASK (register 0x0E) IRQ_STATUS (register 0x0F) OR IRQ Interrupt Sources Figure 6-22. IRQ_MASK_MODE = 1. . . . IRQ_STATUS (register 0x0F) IRQ_MASK OR IRQ (register 0x0E) The Atmel AT86RF232 IRQ pin polarity can be configured with register bit IRQ_POLARITY (register 0x04, TRX_CTRL_1). The default behavior is active high, which means that pin 24 (IRQ) = H issues an interrupt request. If “Frame Buffer Empty Indicator” is enabled during Frame Buffer read access the IRQ pin has an alternative functionality, refer to Section 11.5 for details. 26 AT86RF232 8321A–MCU Wireless–10/11 AT86RF232 6.6.3 Register Description Register 0x0E (IRQ_MASK): The IRQ_MASK register controls the interrupt signaling via pin 24 (IRQ). Figure 6-23. Register IRQ_MASK. Bit 7 6 R/W 0 R/W 0 3 2 0x0E 5 4 R/W 0 R/W 0 1 0 R/W 0 R/W 0 IRQ_MASK Read/Write Reset value Bit 0x0E IRQ_MASK IRQ_MASK Read/Write Reset value R/W 0 R/W 0 IRQ_MASK  Bit 7:0 - IRQ_MASK Mask register for interrupts. IRQ_MASK[7] correspondents with IRQ_7_BAT_LOW. IRQ_MASK[0] correspondents with IRQ_0_PLL_LOCK. Table 6-12. IRQ_MASK. Register Bits Value Description IRQ_MASK 0x00 The IRQ_MASK register is used to enable or disable individual interrupts. An interrupt is enabled if the corresponding bit is set to one. All interrupts are disabled after power-on sequence (P_ON state) or reset (RESET state). Valid values are [0xFF, 0xFE, …, 0x00]. Note: 1. If an interrupt is enabled it is recommended to read the interrupt status register 0x0F (IRQ_STATUS) first to clear the history. Register 0x0F (IRQ_STATUS): The IRQ_STATUS register contains the status of the pending interrupt requests. Figure 6-24. Register IRQ_STATUS. Bit 0x0F 7 6 5 4 IRQ_7_BAT_LOW IRQ_6_TRX_UR IRQ_5_AMI IRQ_4_CCA_ED_ DONE Read/Write Reset value R 0 R 0 R 0 R 0 Bit 3 2 1 0 IRQ_3_TRX_END IRQ_2_RX_ START IRQ_1_PLL_ UNLOCK IRQ_0_PLL_ LOCK R 0 R 0 R 0 R 0 0x0F Read/Write Reset value IRQ_STATUS IRQ_STATUS For more information to meanings of interrupts, see Table 6-10 Interrupt Description in Basic Operating Mode. 27 8321A–MCU Wireless–10/11 By reading the register after an interrupt is signaled at pin 24 (IRQ) the source of the issued interrupt can be identified. A read access to this register resets all interrupt bits, and so clears the IRQ_STATUS register. Notes: 1. If register bit IRQ_MASK_MODE (register 0x04, TRX_CTRL_1) is set, an interrupt event can be read from IRQ_STATUS register even if the interrupt itself is masked. However in that case no timing information for this interrupt is provided. 2. If register bit IRQ_MASK_MODE (register 0x04, TRX_CTRL_1) is set, it is recommended to read the interrupt status register 0x0F (IRQ_STATUS) first to clear the history. Register 0x04 (TRX_CTRL_1): The TRX_CTRL_1 register is a multi-purpose register to control various operating modes and settings of the radio transceiver. Figure 6-25. Register TRX_CTRL_1. Bit 7 0x04 6 5 4 reserved IRQ_2_EXT_EN TX_AUTO_CRC_ ON RX_BL_CTRL R/W 0 R/W 0 R/W 1 R/W 0 3 2 Read/Write Reset value Bit 0x04 SPI_CMD_MODE Read/Write Reset value R/W 0 1 0 IRQ_MASK_MODE IRQ_POLARITY R/W 1 R/W 0 R/W 0 TRX_CTRL_1 TRX_CTRL_1  Bit 6 - IRQ_2_EXT_EN Controls external signaling for time stamping via pin 10 (DIG2). Table 6-13. IRQ_2_EXT_EN. Register Bits IRQ_2_EXT_EN Value Description 0 Time stamping over pin 10 (DIG2) is disabled (1) Time stamping over pin 10 (DIG2) is enabled 1 Notes: 1. The pin 10 (DIG2) is also active even if the corresponding interrupt event IRQ_2 (RX_START) mask bit in register 0x0E (IRQ_MASK) is set to zero. 2. The pin remains at high level until the end of the frame receive or transmit procedure. The timing of a received frame can be determined by a separate pin 10 (DIG2). If register bit IRQ_2_EXT_EN is set to one, the reception of a PHR is directly issued on pin 10 (DIG2), similar to interrupt IRQ_2 (RX_START). For further details refer to Section 11.4. 28 AT86RF232 8321A–MCU Wireless–10/11 AT86RF232  Bit 1 - IRQ_MASK_MODE The radio transceiver supports polling of interrupt events. Interrupt polling can be enabled by register bit IRQ_MASK_MODE. Table 6-14. IRQ_MASK_MODE. Register Bits Value IRQ_MASK_MODE Description 0 Interrupt polling is disabled Masked off IRQ bits will not appear in IRQ_STATUS register. 1 Interrupt polling is enabled Masked off IRQ bits will appear in IRQ_STATUS register. Even if an interrupt request is masked by the corresponding bit in register 0x0E (IRQ_MASK), the event is indicated in register 0x0F (IRQ_STATUS).  Bit 0 - IRQ_POLARITY The register bit IRQ_POLARITY controls the polarity for pin 24 (IRQ). The default polarity of the pin 24 (IRQ) is active high. The polarity can be configured to active low via register bit IRQ_POLARITY. Table 6-15. IRQ_POLARITY. Register Bits IRQ_POLARITY Note: 1. Value Description 0 Pin IRQ is high active 1 Pin IRQ is low active A modification on IRQ_POLARITY bit has no influence to RX_BL_CTRL behavior. This setting does not affect the polarity of the “Frame Buffer Empty Indicator”, refer to Section 11.5. The Frame Buffer Empty Indicator is always active high. 29 8321A–MCU Wireless–10/11 7 Operating Modes 7.1 Basic Operating Mode This section summarizes all states to provide the basic functionality of the Atmel AT86RF232, such as receiving and transmitting frames, the power-on sequence, and sleep. The Basic Operating Mode is designed for IEEE 802.15.4 and general ISM band applications; the corresponding radio transceiver states are shown in Figure 7-1. Figure 7-1. Basic Operating Mode State Diagram (for timing refer to Table 7-1). SLEEP (Sleep State) XOSC=ON Pull=ON XOSC=OFF Pull=OFF FORCE_TRX_OFF TR X_ O FF RX _O N 5 RX_ON (Rx Listen State) ON L_ PL Frame End 8 RESET (all states except P_ON) XOSC=ON Pull=OFF 7 /RST = H 13 FF O X_ TR BUSY_RX (Receive State) /RST = L (Clock State) (all states except SLEEP) SHR Detected (from all states) TRX_OFF 12 6 3 = _TR = _TR SLP L 2 TR X_ OF F SLP 15 H P_ON (Power-on after VDD) 4 11 RX_ON PLL_ON (PLL State) PLL_ON 9 Frame End 10 BUSY_TX (Transmit State) SLP_TR = H or TX_START FORCE_PLL_ON 14 (all states except SLEEP, or P_ON) Legend: Blue: SPI Write to Register TRX_STATE (0x02) Red: Control signals via IC Pin Green: Event Basic Operating Mode States X State transition number, see Table 7-1 for timing 7.1.1 State Control The radio transceiver states are controlled either by writing commands to register bits TRX_CMD (register 0x02, TRX_STATE), or directly by two signal SLP_TR and /RST pins. A successful state change can be verified by reading the radio transceiver status from register bits TRX_STATUS (register 0x01, TRX_STATUS). 30 AT86RF232 8321A–MCU Wireless–10/11 AT86RF232 If TRX_STATUS = 0x1F (STATE_TRANSITION_IN_PROGRESS) the Atmel AT86RF232 is within a state transition. Do not try to initiate a further state change while the radio transceiver is in STATE_TRANSITION_IN_PROGRESS. Pin 11 (SLP_TR) is a multifunctional pin, refer to Section 6.5. Depending on the radio transceiver state, a rising edge of pin 11 (SLP_TR) causes the following state transitions:  TRX_OFF  SLEEP  PLL_ON  BUSY_TX (level sensitive) Whereas the falling edge of pin SLP_TR causes the following state transitions:  SLEEP  TRX_OFF (level sensitive) A low level on pin 8 (/RST) causes a reset of all registers (register bits CLKM_CTRL are shadowed, for details refer to Section 9.6.4) and forces the radio transceiver into TRX_OFF state. However, if the device was in P_ON state it remains in the P_ON state. For all states except SLEEP, the state change commands FORCE_TRX_OFF or TRX_OFF lead to a transition into TRX_OFF state. If the radio transceiver is in active receive or transmit states (BUSY_*), the command FORCE_TRX_OFF interrupts these active processes, and forces an immediate transition to TRX_OFF. In contrast a TRX_OFF command is stored until an active state (receiving or transmitting) has been finished. After that the transition to TRX_OFF is performed. For a fast transition from any non sleep states to PLL_ON state, the command FORCE_PLL_ON is provided. In contrast to FORCE_TRX_OFF this command does not disable PLL and analog voltage regulator (AVREG). It is not available in states P_ON, SLEEP, or RESET. The completion of each requested state change shall always be confirmed by reading the register bits TRX_STATUS (register 0x01, TRX_STATUS). Note: 1. If FORCE_TRX_OFF and FORCE_PLL_ON commands are used, it is recommended to set pin 11 (SLP_TR) = L before. 7.1.2 Basic Operating Mode Description 7.1.2.1 P_ON – Power-On after VDD When the external supply voltage (VDD) is firstly applied to the AT86RF232, the radio transceiver goes into the P_ON state performing an on-chip reset. The crystal oscillator is activated and the default 1MHz master clock is provided at pin 17 (CLKM) after the crystal oscillator has stabilized. CLKM can be used as a clock source to the microcontroller. The SPI interface and digital voltage regulator (DVREG) are enabled. The on-chip power-on-reset sets all registers to their default values. A dedicated reset signal from the microcontroller at pin 8 (/RST) is not necessary, but recommended for hardware / software synchronization reasons. All digital inputs are pulled-up or pulled-down during P_ON state, refer to Section 1.3.2. This is necessary to support microcontrollers where GPIO signals are floating after power-on or reset. The input pull-up and pull-down circuitry is disabled when the radio transceiver leaves the P_ON state. Output pins DIG1/DIG2 are pulled-down to digital ground, unless their configuration is changed. 31 8321A–MCU Wireless–10/11 Prior to leaving P_ON, the microcontroller must set the Atmel AT86RF232 pins to the default operating values: pin 11 (SLP_TR) = L, pin 8 (/RST) = H and pin 23 (/SEL) = H. All interrupts are disabled by default. Thus, interrupts for state transition control are to be enabled first, for example enable IRQ_4 (AWAKE_END) to indicate a state transition to TRX_OFF state or interrupt IRQ_0 (PLL_LOCK) to signal a locked PLL in PLL_ON state. In P_ON state a first access to the radio transceiver registers is possible after a default 1MHz master clock is provided at pin 17 (CLKM), refer to tTR1 to Table 7-1. Once the supply voltage has stabilized and the crystal oscillator has settled (see parameter tXTAL refer to Table 7-2), a valid SPI write access to register bits TRX_CMD (register 0x02, TRX_STATE) with the command TRX_OFF or FORCE_TRX_OFF initiate a state change from P_ON towards TRX_OFF state, which is then indicated by an interrupt IRQ_4 (AWAKE_END) if enabled. 7.1.2.2 SLEEP – Sleep State In SLEEP state, the entire radio transceiver is disabled. No circuitry is operating beyond the circuitry monitoring pin 11 (SLP_TR) and pin 8 (/RST). This state can only be entered from state TRX_OFF, by setting the SLP_TR = H. If CLKM is enabled with a clock rates higher than 62.5kHz, the SLEEP state is entered 35 CLKM cycles after the rising edge at pin 11 (SLP_TR). At that time CLKM is turned off. If the CLKM output is already turned off (register bits CLKM_CTRL = 0), the SLEEP state is entered immediately. At clock rate 62.5kHz, the main clock at pin 17 (CLKM) is turned off immediately. Setting SLP_TR = L returns the radio transceiver to the TRX_OFF state. During SLEEP state the radio transceiver register contents and the AES register contents remain valid while the contents of the Frame Buffer are destroyed. /RST = L in SLEEP state returns the radio transceiver to TRX_OFF state and thereby sets all registers to their default values. Exceptions are register bits CLKM_CTRL (register 0x03, TRX_CTRL_0). These register bits require a specific treatment, for details see Section 9.6.4. Note: 1. If during SLEEP state a voltage jump on VDD occurs of more than 0.8V within 1ms, the internal Power-On logic detects this as a P_ON reset and the AT86RF232 goes into the P_ON state. 7.1.2.3 TRX_OFF – Clock State In TRX_OFF the crystal oscillator is running and the master clock is available if enabled. The SPI interface and digital voltage regulator are enabled, thus the radio transceiver registers, the Frame Buffer and security engine (AES) are accessible (see Section 9.3 and Section 11.1). In contrast to P_ON state the pull-up and pull-down configuration is disabled. Pin 11 (SLP_TR) and pin 8 (/RST) are available for state control. The analog front-end is disabled during TRX_OFF state. Entering the TRX_OFF state from P_ON, SLEEP or RESET state is indicated by interrupt IRQ_4 (AWAKE_END) if enabled. 7.1.2.4 PLL_ON – PLL State Entering the PLL_ON state from TRX_OFF state enables the analog voltage regulator (AVREG) first. After the voltage regulator has been settled, the PLL frequency 32 AT86RF232 8321A–MCU Wireless–10/11 AT86RF232 synthesizer is enabled. When the PLL has been settled at the receive frequency to a channel defined by register bits CHANNEL (register 0x08, PHY_CC_CCA), refer to Section 9.7.2, a successful PLL lock is indicated by issuing an interrupt IRQ_0 (PLL_LOCK). If an RX_ON command is issued in PLL_ON state, the receiver is enabled immediately. If the PLL has not been settled before the state change nevertheless takes place. Even if the register bits TRX_STATUS (register 0x01, TRX_STATUS) indicates RX_ON, actual frame reception can only start once the PLL has locked. The PLL_ON state corresponds to the TX_ON state in IEEE 802.15.4. 7.1.2.5 RX_ON and BUSY_RX – RX Listen and Receive State In RX_ON state the receiver module and the PLL frequency synthesizer are enabled. The Atmel AT86RF232 receive mode is internally separated into RX_ON state and BUSY_RX state. There is no difference between these states with respect to the analog radio transceiver circuitry, which is always turned on. In both states, the receiver and the PLL frequency synthesizer are enabled. During RX_ON state, the receiver listens for incoming frames. After detecting a valid synchronization header (SHR), the AT86RF232 automatically enters the BUSY_RX state. The reception of a valid PHY header (PHR) generates an IRQ_2 (RX_START) and starts the PSDU data demodulation. During PSDU reception, the frame data are stored continuously in the Frame Buffer until the last byte was received. The completion of the frame reception is indicated by an interrupt IRQ_3 (TRX_END) and the radio transceiver reenters the state RX_ON. At the same time the register bit RX_CRC_VALID (register 0x06, PHY_RSSI) is updated with the result of the FCS check (see Section 8.2). Received frames are passed to the frame filtering unit, refer to Section 7.2.3.4. If the content of the MAC addressing fields (refer to [1] IEEE 802.15.4-2006 Section 7.2.1) of a frame matches to the expected addresses, which is further dependent on the addressing mode, an address match interrupt IRQ_5 (AMI) is issued, refer to Section 6.6. The expected address values are to be stored in registers 0x20 – 0x2B (Short address, PAN-ID and IEEE address). Frame filtering is available in Basic Operating Mode and Extended Operating Mode, refer to Section 7.2.3.4. Leaving state RX_ON is possible by writing a state change command to register bits TRX_CMD in register 0x02 (TRX_STATE). 7.1.2.6 BUSY_TX – Transmit State A transmission can be initiated in state PLL_ON. There are two ways to start a transmission:  Rising edge of pin 11 (SLP_TR)  TX_START command to register bits TRX_CMD (register 0x02, TRX_STATE). Either of these takes the radio transceiver into the BUSY_TX state. During the transition to BUSY_TX state, the PLL frequency shifts to the transmit frequency. The actual transmission of the first data chip of the SHR starts after 16µs to allow PLL settling and PA ramp-up, see Figure 7-6. After transmission of the SHR, the Frame Buffer content is transmitted. In case the PHR indicates a frame length of zero, the transmission is aborted. 33 8321A–MCU Wireless–10/11 After the frame transmission has completed, the Atmel AT86RF232 automatically turns off the power amplifier, generates an IRQ_3 (TRX_END) interrupt and returns into PLL_ON state. 7.1.2.7 RESET State The RESET state is to reset all registers and state machines of the AT86RF232 to their default values, exception are register bits CLKM_CTRL (register 0x03, TRX_CTRL_0). These register bits require a specific treatment, for details see Section 9.6.4. A reset forces the radio transceiver into TRX_OFF state. If the device is still in the P_ON state it remains in the P_ON state though. A reset is initiated with pin 8 (/RST) = L and the state is left after setting /RST = H. The reset pulse should have a minimum length as specified in Section 12.4 see parameter t10. During reset the microcontroller has to set the radio transceiver control SLP_TR and /SEL pins to their default values. An overview about the register reset values is provided in Table 14-2. 34 AT86RF232 8321A–MCU Wireless–10/11 AT86RF232 7.1.3 Interrupt Handling All interrupts provided by the Atmel AT86RF232 (see Table 6-10) are supported in Basic Operating Mode. For example, interrupts are provided to observe the status of radio transceiver RX and TX operations. On reception IRQ_2 (RX_START) indicates the detection of a valid PHR first, IRQ_5 (AMI) an address match and IRQ_3 (TRX_END) the completion of the frame reception. On transmission IRQ_3 (TRX_END) indicates the completion of the frame transmission. Figure 7-2 shows an example for a transmit/receive transaction between two devices and the related interrupt events in Basic Operating Mode. Device 1 transmits a frame containing a MAC header (in this example of length seven), payload and valid FCS. The frame is received by Device 2 which generates the interrupts during the processing of the incoming frame. The received frame is stored in the Frame Buffer. The first interrupt IRQ_2 (RX_START) signals the reception of a valid PHR. If the received frame passes the address filter, refer to Section 7.2.3.4, an address match interrupt IRQ_5 (AMI) is issued after the reception of the MAC header (MHR). In Basic Operating Mode the third interrupt IRQ_3 (TRX_END) is issued at the end of the received frame. In Extended Operating Mode, refer to Section 7.2; the interrupt is only issued if the received frame passes the address filter and the FCS is valid. Further exceptions are explained in Section 7.2. Processing delay tIRQ is a typical value, refer to Section 12.4. Figure 7-2. Timing of RX_START, AMI and TRX_END Interrupts in Basic Operating Mode. 160 PLL_ON 192 192+(9+m)*32 BUSY_TX Time [µs] PLL_ON SLP_TR IRQ Number of Octets Frame Content TRX_STATE IRQ Interrupt latency tTR10 4 1 1 7 Preamble SFD PHR MHR RX_ON m 2 MSDU FCS BUSY_RX IRQ_2 (RX_START) tIRQ IRQ_5 (AMI) tIRQ Frame on Air Typ. Processing Delay IRQ_3 (TRX_END) RX_ON TRX_END tIRQ RX (Device 2) TRX_STATE 128 TX (Device1) -16 0 35 8321A–MCU Wireless–10/11 7.1.4 Basic Operating Mode Timing The following paragraphs depict Atmel AT86RF232 state transitions and their timing properties. Timing figures are explained in Table 7-1, Table 7-2, and Section 12.4. 7.1.4.1 Power-on Procedure The power-on procedure to P_ON state is shown in Figure 7-3. Figure 7-3. Power-on Procedure to P_ON State. 0 100 Event VDD on State P_ON Block XOSC, DVREG Time 400 Time [µs] CLKM on tTR1 When the external supply voltage (VDD) is first supplied to the AT86RF232, the radio transceiver enables the crystal oscillator (XOSC) and the internal 1.8V voltage regulator for the digital domain (DVREG). After tTR1 = 330µs (typ.), the master clock signal is available at pin 17 (CLKM) at default rate of 1MHz. As soon as CLKM is available the SPI is enabled and can be used to control the transceiver. As long as no state change towards state TRX_OFF is performed, the radio transceiver remains in P_ON state. 7.1.4.2 Wake-up Procedure The wake-up procedure from SLEEP state is shown in Figure 7-4. Figure 7-4. Wake-up Procedure from SLEEP State. 0 SLP_TR = L Event State Block Time 200 CLKM on Time [μs] IRQ_4 (AWAKE_END) TRX_OFF SLEEP XOSC, DVREG FTN XOSC, DVREG tTR2 The radio transceiver’s SLEEP state is left by releasing SLP_TR pin to logic low. This restarts the XOSC and DVREG. After tTR2 = 210µs (typ.) the radio transceiver enters TRX_OFF state. The internal clock signal is available and provided to pin 17 (CLKM), if CLKM was enabled. This procedure is similar to the Power-on Procedure. However the radio transceiver automatically proceeds to the TRX_OFF state. During this, transition the filter-tuning network (FTN) calibration is performed. Entering TRX_OFF state is signaled by IRQ_4 (AWAKE_END), if this interrupt was enabled by the appropriate mask register bit. 36 AT86RF232 8321A–MCU Wireless–10/11 AT86RF232 7.1.4.3 PLL_ON and RX_ON States The transition from TRX_OFF to PLL_ON or RX_ON mode is shown in Figure 7-5. Figure 7-5. Transition from TRX_OFF to PLL_ON or RX_ON state. 0 80 IRQ_0 (PLL_LOCK) Event State PLL_ON TRX_OFF Block AVREG Command PLL_ON Time Notes: Time [µs] RX_ON RX PLL RX_ON tTR4 tTR8 1. If TRX_CMD = RX_ON in TRX_OFF state RX_ON state is entered immediately, even if the PLL has not settled. 2. Timing figures tTR4 and tTR8 refers to Table 7-1. In TRX_OFF state, entering the commands PLL_ON or RX_ON initiates a ramp-up sequence of the internal 1.8V voltage regulator for the analog domain (AVREG). RX_ON state can be entered any time from PLL_ON state regardless whether the PLL has already locked, which is indicated by IRQ_0 (PLL_LOCK). 7.1.4.4 BUSY_TX and RX_ON States The transition from PLL_ON to BUSY_TX state and subsequently to RX_ON state is shown in Figure 7-6. Figure 7-6. PLL_ON to BUSY_TX to RX_ON Timing. 0 Pin State Block Command Time 16 x x + 32 Time [µs] SLP_TR PLL_ON BUSY_TX PLL PA or command TX_START tTR10 RX_ON PA, TX PLL RX RX_ON tTR11 Starting from PLL_ON state it is further assumed that the PLL is already locked. A transmission is initiated either by a rising edge of pin 11 (SLP_TR) or by command TX_START, the Atmel AT86RF232 changes into BUSY_TX state. The PLL settles to the transmit frequency and the PA is enabled. tTR10 = 16µs after initiating the transmission starts the internally generated SHR transmission. After that the PSDU data are transmitted from the Frame Buffer. After completing the frame transmission, indicated by IRQ_3 (TRX_END), the PLL settles back to the receive frequency within tTR11 = 32µs in state PLL_ON. 37 8321A–MCU Wireless–10/11 If during TX_BUSY the radio transmitter is programmed to change to a receive state it automatically proceeds the state change to RX_ON state after finishing the transmission. 7.1.4.5 Reset Procedure The radio transceiver reset procedure is shown in Figure 7-7. Figure 7-7. Reset Procedure. x 0 x + 10 x + 30 Event Time [μs] [IRQ_4 (AWAKE_END)] State various Block TRX_OFF XOSC, DVREG FTN XOSC, DVREG Pin /RST Time Note: >t10 1. >t11 tTR13 Timing figure tTR13 refers to Table 7-1, t10, t11 refers to Section 12.4. /RST = L sets all registers to their default values. Exceptions are register bits CLKM_CTRL (register 0x03, TRX_CTRL_0), refer to Section 9.6.4. After releasing the reset pin 8 (/RST) = H the wake-up sequence including an FTN calibration cycle is performed, refer to Section 9.8. After that the TRX_OFF state is entered. Figure 7-7 illustrates the reset procedure once the P_ON state was left and the radio transceiver was not in SLEEP state. The reset procedure is identical for all originating radio transceiver states except of state P_ON, or SLEEP. Instead, here the procedure described in Section 7.1.2.1 must be followed to enter the TRX_OFF state. If the radio transceiver was in state SLEEP, the XOSC and DVREG are enabled before entering TRX_OFF state. If register bits TRX_STATUS indicates STATE_TRANSITION_IN_PROGRESS during system initialization until the Atmel AT86RF232 reaches TRX_OFF state, do not try to initiate a further state change while the radio transceiver is in this state. Notes: 38 2. The reset impulse should have a minimum length t10 = 625ns as specified in Section 12.4. 3. An access to the device should not occur earlier than t11 ≥ 625ns after releasing the /RST pin; refer to Section 12.4. 4. A reset overrides an SPI command request that might have been queued. AT86RF232 8321A–MCU Wireless–10/11 AT86RF232 7.1.4.6 State Transition Timing Summary The Atmel AT86RF232 transition numbers correspond to Figure 7-1 and do not include SPI access time unless otherwise stated. See measurement setup in Figure 5-1. Table 7-1. State Transition Timing. Symbol Parameter Condition tTR1 P_ONCLKM is available tTR1a Min. Typ. Max. Unit Depends on crystal oscillator setup (CL= 10pF) and external capacitor at DVDD (100nF nom.). 330 1000 µs SLEEPCLKM is available Depends on crystal oscillator setup (CL= 10pF) and external capacitor at DVDD (100nF nom.). 180 1000 µs tTR2 SLEEPTRX_OFF Depends on crystal oscillator setup (CL= 10pF) and external capacitor at DVDD (100nF nom.). 210 1000 µs tTR3 TRX_OFFSLEEP For fCLKM > 62.5kHz. 35 CLKM cycles Otherwise. 0 CLKM cycles Depends on external capacitor at AVDD (100nF nom.). 80 µs 1 µs 80 µs 1 µs tTR4 TRX_OFFPLL_ON tTR5 PLL_ONTRX_OFF tTR6 TRX_OFFRX_ON tTR7 RX_ONTRX_OFF tTR8 PLL_ONRX_ON 1 µs tTR9 RX_ONPLL_ON Transition time is also valid for TX_ARET_ON, RX_AACK_ON. 1 µs tTR10 PLL_ONBUSY_TX When asserting pin 11 (SLP_TR) or TRX_CMD = TX_START first symbol transmission is delayed by one symbol period (PLL settling and PA ramp-up). 16 µs tTR11 BUSY_TXPLL_ON PLL settling time. 32 µs tTR12 Various statesTRX_OFF Using TRX_CMD = FORCE_TRX_OFF; not valid for SLEEP. 1 µs tTR13 RESETTRX_OFF Not valid for P_ON or SLEEP. 26 µs tTR14 Various statesPLL_ON Using TRX_CMD = FORCE_PLL_ON; not valid for P_ON, SLEEP, or RESET. 1 µs tTR15 P_ONTRX_OFF Using TRX_CMD = TRX_OFF directly after CLKM is available. 360 Depends on external capacitor at AVDD (100nF nom.). 1000 µs The state transition timing is calculated based on the timing of the individual blocks shown in Figure 7-3 to Figure 7-7. The worst case values include maximum operating temperature, minimum supply voltage, and device parameter variations. 39 8321A–MCU Wireless–10/11 Table 7-2. Atmel AT86RF232 Block Initialization and Settling Time. Symbol Parameter Condition tXTAL Reference oscillator settling time tFTN FTN calibration time tDVREG Typ. Max. Unit Start XTALclock available at pin 17 (CLKM). Depends on crystal Q factor and load capacitor. 330 1000 µs 25 µs DVREG settling time Depends on external bypass capacitor at DVDD (CB3 = 100nF nom., 10µF worst case). 50 1000 µs tAVREG AVREG settling time Depends on external bypass capacitor at AVDD (CB1 = 100nF nom., 10µF worst case). 50 1000 µs tPLL_INIT Initial PLL settling time PLL settling time TRX_OFFPLL_ON, including 50µs AVREG settling time. 80 250 µs tPLL_SW PLL settling time on channel switch Duration of channel switch within frequency band. 11 100 µs tPLL_CF PLL CF calibration PLL center frequency calibration. 8 24 µs tPLL_DCU PLL DCU calibration PLL DCU calibration. 6 µs tRX_TX RXTX Maximum settling time RXTX. 16 µs tTX_RX TXRX Maximum settling time TXRX. 32 µs tSHR_SYNC SHR, sync SHR synchronization period. 160 µs tRSSI RSSI, update RSSI update period in receive states. tED ED measurement ED measurement period is eight symbols. 135 180 µs tCCA CCA measurement CCA measurement period is eight symbols. 135 180 µs tRND Random value, update Random value update period. tAES AES core cycle time 40 Min. 32 96 2 µs 1 23.4 µs 24 µs AT86RF232 8321A–MCU Wireless–10/11 AT86RF232 7.1.5 Register Description Register 0x01 (TRX_STATUS): The read-only register TRX_STATUS signals the present state of the radio transceiver as well as the status of a CCA operation. Figure 7-8. Register TRX_STATUS. Bit 0x01 7 6 5 4 CCA_DONE CCA_STATUS reserved TRX_STATUS Read/Write Reset value R 0 R 0 R 0 R 0 Bit 3 2 1 0 R 0 R 0 0x01 TRX_STATUS Read/Write Reset value R 0 R 0 TRX_STATUS TRX_STATUS  Bit 4:0 - TRX_STATUS The register bits TRX_STATUS signals the current radio transceiver status. Table 7-3. TRX_STATUS. Register Bits Value Description TRX_STATUS 0x00 P_ON 0x01 BUSY_RX 0x02 BUSY_TX 0x06 RX_ON 0x08 TRX_OFF (CLK Mode) 0x09 PLL_ON (TX_ON) (1) SLEEP 0x11 (2) BUSY_RX_AACK 0x12 (2) BUSY_TX_ARET 0x16 (2) RX_AACK_ON 0x19 (2) TX_ARET_ON (3) STATE_TRANSITION_IN_PROGRESS 0x0F 0x1F All other values are reserved Notes: 1. In SLEEP state register not accessible. 2. Extended Operating Mode only. 3. Do not try to initiate a further state change while the radio transceiver is in STATE_TRANSITION_IN_PROGRESS state. A read access to register bits TRX_STATUS reflects the current radio transceiver state. A state change is initiated by writing a state transition command to register bits TRX_CMD (register 0x02, TRX_STATE). Alternatively, some state transitions can be initiated by the rising edge of pin 11 (SLP_TR) in the appropriate state. These register bits are used for Basic and Extended Operating Mode, see Section 7.2. If the requested state transition is not completed yet, the TRX_STATUS returns STATE_TRANSITION_IN_PROGRESS. Do not try to initiate a further state change while the radio transceiver is in STATE_TRANSITION_IN_PROGRESS. State transition timings are defined in Table 7-1. 41 8321A–MCU Wireless–10/11 Register 0x02 (TRX_STATE): The radio transceiver states are controlled via register TRX_STATE using register bits TRX_CMD. The read-only register bits TRAC_STATUS indicate the status or result of an Extended Operating Mode transaction. Figure 7-9. Register TRX_STATE. Bit 7 0x02 6 5 TRAC_STATUS Read/Write Reset value R 0 R 0 Bit 3 2 0x02 4 TRX_CMD R 0 R/W 0 1 0 R/W 0 R/W 0 TRX_CMD Read/Write Reset value R/W 0 R/W 0 TRX_STATE TRX_STATE  Bit 4:0 - TRX_CMD A write access to register bits TRX_CMD initiates a radio transceiver state transition. Table 7-4. TRX_CMD. Register Bits TRX_CMD Value Description 0x00 (1) NOP 0x02 (2) TX_START 0x03 0x04 (3) FORCE_TRX_OFF FORCE_PLL_ON 0x06 RX_ON 0x08 TRX_OFF (CLK Mode) 0x09 PLL_ON (TX_ON) 0x16 (4) RX_AACK_ON 0x19 (4) TX_ARET_ON All other values are reserved Notes: 1. TRX_CMD = “0” after power on reset (POR). 2. The frame transmission starts one symbol after TX_START command. 3. FORCE_PLL_ON is not valid for states P_ON, SLEEP, and RESET, as well as STATE_TRANSITION_IN_PROGRESS towards these states. 4. Extended Operating Mode only. A write access to register bits TRX_CMD initiates a radio transceiver state transition towards the new state. These register bits are used for Basic and Extended Operating Mode, see Section 7.2. 42 AT86RF232 8321A–MCU Wireless–10/11 AT86RF232 7.2 Extended Operating Mode The Extended Operating Mode is a hardware MAC accelerator and goes beyond the basic radio transceiver functionality provided by the Basic Operating Mode. It handles time critical MAC tasks as requested by the IEEE 802.15.4 standard, by hardware, such as automatic acknowledgement, automatic CSMA-CA and retransmission. This results in a more efficient IEEE 802.15.4 software MAC implementation including reduced code size and may allow the use of a smaller microcontroller or to operate at low clock rates. The Extended Operating Mode is designed to support IEEE 802.15.4-2006 and IEEE 802.15.4-2011 compliant frames; the mode is backward compatible to IEEE 802.15.4-2003 and supports non IEEE 802.15.4 compliant frames. This mode comprises the following procedures: Automatic acknowledgement (RX_AACK) divides into the tasks:  Frame reception and automatic FCS check  Configurable addressing fields check  Interrupt indicating address match  Interrupt indicating frame reception, if it passes address filtering and FCS check  Automatic ACK frame transmission (if the received frame passed the address filter and FCS check and if an ACK is required by the frame type and ACK request)  Support of slotted acknowledgment using SLP_TR pin Automatic CSMA-CA and Retransmission (TX_ARET) divides into the tasks:  CSMA-CA including automatic CCA retry and random back-off  Frame transmission and automatic FCS field generation  Reception of ACK frame (if an ACK was requested)  Automatic frame retry if ACK was expected but not received  Interrupt signaling with transaction status Automatic FCS check and generation, refer to Section 8.2, is used by the RX_AACK and TX_ARET modes. In RX_AACK mode, an automatic FCS check is always performed for incoming frames. In TX_ARET mode, an ACK, received within the time required by IEEE 802.15.4, is accepted if the FCS is valid, and if the sequence number of the ACK matches the sequence number of the previously transmitted frame. Dependent on the value of the frame pending subfield in the received acknowledgement frame the transaction status is set, see TRAC_STATUS, Section 7.2.7. An Atmel AT86RF232 state diagram including the Extended Operating Mode states is shown in Figure 7-10. Yellow marked states represent the Basic Operating Mode; blue marked states represent the Extended Operating Mode. 43 8321A–MCU Wireless–10/11 Figure 7-10. Extended Operating Mode State Diagram. SLEEP (Sleep State) XOSC=ON Pull=ON XOSC=OFF Pull=OFF 2 5 TR X_ O FF RX_ON RX_ON (Rx Listen State) PLL_ON 4 11 PLL_ON 9 10 BUSY_RX_AACK Transaction Finished PL L_ (all states except SLEEP or P_ON) From / To TRX_OFF SLP_TR=H or TX_START RX_AACK_ON RX_AACK_ON TX_ARET_ON FORCE_PLL_ON TX_ARET_ON TX _A RE T_ TR ON X_ OF F RX _A AC K_ ON PLL_ON 14 N _O ET SHR Detected BUSY_TX (Transmit State) SLP_TR = H or TX_START R _A TX _A F OF X_ ON TR K_ AC RX RX_AACK_ON RX_ON N _O RX From / To TRX_OFF Frame End (PLL State) ON Frame End 8 RESET ON L_ PL RX _O N XOSC=ON Pull=OFF 7 /RST = H (all states except P_ON) FF _O BUSY_RX (Receive State) 13 X TR SHR Detected /RST = L (Clock State) (all states except SLEEP) 6 (from all states) TRX_OFF 12 FORCE_TRX_OFF 3 _TR SLP = _TR SLP TR X_ OF F L 15 =H P_ON (Power-on after VDD) TX_ARET_ON Frame End BUSY_TX_ARET Legend: Blue: SPI Write to Register TRX_STATE (0x02) Red: Control signals via IC Pin Green: Event Basic Operating Mode States Extended Operating Mode States 44 AT86RF232 8321A–MCU Wireless–10/11 AT86RF232 7.2.1 State Control The Extended Operating Mode states RX_AACK and TX_ARET are controlled via register bits TRX_CMD (register 0x02, TRX_STATE), which receives the state transition commands. The states are usually entered from TRX_OFF or PLL_ON state as illustrated by Figure 7-10. The completion of each state change command shall always be confirmed by reading the register bits TRX_STATUS (register 0x01, TRX_STATUS). RX_AACK - Receive with Automatic ACK A state transition to RX_AACK_ON is initiated by writing the command RX_AACK_ON to the register bits TRX_CMD. The state change should be confirmed by reading register bits TRX_STATUS (register 0x01, TRX_STATUS). The RX_AACK state is left by writing a new command to the register bits TRX_CMD. If the Atmel AT86RF232 is within a frame receive or acknowledgment procedure (BUSY_RX_AACK), the state change is executed after finishing. Alternatively, the commands FORCE_TRX_OFF or FORCE_PLL_ON can be used to cancel the RX_AACK transaction and change into radio transceiver state TRX_OFF or PLL_ON, respectively. TX_ARET - Transmit with Automatic Frame Retransmission and CSMA-CA Retry A state transition to TX_ARET_ON is initiated by writing command TX_ARET_ON to register bits TRX_CMD. The radio transceiver is in the TX_ARET_ON state after register bits TRX_STATUS (register 0x01, TRX_STATUS) changes to TX_ARET_ON. The TX_ARET transaction is started with a rising edge of pin 11 (SLP_TR) or writing the command TX_START to register bits TRX_CMD. The TX_ARET state is left by writing a new command to the register bits TRX_CMD. If the AT86RF232 is within a CSMA-CA transaction, a frame transmission or an acknowledgment procedure (BUSY_TX_ARET), the state change is executed after finishing. Alternatively, the command FORCE_TRX_OFF or FORCE_PLL_ON can be used to instantly terminate the TX_ARET transaction and change into radio transceiver state TRX_OFF or PLL_ON, respectively. Note: 1. A state change request from TRX_OFF to RX_AACK_ON or TX_ARET_ON internally passes the state PLL_ON. Thus the ability to receive or transmit data is delayed accordingly. It is recommended to use interrupt IRQ_0 (PLL_LOCK) as an indicator. 45 8321A–MCU Wireless–10/11 7.2.2 Configuration The use of the Extended Operating Mode is based on Basic Operating Mode functionality. Only features beyond the basic radio transceiver functionality are described in the following sections. For details on the Basic Operating Mode refer to Section 7.1. When using the RX_AACK or TX_ARET modes, the following registers needs to be configured. RX_AACK configuration steps:  Short address, PAN-ID and IEEE address registers 0x20 – 0x2B  Configure RX_AACK properties registers 0x2C, 0x2E o Handling of Frame Version Subfield o Handling of Pending Data Indicator o Characterize as PAN coordinator o Handling of Slotted Acknowledgement  Additional Frame Filtering Properties registers 0x17, 0x2E o Promiscuous Mode o Enable or disable automatic ACK generation o Handling of reserved frame types The addresses for the address match algorithm are to be stored in the appropriate address registers. Additional control of the RX_AACK mode is done with register 0x17 (XAH_CTRL_1) and register 0x2E (CSMA_SEED_1). As long as a short address has not been set, only broadcast frames and frames matching the IEEE address can be received. Configuration examples for different device operating modes and handling of various frame types can be found in Section 7.2.3.1. TX_ARET configuration steps:  Leave register bit TX_AUTO_CRC_ON = 1 register 0x04, TRX_CTRL_1  Configure CSMA-CA o MAX_FRAME_RETRIES register 0x2C, XAH_CTRL_0 o MAX_CSMA_RETRIES register 0x2C, XAH_CTRL_0 o CSMA_SEED registers 0x2D, 0x2E o MAX_BE, MIN_BE register 0x2F, CSMA_BE  Configure CCA (see Section 8.5) MAX_FRAME_RETRIES (register 0x2C, XAH_CTRL_0) defines the maximum number of frame retransmissions. The register bits MAX_CSMA_RETRIES (register 0x2C, XAH_CTRL_0) configure the number of CSMA-CA retries after a busy channel is detected. The register bits CSMA_SEED (registers 0x2D, 0x2E) define a random seed for the back-off-time random-number generator in the Atmel AT86RF232. The register bits MAX_BE and MIN_BE (register 0x2F, CSMA_BE) set the maximum and minimum CSMA back-off exponent (see [1]), respectively. 46 AT86RF232 8321A–MCU Wireless–10/11 AT86RF232 7.2.3 RX_AACK_ON – Receive with Automatic ACK The general functionality of the RX_AACK procedure is shown in Figure 7-11. The gray shaded area is the standard flow of an RX_AACK transaction for IEEE 802.15.4 compliant frames, refer to Section 7.2.3.2. All other procedures are exceptions for specific operating modes or frame formats, refer to Section 7.2.3.3. The frame filtering operation is described in detail in Section 7.2.3.4. In RX_AACK_ON state, the radio transceiver listens for incoming frames. After detecting a valid PHR, the radio transceiver parses the frame content of the MAC header (MHR), refer to Section 8.1.2. If the content of the MAC addressing fields of the received frame (refer to IEEE 802.15.4 Section 7.2.1) matches one of the configured addresses, dependent on the addressing mode, an address match interrupt IRQ_5 (AMI) is issued, refer to Section 7.2.3.4. The expected address values are to be stored in registers 0x20 – 0x2B (Short address, PAN-ID and IEEE address). Frame filtering as described in Section 7.2.3.4 is also applied in Basic Operating Mode. However, in Basic Operating Mode, the result of frame filtering or FCS check do not affect the generation of an interrupt IRQ_3 (TRX_END). By default, only frames that match the address filter and have a valid FCS generate an interrupt IRQ_3 (TRX_END). An exception applies if promiscuous mode is enabled; see Section 7.2.3.2, in that case an IRQ_3 (TRX_END) interrupt is issued, even if the FCS fails. During reception the Atmel AT86RF232 parses bit[5] (ACK Request) of the frame control field of the received data or MAC command frame to check if an ACK reply is expected. In that case and if the frame passes the third level of filtering, see IEEE 802.15.4-2006, Section 7.5.6.2, the radio transceiver automatically generates and transmits an ACK frame. The sequence number is copied from the received frame. The content of the frame pending subfield of the ACK response is set by register bit AACK_SET_PD (register 0x2E, CSMA_SEED_1) when the ACK frame is sent in response to a data request MAC command frame, otherwise this subfield is set to zero. Optionally, the start of the transmission of the acknowledgement frame can be influenced by register bit AACK_ACK_TIME. Default value (according to standard IEEE 802.15.4) is 12 symbol periods after the reception of the last symbol of a data or MAC command frame. If the register bit AACK_DIS_ACK (register 0x2E, CSMA_SEED_1) is set, no acknowledgement frame is sent even if an acknowledgment frame was requested. This is useful for operating the MAC hardware accelerator in promiscuous mode, see Section 7.2.3.2. The status of the RX_AACK operation is indicated by register bits TRAC_STATUS (register 0x02, TRAC_STATUS), see Section 7.2.7. During the operations described above, the AT86RF232 remains in BUSY_RX_AACK state. 47 8321A–MCU Wireless–10/11 Figure 7-11. Flow Diagram of RX_AACK. TRX_STATE = RX_AACK_ON N SHR detected Y TRX_STATE = BUSY_RX_AACK Generate IRQ_2 (RX_START) Scanning MHR (see Note 1) Y Reserved Frames N Frame Filtering Note 1: Frame Filtering, Promiscuous Mode and Reserved Frames: - A radio transceiver in Promiscuous Mode, or configured to receive Reserved Frames handles received frames passing the third level of filtering - For details refer to the description of Promiscuous Mode and Reserved Frame Types Promiscuous Mode Frame reception Generate IRQ_5 (AMI) AACK_PROM_MODE == 1 Frame reception N Y N FCS valid N (see Note 2) Note 2: FCS check is omitted for Promiscous Mode Y Y Generate IRQ_3 (TRX_END) N N FCF[2:0] >3 ACK requested AACK_UPLD_RES_FT == 1 (see Note 3) Note 3: Additional conditions: - ACK requested & - AACK_DIS_ACK==0 & - frame_version MAX_FRAME_RETRIES Y TRAC_STATUS = NO_ACK Data Pending N Y TRAC_STATUS = SUCCESS_DATA_PENDING TRAC_STATUS = SUCCESS TRAC_STATUS = CHANNEL_ACCESS_FAILURE Issue IRQ_3 (TRX_END) interrupt TRX_STATE = TX_ARET_ON 58 AT86RF232 8321A–MCU Wireless–10/11 AT86RF232 Overview The implemented TX_ARET algorithm is shown in Figure 7-14. In TX_ARET mode, the Atmel AT86RF232 first executes the CSMA-CA algorithm, as defined by IEEE 802.15.4–2006, Section 7.5.1.4, initiated by a transmit start event. If the channel is IDLE a frame is transmitted from the Frame Buffer. If the acknowledgement frame is requested the radio transceiver additionally checks for an ACK reply. The completion of the TX_ARET IRQ_3 (TRX_END) interrupt. transmit transaction is indicated by an Description Configuration and address bits are to be set in TRX_OFF or PLL_ON state prior to switching to TX_ARET mode. It is further recommended to transfer the PSDU data to the Frame Buffer in advance. The transaction is started by either using pin 11 (SLP_TR), refer to Section 6.5, or writing a TX_START command to register bits TRX_CMD (register 0x02, TRX_STATE). If the CSMA-CA detects a busy channel, it is retried as specified by the register bits MAX_CSMA_RETRIES (register 0x2C, XAH_CTRL_0). In case that CSMA-CA does not detect a clear channel after MAX_CSMA_RETRIES, it aborts the TX_ARET transaction, issues interrupt IRQ_3 (TRX_END), and set the value of the register bits TRAC_STATUS to CHANNEL_ACCESS_FAILURE. During transmission of a frame the radio transceiver parses bit 5 (ACK Request) of the MAC header (MHR) frame control field of the PSDU data (PSDU octet #1) to be transmitted to check if an ACK reply is expected. If an ACK is expected, the radio transceiver automatically switches into receive mode to wait for a valid ACK reply. After receiving an ACK frame the Frame Pending subfield of that frame is parsed and the status register bits TRAC_STATUS are updated accordingly, refer to Table 7-12. This receive procedure does not overwrite the Frame Buffer content. Transmit data in the Frame Buffer is not changed during the entire TX_ARET transaction. Received frames other than the expected ACK frame are discarded. If no valid ACK is received or after timeout of 54 symbol periods (864µs), the radio transceiver retries the entire transaction, (including CSMA-CA) until the maximum number of retransmissions (as set by the register bits MAX_FRAME_RETRIES (register 0x2C, XAH_CTRL_0)) is exceeded. The current CSMA-CA and frame retransmission counter values of an ongoing TX_ARET transaction can be retrieved by the register bits ARET_FRAME_RETRIES and ARET_CSMA_RETRIES (register 0x19, XAH_CTRL_2). Additionally to the RX Frame Time stamping via pin 10 (DIG2), a TX Frame Time stamping within TX_ARET mode can be activated, if the register bits IRQ_2_EXT_EN (register 0x04, TRX_CTRL_1) and ARET_TX_TS_EN (register 0x17, XAH_CTRL_1) are set to one, see Section 11.4. After that, the microcontroller may read the value of the register bits TRAC_STATUS (register 0x02, TRX_STATE) to verify whether the transaction was successful or not. The register bits are set according to the following cases, additional exit codes are described in Section 7.2.6: 59 8321A–MCU Wireless–10/11 Table 7-12. Interpretation of TRAC_STATUS Register Bits. Value Name Description 0 SUCCESS The transaction was responded by a valid ACK, or, if no ACK is requested, after a successful frame transmission. 1 SUCCESS_DATA_PENDING Equivalent to SUCCESS, indicates pending frame data according to the MHR frame control field of the received ACK response. 3 CHANNEL_ACCESS_FAILURE Channel is still busy after MAX_CSMA_RETRIES of CSMA-CA. 5 NO_ACK No acknowledgement frames were received during all retry attempts. 7 INVALID Transaction not yet finished. If no ACK is expected (according to the content of the received frame in the Frame Buffer), the radio transceiver issues IRQ_3 (TRX_END) directly after the frame transmission has been completed. The value of register bits TRAC_STATUS (register 0x02, TRX_STATE) is set to SUCCESS. A value of MAX_CSMA_RETRIES = 7 initiates an immediate TX_ARET transaction without performing CSMA-CA. This can be used for example to transmit indirect data to a device. Further the value MAX_FRAME_RETRIES is ignored and the TX_ARET transaction is performed only once. A timing example of a TX_ARET transaction is shown in Figure 7-15. Figure 7-15. Example Timing of a TX_ARET Transaction. 128 FrameType TRX_STATE 672 x Data Frame (Length = 10, ACK=1) TX_ARET_ON RX/TX ACK Frame BUSY_TX_ARET TX_ARET_ON RX TX RX/TX CSMA-CA time [µs] x+352 Frame on Air 0 SLP_TR IRQ TRX_END Typ. Processing Delay tCSMA-CA tTR10 Notes: tTR11 1. tCSMA-CA defines the random CSMA-CA backoff time. 2. Timing figure tTR10 and tTR11 refer to Table 7-1. tIRQ Here an example data frame of length 10 with an ACK request is transmitted. After that the Atmel AT86RF232 switches to receive mode and expects an acknowledgement response. During the whole transaction including frame transmit, wait for ACK and ACK receive the radio transceiver status register bits TRX_STATUS (register 0x01, TRX_STATUS) signals BUSY_TX_ARET. A successful reception IRQ_3 (TRX_END). The 60 of the acknowledgment frame is status register bits TRX_STATUS indicated by (register 0x01, AT86RF232 8321A–MCU Wireless–10/11 AT86RF232 TRX_STATUS) changes back to TX_ARET_ON. The register bits TRAC_STATUS (register 0x02, TRX_STATE) change to either TRAC_STATUS = SUCCESS, or TRAC_STATUS = SUCCESS_DATA_PENDING if the frame pending subfield of the received ACK frame was set to one. 7.2.5 Interrupt Handling The Atmel AT86RF232 interrupt handling in the Extended Operating Mode is similar to the Basic Operating Mode, refer to Section 7.1.3. The microcontroller enables interrupts by setting the appropriate bit in register 0x0E (IRQ_MASK). For RX_AACK and TX_ARET modes the following interrupts inform about the status of a frame reception and transmission: Table 7-13. Interrupt Handling in Extended Operating Mode. Mode Interrupt Description RX_AACK IRQ_2 (RX_START) Indicates a PHR reception IRQ_5 (AMI) Issued at address match IRQ_3 (TRX_END) Signals completion of RX_AACK transaction if successful - A received frame must pass the address filter - The FCS is valid TX_ARET IRQ_3 (TRX_END) Signals completion of TX_ARET transaction Both IRQ_0 (PLL_LOCK) Entering RX_AACK_ON or TX_ARET_ON state from TRX_OFF state, the PLL_LOCK interrupt signals that the transaction can be started RX_AACK For RX_AACK mode, it is recommended to enable IRQ_3 (TRX_END). This interrupt is issued only if a frame passes the frame filtering, refer to Section 7.2.3.4, and has a valid FCS. This is in contrast to Basic Operating Mode, refer to Section 7.1.3. The use of the other interrupts is optional. On reception of a valid PHR an IRQ_2 (RX_START) is issued. IRQ_5 (AMI) indicates address match, refer to filter rules in Section 7.2.3.4, and the completion of a frame reception with a valid FCS is indicated by interrupt IRQ_3 (TRX_END). Thus, it can happen that an IRQ_2 (RX_START) and/or IRQ_5 (AMI) are issued, but no IRQ_3 (TRX_END) interrupt. TX_ARET In TX_ARET mode, interrupt IRQ_3 (TRX_END) is only issued after completing the entire TX_ARET transaction. Reception of acknowledgement IRQ_3 (TRX_END) interrupts. frames does not issue IRQ_5 (AMI) or All other interrupts as described in Section 6.6, are also available in Extended Operating Mode. 61 8321A–MCU Wireless–10/11 7.2.6 Register Summary The following Atmel AT86RF232 registers are to be configured to control the Extended Operating Mode: Table 7-14. Register Summary. Reg.-Addr. Register Name Description 0x01 TRX_STATUS Radio transceiver status, CCA result 0x02 TRX_STATE Radio transceiver state control, TX_ARET status 0x04 TRX_CTRL_1 TX_AUTO_CRC_ON 0x08 PHY_CC_CCA CCA mode control, see Section 8.5.6 0x09 CCA_THRES CCA threshold settings, see Section 8.5.6 0x17 XAH_CTRL_1 TX_ARET and RX_AACK control 0x19 XAH_CTRL_2 TX_ARET control 0x20 – 0x2B Address filter configuration - Short address, PAN-ID and IEEE address 0x2C XAH_CTRL_0 TX_ARET control, retries value control 0x2D CSMA_SEED_0 CSMA-CA seed value 0x2E CSMA_SEED_1 CSMA-CA seed value, RX_AACK control 0x2F CSMA_BE CSMA-CA back-off exponent control 7.2.7 Register Description – Control Registers Register 0x01 (TRX_STATUS): The read-only register TRX_STATUS signals the present state of the radio transceiver as well as the status of a CCA operation. Figure 7-16. Register TRX_STATUS. Bit 7 6 5 4 CCA_DONE CCA_STATUS reserved TRX_STATUS Read/Write Reset value R 0 R 0 R 0 R 0 Bit 3 2 1 0 R 0 R 0 0x01 0x01 Read/Write Reset value TRX_STATUS R 0 R 0 TRX_STATUS TRX_STATUS  Bit 4:0 - TRX_STATUS The register bits TRX_STATUS signals the current radio transceiver status. Table 7-15. TRX_STATUS. 62 Register Bits Value Description TRX_STATUS 0x00 P_ON 0x01 BUSY_RX 0x02 BUSY_TX 0x06 RX_ON 0x08 TRX_OFF (CLK Mode) AT86RF232 8321A–MCU Wireless–10/11 AT86RF232 Register Bits Value Description 0x09 PLL_ON (TX_ON) (1) SLEEP 0x11 (2) BUSY_RX_AACK 0x12 (2) BUSY_TX_ARET 0x16 (2) RX_AACK_ON 0x19 (2) TX_ARET_ON (3) STATE_TRANSITION_IN_PROGRESS 0x0F 0x1F All other values are reserved Notes: 1. In SLEEP state register not accessible. 2. Extended Operating Mode only. 3. Do not try to initiate a further state change while the radio transceiver is in STATE_TRANSITION_IN_PROGRESS state. A read access to TRX_STATUS register signals the current radio transceiver state. A state change is initiated by writing a state transition command to register bits TRX_CMD (register 0x02, TRX_STATE). Alternatively, some state transitions can be initiated by the rising edge of pin 11 (SLP_TR) in the appropriate state. Register 0x02 (TRX_STATE): The radio transceiver states are controlled via register TRX_STATE using register bits TRX_CMD. The read-only register bits TRAC_STATUS indicate the status or result of an Extended Operating Mode transaction. Figure 7-17. Register TRX_STATE. Bit 7 0x02 6 Read/Write Reset value R 0 R 0 Bit 3 2 0x02 Read/Write Reset value 5 TRAC_STATUS 4 TRX_CMD R 0 R/W 0 1 0 R/W 0 R/W 0 TRX_CMD R/W 0 R/W 0 TRX_STATE TRX_STATE 63 8321A–MCU Wireless–10/11  Bit 7:5 – TRAC_STATUS Table 7-16. TRAC_STATUS. Register Bits Value TRAC_STATUS Description RX_AACK TX_ARET X X (1) SUCCESS 1 SUCCESS_DATA_PENDING 2 SUCCESS_WAIT_FOR_ACK 3 CHANNEL_ACCESS_FAILURE X 5 NO_ACK X (1) INVALID 0 7 X X X X All other values are reserved Note: 1. Even though the reset value for register bits TRAC_STATUS is zero, the RX_AACK and TX_ARET procedures set the register bits to TRAC_STATUS = 7 (INVALID) when they are started. The status of the RX_AACK and TX_ARET procedure is indicated by register bits TRAC_STATUS. Details of the algorithm and a description of the status information are given in Section 7.2.3 and Section 7.2.4. RX_AACK SUCCESS_WAIT_FOR_ACK: Indicates an ACK frame is about to be sent in RX_AACK slotted acknowledgement. Slotted acknowledgement operation must be enabled with register bit SLOTTED_OPERATION (register 0x2C, XAH_XTRL_0). The microcontroller must pulse pin 11 (SLP_TR) at the next back-off slot boundary in order to initiate a transmission of the ACK frame. For details refer to IEEE 802.15.4-2006, Section 7.5.6.4.2. TX_ARET SUCCESS_DATA_PENDING: Indicates a successful reception of an ACK frame with frame pending bit set to one. 64 AT86RF232 8321A–MCU Wireless–10/11 AT86RF232  Bit 4:0 - TRX_CMD A write access to register bits TRX_CMD initiates a radio transceiver state transition. Table 7-17. TRX_CMD. Register Bits Value TRX_CMD Description 0x00 (1) NOP 0x02 (2) TX_START 0x03 0x04 FORCE_TRX_OFF (3) FORCE_PLL_ON 0x06 RX_ON 0x08 TRX_OFF (CLK Mode) 0x09 PLL_ON (TX_ON) 0x16 (4) RX_AACK_ON 0x19 (4) TX_ARET_ON All other values are reserved Notes: 1. TRX_CMD = “0” after power on reset (POR). 2. The frame transmission starts one symbol after TX_START command. 3. FORCE_PLL_ON is not valid for states P_ON, SLEEP, and RESET, as well as STATE_TRANSITION_IN_PROGRESS towards these states. 4. Extended Operating Mode only. A successful state transition shall be confirmed by reading register bits TRX_STATUS (register 0x01, TRX_STATUS). The register bits TRX_CMD are used for Basic and Extended Operating Modes, refer to Section 7.1. Register 0x04 (TRX_CTRL_1): The TRX_CTRL_1 register is a multi-purpose register to control various operating modes and settings of the radio transceiver. Figure 7-18. Register TRX_CTRL_1. Bit 0x04 Read/Write Reset value Bit 0x04 Read/Write Reset value 7 6 5 4 reserved IRQ_2_EXT_EN TX_AUTO_CRC_ ON RX_BL_CTRL R/W 0 R/W 0 R/W 1 R/W 0 3 2 SPI_CMD_MODE R/W 0 R/W 0 1 0 IRQ_MASK_MODE IRQ_POLARITY R/W 1 R/W 0 TRX_CTRL_1 TRX_CTRL_1 65 8321A–MCU Wireless–10/11  Bit 5 - TX_AUTO_CRC_ON The register bit TX_AUTO_CRC_ON controls the automatic FCS generation for transmit operations. Table 7-18. TX_AUTO_CRC_ON. Register Bits Value TX_AUTO_CRC_ON Note: 1. Description 0 Automatic FCS generation is disabled 1 Automatic FCS generation is enabled The TX_AUTO_CRC_ON function can be used within Basic and Extended Operating Modes. For further details refer to Section 8.2. Register 0x17 (XAH_CTRL_1): The XAH_CTRL_1 register is a multi-purpose control register for Extended Operating Mode. Figure 7-19. Register XAH_CTRL_1. Bit 7 0x17 6 5 ARET_TX_TS_EN reserved R/W 0 R/W 0 3 Read/Write Reset value R/W 0 R/W 0 2 1 0 reserved AACK_ACK_TIME AACK_PROM_ MODE reserved R 0 R/W 0 R/W 0 R/W 0 Bit 0x17 4 AACK_FLTR_RES_ AACK_UPLD_RES_ FT FT Read/Write Reset value XAH_CTRL_1 XAH_CTRL_1  Bit 7 - ARET_TX_TS_EN If register bit ARET_TX_TS_EN = 1, then any frame transmission within TX_ARET mode is signaled via pin 10 (DIG2). Table 7-19. ARET_TX_TS_EN. Register Bits ARET_TX_TS_EN Value 0 TX_ARET time stamping via pin 10 (DIG2) is disabled (1) TX_ARET time stamping via pin 10 (DIG2) is enabled 1 Note: 66 1. Description It is necessary to set register bit IRQ_2_EXT_EN (register 0x04, TRX_CTRL_1). AT86RF232 8321A–MCU Wireless–10/11 AT86RF232  Bit 5 - AACK_FLTR_RES_FT Filter reserved frame types like data frame type. The register bit AACK_FLTR_RES_FT shall only be set if register bit AACK_UPLD_RES_FT = 1. Table 7-20. AACK_FLTR_RES_FT. Register Bits AACK_FLTR_RES_FT Value Description 0 (1) Filtering reserved frame types is disabled 1 (2) Filtering reserved frame types is enabled Notes: 1. If AACK_FLTR_RES_FT = 0 the received reserved frame is only checked for a valid FCS. 2. If AACK_FLTR_RES_FT = 1 reserved frame types are filtered similar to data frames as specified in IEEE 802.15.4-2006. Reserved frame types are explained in IEEE 802.15.4, Section 7.2.1.1.1.  Bit 4 - AACK_UPLD_RES_FT Upload reserved frame types within RX_AACK mode. Table 7-21. AACK_UPLD_RES_FT. Register Bits AACK_UPLD_RES_FT Value 0 Upload of reserved frame types is disabled (1) Upload of reserved frame types is enabled 1 Note: 1. Description If AACK_UPLD_RES_FT = 1 received frames indicated as a reserved frame are further processed. For those frames, an IRQ_3 (TRX_END) interrupt is generated if the FCS is valid. In conjunction with the configuration bit AACK_FLTR_RES_FT, these frames are handled like IEEE 802.15.4 compliant data frames during RX_AACK transaction. An IRQ_5 (AMI) interrupt is issued, if the addresses in the received frame match the node’s addresses. That means, if a reserved frame passes the third level filter rules, an acknowledgement frame is generated and transmitted if it was requested by the received frame. If this is not wanted register bit AACK_DIS_ACK (register 0x2E, CSMA_SEED_1) has to be set.  Bit 2 - AACK_ACK_TIME The register bit AACK_ACK_TIME controls the acknowledgment frame response time within RX_AACK mode. Table 7-22. AACK_ACK_TIME. Register Bits AACK_ACK_TIME Value Description 0 Acknowledgment time is 12 symbols (aTurnaroundTime) 1 Acknowledgment time is two symbols According to IEEE 802.15.4, Section 7.5.6.4.2 the transmission of an acknowledgment frame shall commence 12 symbols (aTurnaroundTime) after the reception of the last symbol of a data or MAC command frame. This is achieved with the reset value of the register bit AACK_ACK_TIME. Alternatively, if AACK_ACK_TIME = 1 an acknowledgment frame is sent already two symbol periods after the reception of the last symbol of a data or MAC command frame. 67 8321A–MCU Wireless–10/11  Bit 1 - AACK_PROM_MODE The register bit AACK_PROM_MODE enables the promiscuous mode, within the RX_AACK mode. Table 7-23. AACK_PROM_MODE. Register Bits Value AACK_PROM_MODE Description 0 Promiscuous mode is disabled 1 Promiscuous mode is enabled Refer to IEEE 802.15.4-2006, Section 7.5.6.5. If this register bit is set, every incoming frame with a valid PHR finishes with IRQ_3 (TRX_END) interrupt even if the third level filter rules do not match or the FCS is not valid. Register bit RX_CRC_VALID (register 0x06, PHY_RSSI) is set accordingly. In contrast to IEEE 802.15.4-2006, if a frame passes the third level filter rules, an acknowledgement frame is generated and transmitted unless disabled by register bit AACK_DIS_ACK (register 0x2E, CSMA_SEED_1), or use Basic Operating Mode instead. Register 0x19 (XAH_CTRL_2): The read-only register XAH_CTRL_2 retrieves the current counter values for Extended Operating Mode. Figure 7-20. Register XAH_CTRL_2. Bit 7 6 0x19 5 4 ARET_FRAME_RETRIES Read/Write Reset value R 0 Bit 3 0x19 R 0 R 0 2 1 ARET_CSMA_RETRIES Read/Write Reset value R 0 R 0 XAH_CTRL_2 R 0 0 reserved R 0 XAH_CTRL_2 R 0  Bit 7:4 - ARET_FRAME_RETRIES Retrieves current frame retry counter value. Table 7-24. ARET_FRAME_RETRIES. Register Bits ARET_FRAME_RETRIE S Note: 68 1. Value Description 0x0 Minimum possible frame retry counter value 0xF Maximum possible frame retry counter value A new CCA_BACKOFF cycle or new frame transmit cycle changed these value. AT86RF232 8321A–MCU Wireless–10/11 AT86RF232  Bit 3:1 - ARET_CSMA_RETRIES Retrieves current CSMA-CA retry counter value. Table 7-25. ARET_CSMA_RETRIES. Register Bits Value ARET_CSMA_RETRIES Note: 1. Description 0 Minimum possible CSMA-CA retry counter value 5 Maximum possible CSMA-CA retry counter value A new CCA_BACKOFF cycle or new frame transmit cycle changed these value. Register 0x2C (XAH_CTRL_0): The XAH_CTRL_0 register is a control register for Extended Operating Mode. Figure 7-21. Register XAH_CTRL_0. Bit 7 6 R/W 0 R/W 0 R/W 1 3 2 1 0x2C Read/Write Reset value Bit 4 MAX_FRAME_RETRIES 0x2C Read/Write Reset value 5 R/W 0 0 SLOTTED_ OPERATION MAX_CSMA_RETRIES R/W 1 XAH_CTRL_0 R/W 1 R/W 0 XAH_CTRL_0 R/W 0  Bit 7:4 - MAX_FRAME_RETRIES Number of retransmission attempts in TX_ARET mode before the transaction gets cancelled. Table 7-26. MAX_FRAME_RETRIES. Register Bits MAX_FRAME_RETRIES Value 0x3 Description The setting of MAX_FRAME_RETRIES in TX_ARET mode specifies the number of attempts to retransmit a frame, when it was not acknowledged by the recipient, before the transaction gets cancelled. Valid values are [0x7, 0x6, …, 0x0]. 69 8321A–MCU Wireless–10/11  Bit 3:1 - MAX_CSMA_RETRIES Number of retries in TX_ARET mode to repeat the CSMA-CA procedure before the transaction gets cancelled. Table 7-27. MAX_CSMA_RETRIES. Register Bits MAX_CSMA_RETRIES Notes: 1. Value Description 0 (1) no retries 1 (1) One retry 2 (1) Two retries 3 (1) Three retries 4 (1) Four retries 5 (1) Five retries 7 (3) Immediate frame transmission without performing CSMACA MAX_CSMA_RETRIES specifies the number of retries in TX_ARET mode to repeat the CSMA-CA procedure before the transaction gets cancelled. According to IEEE 802.15.4 the valid range of MAX_CSMA_RETRIES is [5, 4, …, 0]. 2. MAX_CSMA_RETRIES = 6 is reserved. 3. A value of MAX_CSMA_RETRIES = 7 initiates an immediate frame transmission without performing CSMA-CA.  Bit 0 - SLOTTED_OPERATION For RX_AACK mode, the register bit SLOTTED_OPERATION determines, if the transceiver will require a time base for slotted operation. Table 7-28. SLOTTED_OPERATION. Register Bits SLOTTED_OPERATION Value Description 0 The radio transceiver operates in unslotted mode. An acknowledgment frame is automatically sent if requested. 1 The transmission of an acknowledgement frame has to be controlled by the microcontroller. Using RX_AACK mode in networks operating in beacon or slotted mode, refer to IEEE 802.15.4-2006, Section 5.5.1, register bit SLOTTED_OPERATION indicates that acknowledgement frames are to be sent on back-off slot boundaries (slotted acknowledgement), refer to Section 7.2.3.5. If this register bit is set the acknowledgement frame transmission has to be initiated by the microcontroller using the rising edge of pin 11 (SLP_TR). This waiting state is signaled in register bits TRAC_STATUS (register 0x02, TRX_STATE) with value SUCCESS_WAIT_FOR_ACK. 70 AT86RF232 8321A–MCU Wireless–10/11 AT86RF232 Register 0x2D (CSMA_SEED_0): The register CSMA_SEED_0 contains the lower 8-bit of CSMA_SEED. Figure 7-22. Register CSMA_SEED_0. Bit 7 6 R/W 1 R/W 1 3 2 0x2D 5 4 R/W 1 R/W 0 1 0 R/W 1 R/W 0 CSMA_SEED_0 Read/Write Reset value Bit 0x2D CSMA_SEED_0 CSMA_SEED_0 Read/Write Reset value R/W 1 R/W 0 CSMA_SEED_0  Bit 7:0 - CSMA_SEED_0 Lower 8-bit of CSMA_SEED, bits[7:0]. Used as seed for random number generation in the CSMA-CA algorithm. Table 7-29. CSMA_SEED_0. Register Bits Value Description CSMA_SEED_0 0xEA This register contains the lower 8-bit of the CSMA_SEED, bits[7:0]. The higher 3-bit are part of register bits CSMA_SEED_1 (register 0x2E, CSMA_SEED_1). CSMA_SEED is the seed for the random number generation that determines the length of the back-off period in the CSMA-CA algorithm. Register 0x2E (CSMA_SEED_1): The CSMA_SEED_1 register is a control register for RX_AACK and contains a part of the CSMA_SEED for the CSMA-CA algorithm. Figure 7-23. Register CSMA_SEED_1. Bit 7 0x2E Read/Write Reset value Bit 0x2E Read/Write Reset value 6 AACK_FVN_MODE 5 4 AACK_SET_PD AACK_DIS_ACK R/W 0 R/W 1 R/W 0 R/W 0 3 2 1 0 AACK_I_AM_ COORD R/W 0 CSMA_SEED_1 R/W 0 R/W 1 CSMA_SEED_1 CSMA_SEED_1 R/W 0 71 8321A–MCU Wireless–10/11  Bit 7:6 - AACK_FVN_MODE Controls the ACK behaviour dependent from FCF frame version number within RX_AACK mode. Table 7-30. AACK_FVN_MODE. Register Bits Value AACK_FVN_MODE Note: 1. Description 0 Accept frames with version number 0 1 Accept frames with version number 0 or 1 2 Accept frames with version number 0 or 1 or 2 3 Accept frames independent of frame version number AACK_FVN_MODE value one indicates frames according to IEEE-802.15.4-2006, a value of three indicates frames according to IEEE-802.15.4-2003 standard. The frame control field of the MAC header (MHR) contains a frame version subfield. The setting of register bits AACK_FVN_MODE specifies the frame filtering behavior of the Atmel AT86RF232. According to the content of these register bits the radio transceiver passes frames with a specific frame version number, number group, or independent of the frame version number. Thus the register bits AACK_FVN_MODE defines the maximum acceptable frame version. Received frames with a higher frame version number than configured do not pass the address filter and are not acknowledged. The frame version field of the acknowledgment frame is set to zero according to IEEE 802.15.4-2006, Section 7.2.2.3.1 Acknowledgment frame MHR fields.  Bit 5 - AACK_SET_PD The content of AACK_SET_PD bit is copied into the frame pending subfield of the acknowledgment frame if the ACK is the answer to a data request MAC command frame. Table 7-31. AACK_SET_PD. Register Bits AACK_SET_PD Value Description 0 Pending data bit set to zero 1 Pending data bit set to one In addition, if register bits AACK_FVN_MODE (register 0x2E, CSMA_SEED_1) are configured to accept frames with a frame version other than zero or one, the content of register bit AACK_SET_PD is also copied into the frame pending subfield of the acknowledgment frame for any MAC command frame with a frame version of two or three that have the security enabled subfield set to one. This is done in the assumption that a future version of the standard [1] might change the length or structure of the auxiliary security header. 72 AT86RF232 8321A–MCU Wireless–10/11 AT86RF232  Bit 4 - AACK_DIS_ACK If this bit is set no acknowledgment frames are transmitted in RX_AACK Extended Operating Mode, even if requested. Table 7-32. AACK_DIS_ACK. Register Bits Value AACK_DIS_ACK Description 0 Acknowledgment frames are transmitted 1 Acknowledgment frames are not transmitted  Bit 3 - AACK_I_AM_COORD This register bit has to be set if the node is a PAN coordinator. It is used for frame filtering in RX_AACK. Table 7-33. AACK_I_AM_COORD. Register Bits Value AACK_I_AM_COORD Description 0 PAN coordinator addressing is disabled 1 PAN coordinator addressing is enabled If AACK_I_AM_COORD = 1 and if only source addressing fields are included in a data or MAC command frame, the frame shall be accepted only if the device is the PAN coordinator and the source PAN identifier matches macPANId, for details refer to IEEE 802.15.4, Section 7.5.6.2 (third-level filter rule six).  Bit 2:0 - CSMA_SEED_1 Higher 3-bit of CSMA_SEED, bits[10:8]. Seed for random number generation in the CSMA-CA algorithm. Table 7-34. CSMA_SEED_1. Register Bits Value CSMA_SEED_1 Description 2 These register bits are the higher 3-bit of the CSMA_SEED, bits [10:8]. The lower part is in register 0x2D (CSMA_SEED_0), see register CSMA_SEED_0 for details. Register 0x2F (CSMA_BE): The register CSMA_BE contains the back-off exponents for the CSMA-CA algorithm. Figure 7-24. Register CSMA_BE. Bit 7 6 0x2F Read/Write Reset value Bit R/W 0 R/W 1 3 2 0x2F 4 R/W 0 R/W 1 1 0 R/W 1 R/W 1 CSMA_BE MIN_BE Read/Write Reset value Note: 5 MAX_BE 1. R/W 0 R/W 0 CSMA_BE If MIN_BE = 0 and MAX_BE = 0 the CCA backoff period is always set to zero. 73 8321A–MCU Wireless–10/11  Bit 7:4 - MAX_BE Maximum back-off exponent in the CSMA-CA algorithm. Table 7-35. MAX_BE. Register Bits MAX_BE Value 0x5 Description Register bits MAX_BE defines the maximum back-off exponent used in the CSMA-CA algorithm to generate a pseudo random number for CCA back-off. Valid values are [0x8, 0x7, …, 0x0]. For details refer to IEEE 802.15.4-2006, Section 7.5.1.4.  Bit 3:0 - MIN_BE Minimum back-off exponent in the CSMA-CA algorithm. Table 7-36. MIN_BE. Register Bits MIN_BE Value 0x3 Description Register bits MIN_BE defines the minimum back-off exponent used in the CSMA-CA algorithm to generate a pseudo random number for CCA back-off. Valid values are [MAX_BE, (MAX_BE – 1), …, 0]. For details refer to IEEE 802.15.4-2006, Section 7.5.1.4. 74 AT86RF232 8321A–MCU Wireless–10/11 AT86RF232 7.2.8 Register Description – Address Registers Register 0x20 (SHORT_ADDR_0): This register contains the lower 8-bit of the MAC short address for Frame Filter address recognition, bits[7:0]. Figure 7-25. Register SHORT_ADDR_0. Bit 7 6 5 4 R/W 1 R/W 1 R/W 1 R/W 1 3 2 1 0 R/W 1 R/W 1 0x20 Read/Write Reset value Bit SHORT_ADDR_0 0x20 Read/Write Reset value SHORT_ADDR_0 SHORT_ADDR_0 R/W 1 R/W 1 SHORT_ADDR_0 Register 0x21 (SHORT_ADDR_1): This register contains the higher 8-bit of the MAC short address for Frame Filter address recognition, bits[15:8]. Figure 7-26. Register SHORT_ADDR_1. Bit 7 6 0x21 Read/Write Reset value Bit 4 SHORT_ADDR_1 R/W 1 R/W 1 R/W 1 R/W 1 3 2 1 0 R/W 1 R/W 1 0x21 Read/Write Reset value 5 SHORT_ADDR_1 SHORT_ADDR_1 R/W 1 R/W 1 SHORT_ADDR_1 Register 0x22 (PAN_ID_0): This register contains the lower 8-bit of the MAC PAN ID for Frame Filter address recognition, bits[7:0]. Figure 7-27. Register PAN_ID_0. Bit 7 6 0x22 Read/Write Reset value Bit R/W 1 R/W 1 3 2 0x22 Read/Write Reset value 5 4 R/W 1 R/W 1 1 0 PAN_ID_0 PAN_ID_0 PAN_ID_0 R/W 1 R/W 1 PAN_ID_0 R/W 1 R/W 1 75 8321A–MCU Wireless–10/11 Register 0x23 (PAN_ID_1): This register contains the higher 8-bit of the MAC PAN ID for Frame Filter address recognition, bits[15:8]. Figure 7-28. Register PAN_ID_1. Bit 7 6 R/W 1 R/W 1 3 2 0x23 Read/Write Reset value Bit 4 R/W 1 R/W 1 1 0 R/W 1 R/W 1 PAN_ID_1 0x23 Read/Write Reset value 5 PAN_ID_1 PAN_ID_1 R/W 1 R/W 1 PAN_ID_1 Register 0x24 (IEEE_ADDR_0): This register contains the lower 8-bit of the MAC IEEE address for Frame Filter address recognition, bits[7:0]. Figure 7-29. Register IEEE_ADDR_0. Bit 7 6 0x24 Read/Write Reset value Bit 4 IEEE_ADDR_0 R/W 0 R/W 0 R/W 0 R/W 0 3 2 1 0 R/W 0 R/W 0 R/W 0 R/W 0 0x24 Read/Write Reset value 5 IEEE_ADDR_0 IEEE_ADDR_0 IEEE_ADDR_0 Register 0x25 (IEEE_ADDR_1): This register contains 8-bit of the MAC IEEE address for Frame Filter address recognition, bits[15:8]. Figure 7-30. Register IEEE_ADDR_1. Bit 7 6 0x25 Read/Write Reset value Bit R/W 0 R/W 0 3 2 0x25 Read/Write Reset value 76 5 4 R/W 0 R/W 0 1 0 IEEE_ADDR_1 IEEE_ADDR_1 IEEE_ADDR_1 R/W 0 R/W 0 IEEE_ADDR_1 R/W 0 R/W 0 AT86RF232 8321A–MCU Wireless–10/11 AT86RF232 Register 0x26 (IEEE_ADDR_2): This register contains 8-bit of the MAC IEEE address for Frame Filter address recognition, bits[23:16]. Figure 7-31. Register IEEE_ADDR_2. Bit 7 6 R/W 0 R/W 0 3 2 0x26 Read/Write Reset value Bit 4 R/W 0 R/W 0 1 0 R/W 0 R/W 0 IEEE_ADDR_2 0x26 Read/Write Reset value 5 IEEE_ADDR_2 IEEE_ADDR_2 R/W 0 R/W 0 IEEE_ADDR_2 Register 0x27 (IEEE_ADDR_3): This register contains 8-bit of the MAC IEEE address for Frame Filter address recognition, bits[31:24]. Figure 7-32. Register IEEE_ADDR_3. Bit 7 6 0x27 Read/Write Reset value Bit 4 IEEE_ADDR_3 R/W 0 R/W 0 R/W 0 R/W 0 3 2 1 0 R/W 0 R/W 0 R/W 0 R/W 0 0x27 Read/Write Reset value 5 IEEE_ADDR_3 IEEE_ADDR_3 IEEE_ADDR_3 Register 0x28 (IEEE_ADDR_4): This register contains 8-bit of the MAC IEEE address for Frame Filter address recognition, bits[39:32]. Figure 7-33. Register IEEE_ADDR_4. Bit 7 6 0x28 Read/Write Reset value Bit R/W 0 R/W 0 3 2 0x28 Read/Write Reset value 5 4 R/W 0 R/W 0 1 0 R/W 0 R/W 0 IEEE_ADDR_4 IEEE_ADDR_4 IEEE_ADDR_4 R/W 0 R/W 0 IEEE_ADDR_4 77 8321A–MCU Wireless–10/11 Register 0x29 (IEEE_ADDR_5): This register contains 8-bit of the MAC IEEE address for Frame Filter address recognition, bits[47:40]. Figure 7-34. Register IEEE_ADDR_5. Bit 7 6 R/W 0 R/W 0 3 2 0x29 Read/Write Reset value Bit 4 R/W 0 R/W 0 1 0 R/W 0 R/W 0 IEEE_ADDR_5 0x29 Read/Write Reset value 5 IEEE_ADDR_5 IEEE_ADDR_5 R/W 0 R/W 0 IEEE_ADDR_5 Register 0x2A (IEEE_ADDR_6): This register contains 8-bit of the MAC IEEE address for Frame Filter address recognition, bits[55:48]. Figure 7-35. Register IEEE_ADDR_6. Bit 7 6 0x2A Read/Write Reset value Bit 4 IEEE_ADDR_6 R/W 0 R/W 0 R/W 0 R/W 0 3 2 1 0 R/W 0 R/W 0 R/W 0 R/W 0 0x2A Read/Write Reset value 5 IEEE_ADDR_6 IEEE_ADDR_6 IEEE_ADDR_6 Register 0x2B (IEEE_ADDR_7): This register contains the higher 8-bit of the MAC IEEE Frame Filter address for address recognition, bits[63:56]. Figure 7-36. Register IEEE_ADDR_7. Bit 7 6 0x2B Read/Write Reset value Bit R/W 0 R/W 0 3 2 0x2B Read/Write Reset value 78 5 4 R/W 0 R/W 0 1 0 R/W 0 R/W 0 IEEE_ADDR_7 IEEE_ADDR_7 IEEE_ADDR_7 R/W 0 R/W 0 IEEE_ADDR_7 AT86RF232 8321A–MCU Wireless–10/11 AT86RF232 8 Functional Description 8.1 Introduction – IEEE 802.15.4-2006 Frame Format Figure 8-1 provides an overview of the physical layer (PHY) frame structure as defined by IEEE 802.15.4. Figure 8-2 shows the frame structure of the medium access control (MAC) layer. Figure 8-1. IEEE 802.15.4 Frame Format - PHY-Layer Frame Structure (PPDU). PHY Protocol Data Unit (PPDU) Preamble Sequence SFD Frame Length PHY Payload 5 octets 1 octet Maximum 127 octets Synchronization Header (SHR) (PHR) PHY Service Data Unit (PSDU) MAC Protocol Data Unit (MPDU) 8.1.1 PHY Protocol Layer Data Unit (PPDU) 8.1.1.1 Synchronization Header (SHR) The SHR consists of a four-octet preamble field (all zero), followed by a single byte start-of-frame delimiter (SFD, value 0xA7). During transmission, the SHR is automatically generated by the Atmel AT86RF232, thus the Frame Buffer shall contain PHR and PSDU only. The transmission of the SHR requires 160µs (10 symbols). As the SPI data rate is normally higher than the over-air data rate, this allows the microcontroller to initiate a transmission without having transferred the full frame data already. Instead it is possible to subsequently write the frame content. During frame reception, the SHR is used for synchronization purposes. The matching SFD determines the beginning of the PHR and the following PSDU payload data. 8.1.1.2 PHY Header (PHR) The PHY header is a single octet following the SHR. The least significant seven bits denote the frame length of the following PSDU, while the most significant bit of that octet is reserved, and shall be set to zero for IEEE 802.15.4 compliant frames. On reception, the PHR is returned as the first octet during Frame Buffer read access. While the IEEE 802.15.4-2006 standard declares bit seven of the PHR octet as being reserved, the AT86RF232 preserves this bit upon transmission and reception so it can be used to carry additional information within proprietary networks. Nevertheless, this bit is not considered to be part of the frame length, so only frames between one and 127 octets are possible. For IEEE 802.15.4 compliant operation bit[7] has to be masked by software. The reception of a valid PHR (that is frame length greater than zero) is signaled by an interrupt IRQ_2 (RX_START). On transmission the PHR is to be supplied by the microcontroller during Frame Buffer write access as the first octet. 79 8321A–MCU Wireless–10/11 8.1.1.3 PHY Payload (PHY Service Data Unit, PSDU) The PSDU has a variable length between zero and aMaxPHYPacketSize (127, maximum PSDU size in octets). The length of the PSDU is signaled by the frame length field (PHR), refer to Table 8-1. The PSDU contains the MAC Protocol Layer Data Unit (MPDU). Received frames with a frame length field set to zero (invalid PHR) are not signaled to the microcontroller. Table 8-1 summarizes the type of payload versus the frame length value. Table 8-1. Frame Length Field – PHR. Frame Length Value Payload 0-4 Reserved 5 MPDU (Acknowledgement) 6–8 Reserved 9 - aMaxPHYPacketSize MPDU 8.1.2 MAC Protocol Layer Data Unit (MPDU) Figure 8-2 shows the frame structure of the MAC layer. Figure 8-2. IEEE 802.15.4 Frame Format - MAC-Layer Frame Structure (MPDU). MAC Protocol Data Unit (MPDU) Sequence Number FCF Addressing Fields MAC Payload MAC Header (MHR) Destination PAN ID 0 1 Frame Type 2 MAC Service Data Unit (MSDU) Destination Source address PAN ID 0/4/6/8/10/12/14/16/18/20 octets 3 4 5 Sec. Enabled Frame Pending ACK Request FCS 6 7 Source address 8 PAN ID Reserved Comp. Frame Control Field 2 octets 9 (MFR) Auxiliary Security Header CRC-16 0/5/6/10/14 octets 2 octets 10 11 Destination addressing mode 12 13 Frame Version 14 15 Source addressing mode 8.1.2.1 MAC Header (MHR) Fields The MAC header consists of the Frame Control Field (FCF), a sequence number, and the addressing fields (which are of variable length, and can even be empty in certain situations). 8.1.2.2 Frame Control Field (FCF) The FCF consists of 16 bits, and occupies the first two octets of the MPDU or PSDU, respectively. 80 AT86RF232 8321A–MCU Wireless–10/11 AT86RF232 Figure 8-3. IEEE 802.15.4-2006 Frame Control Field (FCF). 0 1 2 Frame Type 3 4 5 6 Sec. Enabled Frame Pending ACK Request PAN ID Comp. 7 8 9 Reserved 10 11 Destination addressing mode 12 13 Frame Version 14 15 Source addressing mode Frame Control Field 2 octets Bit [2:0]: describes the frame type. Table 8-2 summarizes frame types defined by IEEE 802.15.4, Section 7.2.1.1.1. Table 8-2. Frame Control Field – Frame Type Subfield. Frame Control Field Bit Assignments Description Frame Type Value b2 b1 b0 Value 000 0 Beacon 001 1 Data 010 2 Acknowledge 011 3 MAC command 100 – 111 4–7 Reserved This subfield is used for address filtering by the third level filter rules. By default, only frame types 0 – 3 pass the third level filter rules, refer to Section 7.2.3.4. Automatic address filtering by the Atmel AT86RF232 is enabled when using the RX_AACK mode, refer to Section 7.2.3. However, a reserved frame (frame type value > 3) can be received if register bit AACK_UPLD_RES_FT (register 0x17, XAH_CTRL_1) is set, for details refer to Section 7.2.3.3. Address filtering is also provided in Basic Operating Mode, refer to Section 7.1. Bit 3: indicates whether security processing applies to this frame. Bit 4: is the “Frame Pending” subfield. This field can be set in an acknowledgment frame (ACK) in response to a data request MAC command frame. This bit indicates that the node, which transmitted the ACK, might have more data to send to the node receiving the ACK. For acknowledgment frames automatically generated by the AT86RF232, this bit is set according to the content of register bit AACK_SET_PD in register 0x2E (CSMA_SEED_1) if the received frame was a data request MAC command frame. Bit 5: forms the “Acknowledgment Request” subfield. If this bit is set within a data or MAC command frame that is not broadcast, the recipient shall acknowledge the reception of the frame within the time specified by IEEE 802.15.4 (that is within 192µs for non beacon-enabled networks). The radio transceiver parses this bit during RX_AACK mode and transmits an acknowledgment frame if necessary. In TX_ARET mode this bit indicates if an acknowledgement frame is expected after transmitting a frame. If this is the case, the receiver waits for the acknowledgment frame, otherwise the TX_ARET transaction is finished. Bit 6: the “PAN ID compression” subfield indicates that in a frame, where both, the destination and source addresses are present, the PAN-ID of the source address field 81 8321A–MCU Wireless–10/11 is omitted. In RX_AACK mode, this bit is evaluated by the address filter logic of the Atmel AT86RF232. This subfield was previously named “Intra-PAN”. Bit [11:10]: the “Destination Addressing Mode” subfield describes the format of the destination address of the frame. The values of the address modes are summarized in Table 8-3, according to IEEE 802.15.4: Table 8-3. Frame Control Field – Destination and Source Addressing Mode. Frame Control Field Bit Assignments Description Addressing Mode b11 b10 b15 b14 Value 00 0 PAN identifier and address fields are not present 01 1 Reserved 10 2 Address field contains a 16-bit short address 11 3 Address field contains a 64-bit extended address If the destination address mode is either two or three (that is if the destination address is present), it always consists of a 16-bit PAN-ID first, followed by either the 16-bit or 64-bit address as described by the mode. Bit [13:12]: the “Frame Version” subfield specifies the version number corresponding to the frame. These register bits are reserved in IEEE 802.15.4-2003. This subfield shall be set to zero to indicate a frame compatible with IEEE 802.15.4-2003 and one to indicate an IEEE 802.15.4-2006 frame. All other subfield values shall be reserved for future use. RX_AACK register bits AACK_FVN_MODE (register 0x2E, CSMA_SEED_1) controls the behavior of frame acknowledgements. This register determines if, depending on the Frame Version Number, a frame is acknowledged or not. This is necessary for backward compatibility to IEEE 802.15.4-2003 and for future use. Even if frame version numbers two and three are reserved, it can be handled by the radio transceiver, for details refer to Section 7.2.7. See IEEE 802.15.4-2006, Section 7.2.3 for details on frame compatibility. Table 8-4. Frame Control Field – Frame Version Subfield. Frame Control Field Bit Assignments Description Frame Version b13 b12 Value 00 0 Frames are compatible with IEEE 802.15.4-2003 01 1 Frames are compatible with IEEE 802.15.4-2006 10 2 Reserved 11 3 Reserved Bit [15:14]: the “Source Addressing Mode” subfield, with similar meaning as “Destination Addressing Mode”, see Table 8-3. The subfields of the FCF (Bits 0–2, 3, 6, 10–15) affect the address filter logic of the AT86RF232 while operating in RX_AACK operation, see Section 7.2.3. 82 AT86RF232 8321A–MCU Wireless–10/11 AT86RF232 8.1.2.3 Frame Compatibility between IEEE 802.15.4-2003 and IEEE 802.15.4-2006 All unsecured frames according to IEEE 802.15.4-2006 are compatible with unsecured frames compliant with IEEE 802.15.4-2003 with two exceptions: a coordinator realignment command frame with the “Channel Page” field present (see IEEE 802.15.4-2006, Section 7.3.8) and any frame with a MAC Payload field larger than aMaxMACSafePayloadSize octets. Compatibility for secured frames is shown in Table 8-5, which identifies the security operating modes for IEEE 802.15.4-2006. Table 8-5. Frame Control Field – Security and Frame Version. Frame Control Field Bit Assignments Description Security Enabled b3 Frame Version b13 b12 0 00 No security. Frames are compatible between IEEE 802.15.4-2003 and IEEE 802.15.4-2006. 0 01 No security. Frames are not compatible between IEEE 802.15.4-2003 and IEEE 802.15.4-2006. 1 00 Secured frame formatted according to IEEE 802.15.4-2003. This frame type is not supported in IEEE 802.15.4-2006. 1 01 Secured frame formatted according to IEEE 802.15.4-2006 8.1.2.4 Sequence Number The one-octet sequence number following the FCF identifies a particular frame, so that duplicated frame transmissions can be detected. While operating in RX_AACK mode, the content of this field is copied from the frame to be acknowledged into the acknowledgment frame. 8.1.2.5 Addressing Fields The addressing fields of the MPDU are used by the Atmel AT86RF232 for address matching indication. The destination address (if present) is always first, followed by the source address (if present). Each address field consists of the PAN-ID and a device address. If both addresses are present, and the “PAN ID compression” subfield in the FCF is set to one, the source PAN-ID is omitted. Note that in addition to these general rules, IEEE 802.15.4 further restricts the valid address combinations for the individual possible MAC frame types. For example, the situation where both addresses are omitted (source addressing mode = 0 and destination addressing mode = 0) is only allowed for acknowledgment frames. The address filter in the AT86RF232 has been designed to apply to IEEE 802.15.4 compliant frames. It can be configured to handle other frame formats and exceptions. 8.1.2.6 Auxiliary Security Header Field The Auxiliary Security Header specifies information required for security processing and has a variable length. This field determines how the frame is actually protected (security level) and which keying material from the MAC security PIB is used (see IEEE 802.15.4-2006, Section 7.6.1). This field shall be present only if the Security Enabled subfield b3, see Section 8.1.2.3, is set to one. For details of its structure, see IEEE 802.15.4-2006, Section 7.6.2 Auxiliary security header. 83 8321A–MCU Wireless–10/11 8.1.2.7 MAC Service Data Unit (MSDU) This is the actual MAC payload. It is usually structured according to the individual frame type. A description can be found in IEEE 802.15.4-2006, Section 5.5.3.2. 8.1.2.8 MAC Footer (MFR) Fields The MAC footer consists of a two-octet Frame Checksum (FCS), for details refer to Section 8.2. 8.2 Frame Check Sequence (FCS) The Frame Check Sequence (FCS) is characterized by:  Indicate bit errors, based on a cyclic redundancy check (CRC) of length 16-bit  Uses International Telecommunication Union (ITU) CRC polynomial  Automatically evaluated during reception  Can be automatically generated during transmission 8.2.1 Overview The FCS is intended for use at the MAC layer to detect corrupted frames at a first level of filtering. It is computed by applying an ITU CRC polynomial to all transferred bytes following the length field (MHR and MSDU fields). The frame check sequence has a length of 16-bit and is located in the last two bytes of a frame (MAC footer, see Figure 8-2). The Atmel AT86RF232 applies an FCS check on each received frame. The FCS check result is stored in register bit RX_CRC_VALID (register 0x06, PHY_RSSI). On transmission the radio transceiver generates and appends the FCS bytes during the frame transmission. This behavior can be disabled by setting register bit TX_AUTO_CRC_ON = 0 (register 0x04, TRX_CTRL_1). 8.2.2 CRC calculation The CRC polynomial used in IEEE 802.15.4 networks is defined by G16 ( x)  x16  x12  x 5  1 The FCS shall be calculated for transmission using the following algorithm: Let M ( x)  b0 x k 1  b1 x k 2    bk 2 x  bk 1 be the polynomial representing the sequence of bits for which the checksum is to be 16 computed. Multiply M(x) by x , giving the polynomial N ( x)  M ( x)  x16 Divide N (x) modulo two by the generator polynomial, G16 ( x) , to obtain the remainder polynomial, R( x)  r0 x15  r1 x14  ...  r14 x  r15 The FCS field is given by the coefficients of the remainder polynomial, R(x). Example: Considering a five octet ACK frame. The MHR field consists of 0100 0000 0000 0000 0101 0110. 84 AT86RF232 8321A–MCU Wireless–10/11 AT86RF232 The leftmost bit (b0) is transmitted first in time. The FCS is in this case 0010 0111 1001 1110. The leftmost bit (r0) is transmitted first in time. 8.2.3 Automatic FCS generation The automatic FCS generation is activated with register bit TX_AUTO_CRC_ON = 1 (reset value). This allows the Atmel AT86RF232 to compute the FCS autonomously. For a frame with a frame length specified as N (3 ≤ N ≤ 127), the FCS is calculated on the first N-2 octets in the Frame Buffer, and the resulting FCS field is transmitted in place of the last two octets from the Frame Buffer. If the radio transceiver’s automatic FCS generation is enabled, the Frame Buffer write access can be stopped right after MAC payload. There is no need to write FCS dummy bytes. In RX_AACK mode, when a received frame needs to be acknowledged, the FCS of the ACK frame is always automatically generated by the AT86RF232, independent of the TX_AUTO_CRC_ON setting. Example: A frame transmission of length five with TX_AUTO_CRC_ON set, is started with a Frame Buffer write access of five bytes (the last two bytes can be omitted). The first three bytes are used for FCS generation; the last two bytes are replaced by the internally calculated FCS. 8.2.4 Automatic FCS check An automatic FCS check is applied on each received frame with a frame length N ≥ 2. Register bit RX_CRC_VALID (register 0x06, PHY_RSSI) is set if the FCS of a received frame is valid. The register bit is updated when issuing interrupt IRQ_3 (TRX_END) and remains valid until the next TRX_END interrupt caused by a new frame reception. In RX_AACK mode, if FCS of the received frame is not valid, the radio transceiver rejects the frame and the TRX_END interrupt is not issued. In TX_ARET mode, the FCS and the sequence number of an ACK is automatically checked. If one of these is not correct, the ACK is not accepted. 85 8321A–MCU Wireless–10/11 8.2.5 Register Description Register 0x04 (TRX_CTRL_1): The TRX_CTRL_1 register is a multi-purpose register to control various operating modes and settings of the radio transceiver. Figure 8-4. Register TRX_CTRL_1. Bit 0x04 Read/Write Reset value Bit 7 6 5 4 reserved IRQ_2_EXT_EN TX_AUTO_CRC_ ON RX_BL_CTRL R/W 0 R/W 0 R/W 1 R/W 0 3 2 1 0 IRQ_MASK_MODE IRQ_POLARITY R/W 1 R/W 0 0x04 SPI_CMD_MODE Read/Write Reset value R/W 0 R/W 0 TRX_CTRL_1 TRX_CTRL_1  Bit 5 - TX_AUTO_CRC_ON The register bit TX_AUTO_CRC_ON controls the automatic FCS generation for transmit operations. Table 8-6. TX_AUTO_CRC_ON. Register Bits Value TX_AUTO_CRC_ON Note: 1. Description 0 Automatic FCS generation is disabled 1 Automatic FCS generation is enabled The TX_AUTO_CRC_ON function can be used within Basic and Extended Operating Modes. Register 0x06 (PHY_RSSI): The PHY_RSSI register is a multi-purpose register that indicates FCS validity, provides random numbers and shows the actual RSSI value. Figure 8-5. Register PHY_RSSI. Bit 0x06 7 6 RX_CRC_VALID Read/Write Reset value R 0 R 1 Bit 3 2 0x06 Read/Write Reset value 86 5 RND_VALUE 4 RSSI R 1 R 0 1 0 R 0 R 0 RSSI R 0 R 0 PHY_RSSI PHY_RSSI AT86RF232 8321A–MCU Wireless–10/11 AT86RF232  Bit 7 - RX_CRC_VALID The register bit RX_CRC_VALID signals the FCS check status for a received frame. Table 8-7. RX_CRC_VALID. Register Bits RX_CRC_VALID Value Description 0 FCS is not valid 1 FCS is valid Reading this register bit indicates whether the last received frame has a valid FCS or not. The register bit is updated when issuing interrupt IRQ_3 (TRX_END) and remains valid until the next TRX_END interrupt is issued, caused by a new frame reception. 87 8321A–MCU Wireless–10/11 8.3 Received Signal Strength Indicator (RSSI) The Atmel AT86RF232 Received Signal Strength Indicator is characterized by:  Minimum RSSI level is -91dBm (RSSIBASE_VAL)  Dynamic range is 87dB  Minimum RSSI value is 0  Maximum RSSI value is 28 8.3.1 Overview The RSSI is a 5-bit value indicating the receive power in the selected channel, in steps of 3dB. No attempt is made to distinguish IEEE 802.15.4 signals from others, only the received signal strength is evaluated. The RSSI provides the basis for an ED measurement, see Section 8.4. 8.3.2 Reading RSSI In Basic Operating Mode the RSSI value is valid in any receive state, and is updated every tRSSI = 2µs to register 0x06 (PHY_RSSI). It is not recommended to read the RSSI value when using the Extended Operating Mode. The automatically generated ED value should be used alternatively, see Section 8.4. 8.3.3 Data Interpretation The RSSI value is a 5-bit value indicating the receive power, in steps of 3dB and with a range of zero to 28. An RSSI value of zero indicates a receiver RF input power of PRF ≤ -91dBm. For an RSSI value in the range of one to 28, the RF input power can be calculated as follows: PRF[dBm] = RSSIBASE_VAL + 3 x RSSI Figure 8-6. Mapping between RSSI Value and Received Input Power. 10 Receiver Input Power PRF [dBm] 0 Measured -10 Ideal -20 -30 -40 -50 -60 -70 -80 -90 -100 0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 RSSI 88 AT86RF232 8321A–MCU Wireless–10/11 AT86RF232 8.3.4 Register Description Register 0x06 (PHY_RSSI): The PHY_RSSI register is a multi-purpose register that indicates FCS validity, provides random numbers and shows the actual RSSI value. Figure 8-7. Register PHY_RSSI. Bit 0x06 7 6 5 RX_CRC_VALID RND_VALUE Read/Write Reset value R 0 R 1 Bit 3 2 0x06 Read/Write Reset value 4 RSSI R 1 R 0 1 0 R 0 R 0 RSSI R 0 R 0 PHY_RSSI PHY_RSSI  Bit 4:0 - RSSI Received signal strength as a linear curve on a logarithmic input power scale with a resolution of 3dB. Table 8-8. RSSI. Register Bits Value Description RSSI 0x00 Minimum RSSI value 0x1C Maximum RSSI value The result of the automated RSSI measurement is stored in register bits RSSI. The value is updated every tRSSI = 2µs in receive states. The read value is a number between zero and 28 indicating the received signal strength as a linear curve on a logarithmic input power scale with a resolution of 3dB. An RSSI value of zero indicates an RF input power of PRF ≤ -91dBm (RSSIBASE_VAL), a value of 28 a power of PRF ≥ -7dBm (see parameter RSSIMAX specified in Section 12.7). 89 8321A–MCU Wireless–10/11 8.4 Energy Detection (ED) The Atmel AT86RF232 Energy Detection (ED) module is characterized by:  84 unique energy levels defined  1dB resolution 8.4.1 Overview The receiver ED measurement is used by the network layer as part of a channel selection algorithm. It is an estimation of the received signal power within the bandwidth of an IEEE 802.15.4 channel. No attempt is made to identify or decode signals on the channel. The ED value is calculated by averaging RSSI values over eight symbols (128µs). 8.4.2 Measurement Description There are two ways to initiate an ED measurement:  Manually, by writing an arbitrary value to register 0x07 (PHY_ED_LEVEL), or  Automatically, after detection of a valid SHR of an incoming frame. For manually initiated ED measurements the radio transceiver needs to be in one of the states RX_ON or BUSY_RX state. The end of the ED measurement is indicated by an interrupt IRQ_4 (CCA_ED_DONE). An automated ED measurement is started if an SHR is detected. The end of the automated measurement is not signaled by an interrupt. Note: 1. The ED result is not updated during the rest of the frame reception, even by requesting an ED measurement manually. The measurement result is stored after tED = 180µs (max.) (128µs measurement duration and processing delay) in register 0x07 (PHY_ED_LEVEL) ), refer to Table 7-2. Thus by using Basic Operating Mode, a valid ED value from the currently received frame is accessible 108µs after IRQ_2 (RX_START) and remains valid until a new RX_START interrupt is generated by the next incoming frame or until another ED measurement is initiated. When using the Extended Operating Mode, it is recommended to mask IRQ_2 (RX_START), thus the interrupt cannot be used as timing reference. A successful frame reception is signalized by interrupt IRQ_3 (TRX_END). The minimum time span between an IRQ_3 (TRX_END) interrupt and a following SFD detection is tSHR_SYNC = 96µs due to the length of the SHR. Including the ED measurement time, the ED value needs to be read within 224µs after the TRX_END interrupt; otherwise, it could be overwritten by the result of the next measurement cycle. This is important for time critical applications or if interrupt IRQ_2 (RX_START) is not used to indicate the reception of a frame. Note: 90 2. It is not recommended to manually initiate an ED measurement when using the Extended Operating Mode. AT86RF232 8321A–MCU Wireless–10/11 AT86RF232 8.4.3 Data Interpretation The PHY_ED_LEVEL is an 8-bit register. The ED_LEVEL value of the Atmel AT86RF232 has a valid range from 0x00 to 0x53 with a resolution of 1dB. A value of 0xFF indicates the reset value. All other values do not occur. Due to environmental conditions (temperature, voltage, semiconductor parameters, etc.) the calculated ED_LEVEL value has a maximum tolerance of ±5dB, this is to be considered as constant offset over the measurement range. An ED_LEVEL value of zero indicates an RF input power of PRF ≤ -91dBm (see parameter RSSIBASE_VAL, Section 12.7). For an ED_LEVEL value in the range of one to 83, the RF input power can be calculated as follows: PRF[dBm] = RSSIBASE_VAL + ED_LEVEL Figure 8-8. Mapping between Received Input Power and ED Value. 10 Receiver Input Power PRF [dBm] 0 Measured -10 Ideal -20 -30 -40 -50 -60 -70 -80 -90 -100 0 10 20 30 40 50 60 70 80 90 PHY_ED_LEVEL (register 0x07) 8.4.4 Interrupt Handling Interrupt IRQ_4 (CCA_ED_DONE) is issued at the end of a manually initiated ED measurement. Note: 1. An ED request should only be initiated in receive states. Otherwise the radio transceiver generates an IRQ_4 (CCA_ED_DONE); however no ED measurement was performed. 91 8321A–MCU Wireless–10/11 8.4.5 Register Description Register 0x07 (PHY_ED_LEVEL): The PHY_ED_LEVEL register contains the result of an ED measurement. Figure 8-9. Register PHY_ED_LEVEL. Bit 7 6 0x07 Read/Write Reset value R 1 R 1 Bit 3 2 0x07 Read/Write Reset value 5 4 R 1 R 1 1 0 R 1 R 1 ED_LEVEL PHY_ED_LEVEL ED_LEVEL R 1 R 1 PHY_ED_LEVEL  Bit 7:0 - ED_LEVEL The register bits ED_LEVEL signals the ED level for current channel. Table 8-9. ED_LEVEL. Register Bits Value Description ED_LEVEL 0x00 Minimum ED level value 0x53 Maximum ED level value 0xFF Reset value The minimum ED value zero indicates receiver power less than or equal RSSIBASE_VAL. The range is 83dB with a resolution of 1dB and an accuracy of ±5dB. A manual ED measurement can be initiated by a write access to the register. A value 0xFF signals that no measurement has been started yet (reset value). The measurement duration is eight symbol periods (128μs) for a data rate of 250kb/s. 92 AT86RF232 8321A–MCU Wireless–10/11 AT86RF232 8.5 Clear Channel Assessment (CCA) The main features of the Clear Channel Assessment (CCA) module are:  All four modes are available as defined by IEEE 802.15.4-2006 in Section 6.9.9  Adjustable threshold for energy detection algorithm 8.5.1 Overview A CCA measurement is used to detect a clear channel. Four modes are specified by IEEE 802.15.4-2006: Table 8-10. CCA Mode Overview. CCA Mode Description 1 Energy above threshold. CCA shall report a busy medium upon detecting any energy above the ED threshold. 2 Carrier sense only. CCA shall report a busy medium only upon the detection of a signal with the modulation and spreading characteristics of an IEEE 802.15.4 compliant signal. The signal strength may be above or below the ED threshold. 0, 3 Carrier sense with energy above threshold. CCA shall report a busy medium using a logical combination of - Detection of a signal with the modulation and spreading characteristics of this standard and - Energy above the ED threshold. Where the logical operator may be configured as either OR (mode 0) or AND (mode 3). 8.5.2 Configuration and Request The CCA modes are configurable via register 0x08 (PHY_CC_CCA). Using the Basic Operating Mode, a CCA request can be initiated manually by setting CCA_REQUEST = 1 (register 0x08, PHY_CC_CCA), if the Atmel AT86RF232 is in any RX state. The current channel status (CCA_STATUS) and the CCA completion status (CCA_DONE) are accessible in register 0x01 (TRX_STATUS). The CCA evaluation is done over eight symbol periods and the result is accessible tCCA = 180µs (max.) (128µs measurement duration and processing delay) after the request), refer to Table 7-2. The end of a manually initiated CCA measurement is indicated by an interrupt IRQ_4 (CCA_ED_DONE). The register bits CCA_ED_THRES of register 0x09 (CCA_THRES) defines the received power threshold of the “Energy above threshold” algorithm. The threshold is calculated by RSSIBASE_VAL + 2 x CCA_ED_THRES [dB]. Any received power above this level is interpreted as a busy channel. Note: 1. It is not recommended to manually initiate a CCA measurement when using the Extended Operating Mode. 93 8321A–MCU Wireless–10/11 8.5.3 Data Interpretation The Atmel AT86RF232 current channel status (CCA_STATUS) and the CCA completion status (CCA_DONE) are accessible in register 0x01 (TRX_STATUS). Note, register bits CCA_DONE and CCA_STATUS are cleared in response to a CCA_REQUEST. The completion of a measurement cycle is indicated by CCA_DONE = 1. If the radio transceiver detected no signal (idle channel) during the measurement cycle, the CCA_STATUS bit is set to one. When using the “energy above threshold” algorithm, any received power above CCA_ED_THRES level is interpreted as a busy channel. The “carrier sense” algorithm reports a busy channel when detecting an IEEE 802.15.4 signal above the RSSIBASE_VAL (see Section 12.7). The radio transceiver is also able to detect signals below this value, but the detection probability decreases with the signal power. It is almost zero at the radio transceiver’s sensitivity level (see parameter PSENS). 8.5.4 Interrupt Handling Interrupt IRQ_4 (CCA_ED_DONE) is issued at the end of a manually initiated CCA measurement. Notes: 1. A CCA request should only be initiated in Basic Operating Mode receive states. Otherwise the radio transceiver generates an IRQ_4 (CCA_ED_DONE) and sets the register bit CCA_DONE = 1, even though no CCA measurement was performed. 2. Requesting a CCA measurement in BUSY_RX state and during an ED measurement, an IRQ_4 (CCA_ED_DONE) could be issued immediately after the request. If in this case register bit CCA_DONE = 0, an additional interrupt CCA_ED_DONE is issued after finishing the CCA measurement and register bit CCA_DONE is set to one. 8.5.5 Measurement Time The response time for a manually initiated CCA measurement depends on the receiver state. In RX_ON state the CCA measurement is done over eight symbol periods and the result is accessible tCCA = 180µs after the request (see above). 94 AT86RF232 8321A–MCU Wireless–10/11 AT86RF232 Table 8-11. CCA Measurement Period and Access in BUSY_RX state. CCA Mode 1 Request within ED measurement (1) Request after ED measurement Energy above threshold. CCA result is available after finishing automated ED measurement period. 2 CCA result is immediately available after request. Carrier sense only. CCA result is immediately available after request. 3 Carrier sense with Energy above threshold (AND). CCA result is available after finishing automated ED measurement period. 0 CCA result is immediately available after request. Carrier sense with Energy above threshold (OR). CCA result is available after finishing automated ED measurement period. Note: CCA result is immediately available after request. 1. After receiving the SHR an automated ED measurement is started with a length of eight symbol periods (PSDU rate 250kb/s), refer to Section 8.4. This automated ED measurement must be finished to provide a result for the CCA measurement. Only one automated ED measurement per frame is performed. In BUSY_RX state the CCA measurement duration depends on the CCA Mode and the CCA request relative to the reception of an SHR. The end of the CCA measurement is indicated by an IRQ_4 (CCA_ED_DONE). The variation of a CCA measurement period in BUSY_RX state is described in Table 8-11. It is recommended to perform CCA measurements in Atmel AT86RF232 RX_ON state only. To avoid switching accidentally to BUSY_RX state the SHR detection can be disabled by setting register bit RX_PDT_DIS (register 0x15, RX_SYN), refer to Section 9.1. The receiver remains in RX_ON state to perform a CCA measurement until the register bit RX_PDT_DIS is set back to continue the frame reception. In this case the CCA measurement duration is eight symbol periods. 8.5.6 Register Description Register 0x01 (TRX_STATUS): The read-only register TRX_STATUS signals the present state of the radio transceiver as well as the status of a CCA operation. Figure 8-10. Register TRX_STATUS. Bit 7 6 5 4 CCA_DONE CCA_STATUS reserved TRX_STATUS Read/Write Reset value R 0 R 0 R 0 R 0 Bit 3 2 1 0 R 0 R 0 0x01 0x01 Read/Write Reset value TRX_STATUS R 0 R 0 TRX_STATUS TRX_STATUS 95 8321A–MCU Wireless–10/11  Bit 7 - CCA_DONE Table 8-12. CCA_DONE. Register Bits Value CCA_DONE Description 0 CCA calculation not finished 1 CCA calculation finished The register bit CCA_DONE indicates if a CCA request is completed. This is also indicated by an interrupt IRQ_4 (CCA_ED_DONE). The register bit CCA_DONE is cleared in response to a CCA_REQUEST.  Bit 6 - CCA_STATUS Table 8-13. CCA_STATUS. Register Bits Value Description CCA_STATUS 0 Channel indicated as busy 1 Channel indicated as idle After a CCA request is completed the result of the CCA measurement is available in register bit CCA_STATUS. The register bit CCA_STATUS is cleared in response to a CCA_REQUEST. Register 0x08 (PHY_CC_CCA): The PHY_CC_CCA register is a multi-purpose register that controls CCA configuration, CCA measurement, and the IEEE 802.15.4 channel setting. Figure 8-11. Register PHY_CC_CCA. Bit 7 0x08 6 5 CCA_REQUEST Read/Write Reset value Bit CCA_MODE R/W 0 R/W 0 3 2 0x08 4 CHANNEL R/W 1 R/W 0 1 0 R/W 1 R/W 1 CHANNEL Read/Write Reset value R/W 1 R/W 0 PHY_CC_CCA PHY_CC_CCA  Bit 7 - CCA_REQUEST The register bit CCA_REQUEST initiates a manual started CCA measurement. Table 8-14. CCA_REQUEST. Register Bits CCA_REQUEST Notes: 1. 2. Value Description 0 Reset value 1 Starts a CCA measurement The read value returns always with zero. If a CCA request is initiated in states others than RX_ON or RX_BUSY the PHY generates an IRQ_4 (CCA_ED_DONE) and sets the register bit CCA_DONE, however no CCA was carried out. A manual CCA measurement is initiated with setting CCA_REQUEST = 1. The end of the CCA measurement is indicated by interrupt IRQ_4 (CCA_ED_DONE). Register bits CCA_DONE and CCA_STATUS (register 0x01, TRX_STATUS) are updated after a 96 AT86RF232 8321A–MCU Wireless–10/11 AT86RF232 CCA_REQUEST. The register bit is automatically cleared after requesting a CCA measurement with CCA_REQUEST = 1.  Bit 6:5 - CCA_MODE The CCA mode can be selected using register bits CCA_MODE. Table 8-15. CCA_MODE. Register Bits Value Description CCA_MODE 0 Mode 3a, Carrier sense OR energy above threshold 1 Mode 1, Energy above threshold 2 Mode 2, Carrier sense only 3 Mode 3b, Carrier sense AND energy above threshold Register 0x09 (CCA_THRES): The CCA_THRES register sets the ED threshold level for CCA. Figure 8-12. Register CCA_THRES. Bit 7 6 5 0x09 Read/Write Reset value CCA_THRES R/W 1 R/W 1 R/W 0 R/W 0 3 2 1 0 R/W 1 R/W 1 Bit 0x09 Read/Write Reset value 4 reserved CCA_ED_THRES R/W 0 R/W 1 CCA_THRES  Bit 3:0 - CCA_ED_THRES An ED value above the threshold signals the channel during a CCA_ED measurement as busy. Table 8-16. CCA_ED_THRES. Register Bits CCA_ED_THRES Value 0x7 Description The CCA Mode 1 request indicates a busy channel if the measured received power is above RSSI_BASE_VAL + 2 x CCA_ED_THRES [dB]. CCA Modes 0 and 3 are logical related to this result. 97 8321A–MCU Wireless–10/11 8.6 Link Quality Indication (LQI) According to IEEE 802.15.4, the LQI measurement is a characterization of the strength and/or quality of a received packet. The measurement may be implemented using receiver ED, a signal-to-noise ratio estimation, or a combination of these methods. The use of the LQI result by the network or application layers is not specified in this standard. LQI values shall be an integer ranging from 0x00 to 0xFF. The minimum and maximum LQI values (0x00 and 0xFF) should be associated with the lowest and highest quality compliant signals, respectively, and LQI values in between should be uniformly distributed between these two limits. 8.6.1 Overview The LQI measurement of the Atmel AT86RF232 is implemented as a measure of the link quality which can be described with the packet error rate (PER) for this link. An LQI value can be associated with an expected packet error rate. The PER is the ratio of erroneous received frames to the total number of received frames. A PER of zero indicates no frame error, whereas at a PER of one no frame was received correctly. The radio transceiver uses correlation results of multiple symbols within a frame to determine the LQI value. This is done for each received frame. The minimum frame length for a valid LQI value is two octets PSDU. LQI values are integers ranging from zero to 255. As an example, Figure 8-13 shows the conditional packet error rate (PER) when receiving a certain LQI value. Figure 8-13. Conditional Packet Error Rate versus LQI. 1 0.9 0.8 0.7 PER 0.6 0.5 0.4 0.3 0.2 0.1 0 0 50 100 150 200 250 LQI That means that a large number of transmission with an identical LQI value results in a packet error rate shown in the Figure 8-13. Lost packets have been discarded since in this case there is no LQI value available. 98 AT86RF232 8321A–MCU Wireless–10/11 AT86RF232 If, instead, the mean LQI over a large number of transmissions is computed, and the mean LQI is quantized to an LQI value of the figure, the corresponding frame error rate is not strictly equal to the true error rate. The values are taken from received frames of PSDU length of 20 octets on transmission channels with reasonable low multipath delay spreads. If the transmission channel characteristic has higher multipath delay spread than assumed in the example, the PER is slightly higher for a certain LQI value. Since the packet error rate is a statistical value, the PER shown in Figure 8-13 is based on a huge number of transactions. A reliable estimation of the packet error rate cannot be based on a single or a small number of LQI values. 8.6.2 Request an LQI Measurement The LQI byte can be obtained after a frame has been received by the radio transceiver. One additional byte is automatically attached to the received frame containing the LQI value. This information can also be read via Frame Buffer read access, see Section 6.2.2. The LQI byte can be read after IRQ_3 (TRX_END) interrupt. 8.6.3 Data Interpretation According to IEEE 802.15.4 a low LQI value is associated with low signal strength and/or high signal distortions. Signal distortions are mainly caused by interference signals and/or multipath propagation. High LQI values indicate a sufficient high signal power and low signal distortions. Note: 1. The received signal power as indicated by received signal strength indication (RSSI) value or energy detection (ED) value of the Atmel AT86RF232 do not characterize the signal quality and the ability to decode a signal. As an example, a received signal with an input power of about 6dB above the receiver sensitivity likely results in a LQI value close to 255 for radio channels with very low signal distortions. For higher signal power the LQI value becomes independent of the actual signal strength. This is because the packet error rate for these scenarios tends towards zero and further increased signal strength, that is increasing the transmission power does not decrease the error rate any further. In this case RSSI or ED can be used to evaluate the signal strength and the link margin. ZigBee networks often require the identification of the “best” routing between two nodes. Both, the LQI and the RSSI/ED can be used for this, dependent on the optimization criteria. If a low packet error rate (corresponding to high throughput) is the optimization criteria then the LQI value should be taken into consideration. If a low transmission power or the link margin is the optimization criteria then the RSSI/ED value is also helpful. Combinations of LQI, RSSI and ED are possible for routing decisions. As a rule of thumb RSSI and ED values are useful to differentiate between links with high LQI values. Transmission links with low LQI values should be discarded for routing decisions even if the RSSI/ED values are high. This is because RSSI/ED does not say anything about the possibility to decode a signal. It is only an information about the received signal strength whereas the source can be an interferer. 99 8321A–MCU Wireless–10/11 9 Module Description 9.1 Receiver (RX) 9.1.1 Overview The Atmel AT86RF232 receiver is split into an analog radio front-end and a digital base band processor (RX BBP), see Figure 9-1. Figure 9-1. Receiver Block Diagram. Analog Domain LO Digital Domain Frame Buffer RFP LNA PPF BPF Limiter ADC RX BBP SPI SPI I/F RFN AGC RSSI Control, Registers µC I/F The differential RF signal is amplified by a low noise amplifier (LNA), filtered (PPF) and down converted to an intermediate frequency by a mixer. Channel selectivity is performed using an integrated band pass filter (BPF). A limiting amplifier (Limiter) provides sufficient gain to overcome the DC offset of the succeeding analog-to-digital converter (ADC) and generates a digital RSSI signal. The ADC output signal is sampled and processed further by the digital base band receiver (RX BBP). The RX BBP performs additional signal filtering and signal synchronization. The frequency offset of each frame is calculated by the synchronization unit and is used during the remaining receive process to correct the offset. The receiver is designed to handle frequency and symbol rate deviations fSRD up to ±120ppm, caused by combined receiver and transmitter deviations. For details refer to Section 12.5 parameter fSRD. Finally the signal is demodulated and the data are stored in the Frame Buffer. In Basic Operating Mode, refer to Section 7.1, the reception of a frame is indicated by an interrupt IRQ_2 (RX_START). Accordingly its end is signalized by an interrupt IRQ_3 (TRX_END). Based on the quality of the received signal a link quality indicator (LQI) is calculated and appended to the frame, refer to Section 8.6. Additional signal processing is applied to the frame data to provide further status information like ED value (register 0x07, PHY_ED_LEVEL) and FCS correctness (register 0x06, PHY_RSSI). Beyond these features the Extended Operating Mode of the AT86RF232 supports address filtering and pending data indication. For details refer to Section 7.2. 9.1.2 Frame Receive Procedure The frame receive procedure including the radio transceiver setup for reception and reading PSDU data from the Frame Buffer is described in Section 10.1 Frame Receive Procedure. 9.1.3 Configuration In Basic Operating Mode the receiver is enabled by writing command RX_ON to register bits TRX_CMD (register 0x02, TRX_STATE) in states TRX_OFF or PLL_ON. Similarly in Extended Operating Mode, the receiver is enabled for RX_AACK operation 100 AT86RF232 8321A–MCU Wireless–10/11 AT86RF232 from states TRX_OFF or PLL_ON by writing the command RX_AACK_ON. There is no additional configuration required to receive IEEE 802.15.4 compliant frames when using the Basic Operating Mode. However, the frame reception in the Atmel AT86RF232 Extended Operating Mode requires further register configurations, for details refer to Section 7.2. The AT86RF232 receiver has an outstanding sensitivity performance of -100dBm. It may be useful to manually decrease this sensitivity. This is achieved by adjusting the synchronization header detector threshold using register bits RX_PDT_LEVEL (register 0x15, RX_SYN). Received signals with an RSSI value below the threshold do not activate the demodulation process. Furthermore, it may be useful to protect a received frame against overwriting by subsequent received frames. A Dynamic Frame Buffer Protection is enabled with register bit RX_SAFE_MODE (register 0x0C, TRX_CTRL_2) set, see Section 11.6. The receiver remains in RX_ON or RX_AACK_ON state until the whole frame is read by the microcontroller, indicated by pin 23 (/SEL) = H during the SPI Frame Receive Mode. The Frame Buffer content is only protected if the FCS is valid. A Static Frame Buffer Protection is enabled with register bit RX_PDT_DIS (register 0x15, RX_SYN) set. The receiver remains in RX_ON or RX_AACK_ON state and no further SHR is detected until the register bit RX_PDT_DIS is set back. 9.1.4 Register Description Register 0x15 (RX_SYN): The register RX_SYN controls the blocking of receiver path and the sensitivity threshold of the receiver. Figure 9-2. Register RX_SYN. Bit 0x15 7 6 5 RX_PDT_DIS Read/Write Reset value Bit R/W 0 R 0 3 2 0x15 Read/Write Reset value 4 reserved RX_SYN R 0 R 0 1 0 R/W 0 R/W 0 RX_PDT_LEVEL R/W 0 R/W 0 RX_SYN  Bit 7 - RX_PDT_DIS The register bit RX_PDT_DIS prevents the reception of a frame during RX phase. Table 9-1. RX_PDT_DIS. Register Bits Value RX_PDT_DIS 0 Description RX path is enabled 1 RX path is disabled RX_PDT_DIS = 1 prevents the reception of a frame even if the radio transceiver is in receive modes. An ongoing frame reception is not affected. This operation mode is independent of the setting of register bits RX_PDT_LEVEL. 101 8321A–MCU Wireless–10/11  Bit 3:0 - RX_PDT_LEVEL The register bits RX_PDT_LEVEL desensitize the receiver in steps of 3dB. Table 9-2. RX_PDT_LEVEL. Register Bits RX_PDT_LEVEL Value Description 0x00 Maximum RX sensitivity 0x0F RX input level > RSSI_BASE_VAL + 3 x 14 These register bits desensitize the receiver such that frames with an RSSI level below the RX_PDT_LEVEL threshold level (if RX_PDT_LEVEL > 0) are not received. For a RX_PDT_LEVEL > 0 value the threshold level can be calculated according to the following formula: PRF[dBm] > RSSIBASE_VAL + 3 x (RX_PDT_LEVEL - 1) Examples for certain register settings are given in Table 9-3. Table 9-3. Receiver Desensitization Threshold Level – RX_PDT_LEVEL. Register Value RX Input Threshold Level Value [dBm] 0x0 disabled, maximum RX sensitivity RSSI value not considered 0x1 > RSSI_BASE_VAL + 3 x 0 > -91 0xE > RSSI_BASE_VAL + 3 x 13 > -52 0xF > RSSI_BASE_VAL + 3 x 14 > -49 … If register bits RX_PDT_LEVEL = 0 (reset value) all frames with a valid SHR and PHR are received, independently of their signal strength. If register bits RX_PDT_LEVEL > 0, the current consumption of the receiver in states RX_ON and RX_AACK_ON is reduced to IRX_ON_L0 = 11.3mA (typ.), refer to Section 12.8. 102 AT86RF232 8321A–MCU Wireless–10/11 AT86RF232 9.2 Transmitter (TX) 9.2.1 Overview The Atmel AT86RF232 transmitter consists of a digital base band processor (TX BBP) and an analog radio front end, see Figure 9-3. Figure 9-3. Transmitter Block Diagram. Ext. RF front-end and Output Power Control RFP PA Buf µC I/F Control, Registers TX BBP TX Data PLL – TX Modulation SPI SPI I/F RFN Frame Buffer Analog Domain Digital Domain The TX BBP reads the frame data from the Frame Buffer and performs the bit-tosymbol and symbol-to-chip mapping as specified by IEEE 802.15.4 in Section 6.5.2. The O-QPSK modulation signal is generated and fed into the analog radio front end. The fractional-N frequency synthesizer (PLL) converts the baseband transmit signal to the RF signal, which is amplified by the power amplifier (PA). The PA output is internally connected to bidirectional differential antenna pins (RFP, RFN), so that no external antenna switch is needed. 9.2.2 Frame Transmit Procedure The frame transmit procedure including writing PSDU data in the Frame Buffer and initiating a transmission is described in Section 10.2 Frame Transmit Procedure. 9.2.3 Configuration The maximum output power of the transmitter is typically +3dBm. The output power can be configured via register bits TX_PWR (register 0x05, PHY_TX_PWR). The output power of the transmitter can be controlled over a range of 20dB. A transmission can be started from PLL_ON or TX_ARET_ON state by a rising edge of pin 11 (SLP_TR) or by writing TX_START command to register bits TRX_CMD (register 0x02, TRX_STATE). Figure 9-4. TX Power Ramping for maximum TX Power. 0 TRX_STATE PLL_ON 2 4 6 8 10 12 14 16 18 Length [μs] BUSY_TX SLP_TR PA buffer PA Modulation 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 1 1 1 0 0 0 0 0 0 103 8321A–MCU Wireless–10/11 9.2.4 TX Power Ramping To optimize the output power spectral density (PSD), the PA buffer and PA are enabled sequentially, see in Figure 9-4. In this example the transmission is initiated with the rising edge of pin 11 (SLP_TR). The radio transceiver state changes from PLL_ON to BUSY_TX. The modulation of the frame starts 16µs after SLP_TR rising edge. 9.2.5 Register Description Register 0x05 (PHY_TX_PWR): The PHY_TX_PWR register controls the output power of the transmitter. Figure 9-5. Register PHY_TX_PWR. Bit 7 6 Read/Write Reset value R 0 R/W 0 Bit 3 2 0x05 4 R 0 R 0 1 0 R/W 0 R/W 0 reserved 0x05 Read/Write Reset value 5 PHY_TX_PWR TX_PWR R/W 0 R/W 0 PHY_TX_PWR  Bit 3:0 – TX_PWR The register bits TX_PWR determine the TX output power of the radio transceiver. Table 9-4. TX Output Power. Register Bits TX_PWR 104 Value TX Output Power [dBm] 0x0 +3.0 0x1 +2.8 0x2 +2.3 0x3 +1.8 0x4 +1.3 0x5 +0.7 0x6 0.0 0x7 -1 0x8 -2 0x9 -3 0xA -4 0xB -5 0xC -7 0xD -9 0xE -12 0xF -17 AT86RF232 8321A–MCU Wireless–10/11 AT86RF232 9.3 Frame Buffer The Atmel AT86RF232 contains a 128 byte dual port SRAM. One port is connected to the SPI interface, the other to the internal transmitter and receiver modules. For data communication, both ports are independent and simultaneously accessible. The Frame Buffer uses the address space 0x00 to 0x7F for RX and TX operation of the radio transceiver and can keep one IEEE 802.15.4 RX or one TX frame of maximum length at a time. Frame Buffer access modes are described in Section 6.2.2. Frame Buffer access conflicts are indicated by an under run interrupt IRQ_6 (TRX_UR). Note: 1. The IRQ_6 (TRX_UR) interrupt also occurs on the attempt to write frames longer than 127 octets to the Frame Buffer. In that case the content of the Frame Buffer cannot be guaranteed. Frame Buffer access is only possible if the digital voltage regulator (DVREG) is turned on. This is valid in all device states except in SLEEP state. An access in P_ON state is possible if pin 17 (CLKM) provides the 1MHz master clock. 9.3.1 Data Management Data in Frame Buffer (received data or data to be transmitted) remains valid as long as:  No new frame or other data are written into the buffer over SPI  No new frame is received (in any BUSY_RX state)  No state change into SLEEP state is made  No RESET took place By default there is no protection of the Frame Buffer against overwriting. Therefore, if a frame is received during Frame Buffer read access of a previously received frame, interrupt IRQ_6 (TRX_UR) is issued and the stored data might be overwritten. Even so, the old frame data can be read, if the SPI data rate is higher than the effective over air data rate. For a data rate of 250kb/s a minimum SPI clock rate of 1MHz is recommended. Finally the microcontroller should check the transferred frame data integrity by an FCS check. To protect the Frame Buffer content against being overwritten by newly incoming frames the radio transceiver state should be changed to PLL_ON state after reception. This can be achieved by writing immediately the command PLL_ON to register bits TRX_CMD (register 0x02, TRX_STATE) after receiving the frame, indicated by IRQ_3 (TRX_END). Alternatively, Dynamic Frame Buffer Protection can be used to protect received frames against overwriting, for details refer to Section 11.6. Both procedures do not protect the Frame Buffer from overwriting by the microcontroller. In Extended Operating Mode during TX_ARET operation, see Section 7.2.4, the radio transceiver switches to receive, if an acknowledgement of a previously transmitted frame was requested. During this period received frames are evaluated, but not stored in the Frame Buffer. This allows the radio transceiver to wait for an acknowledgement frame and retry the frame transmission without writing them again. 105 8321A–MCU Wireless–10/11 A radio transceiver state change, except a transition to SLEEP, or RESET state, does not affect the Frame Buffer contents. If the radio transceiver is forced into SLEEP, the Frame Buffer is powered off and the stored data gets lost. 9.3.2 User accessible Frame Content The Atmel AT86RF232 supports an IEEE 802.15.4 compliant frame format as shown in Figure 9-6. Figure 9-6. AT86RF232 Frame Structure. 0 Frame Length [octets] 4 5 Preamble Sequence SFD Duration 4 octets 1 Access SHR not accesible PHY generated 6 PHR n+3 Payload n+5 FCS n+6 LQI(1) n+7 ED(1) n+8 RX_STATUS(1) 3 octets n octets (n 1 – 12.75GHz -30 dBm 1.8 – 1.9GHz -47 dBm 5.15 – 5.3GHz -47 dBm Complies with EN 300 328/440, FCC-CFR-47 part 15, ARIB STD-66, RSS-210. AT86RF232 8321A–MCU Wireless–10/11 AT86RF232 12.7 Receiver Characteristics Test Conditions (unless otherwise stated): VDD = 3.0V, fRF = 2445MHz, TOP = +25°C, Measurement setup see Figure 5-1. Symbol Parameter PSENS Receiver sensitivity RLRX RX Return loss NF Noise figure PRX_MAX Maximum RX input level Condition Min. Typ. Max. Unit (1) 250kb/s -100 dBm Antenna Diversity (1) 250kb/s -99 dBm 100Ω differential impedance 10 dB 6 dB (1) 8 dBm (1) 32 dB (1) 35 dB (1) 48 dB (1) 48 dB (1) 54 dB (1) dB 250kb/s PACRN Adjacent channel rejection: -5MHz 250kb/s , PRF= -82dBm PACRP Adjacent channel rejection: +5MHz 250kb/s , PRF= -82dBm PAACRN Adjacent channel rejection: -10MHz 250kb/s , PRF= -82dBm PAACRP Adjacent channel rejection: +10MHz 250kb/s , PRF= -82dBm PAACR2N 2 alternate channel rejection: -15MHz PAACR2P PSPUR_RX nd 250kb/s , PRF= -82dBm 2 alternate channel rejection: +15MHz nd 250kb/s , PRF= -82dBm 54 Spurious emissions LO leakage -70 30 – ≤ 1000MHz >1 – 12.75GHz -300 (2) dBm -57 dBm -47 dBm +300 kHz ±5 dB fCAR_OFFS TX/RX carrier frequency offset Sensitivity loss ≤ 2dB RSSITOL RSSI tolerance Tolerance within gain step RSSIRANGE RSSI dynamic range 87 dB RSSIRES RSSI resolution 3 dB RSSIBASE_V RSSI sensitivity Defined as RSSI_BASE_VAL RSSIMIN Minimum RSSI value PRF≤ RSSI_BASE_VAL 0 RSSIMAX Maximum RSSI value PRF≥ RSSI_BASE_VAL + 84dB 28 Notes: 1. AWGN channel, PER ≤ 1%, PSDU length 20 octets. -91 dBm AL 2. Offset equals ±120ppm. 147 8321A–MCU Wireless–10/11 12.8 Current Consumption Specifications Test Conditions (unless otherwise stated): VDD = 3.0V, fRF = 2445MHz, TOP = +25°C, Measurement setup see Figure 5-1. Symbol Parameter Condition Min. Typ. Max. Unit IBUSY_TX Supply current transmit state PTX= +3dBm 13.8 mA PTX= +0dBm 11.8 mA PTX= -17dBm 7.2 mA IRX_ON Supply current RX_ON state high sensitivity RX_PDT_LEVEL = [0x0] 11.8 mA IRX_ON_L0 Supply current RX_ON state with active receiver desensitize receiver desensitize RX_PDT_LEVEL = [0x1, ..., 0xE, (1) 0xF] 11.3 mA IPLL_ON Supply current PLL_ON state 5.2 mA ITRX_OFF Supply current TRX_OFF state 330 µA ISLEEP Supply current SLEEP state 0.4 µA Notes: 1. Refer to Section 9.1. 2. All power consumption measurements are performed with CLKM disabled. 12.9 Crystal Parameter Requirements Symbol Parameter f0 Crystal frequency CL Load capacitance C0 R1 148 Condition Min. Typ. Max. 16 8 Unit MHz 14 pF Static capacitance 7 pF Series resistance 100 Ω AT86RF232 8321A–MCU Wireless–10/11 AT86RF232 13 Typical Characteristics 13.1 Active Supply Current The following charts showing each a typical behavior of the Atmel AT86RF232. These figures are not tested during manufacturing. All power consumption measurements are performed with pin 17 (CLKM) disabled, unless otherwise stated. The measurement setup used for the measurements is shown in Figure 5-1. The power consumption of the microcontroller, which is required to program the radio transceiver, is not included in the measurement results. The power consumption in SLEEP state is independent from CLKM master clock rate selection. The current consumption depends on several factors such as: operating voltage, operating frequency, loading of I/O pins, switching rate of I/O pins, and ambient temperature. The dominating factors are operating voltage and ambient temperature. If possible the measurement results are not affected by current drawn from I/O pins. Register, SRAM or Frame Buffer read or write accesses are not performed during current consumption measurements. 13.1.1 P_ON and TRX_OFF states Figure 13-1. Current Consumption in P_ON State. Current Consumption [mA] Current Consumption [mA] 0,4 0.4 0,3 0.3 0,2 0.2 70°C 70°C 0.1 0,1 25°C 25°C 0°C 0°C 0.0 0,0 1.6 1,6 1.8 1,8 2.0 2,0 2.2 2,2 2.4 2,4 2.6 2,6 2.8 2,8 3.0 3,0 3.23,2 3.43,4 3.63,6 3.83,8 EVDD [V] [V] EVDD 149 8321A–MCU Wireless–10/11 Figure 13-2. Current Consumption in TRX_OFF State. Current Consumption [mA] Current Consumption [mA] 0,4 0.4 0.3 0,3 0.2 0,2 70°C 70°C 0.1 0,1 25°C 25°C 0°C 0°C 0.0 0,0 1.6 1,6 1.8 1,8 2.0 2,0 2.2 2,2 2.4 2,4 2.6 2,6 2.8 2,8 3.0 3,0 3.23,2 3.43,4 3.63,6 3.83,8 EVDD EVDD [V] [V] 13.1.2 PLL_ON state Figure 13-3. Current Consumption in PLL_ON State. 6,0 6.0 Current Consumption [mA] Current Consumption [mA] 5,0 5.0 4,0 4.0 3,0 3.0 2,0 2.0 70°C 70°C 25°C 25°C 1.0 1,0 0°C 0°C 0.0 0,0 1,6 1.6 1,8 1.8 2,0 2.0 2,2 2.2 2,4 2.4 2,6 2.6 2,8 2.8 3.03,0 3.23,2 3.43,4 3.6 3,6 3.83,8 EVDD EVDD[V] [V] 150 AT86RF232 8321A–MCU Wireless–10/11 AT86RF232 13.1.3 RX_ON state Figure 13-4. Current Consumption in RX_ON State – High Sensitivity. 14,0 14.0 Current Consumption [mA] [mA] Consumption Current 12,0 12.0 10.0 10,0 8.0 8,0 6.0 6,0 70°C 70°C 4.0 4,0 25°C 25°C 2.0 2,0 0°C 0°C 0.0 0,0 1.6 1,6 1.8 1,8 2.0 2,0 2.2 2,2 2.4 2,4 2.6 2,6 2.8 2,8 3.03,0 3.23,2 3.43,4 3.6 3,6 3.83,8 EVDD[V] [V] EVDD Figure 13-5. Current Consumption in RX_ON State – Reduced Sensitivity. 14,0 14.0 Current Consumption [mA] [mA] Consumption Current 12,0 12.0 10,0 10.0 8,0 8.0 6.0 6,0 70°C 70°C 4.0 4,0 25°C 25°C 2.0 2,0 0°C 0°C 0.0 0,0 1.6 1,6 1.8 1,8 2.0 2,0 2.2 2,2 2.4 2,4 2.6 2,6 2.8 2,8 3.0 3,0 3.23,2 3.43,4 3.63,6 3.83,8 EVDD[V] [V] EVDD 151 8321A–MCU Wireless–10/11 13.1.4 TX_BUSY state Figure 13-6. Current Consumption in TX_BUSY State – Minimum Output Power. 9,0 9.0 Current Consumption [mA] Current Consumption [mA] 8,0 8.0 7,0 7.0 6,0 6.0 5,0 5.0 4,0 4.0 3,0 2.0 70°C 70°C 25°C 25°C 2,0 2.0 0°C 0°C 1,0 1.0 0,0 0.0 1,6 1.6 1,8 1.8 2,0 2.0 2,2 2.2 2,4 2.4 2,6 2.6 2,8 2.8 3,0 3.0 3.23,2 3.43,4 3.6 3,6 3.8 3,8 EVDD EVDD[V] [V] Figure 13-7. Current Consumption in TX_BUSY State – Output Power 0dBm. 14,0 14.0 Current Consumption [mA] [mA] Consumption Current 12,0 12.0 10,0 10.0 8,0 8.0 6,0 6.0 70°C 70°C 4,0 4.0 25°C 25°C 2,0 2.0 0°C 0°C 0,0 0.0 1.6 1,6 1.8 1,8 2.0 2,0 2.2 2,2 2.4 2,4 2.6 2,6 2.8 2,8 3.0 3,0 3.23,2 3.43,4 3.63,6 3.83,8 EVDD [V] EVDD [V] 152 AT86RF232 8321A–MCU Wireless–10/11 AT86RF232 Figure 13-8. Current Consumption in TX_BUSY State – Maximum Output Power. 16,0 16.0 Consumption Current Current Consumption [mA] [mA] 14,0 14.0 12,0 12.0 10.0 10,0 8.0 8,0 6.0 6,0 70°C 70°C 4.0 4,0 25°C 25°C 0°C 0°C 2.0 2,0 0.0 0,0 1.6 1,6 1.8 1,8 2.0 2,0 2.2 2,2 2.4 2,4 2.6 2,6 2.8 2,8 3.0 3,0 3.23,2 3.43,4 3.6 3,6 3.83,8 EVDD [V] EVDD [V] 13.1.5 SLEEP Figure 13-9. Current Consumption in SLEEP. 1,0 1.0 Current Consumption [µA] Current Consumption [µA] 0,9 0.9 0.8 0,8 0,7 0.7 0,6 0.6 0.5 0,5 0,4 0.4 0.3 0,3 70°C 70°C 0.2 0,2 25°C 25°C 0°C 0°C 0.1 0,1 0.0 0,0 1,6 1.6 1,8 1.8 2,0 2.0 2,2 2.2 2,4 2.4 2,6 2.6 2,8 2.8 3,0 3.0 3.23,2 3.43,4 3.63,6 3.83,8 EVDD EVDD[V] [V] 153 8321A–MCU Wireless–10/11 13.2 State Transition Timing Figure 13-10. Transition Time from EVDD to P_ON (CLKM available). 450,0 450.0 State Time [µs] [us] Time Transition StateTransition 400,0 400.0 350,0 350.0 300.0 300,0 250,0 250.0 200,0 200.0 150,0 150.0 100.0 100,0 70°C 70°C 25°C 25°C 0°C 0°C 50.0 50,0 0.0 0,0 1.6 1,6 1.8 1,8 2.0 2,0 2.2 2,2 2.4 2,4 2.6 2,6 2.8 2,8 3.0 3,0 3.23,2 3.43,4 3.63,6 3.83,8 EVDD [V] EVDD Figure 13-11. Transition Time from SLEEP to TRX_OFF (IRQ_4 (AWAKE_END)). 400,0 400.0 State Time [µs][us] Time Transition StateTransition 350,0 350.0 300,0 300.0 70°C 70°C 25°C 25°C 250,0 250.0 0°C 0°C 200,0 200.0 150.0 150,0 100,0 100.0 50.0 50,0 0,0 0.0 1.6 1,6 1.8 1,8 2.0 2,0 2.2 2,2 2.4 2,4 2.6 2,6 2.8 2,8 3.0 3,0 3.2 3,2 3.43,4 3.63,6 3.83,8 EVDD [V] [V] EVDD 154 AT86RF232 8321A–MCU Wireless–10/11 AT86RF232 Figure 13-12. Transition Time from TRX_OFF to PLL_ON. 100.0 100,0 90.0 90,0 State Transition Time [µs][us] Time Transition State 80.0 80,0 70.0 70,0 60.0 60,0 50.0 50,0 40.0 40,0 70°C 70°C 30.0 30,0 25°C 25°C 0°C 0°C 20.0 20,0 10.0 10,0 0.0 0,0 1.6 1,6 1.8 1,8 2.0 2,0 2.2 2,2 2.4 2,4 2.6 2,6 2.8 2,8 3.0 3,0 3.23,2 3.43,4 3.63,6 3.8 3,8 EVDD [V] 155 8321A–MCU Wireless–10/11 14 Register Reference The Atmel AT86RF232 provides a register space of 64 8-bit registers, used to configure, control and monitor the radio transceiver. Note: All registers not mentioned within the following table are reserved for internal use and must not be overwritten. When writing to a register, any reserved bits shall be overwritten only with their reset value. Table 14-1. Register Summary. Addr Name Bit 7 0x01 TRX_STATUS CCA_DONE 0x02 TRX_STATE 0x03 TRX_CTRL_0 Bit 6 Bit 5 CCA_STATUS reserved Bit 4 Bit 3 Bit 2 reserved TRX_CTRL_1 reserved IRQ_2_EXT_EN 0x05 PHY_TX_PWR reserved reserved 0x06 PHY_RSSI RX_CRC_VALID reserved TX_AUTO_CRC_ON 42, 63 CLKM_SHA_SEL RX_BL_CTRL CLKM_CTRL SPI_CMD_MODE 116 IRQ_MASK_MODE reserved IRQ_POLARITY TX_PWR RND_VALUE PHY_CC_CCA 0x09 CCA_THRES CCA_REQUEST 0x0A RX_CTRL 0x0C TRX_CTRL_2 RX_SAFE_MODE 0x0D ANT_DIV ANT_SEL 0x0E IRQ_MASK 0x0F IRQ_STATUS IRQ_7_BAT_LOW IRQ_6_TRX_UR 0x10 VREG_CTRL AVREG_EXT AVDD_OK 0x11 BATMON reserved reserved 0x12 XOSC_CTRL 0x15 RX_SYN RX_PDT_DIS 0x17 XAH_CTRL_1 ARET_TX_TS_EN reserved 0x18 FTN_CTRL FTN_START reserved 0x19 XAH_CTRL_2 0x1A PLL_CF PLL_CF_START reserved 0x1B PLL_DCU PLL_DCU_START reserved 0x1C PART_NUM 92 CCA_MODE CHANNEL reserved reserved reserved reserved 96, 119 CCA_ED_THRES 97 PDT_THRES 136 reserved reserved reserved reserved reserved ANT_DIV_EN ANT_EXT_SW_EN IRQ_3_TRX_END IRQ_2_RX_START DVREG_EXT DVDD_OK 143 ANT_CTRL 136 IRQ_MASK IRQ_5_AMI IRQ_4_CCA_ED_DONE reserved BATMON_OK 27 BATMON_HR XTAL_MODE reserved AACK_UPLD_RES_FT reserved IRQ_0_PLL_LOCK reserved BATMON_VTH 112 XTAL_TRIM 117 AACK_ACK_TIME 101 AACK_PROM_MODE reserved PLL_CF reserved 66, 140 122 ARET_CSMA_RETRIES reserved 27 109 reserved ARET_FRAME_RETRIES 0x1D VERSION_NUM IRQ_1_PLL_UNLOCK RX_PDT_LEVEL AACK_FLTR_RES_FT 139, 142 86, 89, 133 ED_LEVEL 0x08 21, 28, 65, 86, 104 RSSI 0x07 PHY_ED_LEVEL Page 41, 62, 95 TRX_CMD reserved 0x04 Bit 0 TRX_STATUS TRAC_STATUS reserved Bit 1 reserved 68 120 121 PART_NUM 22 VERSION_NUM 22 0x1E MAN_ID_0 MAN_ID_0 23 0x1F MAN_ID_1 MAN_ID_1 23 0x20 SHORT_ADDR_0 SHORT_ADDR_0 75 0x21 SHORT_ADDR_1 SHORT_ADDR_1 75 0x22 PAN_ID_0 PAN_ID_0 75 0x23 PAN_ID_1 PAN_ID_1 76 0x24 IEEE_ADDR_0 IEEE_ADDR_0 76 0x25 IEEE_ADDR_1 IEEE_ADDR_1 76 0x26 IEEE_ADDR_2 IEEE_ADDR_2 77 0x27 IEEE_ADDR_3 IEEE_ADDR_3 77 0x28 IEEE_ADDR_4 IEEE_ADDR_4 77 0x29 IEEE_ADDR_5 IEEE_ADDR_5 78 0x2A IEEE_ADDR_6 IEEE_ADDR_6 78 0x2B IEEE_ADDR_7 IEEE_ADDR_7 78 156 AT86RF232 8321A–MCU Wireless–10/11 AT86RF232 Addr Name 0x2C XAH_CTRL_0 Bit 7 Bit 6 Bit 5 Bit 4 MAX_FRAME_RETRIES Bit 1 CSMA_SEED_0 0x2E CSMA_SEED_1 AACK_FVN_MODE CSMA_BE 0x36 TST_CTRL_DIGI Bit 2 MAX_CSMA_RETRIES 0x2D CSMA_SEED_0 0x2F Bit 3 AACK_SET_PD AACK_DIS_ACK MAX_BE reserved reserved reserved reserved Bit 0 Page SLOTTED_OPERATION 69 71 AACK_I_AM_COORD CSMA_SEED_1 71 MIN_BE 73 TST_CTRL_DIG 166 157 8321A–MCU Wireless–10/11 The reset values of the Atmel AT86RF232 registers in state P_ON Table 14-2. Note: (1, 2, 3) are shown in All reset values in Table 14-2 are only valid after a power on reset. After a reset procedure (/RST = L) as described in Section 7.1.4.5 the reset values of selected registers (for example registers 0x01, 0x10, 0x11, 0x30) can differ from that in Table 14-2. Table 14-2. Register Summary – Reset Values. Address Reset Value Address Reset Value Address Reset Value Address Reset Value 0x00 0x00 0x10 0x00 0x20 0xFF 0x30 0x00 0x01 0x00 0x11 0x02 0x21 0xFF 0x31 0x00 0x02 0x00 0x12 0xF0 0x22 0xFF 0x32 0x00 0x03 0x09 0x13 0x00 0x23 0xFF 0x33 0x00 0x04 0x22 0x14 0x00 0x24 0x00 0x34 0x00 0x05 0x00 0x15 0x00 0x25 0x00 0x35 0x00 0x06 0x60 0x16 0xC1 0x26 0x00 0x36 0x00 0x07 0xFF 0x17 0x00 0x27 0x00 0x37 0x00 0x08 0x2B 0x18 0x58 0x28 0x00 0x38 0x00 158 0x09 0xC7 0x19 0x00 0x29 0x00 0x39 0x40 0x0A 0x37 0x1A 0x57 0x2A 0x00 0x3A 0x00 0x0B 0xA7 0x1B 0x20 0x2B 0x00 0x3B 0x00 0x0C 0x20 0x1C 0x0A 0x2C 0x38 0x3C 0x00 0x0D 0x00 0x1D 0x02 0x2D 0xEA 0x3D 0x00 0x0E 0x00 0x1E 0x1F 0x2E 0x42 0x3E 0x00 0x0F 0x00 0x1F 0x00 0x2F 0x53 0x3F 0x00 AT86RF232 8321A–MCU Wireless–10/11 AT86RF232 15 Abbreviations AACK - Automatic acknowledgement ACK - Acknowledgement ADC - Analog-to-digital converter AD - Antenna diversity AGC - Automated gain control AES - Advanced encryption standard ARET - Automatic retransmission AVREG - Voltage regulator for analog building blocks AWGN - Additive White Gaussian Noise BATMON - Battery monitor BBP - Base band processor BPF - Band pass filter CBC - Cipher block chaining CRC - Cyclic redundancy check CCA - Clear channel assessment CSMA-CA - Carrier sense multiple access/Collision avoidance CW - Continuous wave DFBP - Dynamic Frame Buffer Protection DVREG - Voltage regulator for digital building blocks ECB - Electronic code book ED - Energy detection ESD - Electrostatic discharge EVM - Error vector magnitude FCF - Frame control field FCS - Frame check sequence FIFO - First in first out FTN - Filter tuning network GPIO - General purpose input output ISM - Industrial, scientific, and medical LDO - Low-drop output LNA - Low-noise amplifier LO - Local oscillator LQI - Link quality indicator LSB - Least significant bit 159 8321A–MCU Wireless–10/11 160 MAC - Medium access control MFR - MAC footer MHR - MAC header MISO - SPI Interface: Master input slave output MOSI - SPI Interface: Master output slave input MSB - Most significant bit MSDU - MAC service data unit MPDU - MAC protocol data unit MSK - Minimum shift keying O-QPSK - Offset - quadrature phase shift keying PA - Power amplifier PAN - Personal area network PCB - Printed circuit board PER - Packet error rate PHR - PHY header PHY - Physical layer PLL - Phase locked loop POR - Power-on reset PPF - Poly-phase filter PRBS - Pseudo random bit sequence PSDU - PHY service data unit PSD - Power spectral mask QFN - Quad flat no-lead package RF - Radio frequency RSSI - Received signal strength indicator RX - Receiver SCLK - SPI Interface: SPI clock /SEL - SPI Interface: SPI select SFD - Start-of-frame delimiter SHR - Synchronization header SPI - Serial peripheral interface SRAM - Static random access memory SSBF - Single side band filter TX - Transmitter VCO - Voltage controlled oscillator VREG - Voltage regulator AT86RF232 8321A–MCU Wireless–10/11 AT86RF232 XOSC - Crystal oscillator 161 8321A–MCU Wireless–10/11 16 Ordering Information Ordering Code Packaging Package Voltage Range AT86RF232-ZX Tray QN 1.8V – 3.6V Commercial (0°C to +70°C) Lead-free/Halogen-free Tape & Reel QN 1.8V – 3.6V Commercial (0°C to +70°C) Lead-free/Halogen-free AT86RF232-ZXR Temperature Range Package Type Description QN 32QN2, 32-lead 5.0 x 5.0mm Body, 0.50mm Pitch, Quad Flat No-lead Package (QFN) Sawn Note: T&R quantity 5,000. Please contact your local Atmel sales office for more detailed ordering information and minimum quantities. 17 Soldering Information Recommended soldering profile is specified in IPC/JEDEC J-STD-.020C. 18 Package Thermal Properties Thermal Resistance 162 Velocity [m/s] Theta ja [K/W] 0 40.9 1 35.7 2.5 32.0 AT86RF232 8321A–MCU Wireless–10/11 AT86RF232 19 Package Drawing – 32QN2 SYMBOL MIN. NOM. MAX. NOTE 163 8321A–MCU Wireless–10/11 Appendix A - Continuous Transmission Test Mode A.1 - Overview The Atmel AT86RF232 offers a Continuous Transmission Test Mode to support final application / production tests as well as certification tests. Using this test mode the radio transceiver transmits continuously a previously transferred frame (PRBS mode) or a continuous wave signal (CW mode). In CW mode two different signal frequencies per channel can be transmitted:  f1 = Fc + 0.5MHz  f2 = Fc - 0.5MHz Here Fc is the channel center frequency, refer to Section 9.7.2. Note: 1. In CW mode it is not possible to transmit a RF signal directly on the channel center frequency. PSDU data in the Frame Buffer must contain at least a valid PHR (see Section 8.1). It is recommended to use a frame of maximum length (127 bytes) and arbitrary PSDU data for the PRBS mode. The SHR and the PHR are not transmitted. The transmission starts with the PSDU data and is repeated continuously. A.2 - Configuration Before enabling Continuous Transmission Test Mode all register configurations shall be done as follow:  TX channel setting (optional)  TX output power setting (optional)  Mode selection (PRBS / CW) A register access to register 0x36 and 0x1C enables the Continuous Transmission Test Mode. The transmission is started by enabling the PLL (TRX_CMD = PLL_ON) and writing the TX_START command to register 0x02. Even for CW signal transmission it is required to write valid PSDU data to the Frame Buffer. For PRBS mode it is recommended to write a frame of maximum length. The detailed programming sequence is shown in Table A-0-1. The column R/W informs about writing (W) or reading (R) a register or the Frame Buffer. Table A-0-1. Continuous Transmission Programming Sequence. 164 Step Action Register R/W Value Description 1 RESET 2 Register Access 0x0E W 0x01 Set IRQ mask register, enable IRQ_0 (PLL_LOCK) 3 Register Access 0x04 W 0x00 Disable TX_AUTO_CRC_ON 4 Register Access 0x02 W 0x03 Set radio transceiver state TRX_OFF 5 Register Access 0x03 W 0x01 Set clock at pin 17 (CLKM) 6 Register Access 0x08 W 0x33 Set IEEE 802.15.4 CHANNEL, for example channel 19 Reset AT86RF232 AT86RF232 8321A–MCU Wireless–10/11 AT86RF232 Step Action Register R/W Value Description 7 Register Access 0x05 W 0x00 Set TX output power, for example to PTX_MAX 8 Register Access 0x01 R 0x08 Verify TRX_OFF state 9 Register Access 0x36 W 0x0F Enable Continuous Transmission Test Mode – step # 1 10 (1) Register Access 0x0C W 0x03 Enable raw data mode 11 (1) Register Access 0x0A W 0x37 Enable raw data mode 12 (2) Frame Buffer Write Access W Write PSDU data (even for CW mode), refer to Table A-0-2 13 Register Access 0x1C W 0x54 Enable Continuous Transmission Test Mode – step # 2 14 Register Access 0x1C W 0x46 Enable Continuous Transmission Test Mode – step # 3 15 Register Access 0x02 W 0x09 Enable PLL_ON state 16 Interrupt event 0x0F R 0x01 Wait for IRQ_0 (PLL_LOCK) 17 Register Access 0x02 W 0x02 Initiate Transmission, enter BUSY_TX state 18 Measurement 19 Register Access 20 RESET Notes: Perform measurement 0x1C W 0x00 Disable Continuous Transmission Test Mode Reset AT86RF232 1. Only required for CW mode, do not configure for PRBS mode. 2. Frame Buffer content varies for different modulation schemes. The content of the Frame Buffer has to be defined for Continuous Transmission PRBS mode or CW mode. To measure the power spectral density (PSD) mask of the transmitter it is recommended to use a random sequence of maximum length for the PSDU data. To measure CW signals it is necessary to write either 0x00 or 0xFF to the Frame Buffer, for details refer to Table A-0-2. Table A-0-2. Frame Buffer Content for various Continuous Transmission Modulation Schemes. Step Action Frame Content Comment 12 Frame Buffer Access Random Sequence Modulated RF signal 0x00 (each byte of PSDU) Fc – 0.5MHz, CW signal 0xFF (each byte of PSDU) Fc + 0.5MHz, CW signal Note: 1. It is recommended to use a frame of maximum length (127 bytes). 165 8321A–MCU Wireless–10/11 A.3 – Register Description Register 0x36 (TST_CTRL_DIGI): The TST_CTRL_DIG register enables the continuous transmission test mode. Figure 0-1. Register TST_CTRL_DIGI. Bit 7 6 R/W 0 R/W 0 3 2 0x36 Read/Write Reset value Bit 4 R/W 0 R/W 0 1 0 R/W 0 R/W 0 reserved 0x36 Read/Write Reset value 5 TST_CTRL_DIGI TST_CTRL_DIG R/W 0 R/W 0 TST_CTRL_DIGI  Bit 3:0 - TST_CTRL_DIG The register bits TST_CTRL_DIG with value 0xF enables continuous transmission. Table 0-3. TST_CTRL_DIG. Register Bits TST_CTRL_DIG Value Description 0x0 No mode is active 0xF Continuous Transmission enabled All other values are reserved 166 AT86RF232 8321A–MCU Wireless–10/11 AT86RF232 Appendix B - Errata AT86RF232 Rev. A Potential current peak in radio transceiver state SLEEP When leaving active states like receive or transmit immediately towards SLEEP state, a transient current peak of a few µA at DEVDD may occur for a short period of time. Occurance depends on operational parameters as well as load capacitance at pin 29 (AVDD). Problem Fix/Workaround Place an external resistor (for example 220kΩ) between AVDD and AVSS, in parallel to the AVDD load capacitor. Potential long PLL settling duration In very rare cases a PLL_LOCK interrupt is not generated within the specified maximum tPLL_INIT = 250µs PLL lock duration. Problem Fix/Workaround In such a case perform the following action: - read the register bits PLL_CF (register 0x1A, PLL_CF) - invert the LSB bit - write the value back to the PLL_CF register; keep upper four bits as read before - wait a additional typical tPLL_INIT = 80µs duration or until interrupt is generated 167 8321A–MCU Wireless–10/11 References 168 [1] IEEE Std 802.15.4™-2006: Wireless Medium Access Control (MAC) and Physical Layer (PHY) Specifications for Low-Rate Wireless Personal Area Networks (LR-WPANs) [2] IEEE Std 802.15.4™-2003: Wireless Medium Access Control (MAC) and Physical Layer (PHY) Specifications for Low-Rate Wireless Personal Area Networks (LR-WPANs) [3] ANSI / ESD-STM5.1-2001: ESD Association Standard Test Method for electrostatic discharge sensitivity testing – Human Body Model (HBM). [4] ESD-STM5.3.1-1999: ESD Association Standard Test Method for electrostatic discharge sensitivity testing – Charged Device Model (CDM). [5] NIST FIPS PUB 197: Advanced Encryption Standard (AES), Federal Information Processing Standards Publication 197, US Department of Commerce/NIST, November 26, 2001 [6] AT86RF232 Software Programming Model [7] IEEE Std 802.15.4™-2011: Low-Rate Wireless Personal Area Networks (WPANs) AT86RF232 8321A–MCU Wireless–10/11 AT86RF232 Data Sheet Revision History Rev. 8321A–MCU Wireless–10/11 1. Initial release 169 8321A–MCU Wireless–10/11 Table of Contents 1 Pin-out Diagram .................................................................................. 2 1.1 Pin Descriptions...................................................................................................... 3 1.2 Analog and RF Pins ............................................................................................... 4 1.2.1 Supply and Ground Pins................................................................................................ 4 1.2.2 RF Pins.......................................................................................................................... 4 1.2.3 Crystal Oscillator Pins ................................................................................................... 5 1.2.4 Analog Pin Summary ..................................................................................................... 5 1.3 Digital Pins .............................................................................................................. 6 1.3.1 Driver Strength Settings ................................................................................................ 6 1.3.2 Pull-up and Pull-down Configuration ............................................................................. 6 2 Disclaimer ............................................................................................ 7 3 Overview .............................................................................................. 7 4 General Circuit Description................................................................ 8 5 Application Circuits .......................................................................... 10 5.1 Basic Application Schematic ................................................................................ 10 5.2 Extended Feature Set Application Schematic ...................................................... 12 6 Microcontroller Interface .................................................................. 14 6.1 SPI Timing Description ......................................................................................... 15 6.2 SPI Protocol.......................................................................................................... 16 6.2.1 Register Access Mode................................................................................................. 16 6.2.2 Frame Buffer Access Mode ......................................................................................... 17 6.2.3 SRAM Access Mode.................................................................................................... 19 6.3 Radio Transceiver Status information .................................................................. 21 6.3.1 Register Description .................................................................................................... 21 6.4 Radio Transceiver Identification ........................................................................... 22 6.4.1 Register Description .................................................................................................... 22 6.5 Sleep/Wake-up and Transmit Signal (SLP_TR) ................................................... 24 6.6 Interrupt Logic....................................................................................................... 25 6.6.1 Overview ..................................................................................................................... 25 6.6.2 Interrupt Mask Modes and Pin Polarity ........................................................................ 26 6.6.3 Register Description .................................................................................................... 27 7 Operating Modes............................................................................... 30 7.1 Basic Operating Mode .......................................................................................... 30 7.1.1 State Control ............................................................................................................... 30 7.1.2 Basic Operating Mode Description .............................................................................. 31 7.1.3 Interrupt Handling ........................................................................................................ 35 7.1.4 Basic Operating Mode Timing ..................................................................................... 36 7.1.5 Register Description .................................................................................................... 41 7.2 Extended Operating Mode ................................................................................... 43 7.2.1 State Control ............................................................................................................... 45 7.2.2 Configuration ............................................................................................................... 46 7.2.3 RX_AACK_ON – Receive with Automatic ACK ........................................................... 47 170 AT86RF232 8321A–MCU Wireless–10/11 AT86RF232 7.2.4 TX_ARET_ON – Transmit with Automatic Frame Retransmission and CSMA-CA Retry ............................................................................................................................................. 58 7.2.5 Interrupt Handling ........................................................................................................ 61 7.2.6 Register Summary ....................................................................................................... 62 7.2.7 Register Description – Control Registers..................................................................... 62 7.2.8 Register Description – Address Registers ................................................................... 75 8 Functional Description ..................................................................... 79 8.1 Introduction – IEEE 802.15.4-2006 Frame Format .............................................. 79 8.1.1 PHY Protocol Layer Data Unit (PPDU) ........................................................................ 79 8.1.2 MAC Protocol Layer Data Unit (MPDU)....................................................................... 80 8.2 Frame Check Sequence (FCS) ............................................................................ 84 8.2.1 Overview ..................................................................................................................... 84 8.2.2 CRC calculation ........................................................................................................... 84 8.2.3 Automatic FCS generation .......................................................................................... 85 8.2.4 Automatic FCS check .................................................................................................. 85 8.2.5 Register Description .................................................................................................... 86 8.3 Received Signal Strength Indicator (RSSI) .......................................................... 88 8.3.1 Overview ..................................................................................................................... 88 8.3.2 Reading RSSI.............................................................................................................. 88 8.3.3 Data Interpretation ....................................................................................................... 88 8.3.4 Register Description .................................................................................................... 89 8.4 Energy Detection (ED) ......................................................................................... 90 8.4.1 Overview ..................................................................................................................... 90 8.4.2 Measurement Description............................................................................................ 90 8.4.3 Data Interpretation ....................................................................................................... 91 8.4.4 Interrupt Handling ........................................................................................................ 91 8.4.5 Register Description .................................................................................................... 92 8.5 Clear Channel Assessment (CCA) ....................................................................... 93 8.5.1 Overview ..................................................................................................................... 93 8.5.2 Configuration and Request .......................................................................................... 93 8.5.3 Data Interpretation ....................................................................................................... 94 8.5.4 Interrupt Handling ........................................................................................................ 94 8.5.5 Measurement Time ..................................................................................................... 94 8.5.6 Register Description .................................................................................................... 95 8.6 Link Quality Indication (LQI) ................................................................................. 98 8.6.1 Overview ..................................................................................................................... 98 8.6.2 Request an LQI Measurement .................................................................................... 99 8.6.3 Data Interpretation ....................................................................................................... 99 9 Module Description ......................................................................... 100 9.1 Receiver (RX) ..................................................................................................... 100 9.1.1 Overview ................................................................................................................... 100 9.1.2 Frame Receive Procedure......................................................................................... 100 9.1.3 Configuration ............................................................................................................. 100 9.1.4 Register Description .................................................................................................. 101 9.2 Transmitter (TX) ................................................................................................. 103 9.2.1 Overview ................................................................................................................... 103 9.2.2 Frame Transmit Procedure........................................................................................ 103 9.2.3 Configuration ............................................................................................................. 103 9.2.4 TX Power Ramping ................................................................................................... 104 171 8321A–MCU Wireless–10/11 9.2.5 Register Description .................................................................................................. 104 9.3 Frame Buffer....................................................................................................... 105 9.3.1 Data Management ..................................................................................................... 105 9.3.2 User accessible Frame Content ................................................................................ 106 9.3.3 Interrupt Handling ...................................................................................................... 106 9.4 Voltage Regulators (AVREG, DVREG) .............................................................. 108 9.4.1 Overview ................................................................................................................... 108 9.4.2 Configuration ............................................................................................................. 108 9.4.3 Data Interpretation ..................................................................................................... 108 9.4.4 Register Description .................................................................................................. 109 9.5 Battery Monitor (BATMON) ................................................................................ 111 9.5.1 Overview ................................................................................................................... 111 9.5.2 Configuration ............................................................................................................. 111 9.5.3 Data Interpretation ..................................................................................................... 111 9.5.4 Interrupt Handling ...................................................................................................... 112 9.5.5 Register Description .................................................................................................. 112 9.6 Crystal Oscillator (XOSC) ................................................................................... 114 9.6.1 Overview ................................................................................................................... 114 9.6.2 Integrated Oscillator Setup ........................................................................................ 114 9.6.3 External Reference Frequency Setup ....................................................................... 115 9.6.4 Master Clock Signal Output (CLKM).......................................................................... 115 9.6.5 Register Description .................................................................................................. 116 9.7 Frequency Synthesizer (PLL) ............................................................................. 118 9.7.1 Overview ................................................................................................................... 118 9.7.2 RF Channel Selection................................................................................................ 118 9.7.3 Frequency Agility ....................................................................................................... 118 9.7.4 Calibration Loops ...................................................................................................... 118 9.7.5 Interrupt Handling ...................................................................................................... 119 9.7.6 Register Description .................................................................................................. 119 9.8 Automatic Filter Tuning (FTN) ............................................................................ 122 9.8.1 Overview ................................................................................................................... 122 9.8.2 Register Description .................................................................................................. 122 10 Radio Transceiver Usage ............................................................. 123 10.1 Frame Receive Procedure ............................................................................... 123 10.2 Frame Transmit Procedure .............................................................................. 124 11 AT86RF232 Extended Feature Set ............................................... 125 11.1 Security Module (AES) ..................................................................................... 125 11.1.1 Overview ................................................................................................................. 125 11.1.2 Security Module Preparation ................................................................................... 125 11.1.3 Security Key Setup .................................................................................................. 126 11.1.4 Security Operation Modes ....................................................................................... 126 11.1.5 Data Transfer – Fast SRAM Access ........................................................................ 129 11.1.6 Start of Security Operation and Status .................................................................... 130 11.1.7 SRAM Register Summary ....................................................................................... 130 11.1.8 AES SRAM Configuration Register ......................................................................... 130 11.2 Random Number Generator ............................................................................. 133 11.2.1 Overview ................................................................................................................. 133 11.2.2 Register Description ................................................................................................ 133 172 AT86RF232 8321A–MCU Wireless–10/11 AT86RF232 11.3 Antenna Diversity ............................................................................................. 134 11.3.1 Overview ................................................................................................................. 134 11.3.2 Antenna Diversity Application Example ................................................................... 134 11.3.3 Antenna Diversity Sensitivity Control ....................................................................... 135 11.3.4 Register Description ................................................................................................ 136 11.4 RX and TX Frame Time Stamping (TX_ARET) ............................................... 139 11.4.1 Overview ................................................................................................................. 139 11.4.2 Register Description ................................................................................................ 139 11.5 Frame Buffer Empty Indicator .......................................................................... 141 11.5.1 Overview ................................................................................................................. 141 11.5.2 Register Description ................................................................................................ 142 11.6 Dynamic Frame Buffer Protection .................................................................... 143 11.6.1 Overview ................................................................................................................. 143 11.6.2 Register Description ................................................................................................ 143 12 Electrical Characteristics ............................................................. 144 12.1 Absolute Maximum Ratings .............................................................................. 144 12.2 Recommended Operating Range..................................................................... 144 12.3 Digital Pin Characteristics ................................................................................ 144 12.4 Digital Interface Timing Characteristics ............................................................ 145 12.5 General RF Specifications ................................................................................ 146 12.6 Transmitter Characteristics .............................................................................. 146 12.7 Receiver Characteristics .................................................................................. 147 12.8 Current Consumption Specifications ................................................................ 148 12.9 Crystal Parameter Requirements ..................................................................... 148 13 Typical Characteristics ................................................................. 149 13.1 Active Supply Current ....................................................................................... 149 13.1.1 P_ON and TRX_OFF states .................................................................................... 149 13.1.2 PLL_ON state .......................................................................................................... 150 13.1.3 RX_ON state ........................................................................................................... 151 13.1.4 TX_BUSY state ....................................................................................................... 152 13.1.5 SLEEP ..................................................................................................................... 153 13.2 State Transition Timing .................................................................................... 154 14 Register Reference ....................................................................... 156 15 Abbreviations ................................................................................ 159 16 Ordering Information .................................................................... 162 17 Soldering Information ................................................................... 162 18 Package Thermal Properties ........................................................ 162 19 Package Drawing – 32QN2 ........................................................... 163 Appendix A - Continuous Transmission Test Mode ....................... 164 A.1 - Overview .......................................................................................................... 164 A.2 - Configuration.................................................................................................... 164 173 8321A–MCU Wireless–10/11 A.3 – Register Description ........................................................................................ 166 Appendix B - Errata ........................................................................... 167 AT86RF232 Rev. A .................................................................................................. 167 References.......................................................................................... 168 Data Sheet Revision History ............................................................. 169 8321A–MCU Wireless–10/11 ................................................................................... 169 Table of Contents............................................................................... 170 174 AT86RF232 8321A–MCU Wireless–10/11 AT86RF232 © 175 8321A–MCU Wireless–10/11
AT86RF232-ZXR 价格&库存

很抱歉,暂时无法提供与“AT86RF232-ZXR”相匹配的价格&库存,您可以联系我们找货

免费人工找货