28.02.2014 Views

Manchester Transceiver Using the USART and XCL Modules on ...

Manchester Transceiver Using the USART and XCL Modules on ...

Manchester Transceiver Using the USART and XCL Modules on ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

APPLICATION NOTE<br />

Features<br />

Atmel AT03335: <str<strong>on</strong>g>Manchester</str<strong>on</strong>g> <str<strong>on</strong>g>Transceiver</str<strong>on</strong>g> <str<strong>on</strong>g>Using</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

<str<strong>on</strong>g>USART</str<strong>on</strong>g> <str<strong>on</strong>g>and</str<strong>on</strong>g> <str<strong>on</strong>g>XCL</str<strong>on</strong>g> <str<strong>on</strong>g>Modules</str<strong>on</strong>g> <strong>on</strong> XMEGA E<br />

Atmel AVR XMEGA<br />

• <str<strong>on</strong>g>Manchester</str<strong>on</strong>g> Encoding <str<strong>on</strong>g>and</str<strong>on</strong>g> decoding<br />

• Dem<strong>on</strong>strate advantage of combining <str<strong>on</strong>g>USART</str<strong>on</strong>g> <str<strong>on</strong>g>and</str<strong>on</strong>g> <str<strong>on</strong>g>XCL</str<strong>on</strong>g> (XMEGA ® Custom Logic)<br />

• EDMA(Enhanced Direct Memory Access) used for data transmissi<strong>on</strong><br />

Introducti<strong>on</strong><br />

<str<strong>on</strong>g>Manchester</str<strong>on</strong>g> coding is a coding technique widely used in telecommunicati<strong>on</strong> (e.g.<br />

DALI, RFID, Near Field Communicati<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> IrDA). The encoding of bits results in at<br />

least <strong>on</strong>e transiti<strong>on</strong> for each bit <str<strong>on</strong>g>and</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> encoded signal will <str<strong>on</strong>g>the</str<strong>on</strong>g>n be a self-clocking<br />

signal which means that <str<strong>on</strong>g>the</str<strong>on</strong>g> clock signal can be recovered from <str<strong>on</strong>g>the</str<strong>on</strong>g> data stream.<br />

This applicati<strong>on</strong> note describes <strong>on</strong>e approach to set up <str<strong>on</strong>g>the</str<strong>on</strong>g> Atmel ® AVR ® XMEGA E<br />

as Figure 1 to do <str<strong>on</strong>g>Manchester</str<strong>on</strong>g> decoding <str<strong>on</strong>g>and</str<strong>on</strong>g> encoding with <str<strong>on</strong>g>USART</str<strong>on</strong>g> <str<strong>on</strong>g>and</str<strong>on</strong>g> <str<strong>on</strong>g>XCL</str<strong>on</strong>g><br />

hardware modules.<br />

Figure 1.<br />

C<strong>on</strong>necti<strong>on</strong> Diagram of <str<strong>on</strong>g>Transceiver</str<strong>on</strong>g><br />

XMEGA E<br />

<str<strong>on</strong>g>XCL</str<strong>on</strong>g><br />

TXD<br />

Buffer EDMA <str<strong>on</strong>g>USART</str<strong>on</strong>g><br />

RXD<br />

Ano<str<strong>on</strong>g>the</str<strong>on</strong>g>r method of <str<strong>on</strong>g>Manchester</str<strong>on</strong>g> decoding <str<strong>on</strong>g>and</str<strong>on</strong>g> encoding is using Timer <str<strong>on</strong>g>and</str<strong>on</strong>g> GPIO<br />

modules. Timer affords <str<strong>on</strong>g>the</str<strong>on</strong>g> time base of <str<strong>on</strong>g>Manchester</str<strong>on</strong>g> clock <str<strong>on</strong>g>and</str<strong>on</strong>g> GPIO pins are used to<br />

sense or generate <str<strong>on</strong>g>Manchester</str<strong>on</strong>g> code. As comparis<strong>on</strong>, XMEGA E takes advantage of<br />

hardware resource <str<strong>on</strong>g>USART</str<strong>on</strong>g>, <str<strong>on</strong>g>XCL</str<strong>on</strong>g> <str<strong>on</strong>g>and</str<strong>on</strong>g> EDMA which reduce remarkably <str<strong>on</strong>g>the</str<strong>on</strong>g> load of<br />

firmware.<br />

42164A−AVR−07/2013


Table of C<strong>on</strong>tents<br />

1. Related Items ..................................................................................... 3<br />

2. <str<strong>on</strong>g>Manchester</str<strong>on</strong>g> code ............................................................................... 4<br />

2.1 G. E. Thomas c<strong>on</strong>venti<strong>on</strong> .................................................................................. 4<br />

2.2 IEEE 802.3 c<strong>on</strong>venti<strong>on</strong> ...................................................................................... 4<br />

3. <str<strong>on</strong>g>Manchester</str<strong>on</strong>g> encoding ......................................................................... 4<br />

3.1 How to c<strong>on</strong>figure <str<strong>on</strong>g>USART</str<strong>on</strong>g> .................................................................................. 5<br />

3.2 How to c<strong>on</strong>figure <str<strong>on</strong>g>XCL</str<strong>on</strong>g> ....................................................................................... 6<br />

3.3 O<str<strong>on</strong>g>the</str<strong>on</strong>g>r c<strong>on</strong>figurati<strong>on</strong> ............................................................................................ 7<br />

3.4 Encoding flowchart ............................................................................................ 7<br />

4. <str<strong>on</strong>g>Manchester</str<strong>on</strong>g> decoding ......................................................................... 8<br />

4.1 How to c<strong>on</strong>figure <str<strong>on</strong>g>USART</str<strong>on</strong>g> .................................................................................. 9<br />

4.2 How to c<strong>on</strong>figure <str<strong>on</strong>g>XCL</str<strong>on</strong>g> ..................................................................................... 10<br />

4.3 O<str<strong>on</strong>g>the</str<strong>on</strong>g>r c<strong>on</strong>figurati<strong>on</strong> .......................................................................................... 11<br />

