Simplicity is the ultimate sophistication

|

Quote for today - Steve Jobs

XMEGA tutorial: LCD display (05)

|

Blinking diodes mentioned in the previous part of our tutorial is cool, however not very communicative. That's why before moving on to discussing particular peripherals of XMEGA microcontrollers, we will learn how to operate 16x2 LCD text display with HD44780 driver.

This paragraph’s aim is to acquaint the reader with basic knowledge on how to control the display, although we are not going to create it’s function library from scratch. Instead, we will use a template provided by Radosław Kwiecień and available on his website radzio.dxp.pl. I have adjusted his function library to work with XMEGA microcontrollers, so that we can use the display in following parts of the preparation course. We will see how new libraries can be added to the Atmel Studio project by the way.

X3-DIL64 available at KAMAMI

|

X3-DIL64 prototyping module is now available at KAMAMI.

XMEGA tutorial: ports (04)

|

Port is the fundamental peripheral, which enables connection between microcontroller and other devices. In well known and appreciated processors: ATtiny & ATmega each port used to have three registers: PIN, PORT and DDR. However in XMEGA microcontrollers there are 21 registers for each port... but don't worry! Using the XMEGA ports is even easier than in ATmega!

All ports have unique name: PORTA, PORTB, PORTC... and so on until the end of alphabet! Within each port there are several registers and some of the most important are listed below:
  • DIR – this one register decides which of the pins is supposed to be an input or output. Typing 1 will configure the pin as an output and 0 as input. For example, the instruction below sets pins 3 and 6 as outputs, therefore the other pins will be inputs:
    
    PORTA.DIR = PIN3_bm | PIN6_bm;
     
  • OUT - this is the output register. Typing 1 will cause the appearance of high state of appropriate "leg" of port, while 0 means low state.
  • IN – is the input register, used for reading current pin state. Here is the example of conditional statement (branch control structure) which checks if the state on the pin E5 is high:
    
    if(PORTE.IN & PIN5_bm)
     

XMEGA tutorial: new methods of registers configuration (03)


Kurs XMEGA
Ports are the simplest peripheral system of each and every microcontroller. Even though in XMEGA we have 21 registers for each port! The total number of configuration registers can reach a few hundred or even more than a thousand! In this article I will show you how to get over it without going crazy. Although the beginning of this article may seem a bit vague – please don’t become discouraged as further on you will find both plain and practical examples.

XMEGA tutorial: first program (02)

|

You will be introduced to Atmel Studio and you’ll find out how to download programs to X3-DIL64 from Leon Instruments.

Download:

XMEGA tutorial: what you should know (01)

|

Kurs XMEGA
Atmel’s AVR microcontrollers captured the imagination of thousands engineers around the globe. So far, the producer offered us two families: ATtiny and ATmega, which differ in pricing and possibilities, but the programming methodology for both is identical. Introducing the XMEGA, Atmel has done significant changes in the processors peripherals and, furthermore, changed the methods of software development. This tutorial is to let you learn, how to use XMEGA microcontrollers in practical applications and it will point the differences between them and conventional AVRs. We hope this course will encourage you apply XMEGA in your designs and fully take advantage of its innovative solutions.

Discover XMEGA

|

Don't stay behind! Discover new XMEGA from Atmel!
Links:
Atmel accomplished a quantum leap introducing new XMEGA microcontrollers. They are much faster, have more peripherals and their price is reasonable. Some of them are even lower cost than traditional ATmega. Don’t wait any longer. Step ahead to explore these fantastic units and use them to design much better devices.

ATxmega128A3U in DIL64


Let us introduce you to the new ATxmega128A3U development board from Leon Instruments. It is populated with every basic peripheral you need to get started with new XMEGA.


ATxmega128A3U peripherials:
  • 128kB Flash, RAM 8kB, EEPROM 2kB
  • 32MHz at 2.7V
  • 7x UART
  • 3X SPI
  • 2x I2C
  • 7X Timer
  • Full speed USB
  • 12-bit 2Msps ADC
  • 12-bit 1Msps DAC
  • Event system i DMA
  • AES/DES
  • Paraller interface for RAM, FPGA, itp.
  • ...and even more!

DIL64 package


With a X3-DIL64 prototyping module you are free to connect any device with ease and convenience. Plug it into the breadboard, just like any integrated circuit, program it and go! It’s so easy. The board’s dimensions are suited to fit conventional DIL64 packages, and pin order is exactly the same as in a processor’s TQFP64 package. That’s why you can apply this module to your EDA software without creating a new library.


Programming


ATxmega128A3U microprocessor can be programmed three ways:
  • PDI interface - it allows you to download/upload the memory and configure the device setting
  • FLIP bootloader - innovative Atmel’s solution for people who don’t own PDI nor JTAG programmer. Just plug in the usual USB cable and go! It’s the best solution for beginners
  • JTAG interface - although the JTAG connector isn’t present on the board, it’s possible to program and debug the device with the JTAG programmer
To improve the development of your software, we’ve populated the prototyping module with RESET and FLIP buttons. Just press them together to activate FLIP bootloader and you can download your software without a PDI/JTAG programmer. You only need an ordinary USB cable and nothing more!


Free to select the crystal


Don’t like the crystal oscillator hard-soldered to the board without any possibility to change processors clock frequency? Sure! We hate it too! That’s why X3-DIL64 module provides a socket for any oscillator of your choice – just plug it into the socket.


Memory will never run out


The X3-DIL64 prototyping module is populated with a microSD socket to have as much memory as your application requires. The microSD card is connected to the processor via SPI interface. Although you don’t need external memory, there’s a possibility to use SPI pins for any other purpose, because they are available on the edge connectors, similar to other microcontroller’s pins


Power supply

And again, with X3-DIL64 you are free to select the power source:
  • From USB – you can power the module directly from your computer
  • From your programmer – if your PDI programmer supports powering the programmed device, with X3-DIL64 this is also possible
  • From any 5V or 3.3V source – simply, provide power from anything you want!