ATPL230A ATPL Series Power Line Communications Device DATASHEET Description ATPL230A is a power line communications base band modem, compliant with the PHY layer of PRIME (Power Line Intelligent Metering Evolution) specification. PRIME is an open standard technology used for Smart Grid applications like Smart Metering, Industrial Lighting and Automation, Home Automation, Street Lighting, Solar Energy and PHEV Charging Stations. ATPL230A PRIME device includes enhanced features such as additional robust modes and frequency band extension. ATPL230A is able to operate in independently selectable transmission bands up to 472 kHz, achieving baud rates ranging from 5.4 kbps up to 128.6 kbps. ATPL230A has been conceived to be bundled with an external Atmel ® MCU or MPU. Atmel provides a PRIME PHY layer library which is used by the external MCU/MPU to take control of ATPL230A PHY layer device. Atmel-43053I-ATPL230A-Datasheet_04-May-16 1. Features Modem Power Line Carrier Modem for 50 Hz and 60 Hz mains 97-carriers OFDM PRIME compliant DBPSK, DQPSK, D8PSK modulation schemes available Additional enhanced modes available: DBPSK Robust and DQPSK Robust Eight selectable channels between 42kHz and 472kHz available. Only one channel can be active at a time FCC ARIB CENELEC A - BCD 2 Baud rate Selectable: 5.4 to 128.6 kbps Four dedicated buffers for transmission/reception Up to 124.6 dBμVrms injected signal against PRIME load Up to 79.6 dB of dynamic range in PRIME networks Automatic Gain Control and continuous amplitude tracking in signal reception Class D switching power amplifier control Integrated 1.2V LDO regulator to supply analog functions Medium Access Control co-processor features Viterbi soft decoding and PRIME CRC calculation 128-bit AES encryption Channel sensing and collision pre-detection ATPL230A [DATASHEET] Atmel-43053I-ATPL230A-Datasheet_04-May-16 471,680 CHANNEL 8 416,992 424,805 CHANNEL 7 362,305 370,117 CHANNEL 6 307,617 315,430 CHANNEL 5 252,930 260,742 CHANNEL 4 198,242 206,055 CHANNEL 3 143.555 151.367 CHANNEL 2 88,867 96,680 41,992 CHANNEL 1 f (kHz) Block Diagram Figure 2-1. ATPL230A Functional Block Diagram VIMA VIPA VRP VRM VRC EMIT(6:11) TXRX1 VZ CROSS ADC TXDRV0 EMIT(0:5) TXRX0 PHY_CORE AGC_CTRL Recepon Chain EMITER_CTRL AGC(0:5) TXDRV1 2. Transmission Chain ZERO CROSS DETECTOR BUF_RX0 BUF_RX2 BUF_RX1 BUF_RX3 BUF_TX0 BUF_TX2 BUF_TX1 BUF_TX3 BER CINR EVM CD RSSI CRC AES CS SCK MOSI MISO EINT ARST SRST PLL INIT CLKEA CLKEB CLKOUT PHY CONTROL SPI BRIDGE CLOCK & RESET INTERFACE ATPL230A POWER MANAGEMENT VDDIO VDDOUT VDDPLL VDDIN VDDIN AN VDDOUT AN GND AGND ATPL230A [DATASHEET] Atmel-43053I-ATPL230A-Datasheet_04-May-16 3 3. Signal Description Table 3-1. Signal Description List Signal Name Function Type Active Level Voltage reference Comments Power Supplies VDDIO 3.3V digital supply. Digital power supply must be decoupled by external capacitors Power 3.0V to 3.6V VDDIN 3.3V Digital LDO input supply Power 3.0V to 3.6V VDDIN AN 3.3V Analog LDO input supply Power 3.0V to 3.6V VDDOUT AN 1.2V Analog LDO output. A capacitor in the range 0.1μF - 10μF must be connected to each pin Power 1.2V VDDOUT 1.2V Digital LDO output. A capacitor in the range 0.1μF - 10μF must be connected to each pin Power 1.2V VDDPLL 1.2V PLL supply. It must be decoupled by a 100nF external capacitor, and connected to VDDOUT through a filter (Cut off frequency: 25kHz) Power 1.2V GND(1) Digital Ground Power Analog Ground Power AGND (1) Clocks, Oscillators and PLLs (2) CLKEA External Clock Oscillator • CLKEA must be connected to one terminal of a crystal (when a crystal is being used) or used as input for external clock signal Input VDDIO CLKEB(2) External Clock Oscillator • CLKEB must be connected to one terminal of a crystal (when a crystal is being used) or must be floating when an external clock signal is connected through CLKEA I/O VDDIO CLKOUT 10MHz External Clock Output Output VDDIO Reset/Test ARST Asynchronous Reset Input Low VDDIO Internal pull up(3) SRST Synchronous Reset Input Low VDDIO Internal pull up(3) PLL INIT PLL Initialization Signal Input Low VDDIO Internal pull up(3) PPLC (PRIME Power Line Communications) Transceiver 4 EMIT [0:11](4) PLC Tri-state Transmission ports Output VDDIO AGC [0:5] Automatic Gain Control: • These digital tri-state outputs are managed by AGC hardware logic to drive external circuitry when input signal attenuation is needed Output VDDIO ATPL230A [DATASHEET] Atmel-43053I-ATPL230A-Datasheet_04-May-16 Table 3-1. Signal Description List Type Active Level Voltage reference Signal Name Function TXRX0 Analog Front-End Transmission/Reception for TXDRV0 • This digital output is used to modify external coupling behavior in Transmission/Reception. The suitable value depends on the external circuitry configuration. The polarity of this pin can be inverted by software. Output VDDIO TXRX1 Analog Front-End Transmission/Reception for TXDRV1 • This digital output is used to modify external coupling behavior in Transmission/Reception. The suitable value depends on the external circuitry configuration. The polarity of this pin can be inverted by software. Output VDDIO VZ CROSS(5) Mains Zero-Cross Detection Signal: • This input detects the zero-crossing of the mains voltage Input VDDIO VIMA Negative Differential Voltage Input Input VDDOUT AN VIPA Positive Differential Voltage Input Input VDDOUT AN VRP Internal Reference “Plus” Voltage. Connect an external decoupling capacitor between VRP and VRM (1nF - 100nF) Output VDDOUT AN VRM Internal Reference “Minus” Voltage. Connect an external decoupling capacitor between VRP and VRM (1nF - 100nF) Output VDDOUT AN VRC Common-mode Voltage. Bypass to analog ground with an external decoupling capacitor (100pF - 1nF) Output VDDOUT AN Comments Internal pull down(3) Serial Peripheral Interface - SPI CS SPI CS • SPI bridge Slave Select Input SCK SPI SCK • SPI bridge Clock signal MOSI VDDIO Internal pull up(3) Input VDDIO Internal pull up(3) SPI MOSI • SPI bridge Master Out Slave In Input VDDIO Internal pull up(3) MISO SPI MISO • SPI bridge Master In Slave Out Output VDDIO EINT PHY Layer External Interrupt Output Low Low VDDIO Notes: 1. Separate pins are provided for GND and AGND grounds. Layout considerations should be taken into account to reduce interference. Ground pins should be connected as shortly as possible to the system ground plane. For more details about EMC Considerations, please refer to AVR040 application note. 2. The crystal should be located as close as possible to CLKEA and CLKEB pins. See Table 10-7 on page 112. 3. See Table 10-5 on page 109. 4. Different configurations allowed depending on external topology and net behavior. 5. Depending on whether an isolated or a non-isolated power supply is being used, isolation of this pin should be taken into account in the circuitry design. Please refer to the Reference Design for further information. ATPL230A [DATASHEET] Atmel-43053I-ATPL230A-Datasheet_04-May-16 5 4. Package and Pinout 4.1 80-Lead LQFP Package Outline Figure 4-1. Orientation of the 80-Lead LQFP Package 41 60 61 40 80 21 1 4.2 80-Lead LQFP Pinout Table 4-1. 6 20 80 - Lead LQFP Pinout 1 NC 21 VDDIO 41 GND 61 GND 2 NC 22 NC 42 EMIT8 62 AGND 3 NC 23 CLKOUT 43 EMIT9 63 VDDOUT AN 4 ARST 24 CS 44 EMIT10 64 VIMA 5 PLL INIT 25 SCK 45 EMIT11 65 VIPA 6 GND 26 MOSI 46 VDDIO 66 VDDOUT AN 7 CLKEA 27 MISO 47 GND 67 AGND 8 GND 28 VDDIO 48 VDDOUT 68 VRP 9 CLKEB 29 GND 49 TXRX0 69 VRM 10 VDDIO 30 EMIT0 50 TXRX1 70 VRC 11 GND 31 EMIT1 51 GND 71 VDDIN AN 12 VDDPLL 32 EMIT2 52 AGC2 72 AGND 13 GND 33 EMIT3 53 AGC5 73 AGND 14 VDDIN 34 VDDIO 54 AGC1 74 VDDIN AN 15 VDDIN 35 GND 55 AGC4 75 GND 16 GND 36 EMIT4 56 AGC0 76 VDDIO 17 VDDOUT 37 EMIT5 57 AGC3 77 VZ CROSS 18 GND 38 EMIT6 58 VDDIO 78 NC 19 NC 39 EMIT7 59 GND 79 NC 20 SRST 40 VDDIO 60 EINT 80 NC ATPL230A [DATASHEET] Atmel-43053I-ATPL230A-Datasheet_04-May-16 5. Analog Front-End 5.1 PLC coupling circuitry description Atmel PLC coupling reference designs have been designed to achieve high performance, low cost and simplicity. With these values on mind, Atmel has developed a set of PLC couplings covering frequencies up to 472 kHz compliant with different applicable regulations. Atmel PLC technology is purely digital and does not require external DAC/ADC, thus simplifying the external required circuitry. Generally Atmel PLC coupling reference designs make use of few passive components plus a Class D amplification stage for transmission. All PLC coupling reference designs are generally composed by the same sub-circuits: Transmission Stage Reception Stage Filtering Stage Coupling Stage Figure 5-1. PLC coupling block diagram RECEPTION STAGE AGC0 AGC1 AGC2 AGC3 AGC4 AGC5 VIPA VRC VIMA VDD TO MAINS COUPLING STAGE FILTERING STAGE TRANSMISSION STAGE EMIT0 EMIT1 EMIT2 EMIT3 EMIT4 EMIT5 TXRX0 ATPL230A A particular reference design can contain more than one sub-circuit of the same kind (i.e.: two transmission stages). 5.1.1 Transmission Stage The transmission stage adapts the EMIT signals and amplifies them if required. It can be composed by: Driver: A group of resistors which adapt the EMIT signals to either control the Class-D amplifier or to be filtered by the next stage. Amplifier: If required, a Class-D amplifier which generates a square waveform from 0 to VDD is included. Bias and protection: A couple of resistors and a couple of Schottky barrier diodes provide a DC component and provide protection from received disturbances. Transmission stage shall be always followed by a filtering stage. ATPL230A [DATASHEET] Atmel-43053I-ATPL230A-Datasheet_04-May-16 7 5.1.2 Filtering Stage The filtering stage is composed by band-pass filters which have been designed to achieve high performance in field deployments complying at the same time with the proper normative and standards. The in-band flat response filtering stage does not distort the injected signal, reduces spurious emission to the limits set by the corresponding regulation and blocks potential interferences from other transmission channels. The filtering stage has three aims: Band-pass filtering of high frequency components of the square waveform generated by the transmission stage Adapt Input/Output impedances for optimal reception/transmission. This is controlled by TXRX signals In some cases, Band-pass filtering for received signals When the system is intended to be connected to a physical channel with high voltage or which is not electrically referenced to the same point then the filtering stage must be always followed by a coupling stage. 5.1.3 Coupling Stage The coupling stage blocks the DC component of the line to/from which the signal is injected/received (i.e.: 50/60 Hz of the mains). This is carried out by a high voltage capacitor. Coupling stage could also electrically isolate the coupling circuitry from the external world by means of a 1:1 transformer. 5.1.4 Reception Stage The reception stage adapts the received analog signal to be properly captured by the ATPL230A internal reception chain. Reception circuit is independent of the PLC channel which is being used. It basically consists of: Anti aliasing filter (RC Filter) Automatic Gain Control (AGC) circuit Driver of the internal ADC The AGC circuit avoids distortion on the received signal that may arise when the input signal is high enough to polarize the protective diodes in direct region. The driver to the internal ADC comprises a couple of resistors and a couple of capacitors. This driver provides a DC component and adapts the received signal to be properly converted by the internal reception chain. 8 ATPL230A [DATASHEET] Atmel-43053I-ATPL230A-Datasheet_04-May-16 5.1.5 Generic PLC Coupling Please consider that this is a generic PLC Coupling design for a particular application please refer to Atmel doc43052 “PLC Coupling Reference Designs”. Figure 5-2. PLC Coupling block diagram detailed RECEPTION STAGE VIPA AGC5 AGC2 AGC4 AGC1 AGC3 AGC0 VRC VIMA 3V3 TRANSMISSION STAGE VDD 3V3 VDD EMIT0 EMIT1 FILTERING STAGE COUPLING STAGE EMIT2 L 3V3 EMIT3 N EMIT4 EMIT5 3V3 VDD 3V3 TXRX + 5.2 ATPLCOUP reference designs Atmel provides PLC coupling reference designs for different applications and frequency bands up to 500 kHz. Please refer to Atmel doc43052 “PLC Coupling Reference Designs” for a detailed description. ATPL230A [DATASHEET] Atmel-43053I-ATPL230A-Datasheet_04-May-16 9 5.3 Zero-crossing detection 5.3.1 Overview Zero Crossing Detector block works predicting future zero crossings of the Mains signal in function of its past zero crossings. To achieve this, the system embeds a configurable Input Signal Management (ISM) block and a PLL, both of which manage Zero Crossing Detector Input Signal to calculate Zero Crossing Output Flag. The zero-cross detection of waves of 50 Hz and 60 Hz with ±10% of error is supported. The PLL block interprets its input signal such a way that it indicates a zero cross in the middle of a positive pulse. It is important to note that depending on the external circuit implementing the Zero Crossing Detector Input Signal this interpretation is not always correct. Thus, for some cases it is required to transform the Input Signal in a signal where the middle of a positive pulse corresponds to a truly zero cross. This transformation is implemented through the Input Signal Management (ISM) block, configured by MODE_INV and MODE_REP fields in ZC_CONFIG register. Zero Crossing Detector Input Signal (VZ CROSS) must fulfil some requirements. The first requirement is that VZ CROSS signal must be a pulse train with a duty cycle being >60% or <40% (polarity is configurable). In addition, if we have to detect ascent or descent zero-crossing, the Zero Crossing Detector Input Signal period must be equal than the period of the wave we need to obtain zero-crossing. Ascent and descent Zero Crossing Detection are configured by setting MODE_MUX and MODE_ASC fields in ZC_CONFIG register. Figure 5-3. Typical circuit, using a bidirectional optocoupler and a Schmitt trigger Mains Signal ZC signal provided to VZ CROSS The input signal “VZ CROSS” (wider line) generated by this circuit for Zero Cross Detection of the wave “L”-“N” (finer line) is plotted in next figure. The digital signal at output of Input Signal Management (ISM) (dashed line) is also plotted: 10 ATPL230A [DATASHEET] Atmel-43053I-ATPL230A-Datasheet_04-May-16 For this circuit, Zero Cross Internal registers should be configured this way: ZC_CONFIG.MODE_MUX = ‘0’ ZC_CONFIG.MODE_ASC = ‘0’ ZC_CONFIG.MODE_INV = ‘1’ ZC_CONFIG.MODE_REP = ‘0’ ZC_FILTER.ZC_FILTER_BP = ‘0’ Some situations (for example in some protocols needing to differentiate rising/falling edges in mains signal) could require only ascent (or descent) mains signal zero-crossings to be detected. When we have to detect ascent or descent Zero-Cross of the wave (finer line), the circuit should generate an input signal “VZ CROSS” (wider line) with the same period, as specified in next figure. This could be easily implemented by using an unidirectional optocoupler or a Zener diode topology in the external circuitry. Figure 5-4. Typical circuit, using a unidirectional optocoupler and a Schmitt trigger Mains Signal ZC signal provided to VZ CROSS The digital signal at output of Input Signal Management (ISM) (dashed line) is also plotted: For this case, Zero Cross Internal registers should be configured this way: ZC_CONFIG.MODE_MUX = ‘1’ ZC_CONFIG.MODE_ASC = ‘0’(ascent) or ‘1’(descent) ZC_CONFIG.MODE_INV = ‘1’ ZC_CONFIG.MODE_REP = ‘1’ ZC_FILTER.ZC_FILTER_BP = ‘0’ See register description in Section 9.3.7.2 ”Zero Crossing Configuration Register” and Section 9.3.7.3 ”Zero Crossing Filter Register”. ATPL230A [DATASHEET] Atmel-43053I-ATPL230A-Datasheet_04-May-16 11 6. SPI Controller ATPL230A has been conceived to be easily managed by an external microcontroller through a 5-line interface. This interface is comprised of a 4-line standard Serial Peripheral Interface (SPI) and an additional line used as interrupt from the ATPL230A to the external microcontroller. A diagram is shown below. Figure 6-1. SPI Controller Block Diagram Serial Peripheral Interface MOSI 5-line Interface to/from microcontroller SPI Bridge MISO CS Memory Bus SCK EINT Microcontroller Interrupt ATPL230A By means of this SPI interface, an external microcontroller can access the ATPL230A and can carry out “write”, “write_rep”, “read” and “mask” operations. All the “Peripheral Registers” in ATPL230A are reachable via the SPI interface, thus the microcontroller can fully manage and control the ATPL230A (PHY layer, MAC co-processing, etc). 6.1 Serial Peripheral Interface The Serial Peripheral Interface Bus or SPI bus is a synchronous serial data link standard. Devices communicate in master/slave mode where the master device initiates the data frame. Multiple slave devices are allowed with individual slave select (chip select) lines. Figure 6-2. SPI Communication Example in ATPL230A SPI_INACTIVE SPI_ACTIVE /SS SPI_CLK D7 D6 D5 …. D1 D0 A15 A14 …. A1 A0 MOSI OPCODE (7….0) A DDRESS (15….0) DUMMY 7 …. DUMMY0 BYTE DUMMY (7….0) D7 MISO (READ_EXAMP LE) 12 ATPL230A [DATASHEET] Atmel-43053I-ATPL230A-Datasheet_04-May-16 D6 …. D1 D0 The ATPL230A SPI allows an external device (working as a master), to communicate with the ATPL230A (working as a slave). Below is a brief description of the SPI signals: CS, Chip Select (pin no.24): This input enables/disables the slave SPI. The ATPL230A is configured to work always as a slave. When disabled (CS pin is tied high), the other SPI signals (SCK, MOSI and MISO) are not taken into account. CS = ‘0’: SPI enabled. CS = ‘1’: SPI disabled. SCK, Serial Peripheral Interface Clock (pin no.25): In reception (master slave), data is read from MOSI line in the rising edge of the SPI clock. In transmission (slave master), data is released to MISO in the falling edge of the SPI clock. It is recommended not to work with clock frequencies above 10MHz. This input only will be taken into account when CS=’0’. MOSI, Master Out Slave In (pin no.26): MOSI is the slave’s data input line. Data is read from MOSI line in the rising edge of SCK. This input only will be taken into account when CS=’0’. MISO, Master In Slave Out (pin no.27): MISO is the slave’s data output line. Data is released to MISO in the falling edge of SCK. Furthermore, ATPL230A SPI bridge uses an additional line to send interrupts to the host CPU: EINT (pin no.60): This signal is an interrupt from ATPL230A PHY layer to the microcontroller. In reception, every time a PLC message is received, the PHY Layer generates two interrupts. One of them when the physical header is correctly received (two first symbols), and the other one when the message is completely received. In transmission, an interrupt will be generated every time a complete message has been sent. This signal is low level active. 6.2 SPI Operation When establishing a SPI communication (CS line is set to ‘0’ by the master), the first byte sent through MOSI line corresponds to the operation code. Four different operation types are defined over ATPL230A SPI. The operation codes are shown in the following table: Table 6-1. Operation Codes Operation Mask type OpCode Read --- 0x63 Write --- 0x2A AND 0x4C OR 0x71 XOR 0x6D --- 0x1E Mask Write_rep Following the operation code, the second and third bytes correspond to the SRAM address (16-bit address). Depending on the operation code, the master will “read data from”/”write data to”/”mask data in”/”write some data to” that address. After the address, a dummy byte is sent. ATPL230A [DATASHEET] Atmel-43053I-ATPL230A-Datasheet_04-May-16 13 Following the dummy byte, n data bytes (where n ≥ 1) are sent/received: If the operation code corresponds to a write operation in memory, the first data byte will be written in the specified address. If more data bytes are sent, they will be written in subsequent memory positions. If the operation code corresponds to a read operation from memory, the ATPL230A will output the data byte in MISO line. If the master continues sending SCK cycles, subsequent memory positions will be written in MISO line by the slave. If the operation code corresponds to a mask operation (AND, OR, XOR), the master will send the byte mask that have to be applied to the byte located at the specified address memory. If the master continues sending bytes, they will be applied as masks to the bytes stored in subsequent memory positions. If the operation code corresponds to a write_rep operation in memory, the dummy byte is changed by a number between 0x00 and 0xFF, called OFFSET_ADDRESS. Data bytes will be written from ADDRESS to ADDRESS+OFFSET_ADDRESS. For example, if OFFSET_ADDRESS = 0x04, the five first data bytes will be written between ADDRESS and ADDRESS+4, and then, the sixth data byte, will be written in ADDRESS, the seventh in ADDRESS+1, and so on. It is used to fill the some memories in PHY Layer (Chirp, Angle and IIR). Bytes will be always sent with the most significant bit first. Figure 6-3. SPI Frame Example SPI_CLK MOSI op7 op6 op5 op4 op3 op2 op1 op0 A15 A14 A13 A12 A11 A10 OPCODE (7:0) 14 ATPL230A [DATASHEET] Atmel-43053I-ATPL230A-Datasheet_04-May-16 ... ADDRESS (15:0) ... A1 A0 DUM 7 DUM 0 DUMMY BYTE D7 D6 D5 D4 D3 D2 D1 D0 1st DATA BYTE 2nd DATA BYTE 7. Peripheral Registers A total of 768 bytes are reserved on-chip to allocate the system peripheral registers. A detailed description of each peripheral register can be found in its corresponding section. On the next pages, there is a list of all of them. Table 7-1. Register Mapping Address Register Name Access Reset TXRXBUF_EMITIME_TX0 Read/Write 0x00..00 TXRXBUF_EMITIME_TX1 Read/Write 0x00..00 TXRXBUF_EMITIME_TX2 Read/Write 0x00..00 0xFD0C - 0xFD0F TXRXBUF_EMITIME_TX3 Read/Write 0x00..00 0xFD10 - 0xFD11 TXRXBUF_TXRX_TA_TX0 Read/Write 0x0000 TXRXBUF_TXRX_TA_TX1 Read/Write 0x0000 TXRXBUF_TXRX_TA_TX2 Read/Write 0x0000 TXRXBUF_TXRX_TA_TX3 Read/Write 0x0000 0xFD00 - 0xFD03 0xFD04 - 0xFD07 0xFD08 - 0xFD0B 0xFD12 - 0xFD13 0xFD14 - 0xFD15 TX Time Registers TX Post-activation Time TxRx Registers 0xFD16 - 0xFD17 0xFD18 - 0xFD19 TXRXBUF_TXRX_TB_TX0 Read/Write 0x0000 0xFD1A - 0xFD1B TXRXBUF_TXRX_TB_TX1 Read/Write 0x0000 TXRXBUF_TXRX_TB_TX2 Read/Write 0x0000 TXRXBUF_TXRX_TB_TX3 Read/Write 0x0000 0xFD1C - 0xFD1D TX Pre-activation Time TxRx Registers 0xFD1E - 0xFD1F 0xFD20 TXRXBUF_GLBL_AMP_TX0 Read/Write 0xFF 0xFD21 TXRXBUF_GLBL_AMP_TX1 Read/Write 0xFF TXRXBUF_GLBL_AMP_TX2 Read/Write 0xFF 0xFD23 TXRXBUF_GLBL_AMP_TX3 Read/Write 0xFF 0xFD24 TXRXBUF_SGNL_AMP_TX0 Read/Write 0x60 TXRXBUF_SGNL_AMP_TX1 Read/Write 0x60 TXRXBUF_SGNL_AMP_TX2 Read/Write 0x60 0xFD27 TXRXBUF_SGNL_AMP_TX3 Read/Write 0x60 0xFD28 TXRXBUF_CHIRP_AMP_TX0 Read/Write 0x60 TXRXBUF_CHIRP_AMP_TX1 Read/Write 0x60 TXRXBUF_CHIRP_AMP_TX2 Read/Write 0x60 0xFD2B TXRXBUF_CHIRP_AMP_TX3 Read/Write 0x60 0xFD2C - 0xFD2F TXRXBUF_TIMEOUT_TX0 Read/Write 0x000124F8 TXRXBUF_TIMEOUT_TX1 Read/Write 0x000124F8 0xFD22 0xFD25 0xFD26 0xFD29 0xFD2A 0xFD30 - 0xFD33 0xFD34 - 0xFD37 Global Amplitude Registers Signal Amplitude Registers Chirp Amplitude Registers TX Timeout Registers TXRXBUF_TIMEOUT_TX2 Read/Write 0x000124F8 0xFD38 - 0xFD3B TXRXBUF_TIMEOUT_TX3 Read/Write 0x000124F8 0xFD3C TXRXBUF_TXCONF_TX0 Read/Write 0xA0 TXRXBUF_TXCONF_TX1 Read/Write 0xA0 0xFD3D 0xFD3E TX Configuration Registers TXRXBUF_TXCONF_TX2 Read/Write 0xA0 0xFD3F TXRXBUF_TXCONF_TX3 Read/Write 0xA0 0xFD40 - 0xFD41 TXRXBUF_INITAD_TX0 Read/Write 0x0000 TXRXBUF_INITAD_TX1 Read/Write 0x0000 0xFD44 - 0xFD45 TXRXBUF_INITAD_TX2 Read/Write 0x0000 0xFD46 - 0xFD47 TXRXBUF_INITAD_TX3 Read/Write 0x0000 0xFD42 - 0xFD43 TX Initial Address Registers ATPL230A [DATASHEET] Atmel-43053I-ATPL230A-Datasheet_04-May-16 15 Table 7-1. Register Mapping Address Register Access Reset 0xFD48 - 0xFD49 - - 0x0000 0xFD4A - 0xFD4B - - 0x0000 - - 0x0000 0xFD4C - 0xFD4D Reserved 0xFD4E - 0xFD4F - - 0x0000 0xFD50 - 0xFD51 TX Result Register TXRXBUF_RESULT_TX Read-only 0x1111 0xFD52 TX Interrupts Register TXRXBUF_TX_INT Read-only 0x00 - - 0x00 - - 0x00 - - 0x00 - - 0x00 0xFD57 TXRXBUF_BERSOFT_AVG_RX0 Read-only 0x00 0xFD58 TXRXBUF_BERSOFT_AVG_RX1 Read-only 0x00 TXRXBUF_BERSOFT_AVG_RX2 Read-only 0x00 TXRXBUF_BERSOFT_AVG_RX3 Read-only 0x00 0xFD53 0xFD54 0xFD55 Reserved 0xFD56 0xFD59 BER SOFT Average Error Registers 0xFD5A 0xFD5B TXRXBUF_BERSOFT_MAX_RX0 Read-only 0x00 0xFD5C TXRXBUF_BERSOFT_MAX_RX1 Read-only 0x00 TXRXBUF_BERSOFT_MAX_RX2 Read-only 0x00 TXRXBUF_BERSOFT_MAX_RX3 Read-only 0x00 0xFD5D BER SOFT Maximum Error Registers 0xFD5E 0xFD5F - - 0x00 0xFD60 - - 0x00 - - 0x00 0xFD61 Reserved 0xFD62 - - 0x00 0xFD63 TXRXBUF_BERHARD_AVG_RX0 Read-only 0x00 TXRXBUF_BERHARD_AVG_RX1 Read-only 0x00 TXRXBUF_BERHARD_AVG_RX2 Read-only 0x00 0xFD66 TXRXBUF_BERHARD_AVG_RX3 Read-only 0x00 0xFD67 TXRXBUF_BERHARD_MAX_RX0 Read-only 0x00 TXRXBUF_BERHARD_MAX_RX1 Read-only 0x00 TXRXBUF_BERHARD_MAX_RX2 Read-only 0x00 0xFD6A TXRXBUF_BERHARD_MAX_RX3 Read-only 0x00 0xFD6B TXRXBUF_RSSIMIN_RX0 Read-only 0x00 TXRXBUF_RSSIMIN_RX1 Read-only 0x00 0xFD64 0xFD65 0xFD68 0xFD69 0xFD6C 0xFD6D BER HARD Average Error Registers BER HARD Maximum Error Registers Minimum RSSI Registers TXRXBUF_RSSIMIN_RX2 Read-only 0x00 0xFD6E TXRXBUF_RSSIMIN_RX3 Read-only 0x00 0xFD6F TXRXBUF_RSSIAVG_RX0 Read-only 0x00 TXRXBUF_RSSIAVG_RX1 Read-only 0x00 0xFD70 0xFD71 Average RSSI Registers TXRXBUF_RSSIAVG_RX2 Read-only 0x00 0xFD72 TXRXBUF_RSSIAVG_RX3 Read-only 0x00 0xFD73 TXRXBUF_RSSIMAX_RX0 Read-only 0x00 TXRXBUF_RSSIMAX_RX1 Read-only 0x00 TXRXBUF_RSSIMAX_RX2 Read-only 0x00 TXRXBUF_RSSIMAX_RX3 Read-only 0x00 0xFD74 0xFD75 Maximum RSSI Registers 0xFD76 16 Name ATPL230A [DATASHEET] Atmel-43053I-ATPL230A-Datasheet_04-May-16 Table 7-1. Register Mapping Address Register Name Access Reset 0xFD77 TXRXBUF_CINRMIN_RX0 Read-only 0x00 0xFD78 TXRXBUF_CINRMIN_RX1 Read-only 0x00 TXRXBUF_CINRMIN_RX2 Read-only 0x00 0xFD7A TXRXBUF_CINRMIN_RX3 Read-only 0x00 0xFD7B TXRXBUF_CINRAVG_RX0 Read-only 0x00 TXRXBUF_CINRAVG_RX1 Read-only 0x00 TXRXBUF_CINRAVG_RX2 Read-only 0x00 0xFD79 0xFD7C 0xFD7D Minimum CINR Registers Average CINR Registers 0xFD7E TXRXBUF_CINRAVG_RX3 Read-only 0x00 0xFD7F TXRXBUF_CINRMAX_RX0 Read-only 0x00 TXRXBUF_CINRMAX_RX1 Read-only 0x00 0xFD80 0xFD81 Maximum CINR Registers TXRXBUF_CINRMAX_RX2 Read-only 0x00 0xFD82 TXRXBUF_CINRMAX_RX3 Read-only 0x00 0xFD83 - 0xFD86 TXRXBUF_RECTIME_RX0 Read-only 0x00..00 TXRXBUF_RECTIME_RX1 Read-only 0x00..00 0xFD87 - 0xFD8A 0xFD8B - 0xFD8E RX Time Registers TXRXBUF_RECTIME_RX2 Read-only 0x00..00 0xFD8F - 0xFD92 TXRXBUF_RECTIME_RX3 Read-only 0x00..00 0xFD93 - 0xFD96 TXRXBUF_ZCT_RX0 Read-only 0x00..00 TXRXBUF_ZCT_RX1 Read-only 0x00..00 0xFD97 - 0xFD9A 0xFD9B - 0xFD9E Zero-Cross Time Registers TXRXBUF_ZCT_RX2 Read-only 0x00..00 0xFD9F - 0xFDA2 TXRXBUF_ZCT_RX3 Read-only 0x00..00 0xFDA3 - 0xFDA4 TXRXBUF_EVM_HD_RX0 Read-only 0x0000 TXRXBUF_EVM_HD_RX1 Read-only 0x0000 TXRXBUF_EVM_HD_RX2 Read-only 0x0000 0xFDA9 - 0xFDAA TXRXBUF_EVM_HD_RX3 Read-only 0x0000 0xFDAB - 0xFDAC TXRXBUF_EVM_PYLD_RX0 Read-only 0x0000 TXRXBUF_EVM_PYLD_RX1 Read-only 0x0000 TXRXBUF_EVM_PYLD_RX2 Read-only 0x0000 0xFDB1 - 0xFDB2 TXRXBUF_EVM_PYLD_RX3 Read-only 0x0000 0xFDB3 - 0xFDB6 TXRXBUF_EVM_HDACUM_RX0 Read-only 0x00..00 TXRXBUF_EVM_HDACUM_RX1 Read-only 0x00..00 TXRXBUF_EVM_HDACUM_RX2 Read-only 0x00..00 TXRXBUF_EVM_HDACUM_RX3 Read-only 0x00..00 0xFDA5 - 0xFDA6 0xFDA7 - 0xFDA8 0xFDAD - 0xFDAE 0xFDAF - 0xFDB0 0xFDB7 - 0xFDBA 0xFDBB - 0xFDBE Header EVM Registers Payload EVM Registers Accumulated Header EVM Registers 0xFDBF - 0xFDC2 0xFDC3 - 0xFDC6 TXRXBUF_EVM_PYLACUM_RX0 Read-only 0x00..00 0xFDC7 - 0xFDCA TXRXBUF_EVM_PYLACUM_RX1 Read-only 0x00..00 TXRXBUF_EVM_PYLACUM_RX2 Read-only 0x00..00 TXRXBUF_EVM_PYLACUM_RX3 Read-only 0x00..00 0xFDCB - 0xFDCE Accumulated Payload EVM Registers 0xFDCF - 0xFDD2 0xFDD3 Buffer Selection Register TXRXBUF_SELECT_BUFF_RX Read/Write 0x00 0xFDD4 RX Interrupts Register TXRXBUF_RX_INT Read/Write 0x00 0xFDD5 RX Configuration Register TXRXBUF_RXCONF Read/Write 0x02 ATPL230A [DATASHEET] Atmel-43053I-ATPL230A-Datasheet_04-May-16 17 Table 7-1. Register Mapping Address Register Access Reset 0xFDD6 - 0xFDD7 TXRXBUF_INITAD_RX0 Read/Write 0x0000 0xFDD8 - 0xFDD9 TXRXBUF_INITAD_RX1 Read/Write 0x0000 TXRXBUF_INITAD_RX2 Read/Write 0x0000 0xFDDA - 0xFDDB RX Initial Address Registers 0xFDDC - 0xFDDD TXRXBUF_INITAD_RX3 Read/Write 0x0000 0xFDDE - 0xFDE1 Reserved - - 0x00..00 0xFDE2 - 0xFDE5 Reserved - - 0x00..00 - - 0x00 - - 0x00 - - 0x00 - - 0x00 0xFDE6 0xFDE7 0xFDE8 Reserved 0xFDE9 0xFDEA - 0xFDEB - - 0x0000 0xFDEC - 0xFDED - - 0x0000 - - 0x0000 - - 0x0000 0xFDEE - 0xFDEF Reserved 0xFDF0 - 0xFDF1 0xFDF2 Robust TX Control Register TXRXBUF_TXCONF_ROBO_CTL Read/Write 0x00 0xFDF3 Robust RX Mode Register TXRXBUF_RXCONF_ROBO_MODE Read-only 0x00 0xFDF4 - 0xFDF7 Reserved - - 0x00..00 0xFDF8 - 0xFDF9 Reserved - - 0x0000 0xFDFA Reserved - - 0xE0 0xFDFB Branch Selection Register TXRXBUF_TXCONF_SELBRANCH Read/Write 0x00 0xFDFC Reserved - - 0x00 0xFDFD Reserved - - 0x00 0xFDFE Reserved - - 0x00 0xFDFF Reserved - - 0x00 0xFE2A PHY Layer Special Function Register PHY_SFR Read/Write 0x87 0xFE2C System Configuration Register SYS_CONFIG Read/Write 0x04 0xFE30 - - 0x00 0xFE31 - - 0x00 0xFE32 - - 0x00 - - 0x00 0xFE33 0xFE34 Reserved - - 0x00 0xFE35 - - 0x00 0xFE36 - - 0x00 0xFE37 - - 0x00 0xFE38 - - 0x40 0xFE39 - - 0x40 - - 0x40 - - 0x40 0xFE3A Reserved 0xFE3B 18 Name ATPL230A [DATASHEET] Atmel-43053I-ATPL230A-Datasheet_04-May-16 Table 7-1. Register Mapping Address Register Name Access Reset 0xFE3C - - 0x10 0xFE3D - - 0x10 - - 0x10 0xFE3E Reserved 0xFE3F - - 0x10 0xFE47 - 0xFE4A PHY Layer Timer Register TIMER_BEACON_REF Read-only 0x00..00 0xFE53 - 0xFE55 Reserved - - 0x000200 0xFE57 Reserved - - 0x1E 0xFE5C - - 0x0C 0xFE5D - - 0x18 - - 0x26 0xFE5F Reserved 0xFE60 - - 0x2B 0xFE62 - 0xFE67 Sub Network Address Register SNA Read/Write 0x00..00 0xFE68 Reserved - - 0x5F 0xFE69 - 0xFE6A - - 0xFFFF 0xFE6B - 0xFE6C - - 0xFFFF - - 0xFFFF - - 0xFFFF 0xFE6D - 0xFE6E Reserved 0xFE6F - 0xFE70 0xFE71 - 0xFE72 - - 0xFFFF 0xFE73 Reserved - - 0x56 0xFE7D - 0xFE7E Reserved - - 0x814C 0xFE7F Reserved - - 0x00 0xFE80 - 0xFE81 Reserved - - 0x0000 0xFE8F Reserved - - 0x03 0xFE90 TXRX Polarity Selector Register AFE_CTL Read/Write 0x00 0xFE91 Reserved - - 0x1E 0xFE92 Reserved - - 0x28 0xFE94 PHY Layer Error Counter Register PHY_ERRORS Read/Write 0x00 0xFE9D Reserved - - 0x21 0xFE9E Reserved - - 0x05 0xFE9F Reserved - - 0x60 0xFEA0 Reserved - - 0x60 0xFEA1 Reserved - - 0x60 0xFEA2 Reserved - - 0x60 0xFEA3 - 0xFEA6 Reserved - - 0x77777777 0xFEAB - 0xFEAC Reserved - - 0x5508 0xFEAD - 0xFEAE Reserved - - 0x3C20 0xFEAF Reserved - - 0x00 0xFEB0 Reserved - - 0x00 0xFEB4 Reserved - - 0x00 0xFEB5 - 0xFEB6 Reserved - - 0x0066 ATPL230A [DATASHEET] Atmel-43053I-ATPL230A-Datasheet_04-May-16 19 20 Table 7-1. Register Mapping Address Register Name Access Reset 0xFEB7 Reserved - - 0x00 0xFEBA - 0xFEBB CRC32 Errors Counter Register ERR_CRC32_MAC Read-only 0x0000 0xFEBC - 0xFEBD CRC8 Errors Counter Register ERR_CRC8_MAC Read-only 0x0000 0xFEC0 - 0xFEC1 CRC8 HD Errors Counter Register ERR_CRC8_MAC_HD Read-only 0x0000 0xFEC2 - 0xFEC3 CRC8 PHY Errors Counter Register ERR_CRC8_PHY Read-only 0x0000 0xFEC4 False Positive Configuration Register FALSE_POSITIVE_CONFIG Read/Write 0x10 0xFEC5 - 0xFEC6 False Positive Counter Register FALSE_POSITIVE Read-only 0x0000 0xFEC8 Reserved - - 0x3F 0xFEC9 Reserved - - 0x3F 0xFECA Reserved - - 0x3F 0xFECB Reserved - - 0x3F 0xFECC Reserved - - 0x3F 0xFECD Reserved - - 0x3F 0xFECE - 0xFECF Reserved - - 0x0000 0xFED3 Reserved - - 0x40 0xFED5 - 0xFED6 Reserved - - 0x0000 0xFEDB Reserved - - 0x00 0xFEDC - 0xFEDF Reserved - - 0x00..00 0xFEE0 Reserved - - 0x02 0xFEE4 - 0xFEE5 Reserved - - 0x0000 0xFEE6 - 0xFEE7 Reserved - - 0x0000 0xFEE8 Reserved - - 0x00 0xFEE9 Reserved - - 0xFF 0xFEEA Reserved - - 0x04 0xFEEB Reserved - - 0x08 0xFEEC Reserved - - 0x0C 0xFEED Reserved - - 0x14 0xFEEE Reserved - - 0x00 0xFEEF Reserved - - 0x03 0xFEF0 Reserved - - 0x00 0xFEF1 Reserved - - 0x17 0xFEF2 Reserved - - 0x18 0xFEF3 Reserved - - 0x23 0xFEF4 CRC PRIMEPLUS Configuration Register PRIMEPLUS_CRC_CONFIG Read/Write 0x14 0xFEF5 - 0xFEF6 CRC PRIMEPLUS Polynomial Register PRIMEPLUS_CRC_POLY Read/Write 0x080F 0xFEF7 - 0xFEF8 CRC PRIMEPLUS Reset Value Register PRIMEPLUS_CRC_RST Read/Write 0x0000 ATPL230A [DATASHEET] Atmel-43053I-ATPL230A-Datasheet_04-May-16 Table 7-1. Register Mapping Address Register Name Access Reset 0xFEFA - 0xFEFD Channel Selector Register CTPS Read/Write 0x000150C7 0xFEFE Reserved - - 0x00 0xFF00 - 0xFF07 Reserved - - 0x411A1803 73D6893C 0xFF09 - 0xFF0A Reserved - - 0x0EA5 0xFF0E - 0xFF11 Peripheral CRC Polynomial Register VCRC_POLY Read/Write 0x04C11DB7 0xFF12 - 0xFF15 Peripheral CRC Reset Value Register VCRC_RST Read/Write 0x00..00 0xFF16 Peripheral CRC Configuration Register VCRC_CONF Read/Write 0xC3 0xFF17 Peripheral CRC Input Register VCRC_INPUT Read/Write 0x00 0xFF18 Peripheral CRC Control Register VCRC_CTL Read/Write 0x00 0xFF19 - 0xFF1C Peripheral CRC Value Register VCRC_CRC Read-only 0x00..00 0xFF1E Zero Crossing Configuration Register ZC_CONFIG Read/Write 0x00 0xFF1F - 0xFF20 Reserved - - 0x051E 0xFF21 - 0xFF22 Reserved - - 0x8000 0xFF23 Zero Crossing Filter Register ZC_FILTER Read/Write 0xB2 0xFF24 - 0xFF27 Reserved - - 0x00030D40 0xFF28 - 0xFF2B Reserved - - 0x00..00 0xFF2D Reserved - - 0x01 0xFF33 - 0xFF36 Reserved - - 0x00..00 0xFF37 - 0xFF38 Reserved - - 0x0000 0xFF39 Reserved - - 0x14 0xFF3A Reserved - - 0x80 0xFF3B Reserved - - 0x70 0xFF3C Reserved - - 0xC8 0xFF3D Reserved - - 0x0A 0xFF3E Reserved - - 0x02 0xFF3F Reserved - - 0x04 0xFF40 Reserved - - 0x01 0xFF41 Reserved - - 0x01 0xFF42 Reserved - - 0x27 0xFF43 Reserved - - 0x0A 0xFF4C Reserved - - 0xA8 0xFF51 Reserved - - 0x99 0xFF52 Reserved - - 0xC0 0xFF53 Reserved - - 0x00 0xFF54 Reserved - - 0x03 0xFF55 Reserved - - 0x99 0xFF56 Reserved - - 0x99 ATPL230A [DATASHEET] Atmel-43053I-ATPL230A-Datasheet_04-May-16 21 Table 7-1. Register Mapping Address Register Name Access Reset 0xFF57 Reserved - - 0xFF 0xFF58 Reserved - - 0x33 0xFF5E - 0xFF5F Reserved - - 0x0000 0xFF61 Reserved - - 0x00 0xFF62 Reserved - - 0x10 0xFF63 - 0xFF64 Reserved - - 0x00BF 0xFF65 - 0xFF66 Reserved - - 0x03E8 0xFF67 - 0xFF68 Reserved - - 0x0400 0xFF69 - 0xFF6A Reserved - - 0x0F20 0xFF6B - 0xFF6C Reserved - - 0x01EE 0xFF6D - 0xFF6E - - 0x00BF 0xFF6F - 0xFF70 - - 0x0160 - - 0x02F0 - - 0x0450 0xFF71 - 0xFF72 Reserved 0xFF73 - 0xFF74 22 0xFF75 Reserved - - 0x68 0xFF76 Reserved - - 0x80 0xFF77 Reserved - - 0x3B 0xFF78 - 0xFF79 Reserved - - 0x0000 0xFF7A - 0xFF7F Reserved - - 0x00..00 0xFF80 Reserved - - 0x00 0xFF81 Reserved - - 0x30 0xFF82 - 0xFF83 Reserved - - 0x0600 0xFF84 Reserved - - 0x58 0xFF85 Reserved - - 0x99 0xFF86 Reserved - - 0x79 0xFF87 - 0xFF88 Reserved - - 0x0021 0xFF89 Reserved - - 0x03 0xFF8A Reserved - - 0x01 0xFF8B Reserved - - 0x02 0xFF8C Reserved - - 0x04 0xFF8D Reserved - - 0x7F 0xFF8E Reserved - - 0x00 0xFF92 Reserved - - 0x14 0xFF93 Reserved - - 0x11 0xFF94 Reserved - - 0x80 0xFF95 Reserved - - 0x00 0xFF96 Reserved - - 0x00 0xFF97 Reserved - - 0x70 0xFF98 Reserved - - 0xC8 0xFF99 Reserved - - 0x0A 0xFF9A Reserved - - 0x02 0xFF9B Reserved - - 0x04 ATPL230A [DATASHEET] Atmel-43053I-ATPL230A-Datasheet_04-May-16 Table 7-1. Register Mapping Address Register Name Access Reset 0xFF9C Reserved - - 0x01 0xFF9D Reserved - - 0x01 0xFF9E Reserved - - 0x27 0xFF9F Reserved - - 0x0A 0xFFA0 - 0xFFAF Peripheral AES Key Register AES_KEY Read/Write 0x00..00 0xFFB0 - 0xFFBF Peripheral AES Data Field Register AES_DATA Read/Write 0x00..00 0xFFC0 Peripheral AES Control Register AES_CTL Read/Write 0x04 0xFFE2 - 0xFFE3 - - 0x0424 0xFFE4 - 0xFFE5 - - 0x0424 0xFFE6 - 0xFFE7 - - 0x0424 0xFFE8 - 0xFFE9 - - 0x0424 0xFFEA - 0xFFEB - - 0x0424 - - 0x0424 - - 0x0424 0xFFF0 - 0xFFF1 - - 0x0424 0xFFF2 - 0xFFF3 - - 0x0424 0xFFF4 - 0xFFF5 - - 0x0424 0xFFF6 - 0xFFF7 - - 0x0424 0xFFF8 - 0xFFF9 - - 0x0424 0xFFEC - 0xFFED 0xFFEE - 0xFFEF Reserved ATPL230A [DATASHEET] Atmel-43053I-ATPL230A-Datasheet_04-May-16 23 8. MAC Coprocessor ATPL230A accelerators can be used to perform PRIME MAC-specific tasks by hardware, decreasing CPU load from the external MCU/MPU. For that purpose, Cyclic Redundance Check (CRC) and AES128 encryption blocks are available in ATPL230A. Please refer to Atmel doc43048 “Atmel PRIME Implementation” for Atmel software package detailed description and functionality. 8.1 Cyclic Redundancy Check (CRC) 8.1.1 PRIME v1.3 CRC There are three types of MAC PDUs (generic, promotion and beacon) for different purposes, and each one has its own specific CRC. There is a hardware implementation of every CRC type calculated by the MAC layer. This CRC hardware-calculation is enabled by default. Note that the CRC included at the physical layer is also a hardware implementation available (enabled by default). Figure 8-1. Example: Generic MAC PDU format and generic MAC header detail ... Packet 1 Generic MAC Header Packet n CRC MSB Unused Reserved HDR.HT Reserved HDR.DO HDR. LEVEL HDR. HCS LSB In transmission all CRC bytes are real-time calculated and the last bytes of the MAC PDU are overwritten with these values, (provided that the field HT in the first byte of the MAC header in transmission data is equal to the corresponding MAC PDU type). In reception the CRC bytes are also real-time calculated and these bytes are checked with the last bytes of the MAC PDU. If the CRC is not correct, then an error flag is activated, the complete frame is discarded, and the corresponding error counter is increased. These counters allow the MAC layer to take decisions according to error ratio. For the Generic MAC PDU, there is an 8-bit CRC in the Generic MAC header, which corresponds to PRIME HDR.HCS. In reception, if this CRC doesn’t check successfully, the current frame is discarded and no interruption is generated. This works in the same way as CRC for the PHY layer (CRC Ctrl, located in the PHY header, see PRIME specification for further information). There is another CRC for the Generic MAC PDU which is the last field of the GPDU. It is 32 bits long and it is used to detect transmission errors. The CRC shall cover the concatenation of the SNA with the GPDU except for the CRC field itself. In reception, if the CRC is not successful then an internal flag is set and the error counter is increased. For the Promotion Needed PDU there is an 8-bit CRC, calculated with the first 13 bytes of the header. In reception, if this CRC is not correct, then an internal flag is set and the corresponding error counter is increased. For the Beacon PDU there is a 32-bit CRC calculated with the same algorithm as the one defined for the CRC of the Generic MAC PDU. This CRC shall be calculated over the complete BPDU except for the CRC field itself. In reception, if this CRC is not successful, then an internal flag is set and the same error counter used for GPDU is increased. The hardware used for this CRC is the same as the one used for GPDU. 24 ATPL230A [DATASHEET] Atmel-43053I-ATPL230A-Datasheet_04-May-16 8.1.2 Configurable CRC calculation PRIME v1.3 version fixes the polynomial to calculate the CRCs. In case that these polynomials were modified, the CRC peripheral would be used. It is used as a peripheral unit, accessible using the system peripheral registers. For example, to configure it for PRIME CRC8: X^8 + X^2 + X + 1 VCRC_POLY = 0x00000007 VCRC_RST = 0x00000000 VCRC_CONF = 0xC0 And to configure it for PRIME CRC32: x^32 + x^26 + x^23 + x^22 + x^16 + x^12 + x^11 + x^10 + x^8 + x^7 + x^5 + x^4 + x^2 + x + 1 VCRC_POLY = 0x04C11DB7 VCRC_RST = 0x00000000 VCRC_CONF = 0xC3 A different set of registers can also be used to set CRC parameters: X^12 + X^11 + X^3 + X^2 + X + 1 PRIMEPLUS_CRC_POLY = 0x080F PRIMEPLUS_CRC_RST = 0x0000 PRIMEPLUS_CRC_CONFIG = 0x14 8.2 Advanced Encryption Standard (AES) One of the additional security functionalities to PRIME v1.3 is the 128-bit AES encryption of data. ATPL230A includes a hardware implementation of this block, as a peripheral unit. In transmission, data must be encrypted previously to the use of the PHY_DATA request primitive (see PRIME specification), in an independent way (note that Beacon PDU, Promotion PDU and Generic MAC header, as well as several control packets, are not encrypted). In reception, data passed by the PHY layer is already encrypted and must be decrypted in a subsequent process. To encrypt a data package with corresponding KEY, the process is as follows: 1. Write the KEY (128 bits long) in AES_KEY register. This step is only needed if a new key is going to be used (due to a key change or to a reset operation). 2. Write the 128 bits of data to be encrypted in AES_DATA register. 3. Set to ‘1’ the CIPHER control bit in AES_CTL register and then set to ‘1’ the START control bit to start the operation. This step could be realized as an atomic operation writing 0x03. 4. Wait until the READY bit in AES_CTL register becomes ‘1’ automatically. This bit indicates when the operation is completed. 5. After that, the encrypted (coded) data package is automatically stored in AES_DATA register. ATPL230A [DATASHEET] Atmel-43053I-ATPL230A-Datasheet_04-May-16 25 On the other hand, to decrypt a data package with corresponding KEY, the process is as follows: 1. Write the KEY (128 bits long) in AES_KEY register. This step is only needed if a new key is going to be used (due to a key change or to a reset operation). 2. Write the 128 bits of encrypted data in AES_DATA register. 3. Set to ‘0’ the CIPHER control bit in AES_CTL register and then set to ‘1’ the START control bit to start the operation. This step could be realized as an atomic operation writing 0x02. 4. Wait until the READY bit in AES_CTL register becomes ‘1’ automatically. This bit indicates when the operation is completed. 5. After that, the decrypted (decoded) data package is automatically stored in AES_DATA register. 26 ATPL230A [DATASHEET] Atmel-43053I-ATPL230A-Datasheet_04-May-16 8.3 MAC Coprocessor Registers 8.3.1 CRC Registers 8.3.1.1 Sub Network Address Register Name: SNA Address: 0xFE62 – 0xFE67 Access: Read/Write Reset: 0x00..00 47 46 45 44 43 42 41 40 35 34 33 32 27 26 25 24 19 18 17 16 11 10 9 8 3 2 1 0 SNA (47:40) 39 38 37 36 SNA (39:32) 31 30 29 28 SNA (31:24) 23 22 21 20 SNA (23:16) 15 14 13 12 SNA (15:8) 7 6 5 4 SNA (7:0) This register stores the 48-bit Sub Network Address. Physical layer uses it to calculate the CRC’s. ATPL230A [DATASHEET] Atmel-43053I-ATPL230A-Datasheet_04-May-16 27 8.3.1.2 CRC32 Errors Counter Register Name: ERR_CRC32_MAC Address: 0xFEBA (MSB) – 0xFEBB (LSB) Access: Read-only Reset: 0x0000 15 14 13 7 6 5 12 11 ERR_CRC32_MAC (15:8) 4 3 ERR_CRC32_MAC (7:0) 10 9 8 2 1 0 This register stores the number of received PRIME v1.3 packets (Beacon and generic) with an error in the CRC32 MAC field of the payload, since the last physical layer reset. Only a physical layer reset initializes the register. Note: 28 Once the register has reached its maximum value, a new error causes the register to roll over. ATPL230A [DATASHEET] Atmel-43053I-ATPL230A-Datasheet_04-May-16 8.3.1.3 CRC8 Errors Counter Register Name: ERR_CRC8_MAC Address: 0xFEBC (MSB) – 0xFEBD (LSB) Access: Read-only Reset: 0x0000 15 14 13 7 6 5 12 11 ERR_CRC8_MAC (15:8) 4 3 ERR_CRC8_MAC (7:0) 10 9 8 2 1 0 This register stores the number of received PRIME v1.3 packets (Promotion) with an error in the CRC8 MAC field of the payload, since the last physical layer reset. Only a physical layer reset initializes the register. Note: Once the register has reached its maximum value, a new error causes the register to roll over. ATPL230A [DATASHEET] Atmel-43053I-ATPL230A-Datasheet_04-May-16 29 8.3.1.4 CRC8 HD Errors Counter Register Name: ERR_CRC8_MAC_HD Address: 0xFEC0 (MSB) – 0xFEC1 (LSB) Access: Read-only Reset: 0x0000 15 14 13 7 6 5 12 11 ERR_CRC8_MAC_HD (15:8) 4 3 ERR_CRC8_MAC_HD (7:0) 10 9 8 2 1 0 This register stores the number of received PRIME v1.3 packets with an error in the CRC8 MAC field of the header, since the last physical layer reset. Only a physical layer reset initializes the register. Note: 30 Once the register has reached its maximum value, a new error causes the register to roll over. ATPL230A [DATASHEET] Atmel-43053I-ATPL230A-Datasheet_04-May-16 8.3.1.5 CRC8 PHY Errors Counter Register Name: ERR_CRC8_PHY Address: 0xFEC2 (MSB) – 0xFEC3 (LSB) Access: Read-only Reset: 0x0000 15 14 13 7 6 5 12 11 ERR_CRC8_PHY (15:8) 4 3 ERR_CRC8_PHY (7:0) 10 9 8 2 1 0 This register stores the number of received PRIME v1.3 packets with an error in the CRC8 PHY field of the header, since the last physical layer reset. Only a physical layer reset initializes the register. Note: Once the register has reached its maximum value, a new error causes the register to roll over. ATPL230A [DATASHEET] Atmel-43053I-ATPL230A-Datasheet_04-May-16 31 8.3.1.6 CRC PRIMEPLUS Configuration Register Name: PRIMEPLUS_CRC_CONFIG Address: 0xFEF4 Access: Read/Write Reset: 0x14 7 - 6 - 5 - 4 FB_TYPE 3 2 1 0 WIDTH PRIMEPLUS_CRC_CONFIG register allows the user to configure feedback type and width of the PRIME v1.4 mode physical CRC computation algorithm. • FB_TYPE: ‘0’: Computation procedure must end with extra bytes with value zero added to the data ones (User added). ‘1’: Extra bytes addition is not required. • WIDTH (3:0): Represents the grade of the polynomial used by the algorithm. 32 ATPL230A [DATASHEET] Atmel-43053I-ATPL230A-Datasheet_04-May-16 WIDTH (3:0) Polynomial bits 0 8 1 9 2 10 3 11 4 12 5 13 6 14 7 15 >7 16 8.3.1.7 CRC PRIMEPLUS Polynomial Register Name: PRIMEPLUS_CRC_POLY Address: 0xFEF5 (MSB) – 0xFEF6 (LSB) Access: Read/Write Reset: 0x080F 15 14 13 7 6 5 12 11 PRIMEPLUS_CRC_POLY (15:8) 4 3 PRIMEPLUS_CRC_POLY (7:0) 10 9 8 2 1 0 This register allows the PRIME v1.4 mode physical CRC polynomial configuration. Each bit of the register represents a grade coefficient selected by its position into the register. For example the reset value 0x080F corresponds to the polynomial X^12 + X^11 + X^3 + X^2 + X + 1. In this polynomial the active coefficients are 12, 11, 3, 2, 1, 0. The most significant coefficient (12) represents the polynomial grade and is implemented by the algorithm feedback so it is not included in the register. With the other coefficients we calculate the register value needed as follows: 2^11 + 2^3 + 2^2 + 2^1 + 2^0 = 2063 = 0x080F. ATPL230A [DATASHEET] Atmel-43053I-ATPL230A-Datasheet_04-May-16 33 8.3.1.8 CRC PRIMEPLUS Reset Value Register Name: PRIMEPLUS_CRC_RST Address: 0xFEF7 (MSB) – 0xFEF8 (LSB) Access: Read/Write Reset: 0x0000 15 14 13 7 6 5 12 11 PRIMEPLUS_CRC_RST (15:8) 4 3 PRIMEPLUS_CRC_RST (7:0) 10 9 8 2 1 0 This register stores the initial value of the PRIME v1.4 mode physical CRC computation algorithm. 34 ATPL230A [DATASHEET] Atmel-43053I-ATPL230A-Datasheet_04-May-16 8.3.1.9 Peripheral CRC Polynomial Register Name: VCRC_POLY Address: 0xFF0E (MSB) – 0xFF11 (LSB) Access: Read/Write Reset: 0x04C11DB7 31 30 .. .. .. VCRC_POLY (31:0) .. 1 0 This is a 32 bits register used to store the CRC polynomial mathematical expression. Each register bit location represents an exponential degree of the polynomial. Meaning that, for a register value of 0x04C11DB7; the corresponding polynomial expression is x^32 + x^26 + x^23 + x^22 + x^16 + x^12 + x^11 + x^10 + x^8 + x^7 + x^5 + x^4 + x^2 + x + 1. Note that, the first exponential degree (x^32) is taken by the feedback of the circuit itself. To configure the system in CRC mode, the bit VCRC_POLY(0) must be set to ‘1’. Otherwise, if VCRC_POLY(0) is set to ‘0’ the system works in LFSR (Linear Feedback Shift Register) mode. ATPL230A [DATASHEET] Atmel-43053I-ATPL230A-Datasheet_04-May-16 35 8.3.1.10 Peripheral CRC Reset Value Register Name: VCRC_RST Address: 0xFF12 (MSB) – 0xFF15 (LSB) Access: Read/Write Reset: 0x00000000 31 30 .. .. .. VCRC_RST (31:0) .. 1 0 This is a 32 bits register used to store the initial value to start calculating the CRC. This value is fixed by either the CRC used or by the protocol implemented. 36 ATPL230A [DATASHEET] Atmel-43053I-ATPL230A-Datasheet_04-May-16 8.3.1.11 Peripheral CRC Configuration Register Name: VCRC_CONF Address: 0xFF16 Access: Read/Write Reset: 0xC3 7 FB_TYPE 6 MSBF 5 MIRRORED32 4 MIRRORED8 3 CIN 2 COUT 1 WIDTH1 0 WIDTH0 This is an 8 bits register used to configure different CRC´s and LFSR´s. This register contains the following control bits: • FB_TYPE: Configures desired circuit feedback type ‘0’: Select circuit feedback type as below. + 4 3 < X^5 X^4 2 < + 1 < X^3 X^2 0 < Input + < X^1 X^0 ‘1’: Select circuit feedback type as below. 4 Input + < 3 < 2 + < 1 0 < < + X^5 X^4 X^3 X^2 X^1 X^0 • MSBF: Allows to choose byte calculation mode ‘0’: Select the least significant bit (LSB) first to start calculations. ‘1’: Select the most significant bit (MSB) first to start calculations. • MIRRORED8: Allows to flip (turn over) the desired CRC size (bytes) in the 32-bit VCRC_CRC register configured by WIDTH1 and WIDTH0 bits. ‘0’: No flipping is performed and the 32-bit VCRC_CRC register will remain unalterable as below. ‘1’: Flip the desired CRC size (bytes) in the 32-bit VCRC_CRC register configured by the control bits WIDTH1 and WIDTH0. For example, if control bits WIDTH1 and WIDTH0 are both set to ‘1’ (CRC size = 4, see link table), it will flip the four blocks of bytes in the register. In another case when CRC size = 3 (WIDTH1=’1’ and WIDTH0=’0’), it will flip the first three blocks of bytes (beginning from less significant byte) in the register ignoring the last byte. ATPL230A [DATASHEET] Atmel-43053I-ATPL230A-Datasheet_04-May-16 37 • MIRRORED32: Allows byte shifting in the 32-bit VCRC_CRC register. ‘0’: No byte shifting is performed and the entire 32-bit VCRC_CRC register will remain unalterable as below. ‘1’: The 32-bit VCRC_CRC register is reorganized by shifting the four blocks of bytes. Meaning that, in a byte the MSB will become the LSB. After this command, the VCRC_CRC register will look as below. Both control bits MIRRORED32 AND MIRRORED8 can be set to ‘1’ to obtain the two results simultaneously. • CIN: Complement (opposite) the INPUT byte of the VCRC_INPUT register ‘0’: Disable complement. ‘1’: Enable complement. • COUT: Complement (opposite) the OUTPUT byte of the VCRC_INPUT register ‘0’: Disable complement. ‘1’: Enable complement. • WIDTH(1:0): Select CRC size in bytes: 38 ATPL230A [DATASHEET] Atmel-43053I-ATPL230A-Datasheet_04-May-16 WIDTH(1:0) CRC size [Bytes] “00” 1 “01” 2 “10” 3 “11” 4 8.3.1.12 Peripheral CRC Input Register Name: VCRC_INPUT Address: 0xFF17 Access: Read/Write Reset: 0x00 7 6 5 4 3 VCRC_INPUT (7:0) 2 1 0 This is an 8 bits register used to write the input bytes for CRC calculations. Each time a byte has been written in this register, the VCRC block detects the byte automatically and initiates the operation adding this new byte to previous calculations. ATPL230A [DATASHEET] Atmel-43053I-ATPL230A-Datasheet_04-May-16 39 8.3.1.13 Peripheral CRC Control Register Name: VCRC_CTL Address: 0xFF18 Access: Read/Write Reset: 0x00 7 0 6 0 5 0 4 BUSY 3 0 2 0 1 0 0 RESTART The VCRC_CTL register contains the following control bits: • BUSY: ‘0’: VCRC block is ready to receive a new data byte. ‘1’: VCRC block is busy performing calculations. Unable to write in VCRC_INPUT register. • RESTART: Configures desired circuit feedback type: 40 ‘0’: Reset disable. After a reset, RESTART bit is set to ‘0’ automatically after a period of time. ‘1’: Reset enable. Delete the actual VCRC_CRC register value and does not affect configuration registers. ATPL230A [DATASHEET] Atmel-43053I-ATPL230A-Datasheet_04-May-16 8.3.1.14 Peripheral CRC Value Register Name: VCRC_CRC Address: 0xFF19 (MSB) – 0xFF1C (LSB) Access: Read-only Reset: 0x00000000 31 30 .. .. .. VCRC_CRC (31:0) .. 1 0 This is a 32 bits register containing the final computed CRC value. The value in this register depends on the CRC size (bytes) selected in the control bits WIDTH1 and WIDTH0. ATPL230A [DATASHEET] Atmel-43053I-ATPL230A-Datasheet_04-May-16 41 8.3.2 AES Registers 8.3.2.1 Peripheral AES Key Register Name: AES_KEY Address: 0xFFA0 (MSB) – 0xFFAF (LSB) Access: Read/Write Reset: 0x00..00 127 126 .. .. .. AES_KEY (127:0) .. The register AES_KEY is used to store the 128 bits “KEY” of the encryption algorithm. 42 ATPL230A [DATASHEET] Atmel-43053I-ATPL230A-Datasheet_04-May-16 1 0 8.3.2.2 Peripheral AES Data Field Register Name: AES_DATA Address: 0xFFB0 (MSB) – 0xFFBF (LSB) Access: Read/Write Reset: 0x00..00 127 126 .. .. .. AES_DATA (127:0) .. 1 0 AES_DATA register is used to store the encrypted/decrypted data. The size of the data packet for an encryption/decryption operation is always 128 bits. ATPL230A [DATASHEET] Atmel-43053I-ATPL230A-Datasheet_04-May-16 43 8.3.2.3 Peripheral AES Control Register Name: AES_CTL Address: 0xFFC0 Access: Read/Write Reset: 0x04 7 - 6 - 5 - 4 RESET 3 - 2 READY The register AES_CTL contains some bits for control operation purposes. • RESET: Initializes the AES block: ‘0’: Reset disabled. ‘1’: Reset enabled. • READY: Indicates the encryption/decryption ongoing operation: ‘0’: Indicates encryption/decryption ongoing operation. ‘1’: Indicates encryption/decryption operation is done. • START: Initialize encrypt/decrypt process: ‘1’: Start selected functional mode. Automatically set to ‘0’ after process begins. • CIPHER: Configures functional mode: ‘0’: AES block is in decrypt (decode) mode. ‘1’: AES block is in encrypt (code) mode. 44 ATPL230A [DATASHEET] Atmel-43053I-ATPL230A-Datasheet_04-May-16 1 START 0 CIPHER 8.3.3 MAC Info Registers 8.3.3.1 BER SOFT Average Error Registers Name: Address: Access: Reset: 7 TXRXBUF_BERSOFT_AVG_RX0 0xFD57 Read-only 0x00 6 5 4 3 TXRXBUF_BERSOFT_AVG_RX0 2 1 0 After a message is received in BUF_RX0, this register stores the logarithm of the number of accumulated errors regarding the number of received bits, using Viterbi soft* decision. In PRIME v1.4 mode, it is calculated from the arithmetic average of the accumulated errors in each one of the four replicated symbols. The value is cleared by hardware each time a new message is received in BUF_RX0. Name: Address: Access: Reset: 7 TXRXBUF_BERSOFT_AVG_RX1 0xFD58 Read-only 0x00 6 5 4 3 TXRXBUF_BERSOFT_AVG_RX1 2 1 0 After a message is received in BUF_RX1, this register stores the logarithm of the number of accumulated errors regarding the number of received bits, using Viterbi soft* decision. In PRIME v1.4 mode, it is calculated from the arithmetic average of the accumulated errors in each one of the four replicated symbols. The value is cleared by hardware each time a new message is received in BUF_RX1. Name: Address: Access: Reset: 7 TXRXBUF_BERSOFT_AVG_RX2 0xFD59 Read-only 0x00 6 5 4 3 TXRXBUF_BERSOFT_AVG_RX2 2 1 0 After a message is received in BUF_RX2, this register stores the logarithm of the number of accumulated errors regarding the number of received bits, using Viterbi soft* decision. In PRIME v1.4 mode, it is calculated from the arithmetic average of the accumulated errors in each one of the four replicated symbols. The value is cleared by hardware each time a new message is received in BUF_RX2. Name: TXRXBUF_BERSOFT_AVG_RX3 Address: Access: Reset: 0xFD5A Read-only 0x00 7 6 5 4 3 TXRXBUF_BERSOFT_AVG_RX3 2 1 0 After a message is received in BUF_RX3, this register stores the logarithm of the number of accumulated errors regarding the number of received bits, using Viterbi soft* decision. In PRIME v1.4 mode, it is calculated from the ATPL230A [DATASHEET] Atmel-43053I-ATPL230A-Datasheet_04-May-16 45 arithmetic average of the accumulated errors in each one of the four replicated symbols. The value is cleared by hardware each time a new message is received in BUF_RX3. * Viterbi Soft Decision: in “soft” decision there are sixteen decision levels. Once decodified, a strong ‘0’ is represented by a value of “0”, while a strong ‘1’ is represented by a value of “15”. The rest of values are intermediate, so “7” is used to represent a weak ‘0’ and “8” represents a weak ‘1’. Soft decision calculates the error in one bit received as the distance in decision levels between the value received (a value in the range 0 to 15) and the corrected one (0 or 15). Figure 8-2. Example of Viterbi Soft detection decision levels in a BPSK constellation Symbol Threshold Weak `1´ Weak `0´ Str on ge St 9 8 7 0´ r` ´ r `1 ge n ro 6 10 5 11 4 12 Decision Thresholds 3 Φ1 14 15 `1´ 46 ATPL230A [DATASHEET] Atmel-43053I-ATPL230A-Datasheet_04-May-16 Example: 2 13 Φ0 Received value = 0 Decodified value = Φex Error accumulated = +3 1 Φex 0 `0´ 8.3.3.2 BER SOFT Maximum Error Registers Name: Address: Access: Reset: 7 TXRXBUF_BERSOFT_MAX_RX0 0xFD5B Read-only 0x00 6 5 4 3 TXRXBUF_BERSOFT_MAX_RX0 2 1 0 Used only in PRIME v1.4 mode. After a message is received in BUF_RX0, this register stores the logarithm of the maximum error of the four replicated symbols, regarding the number of received bits, using Viterbi soft* decision. The value is cleared by hardware each time a new message is received in BUF_RX0. Name: Address: Access: Reset: 7 TXRXBUF_BERSOFT_MAX_RX1 0xFD5C Read-only 0x00 6 5 4 3 TXRXBUF_BERSOFT_MAX_RX1 2 1 0 Used only in PRIME v1.4 mode. After a message is received in BUF_RX1, this register stores the logarithm of the maximum error of the four replicated symbols, regarding the number of received bits, using Viterbi soft* decision. The value is cleared by hardware each time a new message is received in BUF_RX1. Name: TXRXBUF_BERSOFT_MAX_RX2 Address: Access: Reset: 0xFD5D Read-only 0x00 7 6 5 4 3 TXRXBUF_BERSOFT_MAX_RX2 2 1 0 Used only in PRIME v1.4 mode. After a message is received in BUF_RX2, this register stores the logarithm of the maximum error of the four replicated symbols, regarding the number of received bits, using Viterbi soft* decision. The value is cleared by hardware each time a new message is received in BUF_RX2. Name: Address: Access: Reset: 7 TXRXBUF_BERSOFT_MAX_RX3 0xFD5E Read-only 0x00 6 5 4 3 TXRXBUF_BERSOFT_MAX_RX3 2 1 0 Used only in PRIME v1.4 mode. After a message is received in BUF_RX3, this register stores the logarithm of the maximum error of the four replicated symbols, regarding the number of received bits, using Viterbi soft* decision. The value is cleared by hardware each time a new message is received in BUF_RX3. ATPL230A [DATASHEET] Atmel-43053I-ATPL230A-Datasheet_04-May-16 47 8.3.3.3 BER HARD Average Error Registers Name: Address: Access: Reset: 7 TXRXBUF_BERHARD_AVG_RX0 0xFD63 Read-only 0x00 6 5 4 3 TXRXBUF_BERHARD_AVG_RX0 2 1 0 After a message is received in BUF_RX0, this register stores the logarithm of the number of accumulated errors regarding the number of received bits, using Viterbi hard* decision. In PRIME v1.4 mode, it is calculated from the arithmetic average of the accumulated errors in each one of the four replicated symbols. The value is cleared by hardware each time a new message is received in BUF_RX0. Name: Address: Access: Reset: 7 TXRXBUF_BERHARD_AVG_RX1 0xFD64 Read-only 0x00 6 5 4 3 TXRXBUF_BERHARD_AVG_RX1 2 1 0 After a message is received in BUF_RX1, this register stores the logarithm of the number of accumulated errors regarding the number of received bits, using Viterbi hard* decision. In PRIME v1.4 mode, it is calculated from the arithmetic average of the accumulated errors in each one of the four replicated symbols. The value is cleared by hardware each time a new message is received in BUF_RX1. Name: Address: Access: Reset: 7 TXRXBUF_BERHARD_AVG_RX2 0xFD65 Read-only 0x00 6 5 4 3 TXRXBUF_BERHARD_AVG_RX2 2 1 0 After a message is received in BUF_RX2, this register stores the logarithm of the number of accumulated errors regarding the number of received bits, using Viterbi hard* decision. In PRIME v1.4 mode, it is calculated from the arithmetic average of the accumulated errors in each one of the four replicated symbols. The value is cleared by hardware each time a new message is received in BUF_RX2. Name: Address: Access: Reset: 7 TXRXBUF_BERHARD_AVG_RX3 0xFD66 Read-only 0x00 6 5 4 3 TXRXBUF_BERHARD_AVG_RX3 2 1 0 After a message is received in BUF_RX3, this register stores the logarithm of the number of accumulated errors regarding the number of received bits, using Viterbi hard* decision. In PRIME v1.4 mode, it is calculated from the 48 ATPL230A [DATASHEET] Atmel-43053I-ATPL230A-Datasheet_04-May-16 arithmetic average of the accumulated errors in each one of the four replicated symbols. The value is cleared by hardware each time a new message is received in BUF_RX3. * Viterbi Hard Decision: in “hard” detection there are only two decision levels. If the received value is different than the corrected one, the error value taken is “1”. Otherwise, the error value taken is “0”. Figure 8-3. Example of Viterbi Hard detection decision levels in a BPSK constellation Symbol Threshold = Decision Thresholds Weak `0´ Weak `1´ Str on ge r St ´ `0 `1´ er ng ro 0 1 Example: Received value = 0 Decodified value = Φex Error accumulated = +0 Φ1 Φ0 `1´ Φex `0´ ATPL230A [DATASHEET] Atmel-43053I-ATPL230A-Datasheet_04-May-16 49 8.3.3.4 BER HARD Maximum Error Registers Name: Address: Access: Reset: 7 TXRXBUF_BERHARD_MAX_RX0 0xFD67 Read-only 0x00 6 5 4 3 TXRXBUF_BERHARD_MAX_RX0 2 1 0 Used only in PRIME v1.4 mode. After a message is received in BUF_RX0, this register stores the logarithm of the maximum error of the four replicated symbols, regarding the number of received bits, using Viterbi hard* decision. The value is cleared by hardware each time a new message is received in BUF_RX0. Name: Address: Access: Reset: 7 TXRXBUF_BERHARD_MAX_RX1 0xFD68 Read-only 0x00 6 5 4 3 TXRXBUF_BERHARD_MAX_RX1 2 1 0 Used only in PRIME v1.4 mode. After a message is received in BUF_RX1, this register stores the logarithm of the maximum error of the four replicated symbols, regarding the number of received bits, using Viterbi hard* decision. The value is cleared by hardware each time a new message is received in BUF_RX1. Name: Address: Access: Reset: 7 TXRXBUF_BERHARD_MAX_RX2 0xFD69 Read-only 0x00 6 5 4 3 TXRXBUF_BERHARD_MAX_RX2 2 1 0 Used only in PRIME v1.4 mode. After a message is received in BUF_RX2, this register stores the logarithm of the maximum error of the four replicated symbols, regarding the number of received bits, using Viterbi hard* decision. The value is cleared by hardware each time a new message is received in BUF_RX2. Name: Address: Access: Reset: 7 TXRXBUF_BERHARD_MAX_RX3 0xFD6A Read-only 0x00 6 5 4 3 TXRXBUF_BERHARD_MAX_RX3 2 1 0 Used only in PRIME v1.4 mode. After a message is received in BUF_RX3, this register stores the logarithm of the maximum error of the four replicated symbols, regarding the number of received bits, using Viterbi hard* decision. The value is cleared by hardware each time a new message is received in BUF_RX3. 50 ATPL230A [DATASHEET] Atmel-43053I-ATPL230A-Datasheet_04-May-16 8.3.3.5 False Positive Configuration Register Name: FALSE_POSITIVE_CONFIG Address: 0xFEC4 Access: Read/Write Reset: 0x10 7 6 - - 5 ERR_CRC8 _MAC_HD 4 ERR_PROT OCOL 3 ERR_LEN 2 ERR_PAD_ LEN 1 0 ERR_PDU ERR_SP Through FALSE_POSITIVE_CONFIG register the user is able to configure FALSE_POSITIVE register behavior. When a flag of this register is set to ‘1’, the correspondent field of the packet is included in the false positive computation algorithm. False positive algorithm is only enabled in PRIME v1.3 mode. See “False Positive Counter Register” • ERR_CRC8_MAC_HD: Bad CRC8 MAC value (The one located at the header part of the packet). • ERR_PROTOCOL: Unsupported protocol field. • ERR_LEN: Invalid LEN field value. LEN field is located in the PRIME PPDU header and it defines the length of the payload (after coding) in OFDM symbols. See PRIME specification for further details about PPDU structure. • ERR_PAD_LEN: Invalid PAD_LEN value. PAD_LEN field is located in the PRIME PPDU header and it defines the length of the PAD field (after coding) in bytes. See PRIME specification for further details about PPDU structure. • ERR_PDU: Unsupported Header Type. • ERR_SP: Unsupported Security Protocol. ATPL230A [DATASHEET] Atmel-43053I-ATPL230A-Datasheet_04-May-16 51 8.3.3.6 False Positive Counter Register Name: FALSE_POSITIVE Address: 0xFEC5 (MSB) – 0xFEC6 (LSB) Access: Read-only Reset: 0x0000 15 14 13 7 6 5 12 11 FALSE_POSITIVE (15:8) 4 3 FALSE_POSITIVE (7:0) 10 9 8 2 1 0 This register holds the number of received PRIME v1.3 packets with a good CRC8_PHY value but with an unsupported value in any of the fields indicated by FALSE_POSITIVE_CONFIG register. Only a physical layer reset initializes the register. Note: 52 Once the register has reached its maximum value, a new error causes the register to roll over. ATPL230A [DATASHEET] Atmel-43053I-ATPL230A-Datasheet_04-May-16 9. PRIME PHY Layer 9.1 Overview The physical layer consists of a hardware implementation of the enhanced PRIME Physical Layer Entity, which is an Orthogonal Frequency Division Multiplexing (OFDM) system in the 42 kHz to 472 kHz frequency band. This PHY layer transmits and receives MPDUs (MAC Protocol Data Unit) between neighbor nodes. From the transmission point of view, the PHY layer receives its inputs from the MAC (Medium Access Control) layer. At the end of transmission branch, data is output to the physical channel. On the reception side, the PHY layer receives its inputs from the physical channel, and at the end of reception branch, the data flows to the MAC layer. A PHY layer block diagram is shown below: Figure 9-1. PHY Layer Block Diagram Convolutional Encoder from MAC layer Scrambler CRC Interleaver Cyclic Prefix BUF_TXi Sub-carrier Modulator IFFT PRIME PHY Layer to MAC layer BUF_RXi Sub-carrier Demodulator FFT CRC Interleaver Pre - FFT Syncro Convolutional Decoder Scrambler Converter / PAD Tx Gain Control AGC(5:0) TxRx Control TXRX0 Analog Front - End Control Converter TXRX1 Rx Carrier Detection The diagram can be divided in five sub-blocks: TxRx buffers, Transmission branch, Reception branch, Analog Front End control and Carrier Detection. ATPL230A [DATASHEET] Atmel-43053I-ATPL230A-Datasheet_04-May-16 53 9.1.1 TxRx Buffers There are 4 dedicated buffers for transmission (BUF_TX0, BUF_TX1, BUF_TX2 and BUF_TX3) and 4 dedicated buffers for reception (BUF_RX0, BUF_RX1, BUF_RX2, BUF_RX3). The main features are shown below: Table 9-1. TxRx Buffers features BUF_TXi Size configurable Number of buffers enabled configurable Start time forced or programmed Transmission can be forced regardless of the carrier detection and frames reception Transmission parameters configurable Error detector 9.1.2 BUF_RXi Size configurable Number of buffers enabled configurable Enable/Disable interrupts Parameters saved (BER, RSSI, CINR…) Transmission Branch PHY layer takes data to be sent from BUF_TXi. The Cyclic Redundancy Check (CRC) fields are hardware-generated in real time, and properly appended to the transmission data. The rest of the chain is hardware-wired, and performs automatically all the tasks needed to send data according to PRIME specifications. In the following figure, the block diagram of the transmission branch is shown. Figure 9-2. Transmission Branch Convolutional From BUF_TXi Encoder Scrambler CRC Interleaver Cyclic Prefix Sub - carrier Modulator IFFT Converter / PAD Tx The output is differential modulated using a DBPSK/DQPSK/D8PSK scheme. After modulation, IFFT (Inverse Fourier Transform) block and cyclic prefix block allow to implement an OFDM scheme. A Converter and a Power Amplifier Driver is the last block in the transmission branch. This block is responsible for adjusting the signal to reach the best transmission efficiency, thus reducing consumption and power dissipation. 9.1.3 Reception Branch The reception branch performs automatically all the tasks needed to process received data. PHY layer delivers data to MAC layer through the BUF_RXi. Figure 9-3. Reception Branch to BUF_RXi 54 Sub - carrier Demodulator FFT CRC Interleaver Pre - FFT Syncro Convolutional Decoder Scrambler ATPL230A [DATASHEET] Atmel-43053I-ATPL230A-Datasheet_04-May-16 Converter Rx 9.1.4 Analog Front End control 9.1.4.1 Gain control This block implements an Automatic Gain Control (AGC) which attenuates the PLC input signal via activating some outputs of the ATPL230A, so there is no saturation and therefore no distortion in the OFDM signal. There are 6 outputs of the ATPL230A controlled by this peripheral. AGC0, AGC1, AGC2, AGC3, AGC4 and AGC5. Please see reference design for further information and recommended external circuitry values. 9.1.4.2 TxRx control This block modifies the configuration of the external Analog Front End by means of TXRX outputs. There are two TXRX outputs, one for each TXDRV. These digital outputs are used to modify external filter conditions between transmission and reception. To allow different external circuitry topologies, the polarity of both signals can be inverted by hardware (see “TXRX Polarity Selector Register” ). Figure 9-4. TxRx control block diagram Gain Control TxRx Control TXDRV0 Emiter Control TXDRV1 Analog Front - End Control AGC [0:5] EMIT [0:5] TXRX0 External Analog Front - End EMIT [6:11] TXRX1 ATPL230A See reference design for further information about TxRx control. 9.1.5 Carrier Detection Looking for an easy detection of incoming messages, the PRIME specification defines a carrier detection algorithm that shall be based on preamble detection and header recognition. ATPL230A implements by hardware a set of detection techniques to control access to medium, thus improving frame synchronization in reception and decreasing collision ratio in transmission. 9.2 PHY parameters A complete description of the PRIME PHY Layer can be found in PRIME specification. Please refer to the PRIME specification provided by the PRIME Alliance in www.prime-alliance.org PRIME specifies a complete set of primitives to manage the PHY Layer, and the PHY-SAP (PHY Service Access Point) from MAC layer. Doc43048 “Atmel PRIME Implementation” integrates all these functions, making them transparent to the final user and simplifying the management. ATPL230A [DATASHEET] Atmel-43053I-ATPL230A-Datasheet_04-May-16 55 9.3 PHY Layer Registers 9.3.1 PHY Configuration Registers 9.3.1.1 PHY Layer Special Function Register Name: PHY_SFR Address: 0xFE2A Access: Read/Write Reset: 0x87 7 BCH_ERR 6 CD 5 UMD 4 - 3 - 2 - 1 - 0 INT_PHY • BCH_ERR: Busy Channel Error Flag This bit is cleared to ‘0’ by hardware to indicate the presence of an OFDM signal at the transmission instant. Otherwise, this field value is ‘1’. This bit is used for returning a result of “Busy Channel” in the PHY_DATA confirm primitive (see PRIME specification). • CD: Carrier Detect bit This bit is set to ‘1’ by hardware when an OFDM signal is detected, and it is active during the whole reception. This bit is used in channel access (CSMA-CA algorithm) for performing channel-sensing. • UMD: Unsupported Modulation Scheme flag This flag is set to ‘1’ by hardware every time a header with correct CRC is received, but the PROTOCOL field in this header indicates a modulation scheme not supported by the system. • INT_PHY: Physical Layer interruption This bit is internally connected to the EINT pin. It is Low level active and it is set to '0' by the PHY layer to trigger an interrupt in the external host. In reception, every time a PLC message is received, the PHY layer generates two interrupts. One of them when the physical header is correctly received (two first symbols), and the other one when the message is completely received. In transmission, an interrupt will be generated every time a complete message has been sent. The signal is cleared by writing '1' in the bit PHY_SFR(0). 56 ATPL230A [DATASHEET] Atmel-43053I-ATPL230A-Datasheet_04-May-16 9.3.1.2 Channel selector Register Name: CTPS Address: 0xFEFA (MSB) – 0xFEFD (LSB) Access: Read/Write Reset: 0x000150C7 31 23 30 22 29 21 15 14 13 7 6 5 28 27 20 19 CTPS(23:16) 12 11 CTPS(15:8) 4 3 CTPS(7:0) 26 18 25 17 24 CTPS (24) 16 10 9 8 2 1 0 Configures the channel: Value Name Description 0x000150C7 CHANNEL1 42 - 89 kHz 0x00026A44 CHANNEL2 97 - 144 kHz 0x000383C1 CHANNEL3 151 - 198 kHz 0x00049D3D CHANNEL4 206 - 253 kHz 0x0005B6BA CHANNEL5 261 - 308 kHz 0x0006D036 CHANNEL6 315 - 362 kHz 0x0007E9B3 CHANNEL7 370 - 417 kHz 0x00090330 CHANNEL8 425 - 472 kHz ATPL230A [DATASHEET] Atmel-43053I-ATPL230A-Datasheet_04-May-16 57 9.3.2 RX Buffers Registers 9.3.2.1 RX Time Registers Name: TXRXBUF_RECTIME_RX0 Address: 0xFD83 – 0xFD86 Access: Read-only Reset: 0x00000000 31 30 29 23 22 21 15 14 13 7 6 5 28 27 TXRXBUF_RECTIME_RX0 (31:24) 20 19 TXRXBUF_RECTIME_RX0 (23:16) 12 11 TXRXBUF_RECTIME_RX0 (15:8) 4 3 TXRXBUF_RECTIME_RX0 (7:0) 26 25 24 18 17 16 10 9 8 2 1 0 26 25 24 18 17 16 10 9 8 2 1 0 26 25 24 18 17 16 10 9 8 2 1 0 Reception Time in Buffer 0. Name: TXRXBUF_RECTIME_RX1 Address: 0xFD87 – 0xFD8A Access: Read-only Reset: 0x00000000 31 30 29 23 22 21 15 14 13 7 6 5 28 27 TXRXBUF_RECTIME_RX1 (31:24) 20 19 TXRXBUF_RECTIME_RX1 (23:16) 12 11 TXRXBUF_RECTIME_RX1 (15:8) 4 3 TXRXBUF_RECTIME_RX1 (7:0) Reception Time in Buffer 1. Name: TXRXBUF_RECTIME_RX2 Address: 0xFD8B – 0xFD8E Access: Read-only Reset: 0x00000000 31 30 29 23 22 21 15 14 13 7 6 5 Reception Time in Buffer 2. 58 ATPL230A [DATASHEET] Atmel-43053I-ATPL230A-Datasheet_04-May-16 28 27 TXRXBUF_RECTIME_RX2 (31:24) 20 19 TXRXBUF_RECTIME_RX2 (23:16) 12 11 TXRXBUF_RECTIME_RX2 (15:8) 4 3 TXRXBUF_RECTIME_RX2 (7:0) Name: TXRXBUF_RECTIME_RX3 Address: 0xFD8F – 0xFD92 Access: Read-only Reset: 0x00000000 31 30 29 23 22 21 15 14 13 7 6 5 28 27 TXRXBUF_RECTIME_RX3 (31:24) 20 19 TXRXBUF_RECTIME_RX3 (23:16) 12 11 TXRXBUF_RECTIME_RX3 (15:8) 4 3 TXRXBUF_RECTIME_RX3 (7:0) 26 25 24 18 17 16 10 9 8 2 1 0 Reception Time in Buffer 3. When there has been a reception, these registers show when it happened. ATPL230A [DATASHEET] Atmel-43053I-ATPL230A-Datasheet_04-May-16 59 9.3.2.2 Buffer Selection Register Name: TXRXBUF_SELECT_BUFF_RX Address: 0xFDD3 Access: Read/Write Reset: 0x00 7 - 6 - 5 - 4 - 3 SB3 2 SB2 Select Reception Buffer: It is used to establish what reception buffers are active. • SB0: Select Buffer 0 0: Disable Buffer 1: Enable Buffer • SB1: Select Buffer 1 0: Disable Buffer 1: Enable Buffer • SB2: Select Buffer 2 0: Disable Buffer 1: Enable Buffer • SB3: Select Buffer 3 0: Disable Buffer 1: Enable Buffer 60 ATPL230A [DATASHEET] Atmel-43053I-ATPL230A-Datasheet_04-May-16 1 SB1 0 SB0 9.3.2.3 RX Interrupts Register Name: TXRXBUF_RX_INT Address: 0xFDD4 Access: Read/Write Reset: 0x00 7 PI_RX3 6 PI_RX2 5 PI_RX1 4 PI_RX0 3 HI_RX3 2 HI_RX2 1 HI_RX1 0 HI_RX0 Interrupt Reception Register: When there is some issue with the reception, the micro is warned and then micro tests what buffer is affected through this register. • PI_RX3: Notice Payload Interrupt Reception Buffer 3 • PI_RX2: Notice Payload Interrupt Reception Buffer 2 • PI_RX1: Notice Payload Interrupt Reception Buffer 1 • PI_RX0: Notice Payload Interrupt Reception Buffer 0 • HI_RX3: Notice Header Interrupt Reception Buffer 3 • HI_RX2: Notice Header Interrupt Reception Buffer 2 • HI_RX1: Notice Header Interrupt Reception Buffer 1 • HI_RX0: Notice Header Interrupt Reception Buffer 0 ATPL230A [DATASHEET] Atmel-43053I-ATPL230A-Datasheet_04-May-16 61 9.3.2.4 RX Configuration Register Name: TXRXBUF_RXCONF Address: 0xFDD5 Access: Read/Write Reset: 0x02 7 DIS_RX3 6 DIS_RX2 5 DIS_RX1 4 DIS_RX0 3 2 NEXT_BUF 1 EH This register permits us configure/know several features in reception: Disable an active reception interrupt. Knowing what buffer will be the next to be written. Enable/disable header interruptions. Activate/deactivate the overwrite mode in buffer reception when a reception is received. • DIS_RX3: Disable Interrupt Buffer 3 0: Enabled 1: Disabled • DIS_RX2: Disable Interrupt Buffer 2 0: Enabled 1: Disabled • DIS_RX1: Disable Interrupt Buffer 1 0: Enabled 1: Disabled • DIS_RX0: Disable Interrupt Buffer 0 0: Enabled 1: Disabled • NEXT_BUF: It shows the next buffer which will be written 0: Buffer 0 1: Buffer 1 2: Buffer 2 3: Buffer 3 • EH: Disable header interruptions 0: Disabled 1: Enabled • MS: Enable overwrite mode 0: Disabled 1: Enabled 62 ATPL230A [DATASHEET] Atmel-43053I-ATPL230A-Datasheet_04-May-16 0 MS 9.3.2.5 RX Initial Address Registers Name: Address: Access: Reset: TXRXBUF_INITAD_RX0 0xFDD6 - 0xFDD7 Read/Write 0x0000 15 14 13 7 6 5 12 11 TXRXBUF_INITAD_RX0 (15:8) 4 3 TXRXBUF_INITAD_RX0 (7:0) 10 9 8 2 1 0 12 11 TXRXBUF_INITAD_RX1 (15:8) 4 3 TXRXBUF_INITAD_RX1 (7:0) 10 9 8 2 1 0 12 11 TXRXBUF_INITAD_RX2 (15:8) 4 3 TXRXBUF_INITAD_RX2 (7:0) 10 9 8 2 1 0 12 11 TXRXBUF_INITAD_RX3 (15:8) 4 3 TXRXBUF_INITAD_RX3 (7:0) 10 9 8 2 1 0 Initial Address of Reception Buffer 0. Name: Address: Access: Reset: TXRXBUF_INITAD_RX1 0xFDD8 - 0xFDD9 Read/Write 0x0000 15 14 13 7 6 5 Initial Address of Reception Buffer 1. Name: Address: Access: Reset: TXRXBUF_INITAD_RX2 0xFDDA - 0xFDDB Read/Write 0x0000 15 14 13 7 6 5 Initial Address of Reception Buffer 2. Name: Address: Access: Reset: TXRXBUF_INITAD_RX3 0xFDDC - 0xFDDD Read/Write 0x0000 15 14 13 7 6 5 Initial Address of Reception Buffer 3. These four registers contain four pointers to the beginning of the respective Rx buffer in peripheral memory (buffer 0 to 3). This way, buffers are configurable in both size and position. ATPL230A [DATASHEET] Atmel-43053I-ATPL230A-Datasheet_04-May-16 63 9.3.2.6 Robust RX Mode Register Name: TXRXBUF_RXCONF_ROBO_MODE Address: 0xFDF3 Access: Read-only Reset: 0x00 7 6 5 RC_RX3 4 3 RC_RX2 2 RC_RX1 This register shows the reception mode of each RX buffer: • RC_RX0: Buffer 0 reception mode. • RC_RX1: Buffer 1 reception mode. • RC_RX2: Buffer 2 reception mode. • RC_RX3: Buffer 3 reception mode. Value 64 Name Description 0 PRIME 1.3 Mode PRIME v1.3 1 Reserved Reserved 2 PRIME 1.4 PRIME v1.4 reception mode 3 PRIME 1.4 c PRIME v1.4 reception backwards compatible mode ATPL230A [DATASHEET] Atmel-43053I-ATPL230A-Datasheet_04-May-16 1 0 RC_RX0 9.3.3 RX Info Registers 9.3.3.1 Minimum RSSI Registers Name: TXRXBUF_RSSIMIN_RX0 Address: 0xFD6B Access: Read-only Reset: 0x00 7 6 5 4 3 TXRXBUF_RSSIMIN_RX0 2 1 0 This register stores the minimum RSSI (Received Signal Strength Indication) value measured in the last message received in BUF_RX0. The measurement is done at symbol level. The value is stored in dB. Name: TXRXBUF_RSSIMIN_RX1 Address: 0xFD6C Access: Read-only Reset: 0x00 7 6 5 4 3 TXRXBUF_RSSIMIN_RX1 2 1 0 This register stores the minimum RSSI (Received Signal Strength Indication) value measured in the last message received in BUF_RX1. The measurement is done at symbol level. The value is stored in dB. Name: TXRXBUF_RSSIMIN_RX2 Address: 0xFD6D Access: Read-only Reset: 0x00 7 6 5 4 3 TXRXBUF_RSSIMIN_RX2 2 1 0 This register stores the minimum RSSI (Received Signal Strength Indication) value measured in the last message received in BUF_RX2. The measurement is done at symbol level. The value is stored in dB. Name: TXRXBUF_RSSIMIN_RX3 Address: 0xFD6E Access: Read-only Reset: 0x00 7 6 5 4 3 TXRXBUF_RSSIMIN_RX3 2 1 0 This register stores the minimum RSSI (Received Signal Strength Indication) value measured in the last message received in BUF_RX3. The measurement is done at symbol level. The value is stored in dB. ATPL230A [DATASHEET] Atmel-43053I-ATPL230A-Datasheet_04-May-16 65 9.3.3.2 Average RSSI Registers Name: TXRXBUF_RSSIAVG_RX0 Address: 0xFD6F Access: Read-only Reset: 0x00 7 6 5 4 3 TXRXBUF_RSSIAVG_RX0 2 1 0 This register stores the average RSSI (Received Signal Strength Indication) value measured in the last message received in BUF_RX0. The measurement is done at symbol level. The value is stored in dB. Name: TXRXBUF_RSSIAVG_RX1 Address: 0xFD70 Access: Read-only Reset: 0x00 7 6 5 4 3 TXRXBUF_RSSIAVG_RX1 2 1 0 This register stores the average RSSI (Received Signal Strength Indication) value measured in the last message received in BUF_RX1. The measurement is done at symbol level. The value is stored in dB. Name: TXRXBUF_RSSIAVG_RX2 Address: 0xFD71 Access: Read-only Reset: 0x00 7 6 5 4 3 TXRXBUF_RSSIAVG_RX2 2 1 0 This register stores the average RSSI (Received Signal Strength Indication) value measured in the last message received in BUF_RX2. The measurement is done at symbol level. The value is stored in dB. Name: TXRXBUF_RSSIAVG_RX3 Address: 0xFD72 Access: Read-only Reset: 0x00 7 6 5 4 3 TXRXBUF_RSSIAVG_RX3 2 1 0 This register stores the average RSSI (Received Signal Strength Indication) value measured in the last message received in BUF_RX3. The measurement is done at symbol level. The value is stored in dB. 66 ATPL230A [DATASHEET] Atmel-43053I-ATPL230A-Datasheet_04-May-16 9.3.3.3 Maximum RSSI Registers Name: TXRXBUF_RSSIMAX_RX0 Address: 0xFD73 Access: Read-only Reset: 0x00 7 6 5 4 3 TXRXBUF_RSSIMAX_RX0 2 1 0 This register stores the maximum RSSI (Received Signal Strength Indication) value measured in the last message received in BUF_RX0. The measurement is done at symbol level. The value is stored in dB. Name: TXRXBUF_RSSIMAX_RX1 Address: 0xFD74 Access: Read-only Reset: 0x00 7 6 5 4 3 TXRXBUF_RSSIMAX_RX1 2 1 0 This register stores the maximum RSSI (Received Signal Strength Indication) value measured in the last message received in BUF_RX1. The measurement is done at symbol level. The value is stored in dB. Name: TXRXBUF_RSSIMAX_RX2 Address: 0xFD75 Access: Read-only Reset: 0x00 7 6 5 4 3 TXRXBUF_RSSIMAX_RX2 2 1 0 This register stores the maximum RSSI (Received Signal Strength Indication) value measured in the last message received in BUF_RX2. The measurement is done at symbol level. The value is stored in dB. Name: TXRXBUF_RSSIMAX_RX3 Address: 0xFD76 Access: Read-only Reset: 0x00 7 6 5 4 3 TXRXBUF_RSSIMAX_RX3 2 1 0 This register stores the maximum RSSI (Received Signal Strength Indication) value measured in the last message received in BUF_RX3. The measurement is done at symbol level. The value is stored in dB. ATPL230A [DATASHEET] Atmel-43053I-ATPL230A-Datasheet_04-May-16 67 9.3.3.4 Minimum CINR Registers Name: TXRXBUF_CINRMIN_RX0 Address: 0xFD77 Access: Read-only Reset: 0x00 7 6 5 4 3 TXRXBUF_CINRMIN_RX0 2 1 0 This register stores the minimum CINR (Carrier to Interference + Noise ratio) value measured in the last message received in BUF_RX0. The measurement is done at symbol level. The value is stored in ¼ dB steps. Name: TXRXBUF_CINRMIN_RX1 Address: 0xFD78 Access: Read-only Reset: 0x00 7 6 5 4 3 TXRXBUF_CINRMIN_RX1 2 1 0 This register stores the minimum CINR (Carrier to Interference + Noise ratio) value measured in the last message received in BUF_RX1. The measurement is done at symbol level. The value is stored in ¼ dB steps. Name: TXRXBUF_CINRMIN_RX2 Address: 0xFD79 Access: Read-only Reset: 0x00 7 6 5 4 3 TXRXBUF_CINRMIN_RX2 2 1 0 This register stores the minimum CINR (Carrier to Interference + Noise ratio) value measured in the last message received in BUF_RX2. The measurement is done at symbol level. The value is stored in ¼ dB steps. Name: TXRXBUF_CINRMIN_RX3 Address: 0xFD7A Access: Read-only Reset: 0x00 7 6 5 4 3 TXRXBUF_CINRMIN_RX3 2 1 0 This register stores the minimum CINR (Carrier to Interference + Noise ratio) value measured in the last message received in BUF_RX3. The measurement is done at symbol level. The value is stored in ¼ dB steps. 68 ATPL230A [DATASHEET] Atmel-43053I-ATPL230A-Datasheet_04-May-16 9.3.3.5 Average CINR Registers Name: TXRXBUF_CINRAVG_RX0 Address: 0xFD7B Access: Read-only Reset: 0x00 7 6 5 4 3 TXRXBUF_CINRAVG_RX0 2 1 0 This register stores the average CINR (Carrier to Interference + Noise ratio) value measured in the last message received in BUF_RX0. The measurement is done at symbol level. The value is stored in ¼ dB steps. Name: TXRXBUF_CINRAVG_RX1 Address: 0xFD7C Access: Read-only Reset: 0x00 7 6 5 4 3 TXRXBUF_CINRAVG_RX1 2 1 0 This register stores the average CINR (Carrier to Interference + Noise ratio) value measured in the last message received in BUF_RX1. The measurement is done at symbol level. The value is stored in ¼ dB steps. Name: TXRXBUF_CINRAVG_RX2 Address: 0xFD7D Access: Read-only Reset: 0x00 7 6 5 4 3 TXRXBUF_CINRAVG_RX2 2 1 0 This register stores the average CINR (Carrier to Interference + Noise ratio) value measured in the last message received in BUF_RX2. The measurement is done at symbol level. The value is stored in ¼ dB steps. Name: TXRXBUF_CINRAVG_RX3 Address: 0xFD7E Access: Read-only Reset: 0x00 7 6 5 4 3 TXRXBUF_CINRAVG_RX3 2 1 0 This register stores the average CINR (Carrier to Interference + Noise ratio) value measured in the last message received in BUF_RX3. The measurement is done at symbol level. The value is stored in ¼ dB steps. ATPL230A [DATASHEET] Atmel-43053I-ATPL230A-Datasheet_04-May-16 69 9.3.3.6 Maximum CINR Registers Name: TXRXBUF_CINRMAX_RX0 Address: 0xFD7F Access: Read-only Reset: 0x00 7 6 5 4 3 TXRXBUF_CINRMAX_RX0 2 1 0 This register stores the maximum CINR (Carrier to Interference + Noise ratio) value measured in the last message received in BUF_RX0. The measurement is done at symbol level. The value is stored in ¼ dB steps. Name: TXRXBUF_CINRMAX_RX1 Address: 0xFD80 Access: Read-only Reset: 0x00 7 6 5 4 3 TXRXBUF_CINRMAX_RX1 2 1 0 This register stores the maximum CINR (Carrier to Interference + Noise ratio) value measured in the last message received in BUF_RX1. The measurement is done at symbol level. The value is stored in ¼ dB steps. Name: TXRXBUF_CINRMAX_RX2 Address: 0xFD81 Access: Read-only Reset: 0x00 7 6 5 4 3 TXRXBUF_CINRMAX_RX2 2 1 0 This register stores the maximum CINR (Carrier to Interference + Noise ratio) value measured in the last message received in BUF_RX2. The measurement is done at symbol level. The value is stored in ¼ dB steps. Name: TXRXBUF_CINRMAX_RX3 Address: 0xFD82 Access: Read-only Reset: 0x00 7 6 5 4 3 TXRXBUF_CINRMAX_RX3 2 1 0 This register stores the maximum CINR (Carrier to Interference + Noise ratio) value measured in the last message received in BUF_RX3. The measurement is done at symbol level. The value is stored in ¼ dB steps. 70 ATPL230A [DATASHEET] Atmel-43053I-ATPL230A-Datasheet_04-May-16 9.3.3.7 Header EVM Registers Name: TXRXBUF_EVM_HD_RX0 Address: 0xFDA3 - 0xFDA4 Access: Read-only Reset: 0x0000 15 14 13 12 11 TXRXBUF_EVM_HD_RX0 (15:8) 10 9 8 7 6 5 4 3 TXRXBUF_EVM_HD_RX0 (7:0) 2 1 0 This register stores the maximum EVM (Error Vector Magnitude) measured in the reception of the last message header in BUF_RX0. The 7 msb, TXRXBUF_EVM_HD_RX0 (15:9), represent the integer part in %, being the TXRXBUF_EVM_HD_RX0 (8:0) bits the fractional part if more precision were required. This register is used by the physical layer for being in accordance with PRIME specification. Name: TXRXBUF_EVM_HD_RX1 Address: 0xFDA5 - 0xFDA6 Access: Read-only Reset: 0x0000 15 14 13 12 11 TXRXBUF_EVM_HD_RX1 (15:8) 10 9 8 7 6 5 4 3 TXRXBUF_EVM_HD_RX1 (7:0) 2 1 0 This register stores the maximum EVM (Error Vector Magnitude) measured in the reception of the last message header in BUF_RX1. The 7 msb, TXRXBUF_EVM_HD_RX1 (15:9), represent the integer part in %, being the TXRXBUF_EVM_HD_RX1 (8:0) bits the fractional part if more precision were required. This register is used by the physical layer for being in accordance with PRIME specification. Name: TXRXBUF_EVM_HD_RX2 Address: 0xFDA7 - 0xFDA8 Access: Read-only Reset: 0x0000 15 14 13 12 11 TXRXBUF_EVM_HD_RX2 (15:8) 10 9 8 7 6 5 4 3 TXRXBUF_EVM_HD_RX2 (7:0) 2 1 0 This register stores the maximum EVM (Error Vector Magnitude) measured in the reception of the last message header in BUF_RX2. The 7 msb, TXRXBUF_EVM_HD_RX2 (15:9), represent the integer part in %, being the TXRXBUF_EVM_HD_RX2 (8:0) bits the fractional part if more precision were required. This register is used by the physical layer for being in accordance with PRIME specification. ATPL230A [DATASHEET] Atmel-43053I-ATPL230A-Datasheet_04-May-16 71 Name: TXRXBUF_EVM_HD_RX3 Address: 0xFDA9 - 0xFDAA Access: Read-only Reset: 0x0000 15 14 13 12 11 TXRXBUF_EVM_HD_RX3 (15:8) 10 9 8 7 6 5 4 3 TXRXBUF_EVM_HD_RX3 (7:0) 2 1 0 This register stores the maximum EVM (Error Vector Magnitude) measured in the reception of the last message header in BUF_RX3. The 7 msb, TXRXBUF_EVM_HD_RX3 (15:9), represent the integer part in %, being the TXRXBUF_EVM_HD_RX3 (8:0) bits the fractional part if more precision were required. This register is used by the physical layer for being in accordance with PRIME specification. 72 ATPL230A [DATASHEET] Atmel-43053I-ATPL230A-Datasheet_04-May-16 9.3.3.8 Payload EVM Registers Name: TXRXBUF_EVM_PYLD_RX0 Address: 0xFDAB - 0xFDAC Access: Read-only Reset: 0x0000 15 14 13 12 11 TXRXBUF_EVM_PYLD_RX0 (15:8) 10 9 8 7 6 5 4 3 TXRXBUF_EVM_PYLD_RX0 (7:0) 2 1 0 This register stores the maximum EVM (Error Vector Magnitude) measured in the reception of the last message payload in BUF_RX0. The 7 msb, TXRXBUF_EVM_PYLD_RX0 (15:9), represent the integer part in %, being the TXRXBUF_EVM_PYLD_RX0 (8:0) bits the fractional part if more precision were required. Name: TXRXBUF_EVM_PYLD_RX1 Address: 0xFDAD - 0xFDAE Access: Read-only Reset: 0x0000 15 14 13 12 11 TXRXBUF_EVM_PYLD_RX1 (15:8) 10 9 8 7 6 5 4 3 TXRXBUF_EVM_PYLD_RX1 (7:0) 2 1 0 This register stores the maximum EVM (Error Vector Magnitude) measured in the reception of the last message payload in BUF_RX1. The 7 msb, TXRXBUF_EVM_PYLD_RX1 (15:9), represent the integer part in %, being the TXRXBUF_EVM_PYLD_RX1 (8:0) bits the fractional part if more precision were required. Name: TXRXBUF_EVM_PYLD_RX2 Address: 0xFDAF - 0xFDB0 Access: Read-only Reset: 0x0000 15 14 13 12 11 TXRXBUF_EVM_PYLD_RX2 (15:8) 10 9 8 7 6 5 4 3 TXRXBUF_EVM_PYLD_RX2 (7:0) 2 1 0 This register stores the maximum EVM (Error Vector Magnitude) measured in the reception of the last message payload in BUF_RX2. The 7 msb, TXRXBUF_EVM_PYLD_RX2 (15:9), represent the integer part in %, being the TXRXBUF_EVM_PYLD_RX2 (8:0) bits the fractional part if more precision were required. ATPL230A [DATASHEET] Atmel-43053I-ATPL230A-Datasheet_04-May-16 73 Name: TXRXBUF_EVM_PYLD_RX3 Address: 0xFDB1 - 0xFDB2 Access: Read-only Reset: 0x0000 15 14 13 12 11 TXRXBUF_EVM_PYLD_RX3 (15:8) 10 9 8 7 6 5 4 3 TXRXBUF_EVM_PYLD_RX3 (7:0) 2 1 0 This register stores the maximum EVM (Error Vector Magnitude) measured in the reception of the last message payload in BUF_RX3. The 7 msb, TXRXBUF_EVM_PYLD_RX3 (15:9), represent the integer part in %, being the TXRXBUF_EVM_PYLD_RX3 (8:0) bits the fractional part if more precision were required. 74 ATPL230A [DATASHEET] Atmel-43053I-ATPL230A-Datasheet_04-May-16 9.3.3.9 Accumulated Header EVM Registers Name: TXRXBUF_EVM_HDACUM_RX0 Address: 0xFDB3 - 0xFDB6 Access: Read-only Reset: 0x00000000 31 30 29 28 27 26 TXRXBUF_EVM_HDACUM_RX0 (20:13) 25 24 23 22 21 20 19 18 TXRXBUF_EVM_HDACUM_RX0 (12:5) 17 16 15 7 0 14 13 12 TXRXBUF_EVM_HDACUM_RX0 (4:0) 6 0 5 0 4 0 11 10 0 9 0 8 0 3 0 2 0 1 0 0 0 When receiving an OFDM symbol, the total sum of all its individual carriers EVMs (Error Vector Magnitude) is calculated in order to further calculate the average EVM value. This register stores the maximum total sum between the two OFDM symbols received in the last message header in BUF_RX0. Name: TXRXBUF_EVM_HDACUM_RX1 Address: 0xFDB7 - 0xFDBA Access: Read-only Reset: 0x00000000 31 30 29 28 27 26 TXRXBUF_EVM_HDACUM_RX1 (20:13) 25 24 23 22 21 20 19 18 TXRXBUF_EVM_HDACUM_RX1 (12:5) 17 16 15 7 0 14 13 12 TXRXBUF_EVM_HDACUM_RX1 (4:0) 6 0 5 0 4 0 11 10 0 9 0 8 0 3 0 2 0 1 0 0 0 When receiving an OFDM symbol, the total sum of all its individual carriers EVMs (Error Vector Magnitude) is calculated in order to further calculate the average EVM value. This register stores the maximum total sum between the two OFDM symbols received in the last message header in BUF_RX1. ATPL230A [DATASHEET] Atmel-43053I-ATPL230A-Datasheet_04-May-16 75 Name: TXRXBUF_EVM_HDACUM_RX2 Address: 0xFDBB - 0xFDBE Access: Read-only Reset: 0x00000000 31 30 29 28 27 26 TXRXBUF_EVM_HDACUM_RX2 (20:13) 25 24 23 22 21 20 19 18 TXRXBUF_EVM_HDACUM_RX2 (12:5) 17 16 15 7 0 14 13 12 TXRXBUF_EVM_HDACUM_RX2 (4:0) 6 0 5 0 4 0 11 10 0 9 0 8 0 3 0 2 0 1 0 0 0 When receiving an OFDM symbol, the total sum of all its individual carriers EVMs (Error Vector Magnitude) is calculated in order to further calculate the average EVM value. This register stores the maximum total sum between the two OFDM symbols received in the last message header in BUF_RX2. Name: TXRXBUF_EVM_HDACUM_RX3 Address: 0xFDBF - 0xFDC2 Access: Read-only Reset: 0x00000000 31 30 29 28 27 26 TXRXBUF_EVM_HDACUM_RX3 (20:13) 25 24 23 22 21 20 19 18 TXRXBUF_EVM_HDACUM_RX3 (12:5) 17 16 15 7 0 14 13 12 TXRXBUF_EVM_HDACUM_RX3 (4:0) 6 0 5 0 4 0 11 10 0 9 0 8 0 3 0 2 0 1 0 0 0 When receiving an OFDM symbol, the total sum of all its individual carriers EVMs (Error Vector Magnitude) is calculated in order to further calculate the average EVM value. This register stores the maximum total sum between the two OFDM symbols received in the last message header in BUF_RX3. 76 ATPL230A [DATASHEET] Atmel-43053I-ATPL230A-Datasheet_04-May-16 9.3.3.10 Accumulated Payload EVM Registers Name: TXRXBUF_EVM_PYLACUM_RX0 Address: 0xFDC3 - 0xFDC6 Access: Read-only Reset: 0x00000000 31 30 29 28 27 26 TXRXBUF_EVM_PYLACUM_RX0 (20:13) 25 24 23 22 21 20 19 18 TXRXBUF_EVM_PYLACUM_RX0 (12:5) 17 16 15 7 0 14 13 12 TXRXBUF_EVM_PYLACUM_RX0 (4:0) 6 0 5 0 4 0 11 10 0 9 0 8 0 3 0 2 0 1 0 0 0 When receiving an OFDM symbol, the total sum of all its individual carriers EVMs (Error Vector Magnitude) is calculated in order to further calculate the average EVM value. This register stores the maximum total sum between the two OFDM symbols received in the last message payload in BUF_RX0. Name: TXRXBUF_EVM_PYLACUM_RX1 Address: 0xFDC7 - 0xFDCA Access: Read-only Reset: 0x00000000 31 30 29 28 27 26 TXRXBUF_EVM_PYLACUM_RX1 (20:13) 25 24 23 22 21 20 19 18 TXRXBUF_EVM_PYLACUM_RX1 (12:5) 17 16 15 7 0 14 13 12 TXRXBUF_EVM_PYLACUM_RX1 (4:0) 6 0 5 0 4 0 11 10 0 9 0 8 0 3 0 2 0 1 0 0 0 When receiving an OFDM symbol, the total sum of all its individual carriers EVMs (Error Vector Magnitude) is calculated in order to further calculate the average EVM value. This register stores the maximum total sum between the two OFDM symbols received in the last message payload in BUF_RX1. ATPL230A [DATASHEET] Atmel-43053I-ATPL230A-Datasheet_04-May-16 77 Name: TXRXBUF_EVM_PYLACUM_RX2 Address: 0xFDCB - 0xFDCE Access: Read-only Reset: 0x00000000 31 30 29 28 27 26 TXRXBUF_EVM_PYLACUM_RX2 (20:13) 25 24 23 22 21 20 19 18 TXRXBUF_EVM_PYLACUM_RX2 (12:5) 17 16 15 7 0 14 13 12 TXRXBUF_EVM_PYLACUM_RX2 (4:0) 6 0 5 0 4 0 11 10 0 9 0 8 0 3 0 2 0 1 0 0 0 When receiving an OFDM symbol, the total sum of all its individual carriers EVMs (Error Vector Magnitude) is calculated in order to further calculate the average EVM value. This register stores the maximum total sum between the two OFDM symbols received in the last message payload in BUF_RX2. Name: TXRXBUF_EVM_PYLACUM_RX3 Address: 0xFDCF - 0xFDD2 Access: Read-only Reset: 0x00000000 31 30 29 28 27 26 TXRXBUF_EVM_PYLACUM_RX3 (20:13) 25 24 23 22 21 20 19 18 TXRXBUF_EVM_PYLACUM_RX3 (12:5) 17 16 15 7 0 14 13 12 TXRXBUF_EVM_PYLACUM_RX3 (4:0) 6 0 5 0 4 0 11 10 0 9 0 8 0 3 0 2 0 1 0 0 0 When receiving an OFDM symbol, the total sum of all its individual carriers EVMs (Error Vector Magnitude) is calculated in order to further calculate the average EVM value. This register stores the maximum total sum between the two OFDM symbols received in the last message payload in BUF_RX3. 78 ATPL230A [DATASHEET] Atmel-43053I-ATPL230A-Datasheet_04-May-16 9.3.4 TX Config Registers 9.3.4.1 Global Amplitude Registers Name: TXRXBUF_GLBL_AMP_TX0 Address: 0xFD20 Access: Read/Write Reset: 0xFF 7 6 5 4 3 TXRXBUF_GLBL_AMP_TX0 2 1 0 Being “Amax” the maximum voltage reachable in the external driver MOS couple, this register sets the global amplitude for the transmitted frame (chirp+header+payload), when BUF_TX0 is used, following this formula: Name: TXRXBUF_GLBL_AMP_TX1 Address: 0xFD21 Access: Read/Write Reset: 0xFF 7 6 5 4 3 TXRXBUF_GLBL_AMP_TX1 2 1 0 Being “Amax” the maximum voltage reachable in the external driver MOS couple, this register sets the global amplitude for the transmitted frame (chirp+header+payload), when BUF_TX1 is used, following this formula: Name: TXRXBUF_GLBL_AMP_TX2 Address: 0xFD22 Access: Read/Write Reset: 0xFF 7 6 5 4 3 TXRXBUF_GLBL_AMP_TX2 2 1 0 Being “Amax” the maximum voltage reachable in the external driver MOS couple, this register sets the global amplitude for the transmitted frame (chirp+header+payload), when BUF_TX2 is used, following this formula: ATPL230A [DATASHEET] Atmel-43053I-ATPL230A-Datasheet_04-May-16 79 Name: TXRXBUF_GLBL_AMP_TX3 Address: 0xFD23 Access: Read/Write Reset: 0xFF 7 6 5 4 3 TXRXBUF_GLBL_AMP_TX3 2 1 0 Being “Amax” the maximum voltage reachable in the external driver MOS couple, this register sets the global amplitude for the transmitted frame (chirp+header+payload), when BUF_TX3 is used, following this formula: 80 ATPL230A [DATASHEET] Atmel-43053I-ATPL230A-Datasheet_04-May-16 9.3.4.2 Signal Amplitude Registers Name: TXRXBUF_SGNL_AMP_TX0 Address: 0xFD24 Access: Read/Write Reset: 0x60 7 6 5 4 3 TXRXBUF_SGNL_AMP_TX0 2 1 0 This register stores the amplitude value for the transmitted frame (only header+payload; chirp not affected), when BUF_TX0 is used. If this value is equal to 0xFF, the header+payload transmitted are not attenuated. If this register is equal to 0x00, the header+payload are nullified. Name: TXRXBUF_SGNL_AMP_TX1 Address: 0xFD25 Access: Read/Write Reset: 0x60 7 6 5 4 3 TXRXBUF_SGNL_AMP_TX1 2 1 0 This register stores the amplitude value for the transmitted frame (only header+payload; chirp not affected), when BUF_TX1 is used. If this value is equal to 0xFF, the header+payload transmitted are not attenuated. If this register is equal to 0x00, the header+payload are nullified. Name: TXRXBUF_SGNL_AMP_TX2 Address: 0xFD26 Access: Read/Write Reset: 0x60 7 6 5 4 3 TXRXBUF_SGNL_AMP_TX2 2 1 0 This register stores the amplitude value for the transmitted frame (only header+payload; chirp not affected), when BUF_TX2 is used. If this value is equal to 0xFF, the header+payload transmitted are not attenuated. If this register is equal to 0x00, the header+payload are nullified. Name: TXRXBUF_SGNL_AMP_TX3 Address: 0xFD27 Access: Read/Write Reset: 0x60 7 6 5 4 3 TXRXBUF_SGNL_AMP_TX3 2 1 0 This register stores the amplitude value for the transmitted frame (only header+payload; chirp not affected), when BUF_TX3 is used. If this value is equal to 0xFF, the header+payload transmitted are not attenuated. If this register is equal to 0x00, the header+payload are nullified. ATPL230A [DATASHEET] Atmel-43053I-ATPL230A-Datasheet_04-May-16 81 9.3.4.3 Chirp Amplitude Registers Name: TXRXBUF_CHIRP_AMP_TX0 Address: 0xFD28 Access: Read/Write Reset: 0x60 7 6 5 4 3 TXRXBUF_CHIRP_AMP_TX0 2 1 0 This register stores the amplitude value for the transmitted chirp (header and payload not affected), when BUF_TX0 is used. If this value is equal to 0xFF, the chirp transmitted is not attenuated. If this register is equal to 0x00, the chirp is nullified. Name: TXRXBUF_CHIRP_AMP_TX1 Address: 0xFD29 Access: Read/Write Reset: 0x60 7 6 5 4 3 TXRXBUF_CHIRP_AMP_TX1 2 1 0 This register stores the amplitude value for the transmitted chirp (header and payload not affected), when BUF_TX1 is used. If this value is equal to 0xFF, the chirp transmitted is not attenuated. If this register is equal to 0x00, the chirp is nullified. Name: TXRXBUF_CHIRP_AMP_TX2 Address: 0xFD2A Access: Read/Write Reset: 0x60 7 6 5 4 3 TXRXBUF_CHIRP_AMP_TX2 2 1 0 This register stores the amplitude value for the transmitted chirp (header and payload not affected), when BUF_TX2 is used. If this value is equal to 0xFF, the chirp transmitted is not attenuated. If this register is equal to 0x00, the chirp is nullified. Name: TXRXBUF_CHIRP_AMP_TX3 Address: 0xFD2B Access: Read/Write Reset: 0x60 7 6 5 4 3 TXRXBUF_CHIRP_AMP_TX3 2 1 0 This register stores the amplitude value for the transmitted chirp (header and payload not affected), when BUF_TX3 is used. If this value is equal to 0xFF, the chirp transmitted is not attenuated. If this register is equal to 0x00, the chirp is nullified. 82 ATPL230A [DATASHEET] Atmel-43053I-ATPL230A-Datasheet_04-May-16 9.3.5 TX Buffers Registers 9.3.5.1 TX Time Registers Name: TXRXBUF_EMITIME_TX0 Address: 0xFD00 - 0xFD03 Access: Read/Write Reset: 0x00000000 31 30 29 23 22 21 15 14 13 7 6 5 28 27 TXRXBUF_EMITIME_TX0 (31:24) 20 19 TXRXBUF_EMITIME_TX0 (23:16) 12 11 TXRXBUF_EMITIME_TX0 (15:8) 4 3 TXRXBUF_EMITIME_TX0 (7:0) 26 25 24 18 17 16 10 9 8 2 1 0 28 27 TXRXBUF_EMITIME_TX1 (31:24) 20 19 TXRXBUF_EMITIME_TX1 (23:16) 12 11 TXRXBUF_EMITIME_TX1 (15:8) 4 3 TXRXBUF_EMITIME_TX1 (7:0) 26 25 24 18 17 16 10 9 8 2 1 0 28 27 TXRXBUF_EMITIME_TX2 (31:24) 20 19 TXRXBUF_EMITIME_TX2 (23:16) 12 11 TXRXBUF_EMITIME_TX2 (15:8) 4 3 TXRXBUF_EMITIME_TX2 (7:0) 26 25 24 18 17 16 10 9 8 2 1 0 Transmission time of Buffer 0. Name: TXRXBUF_EMITIME_TX1 Address: 0xFD04 - 0xFD07 Access: Read/Write Reset: 0x00000000 31 30 29 23 22 21 15 14 13 7 6 5 Transmission time of Buffer 1. Name: TXRXBUF_EMITIME_TX2 Address: 0xFD08 - 0xFD0B Access: Read/Write Reset: 0x00000000 31 30 29 23 22 21 15 14 13 7 6 5 Transmission time of Buffer 2. ATPL230A [DATASHEET] Atmel-43053I-ATPL230A-Datasheet_04-May-16 83 Name: TXRXBUF_EMITIME_TX3 Address: 0xFD0C - 0xFD0F Access: Read/Write Reset: 0x00000000 31 30 29 23 22 21 15 14 13 7 6 5 28 27 TXRXBUF_EMITIME_TX3 (31:24) 20 19 TXRXBUF_EMITIME_TX3 (23:16) 12 11 TXRXBUF_EMITIME_TX3 (15:8) 4 3 TXRXBUF_EMITIME_TX3 (7:0) 26 25 24 18 17 16 10 9 8 2 1 0 Transmission time of Buffer 3. These registers contain the time value (referenced to the 20-bit PHY layer global timer) when a programmed transmission in the corresponding buffer shall begin. 84 ATPL230A [DATASHEET] Atmel-43053I-ATPL230A-Datasheet_04-May-16 9.3.5.2 TX Post-activation Time TxRx Registers Name: Address: Access: Reset: TXRXBUF_TXRX_TA_TX0 0xFD10 - 0xFD11 Read/Write 0x0000 15 14 13 7 6 5 12 11 TXRXBUF_TXRX_TA_TX0 (15:8) 4 3 TXRXBUF_TXRX_TA_TX0 (7:0) 10 9 8 2 1 0 10 9 8 2 1 0 10 9 8 2 1 0 10 9 8 2 1 0 Post-activation time TxRx of Buffer 0. Name: Address: Access: Reset: TXRXBUF_TXRX_TA_TX1 0xFD12 - 0xFD13 Read/Write 0x0000 15 14 13 7 6 5 12 11 TXRXBUF_TXRX_TA_TX1 (15:8) 4 3 TXRXBUF_TXRX_TA_TX1 (7:0) Post-activation time TxRx of Buffer 1. Name: Address: Access: Reset: TXRXBUF_TXRX_TA_TX2 0xFD14 - 0xFD15 Read/Write 0x0000 15 14 13 7 6 5 12 11 TXRXBUF_TXRX_TA_TX2 (15:8) 4 3 TXRXBUF_TXRX_TA_TX2 (7:0) Post-activation time TxRx of Buffer 2. Name: Address: Access: Reset: TXRXBUF_TXRX_TA_TX3 0xFD16 - 0xFD17 Read/Write 0x0000 15 14 13 7 6 5 12 11 TXRXBUF_TXRX_TA_TX3 (15:8) 4 3 TXRXBUF_TXRX_TA_TX3 (7:0) Post-activation time TxRx of Buffer 3. The user can modify these registers to set the period of time to maintain active (according to polarity) TXRX output signals once a transmission has finished. This parameter is useful to improve the external coupling transient response. When automatic TxRx has been selected, in these registers must be set this time for the suitable buffer. ATPL230A [DATASHEET] Atmel-43053I-ATPL230A-Datasheet_04-May-16 85 9.3.5.3 TX Pre-activation Time TxRx Registers Name: Address: Access: Reset: TXRXBUF_TXRX_TB_TX0 0xFD18 - 0xFD19 Read/Write 0x0000 15 14 13 7 6 5 12 11 TXRXBUF_TXRX_TB_TX0 (15:8) 4 3 TXRXBUF_TXRX_TB_TX0 (7:0) 10 9 8 2 1 0 10 9 8 2 1 0 10 9 8 2 1 0 10 9 8 2 1 0 Pre-activation time TxRx of Buffer 0. Name: Address: Access: Reset: TXRXBUF_TXRX_TB_TX1 0xFD1A - 0xFD1B Read/Write 0x0000 15 14 13 7 6 5 12 11 TXRXBUF_TXRX_TB_TX1 (15:8) 4 3 TXRXBUF_TXRX_TB_TX1 (7:0) Pre-activation time TxRx of Buffer 1. Name: Address: Access: Reset: TXRXBUF_TXRX_TB_TX2 0xFD1C - 0xFD1D Read/Write 0x0000 15 14 13 7 6 5 12 11 TXRXBUF_TXRX_TB_TX2 (15:8) 4 3 TXRXBUF_TXRX_TB_TX2 (7:0) Pre-activation time TxRx of Buffer 2. Name: Address: Access: Reset: TXRXBUF_TXRX_TB_TX3 0xFD1E - 0xFD1F Read/Write 0x0000 15 14 13 7 6 5 12 11 TXRXBUF_TXRX_TB_TX3 (15:8) 4 3 TXRXBUF_TXRX_TB_TX3 (7:0) Pre-activation time TxRx of Buffer 3. The user can modify these registers to specify the period of time to set active (according to polarity) TXRX output signals before a transmission starts. This parameter is useful to improve the external coupling transient response. When automatic TxRx has been selected, in these registers must be set this time for the suitable buffer. 86 ATPL230A [DATASHEET] Atmel-43053I-ATPL230A-Datasheet_04-May-16 9.3.5.4 TX Timeout Registers Name: Address: Access: Reset: TXRXBUF_TIMEOUT_TX0 0xFD2C - 0xFD2F Read/Write 0x000124F8 31 30 29 23 22 21 15 14 13 7 6 5 28 27 TXRXBUF_TIMEOUT_TX0 (31:24) 20 19 TXRXBUF_TIMEOUT_TX0 (23:16) 12 11 TXRXBUF_TIMEOUT_TX0 (15:8) 4 3 TXRXBUF_TIMEOUT_TX0 (7:0) 26 25 24 18 17 16 10 9 8 2 1 0 26 25 24 18 17 16 10 9 8 2 1 0 26 25 24 18 17 16 10 9 8 2 1 0 Timeout Buffer 0. Name: Address: Access: Reset: TXRXBUF_TIMEOUT_TX1 0xFD30 - 0xFD33 Read/Write 0x000124F8 31 30 29 23 22 21 15 14 13 7 6 5 28 27 TXRXBUF_TIMEOUT_TX1 (31:24) 20 19 TXRXBUF_TIMEOUT_TX1 (23:16) 12 11 TXRXBUF_TIMEOUT_TX1 (15:8) 4 3 TXRXBUF_TIMEOUT_TX1 (7:0) Timeout Buffer 1. Name: Address: Access: Reset: TXRXBUF_TIMEOUT_TX2 0xFD34 - 0xFD37 Read/Write 0x000124F8 31 30 29 23 22 21 15 14 13 7 6 5 28 27 TXRXBUF_TIMEOUT_TX2 (31:24) 20 19 TXRXBUF_TIMEOUT_TX2 (23:16) 12 11 TXRXBUF_TIMEOUT_TX2 (15:8) 4 3 TXRXBUF_TIMEOUT_TX2 (7:0) Timeout Buffer 2. ATPL230A [DATASHEET] Atmel-43053I-ATPL230A-Datasheet_04-May-16 87 Name: Address: Access: Reset: TXRXBUF_TIMEOUT_TX3 0xFD38 - 0xFD3B Read/Write 0x000124F8 31 30 29 23 22 21 15 14 13 7 6 5 28 27 TXRXBUF_TIMEOUT_TX3 (31:24) 20 19 TXRXBUF_TIMEOUT_TX3 (23:16) 12 11 TXRXBUF_TIMEOUT_TX3 (15:8) 4 3 TXRXBUF_TIMEOUT_TX3 (7:0) 26 25 24 18 17 16 10 9 8 2 1 0 Timeout Buffer 3. Transmission timeout. Maximum period of time that the PHY layer shall wait before discarding a frame that is waiting to be transmitted. 88 ATPL230A [DATASHEET] Atmel-43053I-ATPL230A-Datasheet_04-May-16 9.3.5.5 TX Configuration Registers Name: TXRXBUF_TXCONF_TX0 Address: 0xFD3C Access: Read/Write Reset: 0xA0 7 - 6 5 4 3 2 1 0 TRS0 ATR0 - FE0 EB0 DC0 DR0 • TRS0: TxRx established by software in buffer 0. TxRx established by software for activated/deactivated TXRX signal before/after each transmission to work properly transistors when this feature has been selected. 0: Disabled 1: Enabled • ATR0: TxRx control mode in buffer 0. Establishing software/hardware control of TXRX signal for transmitting. 1: by hardware 0: by software • FE0: Transmission forced/unforced in buffer 0. When force transmission is required, if it is possible (Carrier Detection or Reception are in course and not disable) and suitable buffer is enabled, a transmission is immediately started. 0: Transmission unforced 1: Transmission forced • EB0: Buffer 0 enabled/disabled in buffer 0. Enable buffer that it has been required. 0: Disabled 1: Enabled • DC0: Carrier Detect enabled/disabled for transmission in buffer 0. Starting transmission though carrier detection is in course. 0: Enabled 1: Disabled • DR0: Reception enabled/disabled for transmission in buffer 0. Starting transmission though reception is in course. 0: Enabled 1: Disabled ATPL230A [DATASHEET] Atmel-43053I-ATPL230A-Datasheet_04-May-16 89 Name: TXRXBUF_TXCONF_TX1 Address: 0xFD3D Access: Read/Write Reset: 0xA0 7 - 6 5 4 3 2 1 0 TRS1 ATR1 - FE1 EB1 DC1 DR1 • TRS1: TxRx established by software in buffer 1. TxRx established by software for activated/deactivated TXRX signal before/after each transmission to work properly transistors when this feature has been selected. 0: Disabled 1: Enabled • ATR1: TxRx control mode in buffer 1. Establishing software/hardware control of TXRX signal for transmitting. 1: by hardware 0: by software • FE1: Transmission forced/unforced in buffer 1. When force transmission is required, if it is possible (Carrier Detection or Reception are in course and not disable) and suitable buffer is enabled, a transmission is immediately started. 0: Transmission unforced 1: Transmission forced • EB1: Buffer 0 enabled/disabled in buffer 1. Enable buffer that it has been required. 0: Disabled 1: Enabled • DC1: Carrier Detect enabled/disabled for transmission in buffer 1. Starting transmission though carrier detection is in course. 0: Enabled 1: Disabled • DR1: Reception enabled/disabled for transmission in buffer 1. Starting transmission though reception is in course. 0: Enabled 1: Disabled 90 ATPL230A [DATASHEET] Atmel-43053I-ATPL230A-Datasheet_04-May-16 Name: TXRXBUF_TXCONF_TX2 Address: 0xFD3E Access: Read/Write Reset: 0xA0 7 - 6 5 4 3 2 1 0 TRS2 ATR2 - FE2 EB2 DC2 DR2 • TRS2: TxRx established by software in buffer 2. TxRx established by software for activated/deactivated TXRX signal before/after each transmission to work properly transistors when this feature has been selected. 0: Disabled 1: Enabled • ATR2: TxRx control mode in buffer 2. Establishing software/hardware control of TXRX signal for transmitting. 1: by hardware 0: by software • FE2: Transmission forced/unforced in buffer 2. When force transmission is required, if it is possible (Carrier Detection or Reception are in course and not disable) and suitable buffer is enabled, a transmission is immediately started. 0: Transmission unforced 1: Transmission forced • EB2: Buffer 0 enabled/disabled in buffer 2. Enable buffer that it has been required. 0: Disabled 1: Enabled • DC2: Carrier Detect enabled/disabled for transmission in buffer 2. Starting transmission though carrier detection is in course. 0: Enabled 1: Disabled • DR2: Reception enabled/disabled for transmission in buffer 2. Starting transmission though reception is in course. 0: Enabled 1: Disabled ATPL230A [DATASHEET] Atmel-43053I-ATPL230A-Datasheet_04-May-16 91 Name: TXRXBUF_TXCONF_TX3 Address: 0xFD3F Access: Read/Write Reset: 0xA0 7 - 6 5 4 3 2 1 0 TRS3 ATR3 - FE3 EB3 DC3 DR3 • TRS3: TxRx established by software in buffer 3. TxRx established by software for activated/deactivated TXRX signal before/after each transmission to work properly transistors when this feature has been selected. 0: Disabled 1: Enabled • ATR3: TxRx control mode in buffer 3. Establishing software/hardware control of TXRX signal for transmitting. 1: by hardware 0: by software • FE3: Transmission forced/unforced in buffer 3. When force transmission is required, if it is possible (Carrier Detection or Reception are in course and not disable) and suitable buffer is enabled, a transmission is immediately started. 0: Transmission unforced 1: Transmission forced • EB3: Buffer 0 enabled/disabled in buffer 3. Enable buffer that it has been required. 0: Disabled 1: Enabled • DC3: Carrier Detect enabled/disabled for transmission in buffer 3. Starting transmission though carrier detection is in course. 0: Enabled 1: Disabled • DR3: Reception enabled/disabled for transmission in buffer 3. Starting transmission though reception is in course. 0: Enabled 1: Disabled 92 ATPL230A [DATASHEET] Atmel-43053I-ATPL230A-Datasheet_04-May-16 9.3.5.6 TX Initial Address Registers Name: Address: Access: Reset: TXRXBUF_INITAD_TX0 0xFD40 - 0xFD41 Read/Write 0x0000 15 14 13 7 6 5 12 11 TXRXBUF_INITAD_TX0 (15:8) 4 3 TXRXBUF_INITAD_TX0 (7:0) 10 9 8 2 1 0 12 11 TXRXBUF_INITAD_TX1 (15:8) 4 3 TXRXBUF_INITAD_TX1 (7:0) 10 9 8 2 1 0 12 11 TXRXBUF_INITAD_TX2 (15:8) 4 3 TXRXBUF_INITAD_TX2 (7:0) 10 9 8 2 1 0 12 11 TXRXBUF_INITAD_TX3 (15:8) 4 3 TXRXBUF_INITAD_TX3 (7:0) 10 9 8 2 1 0 Initial Address of Transmission Buffer 0. Name: Address: Access: Reset: TXRXBUF_INITAD_TX1 0xFD42 - 0xFD43 Read/Write 0x0000 15 14 13 7 6 5 Initial Address of Transmission Buffer 1. Name: Address: Access: Reset: TXRXBUF_INITAD_TX2 0xFD44 - 0xFD45 Read/Write 0x0000 15 14 13 7 6 5 Initial Address of Transmission Buffer 2. Name: Address: Access: Reset: TXRXBUF_INITAD_TX3 0xFD46 - 0xFD47 Read/Write 0x0000 15 14 13 7 6 5 Initial Address of Transmission Buffer 3. These four registers contain four pointers to the beginning of the respective Tx buffer in peripheral memory (buffer 0 to 3). This way, buffers are configurable in both size and position. ATPL230A [DATASHEET] Atmel-43053I-ATPL230A-Datasheet_04-May-16 93 9.3.5.7 TX Result Register Name: TXRXBUF_RESULT_TX Address: 0xFD50 - 0xFD51 Access: Read-only Reset: 0x1111 15 7 - 14 6 13 ET_TX1 5 ET_TX3 12 4 11 3 - 10 2 This register stores the transmission status of each buffer. Value 94 ATPL230A [DATASHEET] Atmel-43053I-ATPL230A-Datasheet_04-May-16 Name Description 0 ET0_TX Transmission in process 1 ET1_TX Successful transmission 2 ET2_TX Wrong Length 3 ET3_TX Busy Channel 4 ET4_TX Previous transmission in process 5 ET5_TX Reception transmission in process 6 ET6_TX Invalid Scheme 7 ET7_TX Timeout 9 ET_TX0 1 ET_TX2 8 0 9.3.5.8 TX Interrupts Register Name: TXRXBUF_TX_INT Address: 0xFD52 Access: Read-only Reset: 0x00 7 - 6 5 4 3 - - HI_N HI_TX3 2 HI_TX2 1 HI_TX1 0 HI_TX0 Interrupt register of Transmission and Noise buffers: • HI_N: Notice Interrupt Noise Buffer • HI_TX3: Notice Interrupt Transmission Buffer 3 • HI_TX2: Notice Interrupt Transmission Buffer 2 • HI_TX1: Notice Interrupt Transmission Buffer 1 • HI_TX0: Notice Interrupt Transmission Buffer 0 When there is some issue with the transmission or noise reception, the micro is warned and then micro tests what buffer is affected through this register. ATPL230A [DATASHEET] Atmel-43053I-ATPL230A-Datasheet_04-May-16 95 9.3.5.9 Robust TX Control Register Name: TXRXBUF_TXCONF_ROBO_CTL Address: 0xFDF2 Access: Read/Write Reset: 0x00 7 6 5 RC3 4 RC2 3 2 RC1 This register sets the transmission mode of each TX buffer • RC0: Buffer 0 transmission mode • RC1: Buffer 1 transmission mode • RC2: Buffer 2 transmission mode • RC3: Buffer 3 transmission mode Value 96 Name Description 0 PRIME 1.3 Mode PRIME v1.3 1 Reserved Reserved 2 PRIME 1.4 PRIME v1.4 transmission mode 3 PRIME 1.4 c PRIME v1.4 transmission backwards compatible mode ATPL230A [DATASHEET] Atmel-43053I-ATPL230A-Datasheet_04-May-16 1 0 RC0 9.3.6 AFE Configuration Registers 9.3.6.1 Branch Selection Register Name: TXRXBUF_TXCONF_SELBRANCH Address: 0xFDFB Access: Read/Write Reset: 0x00 7 BR2_TX3 6 BR1_TX3 5 BR2_TX2 4 BR1_TX2 3 BR2_TX1 2 BR1_TX1 1 BR2_TX0 0 BR1_TX0 • BR1_TX0: Enable/Disable EMIT(0:5) output pins, when BUF_TX0 is used 1: Enabled 0: Disabled • BR2_TX0: Enable/Disable EMIT(6:11) output pins, when BUF_TX0 is used 1: Enabled 0: Disabled • BR1_TX1: Enable/Disable EMIT(0:5) output pins, when BUF_TX1 is used 1: Enabled 0: Disabled • BR2_TX1: Enable/Disable EMIT(6:11) output pins, when BUF_TX1 is used 1: Enabled 0: Disabled • BR1_TX2: Enable/Disable EMIT(0:5) output pins, when BUF_TX2 is used 1: Enabled 0: Disabled • BR2_TX2: Enable/Disable EMIT(6:11) output pins, when BUF_TX2 is used 1: Enabled 0: Disabled • BR1_TX3: Enable/Disable EMIT(0:5) output pins, when BUF_TX3 is used 1: Enabled 0: Disabled • BR2_TX3: Enable/Disable EMIT(6:11) output pins, when BUF_TX3 is used 1: Enabled 0: Disabled ATPL230A [DATASHEET] Atmel-43053I-ATPL230A-Datasheet_04-May-16 97 9.3.6.2 TXRX Polarity Selector Register Name: AFE_CTL Address: 0xFE90 Access: Read/Write Reset: 0x00 7 - 6 - 5 - 4 - 3 - • TXRX1_POL: TXRX1 pin polarity control 0: TXRX1 pin output = ‘0’ in transmission and ‘1’ in reception. 1: TXRX1 pin output = ‘1’ in transmission and ‘0’ in reception. • TXRX0_POL: TXRX0 pin polarity control 0: TXRX0 pin output = ‘0’ in transmission and ‘1’ in reception. 1: TXRX0 pin output = ‘1’ in transmission and ‘0’ in reception. 98 ATPL230A [DATASHEET] Atmel-43053I-ATPL230A-Datasheet_04-May-16 2 - 1 0 TXRX1_POL TXRX0_POL 9.3.7 Zero-crossing Registers 9.3.7.1 Zero-Cross Time Registers Name: TXRXBUF_ZCT_RX0 Address: 0xFD93 - 0xFD96 Access: Read-only Reset: 0x00000000 31 30 29 28 27 TXRXBUF_ZCT_RX0 (31:24) 26 25 24 23 22 21 20 19 TXRXBUF_ZCT_RX0 (23:16) 18 17 16 15 14 13 12 11 TXRXBUF_ZCT_RX0 (15:8) 10 9 8 7 6 5 4 3 TXRXBUF_ZCT_RX0 (7:0) 2 1 0 Instant in time at which the last zero-cross event took place, at the end of the last message received in BUF_RX0. It is expressed in 10 μs steps. It is set by hardware and is a read-only register. This register is used by the physical layer for being in accordance with PRIME specification. Name: TXRXBUF_ZCT_RX1 Address: 0xFD97 - 0xFD9A Access: Read-only Reset: 0x00000000 31 30 29 28 27 TXRXBUF_ZCT_RX1 (31:24) 26 25 24 23 22 21 20 19 TXRXBUF_ZCT_RX1 (23:16) 18 17 16 15 14 13 12 11 TXRXBUF_ZCT_RX1 (15:8) 10 9 8 7 6 5 4 3 TXRXBUF_ZCT_RX1 (7:0) 2 1 0 Instant in time at which the last zero-cross event took place, at the end of the last message received in BUF_RX1. It is expressed in 10 μs steps. It is set by hardware and is a read-only register. This register is used by the physical layer for being in accordance with PRIME specification. ATPL230A [DATASHEET] Atmel-43053I-ATPL230A-Datasheet_04-May-16 99 Name: TXRXBUF_ZCT_RX2 Address: 0xFD9B - 0xFD9E Access: Read-only Reset: 0x00000000 31 30 29 28 27 TXRXBUF_ZCT_RX2 (31:24) 26 25 24 23 22 21 20 19 TXRXBUF_ZCT_RX2 (23:16) 18 17 16 15 14 13 12 11 TXRXBUF_ZCT_RX2 (15:8) 10 9 8 7 6 5 4 3 TXRXBUF_ZCT_RX2 (7:0) 2 1 0 Instant in time at which the last zero-cross event took place, at the end of the last message received in BUF_RX2. It is expressed in 10 μs steps. It is set by hardware and is a read-only register. This register is used by the physical layer for being in accordance with PRIME specification. Name: TXRXBUF_ZCT_RX3 Address: 0xFD9F - 0xFDA2 Access: Read-only Reset: 0x00000000 31 30 29 28 27 TXRXBUF_ZCT_RX3 (31:24) 26 25 24 23 22 21 20 19 TXRXBUF_ZCT_RX3 (23:16) 18 17 16 15 14 13 12 11 TXRXBUF_ZCT_RX3 (15:8) 10 9 8 7 6 5 4 3 TXRXBUF_ZCT_RX3 (7:0) 2 1 0 Instant in time at which the last zero-cross event took place, at the end of the last message received in BUF_RX3. It is expressed in 10 μs steps. It is set by hardware and is a read-only register. This register is used by the physical layer for being in accordance with PRIME specification. 100 ATPL230A [DATASHEET] Atmel-43053I-ATPL230A-Datasheet_04-May-16 9.3.7.2 Zero Crossing Configuration Register Name: ZC_CONFIG Address: 0xFF1E Access: Read/Write Reset: 0x00 7 - 6 - 5 - 4 - 3 2 1 0 MODE_REP MODE_INV MODE_ASC MODE_MUX • MODE_REP: Repetition Mode ‘0’: No effect. ‘1’: Zero Crossing Detector Input Signal period is down by half. • MODE_INV: Inversion Mode ‘0’: No effect. ‘1’: Zero Crossing Detector Input Signal is inverted. • MODE_ASC: Ascent-Descent Mode ‘0’: If MODE_MUX is 1, Ascent Zero Crossing. ‘1’: If MODE_MUX is 1, Descent Zero Crossing. • MODE_MUX: Zero Crossing Mode ‘0’: Selection of both ascent and descent zero-crossing. ‘1’: Selection of ascent or descent zero-crossing. ATPL230A [DATASHEET] Atmel-43053I-ATPL230A-Datasheet_04-May-16 101 9.3.7.3 Zero Crossing Filter Register Name: ZC_FILTER Address: 0xFF23 Access: Read/Write Reset: 0xB2 7 ZC_FILTER_BP 6 5 4 3 ZC_FILTER_NUM [6:0] 2 1 0 • ZC_FILTER_BP: Zero Crossing Input Signal Filter Enable ‘0’: Filter enabled. ‘1’: Filter not enabled. • ZC_FILTER_NUM [6:0]: Zero Crossing Input Signal Filter Parameter Time (counted in number of clock cycles) that the Zero Crossing Input Signal (1-bit) must be constant to set that value as the input signal for Zero Crossing Detection. Used to refuse fast transitions in Zero Crossing Input Signal. 102 ATPL230A [DATASHEET] Atmel-43053I-ATPL230A-Datasheet_04-May-16 9.3.8 Other Registers 9.3.8.1 System Configuration Register Name: SYS_CONFIG Address: 0xFE2C Access: Read/Write Reset: 0x04 7 - 6 - 5 - 4 - 3 2 1 0 CONV_PD - - PHY_RST • CONV_PD: Converter Power Down Microcontroller can activate internal converter power down mode by setting this bit. When internal converter is in power down mode, the system is unable to receive. This bit is high-level active. • PHY_RST: Physical Layer Reset This bit resets the Physical layer. To perform a Physical layer reset cycle, microcontroller must set this bit to ‘1’ and then must clear it to ‘0’. ATPL230A [DATASHEET] Atmel-43053I-ATPL230A-Datasheet_04-May-16 103 9.3.8.2 PHY Layer Timer Register Name: TIMER_BEACON_REF Address: 0xFE47 - 0xFE4A Access: Read-only Reset: 0x00000000 31 30 29 28 27 TIMER_BEACON_REF (31:24) 26 25 24 23 22 21 20 19 TIMER_BEACON_REF (23:16) 18 17 16 15 14 13 12 11 TIMER_BEACON_REF (15:8) 10 9 8 7 6 5 4 3 TIMER_BEACON_REF (7:0) 2 1 0 Timer for the physical layer, which consists of a free-running clock measured in 10 μs steps. It indefinitely increases a unit each 10 microseconds, overflowing back to 0. It is set by hardware and is a read-only register. This register is used by the physical layer for being in accordance with PRIME specification. 104 ATPL230A [DATASHEET] Atmel-43053I-ATPL230A-Datasheet_04-May-16 9.3.8.3 PHY Layer Error Counter Register Name: PHY_ERRORS Address: 0xFE94 Access: Read/Write Reset: 0x00 7 - 6 - 5 - 4 3 2 PHY_ERRORS 1 0 The system stores in these bits the number of times that a Physical layer error has occurred. This counter can be cleared to zero. The value stored in this register is cleared every time the register is read. ATPL230A [DATASHEET] Atmel-43053I-ATPL230A-Datasheet_04-May-16 105 10. Electrical characteristics 10.1 Absolute Maximum Ratings Permanent device damage may occur if Absolute Maximum Ratings are exceeded. Functional operation should be restricted to the conditions given in the Recommended Operating Conditions section. Exposure to the Absolute Maximum Conditions for extended periods may affect device reliability. Table 10-1. Absolute Maximum Ratings Parameter Symbol Rating Supply Voltage VDDIO -0.5 to 4.0 Input Voltage VI -0.5 to VDDIO +0.5 (≤ 4.0V) Output Voltage VO -0.5 to VDDIO +0.5 (<4.0V) Storage Temperature TST -55 to 125 Unit V ºC Junction Temperature TJ -40 to 125 Output Current(1) IO ±10(2) Notes: 1. 2. mA DC current that continuously flows for 10ms or more, or average DC current. Applies to all the pins except EMIT pins. EMIT pins should be only used according to circuit configurations recommended by Atmel. ATTENTION observe EDS precautions Precautions for handling electrostatic sensitive devices should be taken into account to avoid malfunction. Charged devices and circuit boards can discharge without detection. 106 ATPL230A [DATASHEET] Atmel-43053I-ATPL230A-Datasheet_04-May-16 10.2 Recommended Operating Conditions Table 10-2. Recommended Operating Conditions Rating Parameter Symbol Unit Min Typ Max VDDIO 3.00 3.30 3.60 VDDIN AN 3.00 3.30 3.60 VDDIN 3.00 3.30 3.60 VDDPLL 1.08 - 1.32 Junction Temperature TJ -40 25 125 Ambient Temperature TA -40 - 85 Supply Voltage V ºC Table 10-3. Thermal Data Conditions Parameter Symbol LQFP80 PCB Layers 2 Thermal resistance junction-to-ambient steady state RTheta-ja 4 Unit Air Speed 0 m/s 64 1 m/s 56 3 m/s 48 0 m/s 43 1 m/s 40 3 m/s 36 ºC/W Theta-ja is calculated based on a standard JEDEC defined environment and is not reliable indicator of a device’s thermal performance in a non-JEDEC environment. The customer should always perform their own calculations/simulations to ensure that their system’s thermal performance is sufficient. ATPL230A [DATASHEET] Atmel-43053I-ATPL230A-Datasheet_04-May-16 107 10.3 Electrical Pinout Table 10-4. 108 80 - Lead LQFP Electrical Pinout Pin No Pin Name I/O I(mA) Res HY Pin No Pin Name 1 NC - - - - 41 GND 2 NC - - - - 42 EMIT8 3 NC - - - - 43 EMIT9 4 ARST I - PU Y 44 EMIT10 5 PLL INIT I - PU Y 45 6 GND P - - - 46 7 CLKEA I - - - I/O I(mA) Res HY P - - - OT ±X - - OT ±X - - OT ±X - - EMIT11 OT ±X - - VDDIO P - - - 47 GND P - - - 8 GND P - - - 48 VDDOUT P - - - 9 CLKEB I/O - - - 49 TXRX0 O ±8 - - 10 VDDIO P - - - 50 TXRX1 O ±8 - - 11 GND P - - - 51 GND P - - - 12 VDDPLL P - - - 52 AGC2 OT ±8 - - 13 GND P - - - 53 AGC5 OT ±8 - - 14 VDDIN P - - - 54 AGC1 OT ±6 - - 15 VDDIN P - - - 55 AGC4 OT ±6 - - 16 GND P - - - 56 AGC0 OT ±4 - - 17 VDDOUT P - - - 57 AGC3 OT ±4 - - 18 GND P - - - 58 VDDIO P - - - 19 NC - - - - 59 GND P - - - 20 SRST I - PU Y 60 EINT O ±4 - - 21 VDDIO P - - - 61 GND P - - - 22 NC - - - - 62 AGND P - - - 23 CLKOUT O ±8 - - 63 VDDOUT AN P - - - 24 CS I - PU Y 64 VIMA I - - - 25 SCK I - PU Y 65 VIPA I - - - 26 MOSI I - PU Y 66 VDDOUT AN P - - - 27 MISO OT ±4 - - 67 AGND P - - - 28 VDDIO P - - - 68 VRP O - - - 29 GND P - - - 69 VRM O - - - 30 EMIT0 OT ±X - - 70 VRC O - - - 31 EMIT1 OT ±X - - 71 VDDIN AN P - - - 32 EMIT2 OT ±X - - 72 AGND P - - - 33 EMIT3 OT ±X - - 73 AGND P - - - 34 VDDIO P - - - 74 VDDIN AN P - - - 35 GND P - - - 75 GND P - - - 36 EMIT4 OT ±X - - 76 VDDIO P - - - 37 EMIT5 OT ±X - - 77 VZ CROSS I - PD Y 38 EMIT6 OT ±X - - 78 NC - - - - 39 EMIT7 OT ±X - - 79 NC - - - - 40 VDDIO P - - - 80 NC - - - - I/O = pin direction: I = input, O = output, T = tri-state, P = power I(mA) = nominal current: + = source, - = sink, X = fixed by external resistor. See “V-I curves” Res = pin pull up/pull down resistor: PU = pull up, PD = pull down (15 - 70 kΩ, typical 33 kΩ) HY = Input Hysteresis: Y = yes ATPL230A [DATASHEET] Atmel-43053I-ATPL230A-Datasheet_04-May-16 10.4 DC Characteristics Table 10-5. ATPL230A DC Characteristics Rating Parameter Condition Symbol Unit Min Typ Max VDDIO 3.00 3.30 3.60 H-level Input Voltage (3.3V CMOS) VIH 2.0 - VDDIO +0.3 L-level Input Voltage (3.3V CMOS) VIL -0.3 - 0.8 H-level Output Voltage 3.3V I/O IOH= -100 μA VOH VDDIO -0.2 - VDDIO L-level Output Voltage 3.3V I/O IOL= 100 μA VOL 0 - 0.2 H-level Output V - I Characteristics 3.3V I/O VDDIO=3.3±0.3 IOH See “V-I curves” section L-level Output V - I Characteristics 3.3V I/O VDDIO=3.3±0.3 IOL See “V-I curves” section Internal Pull-up Resistor(1) 3.3V I/O Rpu 15 33 70 Internal Pull-down Resistor(1) 3.3V I/O Rpd 15 33 70 Supply Voltage V mA kΩ Note: 1. Only applicable to pins with internal pulling. ATPL230A [DATASHEET] Atmel-43053I-ATPL230A-Datasheet_04-May-16 109 10.4.1 V-I curves V-I Characteristics 3.3V standard CMOS IO L, M type Apply to pins MISO, EINT, AGC0, AGC3 Condition: MIN Process = Slow TJ = 125°C VDDIO = 3.0V TYP Process = Typical TJ = 25°C VDDIO = 3.3V MAX Process = Fast TJ = -40°C VDDIO = 3.6V Figure 10-1. V-I curves for pins MISO, EINT, AGC0, AGC3 Apply to pins AGC1, AGC4 Condition: MIN Process = Slow TJ = 125°C VDDIO = 3.0V TYP Process = Typical TJ = 25°C VDDIO = 3.3V MAX Process = Fast TJ = -40°C VDDIO = 3.6V Figure 10-2. V-I curves for pins AGC1, AGC4 110 ATPL230A [DATASHEET] Atmel-43053I-ATPL230A-Datasheet_04-May-16 Apply to pins CLKOUT, TXRX0, TXRX1, AGC2, AGC5 Condition: MIN Process = Slow TJ = 125°C VDDIO = 3.0V TYP Process = Typical TJ = 25°C VDDIO = 3.3V MAX Process = Fast TJ = -40°C VDDIO = 3.6V Figure 10-3. V-I curves for pins CLKOUT, TXRX0, TXRX1, AGC2, AGC5 Apply to pins EMIT [0:11] Condition: MIN Process = Slow TJ = 125°C VDDIO = 3.0V TYP Process = Typical TJ = 25°C VDDIO = 3.3V MAX Process = Fast TJ = -40°C VDDIO = 3.6V Figure 10-4. V-I curves for pins EMIT [0:11] ATPL230A [DATASHEET] Atmel-43053I-ATPL230A-Datasheet_04-May-16 111 10.5 Power Consumption Table 10-6. Power Consumption Rating Parameter Condition Symbol Unit Min Typ Max -- 160 -- TJ = 25ºC VDDIO = 3.3V Power Consumption VDDIN = 3.3V P25 VDDIN AN = 3.3V mW TJ = 125ºC VDDIO = 3.6V Power Consumption (worst case) VDDIN = 3.6V P125 -- -- 270 VDDIN AN = 3.6V 10.6 Oscillator Table 10-7. ATPL230A 20 MHz Crystal Oscillator Characteristics Rating Parameter Test Condition Symbol Unit Min Crystal Oscillator frequency Fundamental Xtal Typ Max 20 MHz CXTAL - 18 - CX - 27 - CPARA20M - 4 - H-level Input Voltage XVIH 2 - VDDIO +0.3 L-level Input Voltage XVIL -0.3 - 0.8 External Oscillator Capacitance(2)(3) External capacitor on CLKEA and CLKEB(2)(3) Internal parasitic capacitance Between CLKEA and CLKEB pF V External Oscillator Parallel Resistance Rp External Oscillator Series Resistance Rs not needed Ω Notes: 1. 112 - 220 - The crystal should be located as close as possible to CLKEB and CLKEA pins. 2. Recommended value for CX is 27 pF and Rs 220 Ω. These values may depend on the specific crystal characteristics and PCB layout. See example below. For further information please refer to Atmel doc43084 “Crystal Selection Guidelines” application note. 3. As a requirement of PRIME specification, the System Clock tolerance from which transmit frequency and symbol timing are derived shall be ± 50 ppm maximum. Crystal Stability/Tolerance/Ageing values must be selected according to standard PRIME requirements. ATPL230A [DATASHEET] Atmel-43053I-ATPL230A-Datasheet_04-May-16 Figure 10-5. 20 MHz Crystal Oscillator Schematic ATPL230A CPARA20M CLKEA CLKEB RS C PCB CX C PCB CX CX = 2 x (CXTAL – CPARA20M – CPCB / 2) where CPCB is the ground referenced parasitic capacitance of the printed circuit board (PCB) on CLKEA and CLKEB tracks. As a practical example, taking the following crystal part number: Manufacturer: TXC CORPORATION Part Number: 9C-20.000MAAJ-T Frequency: 20.000 MHz Tolerance: 30 ppm (as low as possible to fullfil PRIME specification requirements) CXTAL = 18 pF Working in a typical layout / substrate with CPCB = 1 pF The value of the external capacitors on CLKEA and CLKEB should be CX = 2 x (18 - 4 - 0.5) = 27 pF It is strongly recommended to use capacitors with the lowest temperature stability possible. In this practical example, a suitable part number could be: Manufacturer: MURATA Part Number: GRM1885C1H270FA01D Capacitance: 27 pF Tolerance: 1 % Dielectric: C0G / NP0 (0 drift) ATPL230A [DATASHEET] Atmel-43053I-ATPL230A-Datasheet_04-May-16 113 10.7 Power On Considerations During power-on, PLL INIT pin should be tied to ground during 4 μs at least, in order to ensure proper system start up. After releasing PLL INIT, the system will start no later than 612 μs. After power-up system can be restarted by means of low active pulse (min 1.65 μs) in ARST or SRST. System full operation starts after 410 μs (ARST pulse) or after 0.9 μs (SRST pulse). In case of simultaneous tie down of more than one initialization pin the longest time for operation must be respected. Figure 10-6. PLL INIT initialization diagram > 4us > 612us PLL INIT > 1.65us* ARST > 410us > 1.65us* > 0.9us SRST FULL OPERATION SYSTEM (*) 1.65us = 33*tclk 114 ATPL230A [DATASHEET] Atmel-43053I-ATPL230A-Datasheet_04-May-16 11. Mechanical Characteristics 11.1 LQFP80 Mechanical Characteristics Figure 11-1. 80 LQFP package dimensions Table 11-1. LQFP Package Reference JEDEC Drawing Reference Table 11-2. MS-026 LQFP Package Characteristics Moisture Sensitivity Level 3 This package respects the recommendations of the NEMI User Group. ATPL230A [DATASHEET] Atmel-43053I-ATPL230A-Datasheet_04-May-16 115 12. Recommended mounting conditions 12.1 Conditions of Standard Reflow Table 12-1. Conditions of Standard Reflow Items Method Times Floor Life Floor Life Condition Contents IR (Infrared Reflow) / Convection 2 Please use within 2 years after Before unpacking production From unpacking to second reflow Within 8 days Baking with 125ºC +/- 3ºC for 24hrs +2hrs/-0hrs is required. Then please In case over period of floor life use within 8 days (please remember baking is up to 2 times). Between 5ºC and 30ºC and also below 70% RH required. (It is preferred lower humidity in the required temp. range). Figure 12-1. LQFP80 package soldering profile Note: H rank: 260ºC Max a: Average ramp-up rate: 1ºC/s to 4ºC/s b: Preheat & Soak: 170ºC to 190ºC, 60s to 180s c: Average ramp-up rate: 1ºC/s to 4ºC/s d: Peak temperature: 260ºC Max, up to 255ºC within 10s d’: Liquidous temperature: Up to 230ºC within 40s or Up to 225ºC within 60s or Up to 220ºC within 80s e: Cooling: 116 ATPL230A [DATASHEET] Atmel-43053I-ATPL230A-Datasheet_04-May-16 Natural cooling or forced cooling 12.2 Manual Soldering Table 12-2. Manual Soldering Items Contents Before unpacking Please use production From unpacking to Manual Soldering Within 2 years after production (No control required for moisture adsorption because it is partial heating) Floor life Floor life condition Solder Condition within 2 years after Between 5°C and 30°C and also below 70% RH required. (It is preferred lower humidity in the required temp. range). Temperature of soldering iron: Max 400°C, Time: Within 5 seconds/pin *Be careful for touching package body with iron ATPL230A [DATASHEET] Atmel-43053I-ATPL230A-Datasheet_04-May-16 117 13. Ordering Information Table 13-1. Ordering Information Atmel Ordering Code ATPL230A-AKU-Y ATPL230A-AKU-R Package 80 LQFP 80 LQFP AT Atmel Designator AT = Atmel Product Family PL = Power Line Communications Device Designator Device Revision Package Type Pb-Free Pb-Free PL 230 A - A K U - X Temperature Range Industrial (-40ºC to 85ºC) Industrial (-40ºC to 85ºC) xx Customer marking xx = “ ” Shipping Carrier Option Y = Tray R = Tape and Reel Package Device Grade or Wafer/Die Thickness U = Lead free (Pb-free) Industrial temperature range (-40ºC to +85ºC) Package Option AK = 80 LQFP 118 ATPL230A [DATASHEET] Atmel-43053I-ATPL230A-Datasheet_04-May-16 14. Revision History In the table that follows, the most recent version of the document appears first. Doc Rev. Comments 43053 Change Request Ref. Analog Front-End Section 5.3 ”Zero-crossing detection”: updated. Peripheral Registers I Added the following registers: “Zero Crossing Configuration” and “Zero Crossing Filter” PRIME PHY Layer Added Section 9.3.7.2 ”Zero Crossing Configuration Register” and Section 9.3.7.3 ”Zero Crossing Filter Register”. H G Analog Front-End Section 5.2 ”ATPLCOUP reference designs” modified. Format changes according to new templates. Chapters order redefined. Deleted Section “Power Considerations”: the information of this section is in Section 3. ”Signal Description”. Modified Section 5. ”Analog Front-End” (was “PLC coupling circuitry description”). Changed “PRIME + Robust” by “PRIME v1.4”. F Electrical Characteristics Section 10.6 ”Oscillator” updated: modified Figure 10-5, added equation and information after the figure. Table 10-7 updated: added the values of CXTAL and CPARA20M . Modified the notes below the table. Ordering Information Table 13-1: added new Atmel Ordering Code “ATPL230A-AKU-R”. MAC Coprocessor E Removed the following registers: “0xFD53, 0xFD54, 0xFD55, 0xFD56, 0xFD5F, 0xFD60, 0xFD61 and 0xFD62”. Updated Section 8.3.3.3 ”BER HARD Average Error Registers”. Mechanical Characteristics Table 11-1,Table 11-2 added. ATPL230A [DATASHEET] Atmel-43053I-ATPL230A-Datasheet_04-May-16 119 Doc Rev. Comments 43053 Minor changes. Signal Description CLKOUT: “20 MHz CLK Output” changed to “10 MHz External Clock Output”. SPI Controller Chapter added. MAC Coprocessor D “Address: 0xFE62 - 0xFE67” changed to “Address: 0xFEBA (MSB) - 0xFEBB (LSB)” in Section 8.3.1.2 ”CRC32 Errors Counter Register”. PRIME PHY Layer “Reset: 0x000000” changed to “Reset: 0x00000000” in Section 9.3.3.9 ”Accumulated Header EVM Registers”. “Reset: 0x000000” changed to “Reset: 0x00000000” in Section 9.3.3.10 ”Accumulated Payload EVM Registers”. “Reset: 0x00000000” changed to “Reset: 0x000124F8” in Section 9.3.5.4 ”TX Timeout Registers”. “Reset: 0x0000” changed to “Reset: 0x1111” in Section 9.3.5.7 ”TX Result Register”. C 120 “GND” changed to “AGND” in the following pins: 62, 67, 72 and 73. Changed the description of “VDDIN AN” in Section 3. ”Signal Description”. B Update Package. A First Issue. ATPL230A [DATASHEET] Atmel-43053I-ATPL230A-Datasheet_04-May-16 Change Request Ref. Table of Contents Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1. Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 2. Block Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 3. Signal Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 4. Package and Pinout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 4.1 4.2 80-Lead LQFP Package Outline. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 80-Lead LQFP Pinout. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 5. Analog Front-End . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 5.1 5.2 5.3 PLC coupling circuitry description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 ATPLCOUP reference designs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Zero-crossing detection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 6. SPI Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 6.1 6.2 Serial Peripheral Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 SPI Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 7. Peripheral Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 8. MAC Coprocessor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 8.1 8.2 8.3 Cyclic Redundancy Check (CRC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 Advanced Encryption Standard (AES) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 MAC Coprocessor Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 9. PRIME PHY Layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 9.1 9.2 9.3 Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 PHY parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 PHY Layer Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 10. Electrical characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 10.1 10.2 10.3 10.4 10.5 10.6 10.7 Absolute Maximum Ratings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Recommended Operating Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Electrical Pinout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DC Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Power Consumption . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Oscillator. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Power On Considerations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 107 108 109 112 112 114 11. Mechanical Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 11.1 LQFP80 Mechanical Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 12. Recommended mounting conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 12.1 Conditions of Standard Reflow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 12.2 Manual Soldering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 13. Ordering Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 14. Revision History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 Table of Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 ATPL230A [DATASHEET] Atmel-43053I-ATPL230A-Datasheet_04-May-16 121 XXXXXX Atmel Corporation 1600 Technology Drive, San Jose, CA 95110 USA T: (+1)(408) 441.0311 F: (+1)(408) 436.4200 | www.atmel.com © 2016 Atmel Corporation. / Rev.: Atmel-43053I-ATPL230A-Datasheet_04-May-16. Atmel®, Atmel logo and combinations thereof, Enabling Unlimited Possibilities, and others are registered trademarks or trademarks of Atmel Corporation in U.S. and other countries. Other terms and product names may be trademarks of others. DISCLAIMER: The information in this document is provided in connection with Atmel products. No license, express or implied, by estoppel or otherwise, to any intellectual property right is granted by this document or in connection with the sale of Atmel products. EXCEPT AS SET FORTH IN THE ATMEL TERMS AND CONDITIONS OF SALES LOCATED ON THE ATMEL WEBSITE, ATMEL ASSUMES NO LIABILITY WHATSOEVER AND DISCLAIMS ANY EXPRESS, IMPLIED OR STATUTORY WARRANTY RELATING TO ITS PRODUCTS INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT, CONSEQUENTIAL, PUNITIVE, SPECIAL OR INCIDENTAL DAMAGES (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS AND PROFITS, BUSINESS INTERRUPTION, OR LOSS OF INFORMATION) ARISING OUT OF THE USE OR INABILITY TO USE THIS DOCUMENT, EVEN IF ATMEL HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. Atmel makes no representations or warranties with respect to the accuracy or completeness of the contents of this document and reserves the right to make changes to specifications and products descriptions at any time without notice. Atmel does not make any commitment to update the information contained herein. Unless specifically provided otherwise, Atmel products are not suitable for, and shall not be used in, automotive applications. Atmel products are not intended, authorized, or warranted for use as components in applications intended to support or sustain life. SAFETY-CRITICAL, MILITARY, AND AUTOMOTIVE APPLICATIONS DISCLAIMER: Atmel products are not designed for and will not be used in connection with any applications where the failure of such products would reasonably be expected to result in significant personal injury or death (“Safety-Critical Applications”) without an Atmel officer's specific written consent. Safety-Critical Applications include, without limitation, life support devices and systems, equipment or systems for the operation of nuclear facilities and weapons systems. Atmel products are not designed nor intended for use in military or aerospace applications or environments unless specifically designated by Atmel as military-grade. Atmel products are not designed nor intended for use in automotive applications unless specifically designated by Atmel as automotive-grade.