4.4 Decoding flowchart .......................................................................................... 11<br />

5. Revisi<strong>on</strong> History ............................................................................... 13<br />

Atmel AT03335: <str<strong>on</strong>g>Manchester</str<strong>on</strong>g> <str<strong>on</strong>g>Transceiver</str<strong>on</strong>g> <str<strong>on</strong>g>Using</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> <str<strong>on</strong>g>USART</str<strong>on</strong>g> <str<strong>on</strong>g>and</str<strong>on</strong>g> <str<strong>on</strong>g>XCL</str<strong>on</strong>g> <str<strong>on</strong>g>Modules</str<strong>on</strong>g> <strong>on</strong> XMEGA E [APPLICATION NOTE]<br />

42164A−AVR−07/2013<br />

2


1. Related Items<br />

The following list c<strong>on</strong>tains links to <str<strong>on</strong>g>the</str<strong>on</strong>g> most relevant documents:<br />

• Atmel AVR XMEGA E Manual<br />

ATxmega E devices used in this soluti<strong>on</strong>.<br />

• XMEGA E <str<strong>on</strong>g>Using</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> <str<strong>on</strong>g>XCL</str<strong>on</strong>g> Module<br />

<str<strong>on</strong>g>XCL</str<strong>on</strong>g> is a new module <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> XMEGA E devices.<br />

Atmel AT03335: <str<strong>on</strong>g>Manchester</str<strong>on</strong>g> <str<strong>on</strong>g>Transceiver</str<strong>on</strong>g> <str<strong>on</strong>g>Using</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> <str<strong>on</strong>g>USART</str<strong>on</strong>g> <str<strong>on</strong>g>and</str<strong>on</strong>g> <str<strong>on</strong>g>XCL</str<strong>on</strong>g> <str<strong>on</strong>g>Modules</str<strong>on</strong>g> <strong>on</strong> XMEGA E [APPLICATION NOTE]<br />

42164A−AVR−07/2013<br />

3


2. <str<strong>on</strong>g>Manchester</str<strong>on</strong>g> code<br />

<str<strong>on</strong>g>Manchester</str<strong>on</strong>g> coding was first developed <str<strong>on</strong>g>and</str<strong>on</strong>g> published by G.E. Thomas in 1943. This was <str<strong>on</strong>g>the</str<strong>on</strong>g> first c<strong>on</strong>venti<strong>on</strong> of<br />

<str<strong>on</strong>g>Manchester</str<strong>on</strong>g> coding <str<strong>on</strong>g>and</str<strong>on</strong>g> is known as <str<strong>on</strong>g>the</str<strong>on</strong>g> G.E. Thomas c<strong>on</strong>venti<strong>on</strong>. This was followed by a c<strong>on</strong>venti<strong>on</strong> used in low speed<br />

E<str<strong>on</strong>g>the</str<strong>on</strong>g>rnet st<str<strong>on</strong>g>and</str<strong>on</strong>g>ards <str<strong>on</strong>g>and</str<strong>on</strong>g> is known as <str<strong>on</strong>g>the</str<strong>on</strong>g> IEEE 802.3 c<strong>on</strong>venti<strong>on</strong><br />

2.1 G. E. Thomas c<strong>on</strong>venti<strong>on</strong><br />

The G. E. Thomas c<strong>on</strong>venti<strong>on</strong> of <str<strong>on</strong>g>Manchester</str<strong>on</strong>g> encoding states that a bit value of “1” is a transiti<strong>on</strong> from “1” to “0” <str<strong>on</strong>g>and</str<strong>on</strong>g> a<br />

bit value of “0” is a transiti<strong>on</strong> from “0” to “1”.<br />

The encoding of <str<strong>on</strong>g>the</str<strong>on</strong>g> data can be d<strong>on</strong>e simply by using XNOR between <str<strong>on</strong>g>the</str<strong>on</strong>g> data <str<strong>on</strong>g>and</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> clock signal. Decoding of <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

<str<strong>on</strong>g>Manchester</str<strong>on</strong>g> code can be d<strong>on</strong>e in <str<strong>on</strong>g>the</str<strong>on</strong>g> same way, by using XNOR between <str<strong>on</strong>g>the</str<strong>on</strong>g> <str<strong>on</strong>g>Manchester</str<strong>on</strong>g> data <str<strong>on</strong>g>and</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> clock signal.<br />

2.2 IEEE 802.3 c<strong>on</strong>venti<strong>on</strong><br />

The IEEE 802.3 c<strong>on</strong>venti<strong>on</strong> of <str<strong>on</strong>g>Manchester</str<strong>on</strong>g> encoding states that a bit value of “1” is a transiti<strong>on</strong> from “0” to “1” <str<strong>on</strong>g>and</str<strong>on</strong>g> a bit<br />

value of “0” is a transiti<strong>on</strong> from “1” to “0”.<br />

The encoding of <str<strong>on</strong>g>the</str<strong>on</strong>g> data can be d<strong>on</strong>e using XOR between <str<strong>on</strong>g>the</str<strong>on</strong>g> data <str<strong>on</strong>g>and</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> clock signal. The decoding of <str<strong>on</strong>g>the</str<strong>on</strong>g> data can<br />

be d<strong>on</strong>e by using XOR between <str<strong>on</strong>g>the</str<strong>on</strong>g> <str<strong>on</strong>g>Manchester</str<strong>on</strong>g> code <str<strong>on</strong>g>and</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> clock signal.<br />

Figure 2-1. Signal Encoding C<strong>on</strong>venti<strong>on</strong>s<br />

Clock signal<br />

Data<br />

1 0 1 0 0 1 0 0<br />

<str<strong>on</strong>g>Manchester</str<strong>on</strong>g><br />

(G. E . Thomas c<strong>on</strong>venti<strong>on</strong>)<br />

1 0 0 1 1 0 0 1 0 1 1 0 0 1 0 1<br />

<str<strong>on</strong>g>Manchester</str<strong>on</strong>g><br />

