Xmega128D4 pro/cons??

Go To Last Post
14 posts / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I need a chip that is similar to this to drive a GLCD. I can get this from Farnell next day which is surprising.

 

I have lots of Xmega32E5 but no room to move upwards if necessary.

 

So PORTA and PORTC, 16 bit data

PORTB 4 bits for control RD, WR, CS and  Reset

PORTE 1 bit for B/L control + spares

PORTD USART + spares

 

Never used this chip, any advice or "peculiarities" about this family?

John Samperi

Ampertronics Pty. Ltd.

www.ampertronics.com.au

* Electronic Design * Custom Products * Contract Assembly

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

If I would need 128K flash I would use ATxmega128A4U.

I'm using ATxmega32A4U in one project without any problems. It runs an uip tcp/ip stack with an ENC424J600 ethernet controller.

The funny thing is that the initial chip was an ATxmega32D4, but I just switched to the ATxmega32A4U.

xmega "D"s are cheaper "A"s (with no DACs basically) but the "AxU" chips are almost the same price as "D"s and still "A"s. wink

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

If I would need 128K flash I would use ATxmega128A4U.

I will probably need 32K or less but who knows?

but I just switched to the ATxmega32A4U.

The ATxmega128A4U seems to have the same pin out as the Xmega128D4 anyway???

xmega "D"s are cheaper

And that's nice, don't need anything fancy, cheeky just an AVR running @32MHz from 3.3V, was going to use the M1284 but then I remembered  it won't run even @20MHz from 3.3V.

 

I'll see what I can get fast from my local supplier, the D4 is in stock (all 7 of them!)

John Samperi

Ampertronics Pty. Ltd.

www.ampertronics.com.au

* Electronic Design * Custom Products * Contract Assembly

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I forgot about RAM, you get 8K with 128K flash, 4K for 32K flash.

D4 / A4 / A4U perfectly compatible hardware and software as long as you don't use something not supported by D4 (basically the DAC).

A4U cheaper than A4, probably the same as D4.

A4U is newer and seems to be more available at distributors in fact.

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

The only thing I can think of is the 64k address space issue when accessing data in flash memory, but if you are using less than 32k it won't be an issue.

 

Oh, there are some differences with the EEPROM and NVM on E5 compared to the A range. EEPROM isn't always memory mapped, there is a bit you need to set and clear manually. It has to be clear to program EEPROM.

 

Would DMA be of any help? If you were really, really sneaky you might be able to DMA 16 bits of data out of those ports.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

The only thing I can think of is the 64k address space issue

Bus isn't the Xmega's memory linear? Or do we still suffer with a 16 bit index register? I was hoping that it would not be an issue.

 

The case seems to be settled for the D4 however as I can get some next day, the A4U availability is May.

 

No EEPROM required at this stage and don't know if I'm clever enough for DMA smiley I have a Xmega128A1 project running from a few years back, the library works as a normal AVR.

 

Memory used is almost 60K, most of the memory is taken up by small 6 images, so it may about the same size for this project.

John Samperi

Ampertronics Pty. Ltd.

www.ampertronics.com.au

* Electronic Design * Custom Products * Contract Assembly

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

16 bit pointer, with extension register. The compiler will put data as low as possible, put the code higher up.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

hmm I'll have to do bit of reading, I thought they had 24 bit pointers. surprise

 

As long as I don't have to mess around with far pointers etc. and the compiler knows what to do I'm happy.

John Samperi

Ampertronics Pty. Ltd.

www.ampertronics.com.au

* Electronic Design * Custom Products * Contract Assembly

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

X, Y and Z are all 8 bit pairs, so 16 bit. There are then additional RAMP registers to extend them, and EIND for jumps. But EIND is only needed for the bootloader because the PC is 16 bit word based.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

So pretty much like a "normal" AVR.

John Samperi

Ampertronics Pty. Ltd.

www.ampertronics.com.au

* Electronic Design * Custom Products * Contract Assembly

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

js wrote:
... I thought they had 24 bit pointers.
IIRC, only IAR.

AVR GCC does have 24-bit types though pointers are 16b.

ASF3 Huge Memory (32b data pointers) is available for XMEGA128A1U.

 

https://www.iar.com/support/user-guides/user-guides-iar-embedded-workbench-for-atmel-avr/ (compiler reference, part 2, data representation, pointer types)

https://gcc.gnu.org/wiki/avr-gcc#Types

http://asf.atmel.com/docs/latest/xmegaau/html/group__hugemem__group.html

 

"Dare to be naïve." - Buckminster Fuller

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Memory used is almost 60K, most of the memory is taken up by small 6 images, so it may about the same size for this project.

 If most of your app is showing a few predefined images, why not choose a display having an lcd controller chip & display buffer (ram)...then your images could be stored anywhere, such as serial flash (saving processor real estate) & the micro acts more like an image pump between the stored image(s) & display.  It could toss in some of its own graphics (fonts, etc) to overlay messages on to the images. 

 

Also, not to bring up Microchip, but they have released some interesting 32bit controllers with built in graphics controllers, fairly recently (after preannouncing them for several years).  

When in the dark remember-the future looks brighter than ever.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

avrcandies wrote:
Also, not to bring up Microchip, but they have released some interesting 32bit controllers with built in graphics controllers, fairly recently (after preannouncing them for several years).
PIC32MZ DA

EarthLCD has PIC24 with EPMP for some of their ezLCD.

EPMP is an 8b or 16b async or synchronous interface ("large" LCD, cameras)

 

https://www.avrfreaks.net/forum/huge-memory-mcu

https://earthlcd.com/product-category/ezlcd-intelligent-lcds/

 

"Dare to be naïve." - Buckminster Fuller

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

why not choose a display having an lcd controller chip & display buffer (ram).

Which I have Kentec, K3500QVG.

then your images could be stored anywhere,

The board is almost ready to send out and don't want to complicate thing. 50x50 images take about 5K so I could easily have 10 or more in flash and have plenty of room for code. We'll see.

not to bring up Microchip,

Let's not. wink

John Samperi

Ampertronics Pty. Ltd.

www.ampertronics.com.au

* Electronic Design * Custom Products * Contract Assembly