( IEEE 802. 3 c<strong>on</strong>venti<strong>on</strong>)<br />

0 1 1 0 0 1 1 0 1 0 0 1 1 0 1 0<br />

3. <str<strong>on</strong>g>Manchester</str<strong>on</strong>g> encoding<br />

For <str<strong>on</strong>g>Manchester</str<strong>on</strong>g> encoding, <str<strong>on</strong>g>USART</str<strong>on</strong>g> needs to operate in synchr<strong>on</strong>ous mode. SCK of <str<strong>on</strong>g>USART</str<strong>on</strong>g> is used as <str<strong>on</strong>g>Manchester</str<strong>on</strong>g><br />

clock signal. Transmit data from shift register is used as <str<strong>on</strong>g>Manchester</str<strong>on</strong>g> data. To encode <str<strong>on</strong>g>the</str<strong>on</strong>g> data, <str<strong>on</strong>g>XCL</str<strong>on</strong>g> linked with <str<strong>on</strong>g>USART</str<strong>on</strong>g><br />

is used to execute XNOR logic for G. E. Thomas c<strong>on</strong>venti<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> XOR for IEEE 802.3 c<strong>on</strong>venti<strong>on</strong>. The logic output from<br />

<str<strong>on</strong>g>XCL</str<strong>on</strong>g> c<strong>on</strong>nects to <str<strong>on</strong>g>USART</str<strong>on</strong>g> TXD pin.<br />

Atmel AT03335: <str<strong>on</strong>g>Manchester</str<strong>on</strong>g> <str<strong>on</strong>g>Transceiver</str<strong>on</strong>g> <str<strong>on</strong>g>Using</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> <str<strong>on</strong>g>USART</str<strong>on</strong>g> <str<strong>on</strong>g>and</str<strong>on</strong>g> <str<strong>on</strong>g>XCL</str<strong>on</strong>g> <str<strong>on</strong>g>Modules</str<strong>on</strong>g> <strong>on</strong> XMEGA E [APPLICATION NOTE]<br />

42164A−AVR−07/2013<br />

4


Figure 3-1. <str<strong>on</strong>g>Manchester</str<strong>on</strong>g> encoding structure<br />

3.1 How to c<strong>on</strong>figure <str<strong>on</strong>g>USART</str<strong>on</strong>g><br />

1. Set c<strong>on</strong>trol register C (CTRLC)<br />

7 6 5 4 3 2 1 0<br />

CMODE[1:0] PMODE[1:0] SBMODE CHSIZE[2:0]<br />

CMODE[1:0] – – – UDORD UCPHA –<br />

Note: 1. Master SPI mode<br />

Bit 7:6 – CMODE[1:0]: Communicati<strong>on</strong> Mode<br />

Select synchr<strong>on</strong>ous <str<strong>on</strong>g>USART</str<strong>on</strong>g> or master SPI communicati<strong>on</strong> mode provided with clock output. Which <strong>on</strong>e<br />

to be selected depends <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> data frame structure. For example, DALI data frame c<strong>on</strong>tains <strong>on</strong>e start bit<br />

<str<strong>on</strong>g>and</str<strong>on</strong>g> two stop bits, so synchr<strong>on</strong>ous <str<strong>on</strong>g>USART</str<strong>on</strong>g> mode suits for it.<br />

Bit 5:4 – PMODE[1:0]: Parity Mode<br />

Bit 3 – SBMODE: Stop Bit Mode<br />

Bit 2:0 – CHSIZE[2:0]: Character Size<br />

For synchr<strong>on</strong>ous <str<strong>on</strong>g>USART</str<strong>on</strong>g> mode, <str<strong>on</strong>g>the</str<strong>on</strong>g>n select parity mode, stop bit mode <str<strong>on</strong>g>and</str<strong>on</strong>g> character size. Note that <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

lsb of <str<strong>on</strong>g>the</str<strong>on</strong>g> frame data word is transmitted first. But in DALI frame, data msb is first so <str<strong>on</strong>g>the</str<strong>on</strong>g> bits should be<br />

reordered before transmissi<strong>on</strong>.<br />

Figure 3-2. <str<strong>on</strong>g>USART</str<strong>on</strong>g> typical data transmissi<strong>on</strong><br />

(1)<br />

Idle<br />

Stop<br />

Stop<br />

Par i ty<br />

Data 7<br />

Data 6<br />

Data 5<br />

Data 4<br />

Data 3<br />

Data 2<br />

Data 1<br />

Data 0<br />

Star t<br />

Idle<br />

Bit 2 – UDORD: Data Order<br />

Bit 1 – UCPHA: Clock Phase<br />

For master SPI mode, select data order <str<strong>on</strong>g>and</str<strong>on</strong>g> clock phase. Data order sets <str<strong>on</strong>g>the</str<strong>on</strong>g> frame format. When<br />

written to <strong>on</strong>e, <str<strong>on</strong>g>the</str<strong>on</strong>g> data word lsb is transmitted first. When written to zero, <str<strong>on</strong>g>the</str<strong>on</strong>g> msb of data word is<br />

transmitted first. In variable data length mode c<strong>on</strong>trolled by PEC (peripheral counter) from <str<strong>on</strong>g>XCL</str<strong>on</strong>g>, this bit<br />

Atmel AT03335: <str<strong>on</strong>g>Manchester</str<strong>on</strong>g> <str<strong>on</strong>g>Transceiver</str<strong>on</strong>g> <str<strong>on</strong>g>Using</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> <str<strong>on</strong>g>USART</str<strong>on</strong>g> <str<strong>on</strong>g>and</str<strong>on</strong>g> <str<strong>on</strong>g>XCL</str<strong>on</strong>g> <str<strong>on</strong>g>Modules</str<strong>on</strong>g> <strong>on</strong> XMEGA E [APPLICATION NOTE]<br />

42164A−AVR−07/2013<br />

5


must be set to <strong>on</strong>e. The clock phase determines whe<str<strong>on</strong>g>the</str<strong>on</strong>g>r data are setup <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> leading (first) edge or <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

trailing (last) edge of XCK. The communicati<strong>on</strong> data line always keeps high in idle state.<br />

Figure 3-3. SPI typical data transmissi<strong>on</strong><br />

I d l e<br />

Da t a 7<br />

Da t a 6<br />

Da t a 5<br />

Da t a 4<br />

Da t a 3<br />

Da t a 2<br />

Da t a 1<br />

Da t a 0<br />

I d l e<br />

2. Set c<strong>on</strong>trol register D (CTRLD)<br />

7 6 5 4 3 2 1 0<br />

– – DECTYPE[1:0] LUTACT[1:0] PECACT[1:0]<br />

Bit 5:4 – DECTYPE[1:0]: Decoding <str<strong>on</strong>g>and</str<strong>on</strong>g> encoding type<br />

Encoding type can c<strong>on</strong>figure LUT (lookup table units) OUT applies during data field <strong>on</strong>ly or during start<br />

<str<strong>on</strong>g>and</str<strong>on</strong>g> data field, or Inverted LUT OUT applies during start field while LUT OUT during data field. The last<br />

type is selected when <str<strong>on</strong>g>Manchester</str<strong>on</strong>g> code start bit is 1 such as DALI.<br />

Bit 3:2 – LUTACT[1:0]: LUT Acti<strong>on</strong><br />

Encoding <strong>on</strong> transmitter engine should be enabled.<br />

Bit 1:0 – PECACT[1:0]: Peripheral Counter Acti<strong>on</strong><br />

Transmitter data length should be c<strong>on</strong>trolled by PEC1.<br />

3. Set baud rate c<strong>on</strong>trol register (BAUDCTRLA BAUDCTRLB)<br />

7 6 5 4 3 2 1 0<br />

BSCALE[3:0]<br />

BSEL[11:8]<br />

7 6 5 4 3 2 1 0<br />

BSEL[7:0]<br />

Bit 7:4 – BSCALE[3:0]: Baud Rate Scale Factor<br />

When calculated BSEL is larger than 0xFFF, Baud Rate generator should be prescaled by 2 BSCALE .<br />

Bit 3:0 – BSEL[11:8]: Baud Rate Bits<br />

Bit 7:0 – BSEL[7:0]: Baud Rate Bits<br />

This 12-bit value c<strong>on</strong>tains <str<strong>on</strong>g>USART</str<strong>on</strong>g> baud rate setting. For equati<strong>on</strong> refer to <str<strong>on</strong>g>the</str<strong>on</strong>g> datasheet.<br />

4. Set c<strong>on</strong>trol register B (CTRLB)<br />

7 6 5 4 3 2 1 0<br />

ONEWIRE SFDEN – RXEN TXEN CLK2X MPCM TXB8<br />

Bit 7 – ONEWIRE: One-Wire C<strong>on</strong>figurati<strong>on</strong> Enabled<br />

Bit 6 – SFDEN: Start Frame Detecti<strong>on</strong> Enable<br />

Bit 4 – RXEN: Receiver Enable<br />

Bit 3 – TXEN: Transmitter Enable<br />

Setting to 1 enables <str<strong>on</strong>g>the</str<strong>on</strong>g> <str<strong>on</strong>g>USART</str<strong>on</strong>g> Transmitter.<br />

Bit 2 – CLK2X: Double Transmissi<strong>on</strong> Speed<br />

Bit 1 – MPCM: Multi-processor Communicati<strong>on</strong> Mode<br />

Bit 0 – TXB8: Transmit Bit<br />

3.2 How to c<strong>on</strong>figure <str<strong>on</strong>g>XCL</str<strong>on</strong>g><br />

1. Set c<strong>on</strong>trol register A (CTRLA)<br />

7 6 5 4 3 2 1 0<br />

LUT0OUTEN[1:0] PORTSEL[1:0] – LUTCONF[2:0]<br />

Bit 7:6 – LUT0OUTEN[1:0]: LUT0 Output Enable<br />

Atmel AT03335: <str<strong>on</strong>g>Manchester</str<strong>on</strong>g> <str<strong>on</strong>g>Transceiver</str<strong>on</strong>g> <str<strong>on</strong>g>Using</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> <str<strong>on</strong>g>USART</str<strong>on</strong>g> <str<strong>on</strong>g>and</str<strong>on</strong>g> <str<strong>on</strong>g>XCL</str<strong>on</strong>g> <str<strong>on</strong>g>Modules</str<strong>on</strong>g> <strong>on</strong> XMEGA E [APPLICATION NOTE]<br />

42164A−AVR−07/2013<br />

6


Bit 5:4 – PORTSEL[1:0]: Port Selecti<strong>on</strong><br />

Select <str<strong>on</strong>g>the</str<strong>on</strong>g> corresp<strong>on</strong>ding <str<strong>on</strong>g>USART</str<strong>on</strong>g> used with PEC.<br />

Bit 2:0 – LUTCONF[2:0]: LUT C<strong>on</strong>figurati<strong>on</strong><br />

Select <str<strong>on</strong>g>the</str<strong>on</strong>g> two independent 2-input LUT c<strong>on</strong>figurati<strong>on</strong>.<br />

2. Set c<strong>on</strong>trol register B (CTRLB)<br />

7 6 5 4 3 2 1 0<br />

IN3SEL[1:0] IN2SEL [1:0] IN1SEL [1:0] IN0SEL [1:0]<br />

Bit 7:0 – INxSEL[1:0]: Input Selecti<strong>on</strong><br />

Select <str<strong>on</strong>g>USART</str<strong>on</strong>g> TXD as IN3, XCK pin as IN2.<br />

3. Set c<strong>on</strong>trol register D (CTRLD)<br />

7 6 5 4 3 2 1 0<br />

TRUTH1[3:0]<br />

TRUTH0[3:0]<br />

Bit 7:0 – TRUTHx[3:0]: LUT Truth Table<br />

Select LUT1 truth table as XOR.<br />

4. Set c<strong>on</strong>trol register E (CTRLE)<br />

7 6 5 4 3 2 1 0<br />

CMDSEL TCSEL[2:0] CLKSEL[3:0]<br />

Bit 7 – CMDSEL: Comm<str<strong>on</strong>g>and</str<strong>on</strong>g> Selecti<strong>on</strong><br />

Bit 6:4 – TCSEL[2:0]: Timer/Counter Selecti<strong>on</strong><br />

PEC1 should be selected for <str<strong>on</strong>g>USART</str<strong>on</strong>g> transmitter.<br />

5. Set peripheral length c<strong>on</strong>trol register (PLC)<br />

7 6 5 4 3 2 1 0<br />

PLC[7:0]<br />

Bit 7:0 – PLC[7:0]: Peripheral Length C<strong>on</strong>trol Bits<br />

Set <str<strong>on</strong>g>the</str<strong>on</strong>g> length as <str<strong>on</strong>g>the</str<strong>on</strong>g> <str<strong>on</strong>g>USART</str<strong>on</strong>g> Transmitter data length subtracts 1.<br />

3.3 O<str<strong>on</strong>g>the</str<strong>on</strong>g>r c<strong>on</strong>figurati<strong>on</strong><br />

1. Enable <str<strong>on</strong>g>the</str<strong>on</strong>g> peripherals clock<br />

The bits in power reducti<strong>on</strong> register should be clear to ensure peripherals enabled.<br />

2. Set <str<strong>on</strong>g>USART</str<strong>on</strong>g> pins<br />

Set TXD <str<strong>on</strong>g>and</str<strong>on</strong>g> XCK pin as output in I/O port register.<br />

3. Set EDMA<br />

One EDMA channel can be enabled to transfer <str<strong>on</strong>g>the</str<strong>on</strong>g> data to <str<strong>on</strong>g>the</str<strong>on</strong>g> <str<strong>on</strong>g>USART</str<strong>on</strong>g>. This can be used to reduce <str<strong>on</strong>g>the</str<strong>on</strong>g> CPU<br />

load when larger data block to be transmitted. The EDMA channel is c<strong>on</strong>figured to have <strong>on</strong>e byte burst length to<br />

transfer. The <str<strong>on</strong>g>USART</str<strong>on</strong>g> DRE (Data Register Empty) is used as transfer trigger source. For more informati<strong>on</strong> about<br />

EDMA, please refer to <str<strong>on</strong>g>the</str<strong>on</strong>g> datasheet.<br />

3.4 Encoding flowchart<br />

When <str<strong>on</strong>g>Manchester</str<strong>on</strong>g> encoding is required, <str<strong>on</strong>g>USART</str<strong>on</strong>g> <str<strong>on</strong>g>and</str<strong>on</strong>g> <str<strong>on</strong>g>XCL</str<strong>on</strong>g> should be c<strong>on</strong>figured to encoding state. Then prepare<br />

<str<strong>on</strong>g>Manchester</str<strong>on</strong>g> data <str<strong>on</strong>g>and</str<strong>on</strong>g> start up <str<strong>on</strong>g>the</str<strong>on</strong>g> EDMA transfer. After transmissi<strong>on</strong>, reset TX to idle for next encoding. Refer to Figure<br />

3-4 flowchart.<br />

Atmel AT03335: <str<strong>on</strong>g>Manchester</str<strong>on</strong>g> <str<strong>on</strong>g>Transceiver</str<strong>on</strong>g> <str<strong>on</strong>g>Using</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> <str<strong>on</strong>g>USART</str<strong>on</strong>g> <str<strong>on</strong>g>and</str<strong>on</strong>g> <str<strong>on</strong>g>XCL</str<strong>on</strong>g> <str<strong>on</strong>g>Modules</str<strong>on</strong>g> <strong>on</strong> XMEGA E [APPLICATION NOTE]<br />

42164A−AVR−07/2013<br />

7


Figure 3-4. <str<strong>on</strong>g>Manchester</str<strong>on</strong>g> encoding flowchart<br />

Start up<br />

Is it TX idle<br />

state?<br />

N<br />

Is it TX<br />

transmissi<strong>on</strong><br />

state?<br />

N<br />

Y<br />

Y<br />

Is TX required?<br />

N<br />

Is transmissi<strong>on</strong><br />

finished?<br />

N<br />

Y<br />

Y<br />

Set <str<strong>on</strong>g>USART</str<strong>on</strong>g> <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

<str<strong>on</strong>g>XCL</str<strong>on</strong>g> to TX state<br />

Clear <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

transacti<strong>on</strong> flag<br />

Prepare TX Data<br />

Set TX idle state<br />

Start up EDMA<br />

tranfer<br />

Set TX<br />

transmissi<strong>on</strong> state<br />

Exit<br />

4. <str<strong>on</strong>g>Manchester</str<strong>on</strong>g> decoding<br />

Since <str<strong>on</strong>g>the</str<strong>on</strong>g>re is no synchr<strong>on</strong>ous clock signal input, it is impossible to decode with LUT XOR or XNOR logic as<br />

<str<strong>on</strong>g>Manchester</str<strong>on</strong>g> encoding directly. <str<strong>on</strong>g>Manchester</str<strong>on</strong>g> code can be sampled by UASRT received bits. <str<strong>on</strong>g>USART</str<strong>on</strong>g> runs in<br />

asynchr<strong>on</strong>ous RX mode for data recepti<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> PLC of LUT c<strong>on</strong>trols <str<strong>on</strong>g>the</str<strong>on</strong>g> variable length of data bits stream. The<br />

maximum length of <str<strong>on</strong>g>the</str<strong>on</strong>g> stream is limited to 256 by PLC. EDMA can be used to transmit data from <str<strong>on</strong>g>USART</str<strong>on</strong>g> receiver<br />

register.<br />

Atmel AT03335: <str<strong>on</strong>g>Manchester</str<strong>on</strong>g> <str<strong>on</strong>g>Transceiver</str<strong>on</strong>g> <str<strong>on</strong>g>Using</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> <str<strong>on</strong>g>USART</str<strong>on</strong>g> <str<strong>on</strong>g>and</str<strong>on</strong>g> <str<strong>on</strong>g>XCL</str<strong>on</strong>g> <str<strong>on</strong>g>Modules</str<strong>on</strong>g> <strong>on</strong> XMEGA E [APPLICATION NOTE]<br />

42164A−AVR−07/2013<br />

8


Figure 4-1. <str<strong>on</strong>g>Manchester</str<strong>on</strong>g> decoding structure<br />

<str<strong>on</strong>g>Manchester</str<strong>on</strong>g> code can be over sample with a higher <str<strong>on</strong>g>USART</str<strong>on</strong>g> baud rate than <str<strong>on</strong>g>Manchester</str<strong>on</strong>g> clock. Then <str<strong>on</strong>g>Manchester</str<strong>on</strong>g> code is<br />

decoded from <str<strong>on</strong>g>USART</str<strong>on</strong>g> sampled bits by firmware. This way can set tolerance of <str<strong>on</strong>g>Manchester</str<strong>on</strong>g> clock rate error flexibly<br />

because <str<strong>on</strong>g>the</str<strong>on</strong>g> error is judged by firmware. Figure 4-2 illustrates a sample example with <str<strong>on</strong>g>USART</str<strong>on</strong>g> baud rate twelve times of<br />

<str<strong>on</strong>g>Manchester</str<strong>on</strong>g> code. The first six <str<strong>on</strong>g>USART</str<strong>on</strong>g> bits sample zero for <str<strong>on</strong>g>Manchester</str<strong>on</strong>g> low level <str<strong>on</strong>g>and</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> next six sample <strong>on</strong>e for<br />

<str<strong>on</strong>g>Manchester</str<strong>on</strong>g> high level. In this way <str<strong>on</strong>g>the</str<strong>on</strong>g> maximum number <str<strong>on</strong>g>Manchester</str<strong>on</strong>g> code can be decoded limits to 256/12.<br />

Figure 4-2. <str<strong>on</strong>g>USART</str<strong>on</strong>g> bits sampling<br />

<str<strong>on</strong>g>Manchester</str<strong>on</strong>g> code<br />

<str<strong>on</strong>g>USART</str<strong>on</strong>g> bits sample<br />

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15<br />

4.1 How to c<strong>on</strong>figure <str<strong>on</strong>g>USART</str<strong>on</strong>g><br />

1. Set c<strong>on</strong>trol register C (CTRLC)<br />

7 6 5 4 3 2 1 0<br />

CMODE[1:0] PMODE[1:0] SBMODE CHSIZE[2:0]<br />

Bit 7:6 – CMODE[1:0]: Communicati<strong>on</strong> Mode<br />

Select asynchr<strong>on</strong>ous <str<strong>on</strong>g>USART</str<strong>on</strong>g> to sample <str<strong>on</strong>g>Manchester</str<strong>on</strong>g> code.<br />

Bit 5:4 – PMODE[1:0]: Parity Mode<br />

Bit 3 – SBMODE: Stop Bit Mode<br />

Bit 2:0 – CHSIZE[2:0]: Character Size<br />

Set up according to <str<strong>on</strong>g>Manchester</str<strong>on</strong>g> code frame structure.<br />

2. Set c<strong>on</strong>trol register D (CTRLD)<br />

7 6 5 4 3 2 1 0<br />

– – DECTYPE[1:0] LUTACT[1:0] PECACT[1:0]<br />

Bit 5:4 – DECTYPE[1:0]: Decoding <str<strong>on</strong>g>and</str<strong>on</strong>g> encoding type<br />

Atmel AT03335: <str<strong>on</strong>g>Manchester</str<strong>on</strong>g> <str<strong>on</strong>g>Transceiver</str<strong>on</strong>g> <str<strong>on</strong>g>Using</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> <str<strong>on</strong>g>USART</str<strong>on</strong>g> <str<strong>on</strong>g>and</str<strong>on</strong>g> <str<strong>on</strong>g>XCL</str<strong>on</strong>g> <str<strong>on</strong>g>Modules</str<strong>on</strong>g> <strong>on</strong> XMEGA E [APPLICATION NOTE]<br />

42164A−AVR−07/2013<br />

9


Bit 3:2 – LUTACT[1:0]: LUT Acti<strong>on</strong><br />

Bit 1:0 – PECACT[1:0]: Peripheral Counter Acti<strong>on</strong><br />

Receiver data length should be c<strong>on</strong>trolled by PEC0.<br />

3. Set baud rate c<strong>on</strong>trol register (BAUDCTRLA BAUDCTRLB)<br />

7 6 5 4 3 2 1 0<br />

BSCALE[3:0]<br />

BSEL[11:8]<br />

7 6 5 4 3 2 1 0<br />

BSEL[7:0]<br />

Bit 7:4 – BSCALE[3:0]: Baud Rate Scale Factor<br />

Bit 3:0 – BSEL[11:8]: Baud Rate Bits<br />

Bit 7:0 – BSEL[7:0]: Baud Rate Bits<br />

To calculate asynchr<strong>on</strong>ous baud rate setting, refer to <str<strong>on</strong>g>the</str<strong>on</strong>g> equati<strong>on</strong> in datasheet.<br />

4. Set c<strong>on</strong>trol register B (CTRLB)<br />

7 6 5 4 3 2 1 0<br />

ONEWIRE SFDEN – RXEN TXEN CLK2X MPCM TXB8<br />

Bit 7 – ONEWIRE: One-Wire C<strong>on</strong>figurati<strong>on</strong> Enabled<br />

Bit 6 – SFDEN: Start Frame Detecti<strong>on</strong> Enable<br />

Bit 4 – RXEN: Receiver Enable<br />

Setting to 1 enables <str<strong>on</strong>g>the</str<strong>on</strong>g> <str<strong>on</strong>g>USART</str<strong>on</strong>g> Receiver.<br />

Bit 3 – TXEN: Transmitter Enable<br />

Bit 2 – CLK2X: Double Transmissi<strong>on</strong> Speed<br />

Bit 1 – MPCM: Multi-processor Communicati<strong>on</strong> Mode<br />

Bit 0 – TXB8: Transmit Bit<br />

4.2 How to c<strong>on</strong>figure <str<strong>on</strong>g>XCL</str<strong>on</strong>g><br />

1. Set c<strong>on</strong>trol register A (CTRLA)<br />

7 6 5 4 3 2 1 0<br />

LUT0OUTEN[1:0] PORTSEL[1:0] – LUTCONF[2:0]<br />

Bit 7:6 – LUT0OUTEN[1:0]: LUT0 Output Enable<br />

Bit 5:4 – PORTSEL[1:0]: Port Selecti<strong>on</strong><br />

Select <str<strong>on</strong>g>the</str<strong>on</strong>g> corresp<strong>on</strong>ding <str<strong>on</strong>g>USART</str<strong>on</strong>g> used with PEC.<br />

Bit 2:0 – LUTCONF[2:0]: LUT C<strong>on</strong>figurati<strong>on</strong><br />

2. Set c<strong>on</strong>trol register E (CTRLE)<br />

7 6 5 4 3 2 1 0<br />

CMDSEL TCSEL[2:0] CLKSEL[3:0]<br />

Bit 7 – CMDSEL: Comm<str<strong>on</strong>g>and</str<strong>on</strong>g> Selecti<strong>on</strong><br />

Bit 6:4 – TCSEL[2:0]: Timer/Counter Selecti<strong>on</strong><br />

PEC0 should be selected for <str<strong>on</strong>g>USART</str<strong>on</strong>g> receiver.<br />

3. Set peripheral length c<strong>on</strong>trol register (PLC)<br />

7 6 5 4 3 2 1 0<br />

PLC[7:0]<br />

Bit 7:0 – PLC[7:0]: Peripheral Length C<strong>on</strong>trol Bits<br />

Set <str<strong>on</strong>g>the</str<strong>on</strong>g> length as <str<strong>on</strong>g>the</str<strong>on</strong>g> <str<strong>on</strong>g>USART</str<strong>on</strong>g> receiver data length subtracts 1.<br />

Atmel AT03335: <str<strong>on</strong>g>Manchester</str<strong>on</strong>g> <str<strong>on</strong>g>Transceiver</str<strong>on</strong>g> <str<strong>on</strong>g>Using</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> <str<strong>on</strong>g>USART</str<strong>on</strong>g> <str<strong>on</strong>g>and</str<strong>on</strong>g> <str<strong>on</strong>g>XCL</str<strong>on</strong>g> <str<strong>on</strong>g>Modules</str<strong>on</strong>g> <strong>on</strong> XMEGA E [APPLICATION NOTE]<br />

42164A−AVR−07/2013<br />

10


4.3 O<str<strong>on</strong>g>the</str<strong>on</strong>g>r c<strong>on</strong>figurati<strong>on</strong><br />

1. Enable <str<strong>on</strong>g>the</str<strong>on</strong>g> peripherals clock<br />

The bits in power reducti<strong>on</strong> register should be clear to ensure peripherals enabled.<br />

2. Set <str<strong>on</strong>g>USART</str<strong>on</strong>g> pins<br />

Set RXD pin as input in I/O port register.<br />

3. Set EDMA<br />

One EDMA channel can be enabled to transfer <str<strong>on</strong>g>the</str<strong>on</strong>g> data from <str<strong>on</strong>g>USART</str<strong>on</strong>g> to data memory. The <str<strong>on</strong>g>USART</str<strong>on</strong>g><br />

RXC(Receive Complete) is used as transfer trigger source.<br />

4.4 Decoding flowchart<br />

When <str<strong>on</strong>g>Manchester</str<strong>on</strong>g> decoding is required, <str<strong>on</strong>g>USART</str<strong>on</strong>g> <str<strong>on</strong>g>and</str<strong>on</strong>g> <str<strong>on</strong>g>XCL</str<strong>on</strong>g> should be c<strong>on</strong>figured to RX state. Then start up <str<strong>on</strong>g>the</str<strong>on</strong>g> EDMA<br />

transfer from <str<strong>on</strong>g>USART</str<strong>on</strong>g> receiver register to data buffer. After EDMA transmissi<strong>on</strong> is finished, <str<strong>on</strong>g>the</str<strong>on</strong>g> received data should be<br />

processed to get <str<strong>on</strong>g>the</str<strong>on</strong>g> <str<strong>on</strong>g>Manchester</str<strong>on</strong>g> data. See Figure 4-3 for <str<strong>on</strong>g>the</str<strong>on</strong>g> whole flowchart.<br />

Atmel AT03335: <str<strong>on</strong>g>Manchester</str<strong>on</strong>g> <str<strong>on</strong>g>Transceiver</str<strong>on</strong>g> <str<strong>on</strong>g>Using</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> <str<strong>on</strong>g>USART</str<strong>on</strong>g> <str<strong>on</strong>g>and</str<strong>on</strong>g> <str<strong>on</strong>g>XCL</str<strong>on</strong>g> <str<strong>on</strong>g>Modules</str<strong>on</strong>g> <strong>on</strong> XMEGA E [APPLICATION NOTE]<br />

42164A−AVR−07/2013<br />

11


Figure 4-3. <str<strong>on</strong>g>Manchester</str<strong>on</strong>g> decoding flowchart<br />

Start up<br />

Is it RX idle<br />

state?<br />

N<br />

Is it RX<br />

transmissi<strong>on</strong><br />

state?<br />

N<br />

Y<br />

Y<br />

Is RX<br />

required?<br />

N<br />

Is transmissi<strong>on</strong><br />

finished?<br />

N<br />

Y<br />

Y<br />

Set <str<strong>on</strong>g>USART</str<strong>on</strong>g> <str<strong>on</strong>g>and</str<strong>on</strong>g><br />

<str<strong>on</strong>g>XCL</str<strong>on</strong>g> to RX state<br />

Clear <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

transacti<strong>on</strong> flag<br />

Start up EDMA<br />

tranfer<br />

Process <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

received data<br />

Set RX<br />

transmissi<strong>on</strong> state<br />

Set RX idle state<br />

Exit<br />

Atmel AT03335: <str<strong>on</strong>g>Manchester</str<strong>on</strong>g> <str<strong>on</strong>g>Transceiver</str<strong>on</strong>g> <str<strong>on</strong>g>Using</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> <str<strong>on</strong>g>USART</str<strong>on</strong>g> <str<strong>on</strong>g>and</str<strong>on</strong>g> <str<strong>on</strong>g>XCL</str<strong>on</strong>g> <str<strong>on</strong>g>Modules</str<strong>on</strong>g> <strong>on</strong> XMEGA E [APPLICATION NOTE]<br />

42164A−AVR−07/2013<br />

12


5. Revisi<strong>on</strong> History<br />

Doc. Rev. Date Comments<br />

42164A 07/2013 Initial revisi<strong>on</strong><br />

Atmel AT03335: <str<strong>on</strong>g>Manchester</str<strong>on</strong>g> <str<strong>on</strong>g>Transceiver</str<strong>on</strong>g> <str<strong>on</strong>g>Using</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> <str<strong>on</strong>g>USART</str<strong>on</strong>g> <str<strong>on</strong>g>and</str<strong>on</strong>g> <str<strong>on</strong>g>XCL</str<strong>on</strong>g> <str<strong>on</strong>g>Modules</str<strong>on</strong>g> <strong>on</strong> XMEGA E [APPLICATION NOTE]<br />

42164A−AVR−07/2013<br />

13


Atmel Corporati<strong>on</strong><br />

1600 Technology Drive<br />

San Jose, CA 95110<br />

USA<br />

Tel: (+1)(408) 441-0311<br />

Fax: (+1)(408) 487-2600<br />

www.atmel.com<br />

Atmel Asia Limited<br />

Unit 01-5 & 16, 19F<br />

BEA Tower, Millennium City 5<br />

418 Kwun T<strong>on</strong>g Road<br />

Kwun T<strong>on</strong>g, Kowlo<strong>on</strong><br />

HONG KONG<br />

Tel: (+852) 2245-6100<br />

Fax: (+852) 2722-1369<br />

Atmel Munich GmbH<br />

Business Campus<br />

Parkring 4<br />

D-85748 Garching b. Munich<br />

GERMANY<br />

Tel: (+49) 89-31970-0<br />

Fax: (+49) 89-3194621<br />

Atmel Japan G.K.<br />

16F Shin-Osaki Kangyo Building<br />

1-6-4 Osaki<br />

Shinagawa-ku, Tokyo 141-0032<br />

JAPAN<br />

Tel: (+81)(3) 6417-0300<br />

Fax: (+81)(3) 6417-0370<br />

© 2013 Atmel Corporati<strong>on</strong>. All rights reserved. / Rev.: 42164A−AVR−07/2013<br />

Atmel ® , Atmel logo <str<strong>on</strong>g>and</str<strong>on</strong>g> combinati<strong>on</strong>s <str<strong>on</strong>g>the</str<strong>on</strong>g>reof, Enabling Unlimited Possibilities ® , AVR®, XMEGA ® , <str<strong>on</strong>g>and</str<strong>on</strong>g> o<str<strong>on</strong>g>the</str<strong>on</strong>g>rs are registered trademarks or trademarks of Atmel<br />

Corporati<strong>on</strong> or its subsidiaries. O<str<strong>on</strong>g>the</str<strong>on</strong>g>r terms <str<strong>on</strong>g>and</str<strong>on</strong>g> product names may be trademarks of o<str<strong>on</strong>g>the</str<strong>on</strong>g>rs.<br />

Disclaimer: The informati<strong>on</strong> in this document is provided in c<strong>on</strong>necti<strong>on</strong> with Atmel products. No license, express or implied, by estoppel or o<str<strong>on</strong>g>the</str<strong>on</strong>g>rwise, to any intellectual property right is granted by this<br />

document or in c<strong>on</strong>necti<strong>on</strong> with <str<strong>on</strong>g>the</str<strong>on</strong>g> sale of Atmel products. EXCEPT AS SET FORTH IN THE ATMEL TERMS AND CONDITIONS OF SALES LOCATED ON THE ATMEL WEBSITE, ATMEL ASSUMES<br />

NO LIABILITY WHATSOEVER AND DISCLAIMS ANY EXPRESS, IMPLIED OR STATUTORY WARRANTY RELATING TO ITS PRODUCTS INCLUDING, BUT NOT LIMITED TO, THE IMPLIED<br />

WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT,<br />

CONSEQUENTIAL, PUNITIVE, SPECIAL OR INCIDENTAL DAMAGES (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS AND PROFITS, BUSINESS INTERRUPTION, OR LOSS OF<br />

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<br />

representati<strong>on</strong>s or warranties with respect to <str<strong>on</strong>g>the</str<strong>on</strong>g> accuracy or completeness of <str<strong>on</strong>g>the</str<strong>on</strong>g> c<strong>on</strong>tents of this document <str<strong>on</strong>g>and</str<strong>on</strong>g> reserves <str<strong>on</strong>g>the</str<strong>on</strong>g> right to make changes to specificati<strong>on</strong>s <str<strong>on</strong>g>and</str<strong>on</strong>g> products descripti<strong>on</strong>s at any time<br />

without notice. Atmel does not make any commitment to update <str<strong>on</strong>g>the</str<strong>on</strong>g> informati<strong>on</strong> c<strong>on</strong>tained herein. Unless specifically provided o<str<strong>on</strong>g>the</str<strong>on</strong>g>rwise, Atmel products are not suitable for, <str<strong>on</strong>g>and</str<strong>on</strong>g> shall not be used in,<br />

automotive applicati<strong>on</strong>s. Atmel products are not intended, authorized, or warranted for use as comp<strong>on</strong>ents in applicati<strong>on</strong>s intended to support or sustain life.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!