Atmega1284P Test Results -- UPDATED!

Topics regarding the Uzebox hardware/AVCore/BaseBoard (i.e: PCB, resistors, connectors, part list, schematics, hardware issues, etc.) should go here.
User avatar
uze6666
Site Admin
Posts: 4801
Joined: Tue Aug 12, 2008 9:13 pm
Location: Montreal, Canada
Contact:

Atmega1284P Test Results -- UPDATED!

Post by uze6666 »

Alright, alright, although I have a gazillions other things to do, we've waited too long for this! I could not help myself but to beat up the Atmega1284 I just received! 8-)

And the short answer is...partial success!!! The chip can indeed run Uzebox roms, though not all of them correctly for the moment. Of all the official demos, only Uzeamp runs flawlessly. And that's great news since it tests audio, video, controllers and the SD card all at once. It played an hour long song without any skips, issues or graphic glitch. And even the UART/MIDI works fine, I did not experience the problems I had with the 644P. Here's a screenshot running on the 1284p:

Image

Now interestingly, some games, even recompiled for the 1284, are severely screwed up. At least they are generally always screwed up at the same place so it does not *seem* to be some random failure due to overclocking. All mode 1 game experience these problems and since it's also the simplest mode, I'm clueless and can't see anything that could cause the issue. The only thing I'm thinking is it could be related to the extended memory. If the kernel was reading out of bound stuff before (i.e: for timing adjustment LPMs) that was zero or whatever and now it reads real physical memory, this discrepancy may cause problems. Arkanoid had ramtiles glitches then hangs, SuperMario demo will sometime crash, etc. Here's a shot from Dr.Mario using mode 1:

Image

Hopefully, this may just be caused by software bugs and there will be a way to have the same '644 HEX running on both chips. More extensive testing will confirm this (and it's going to be hard since I don't have an ICE) but I'm happy and somewhat relieved with what I've seen so far. I'll also need more chip samples, so if some of you guys have 1 lurking around collecting dust, let me know! ;)

Image

Some random notes:
-Random video noise was experienced on my wirewrap protoype but not on the Fuzebox PCB. Perhaps the chip seems more 'sensitive' than the 644?
-The datasheet is wrong on some timing (like CALL,RET, RETI), all instructions timings are identical to the 644, so no kernel timing change will be required. :)

Update Sept/2010:
Lately I got some free time and tried something proposed by some forum members: raising the MCU's voltage. And I can say it made a heck of a difference, all chips worked fine running all ROMS without crashes or artifact (the Dr.Mario is fine now) :mrgreen: ! Although one died when I tried to test how far I could strees the chips (I went up to 6.5V), all of them got stable around 5.5 to 5.6V. So that's about the maximum recommend operating voltage of 5.5v, but still under the absolute maximum rating. Talk about pushing the envelope, overclocked and overpowered...these chips are amazing! :) They have been running all night long and everything look fine so far.

Here's some snapshots of my test rig, a minimal B/W setup (click thumbnails for bigger pictures):
Image Image Image Image

Now what's next? It depends. Raising the voltage has it's side effect. A new Uzebox schematics for the 1284p would be required since the voltage upgrade will impact a lot of things like the video DAC resistor values, voltage dividers for the SD interface, the ad725, controllers, etc. What's more, this will leave Uzebox and Fuzebox owners in the dark since they can't upgrade to this chip directly. Following a trick mentionned in this thread we me be able to develop a simple hack to raise the voltage of the 1284p without affecting too much the other parts. I'll investigate...

Pursing the 1284p is one option for the project's next step, but also the new xmegas could do the job much better, without running them off spec. I just saw Sparkfun sells some on a breakout board, so it's perfect for hobbyist afraid of soldering SMT. Although it's not mounted with the most interesting version (only the ATxmega128A1 which has 8K of RAM), I'll order one soon and fiddle with it to see it's potential.

Cheers,

-Uze
User avatar
paul
Posts: 457
Joined: Sat May 02, 2009 8:41 am
Location: Brisbane, Australia

Re: Atmega1284P Test Results!

Post by paul »

Well that's a promising start. I won't go ordering in bulk just yet, though. ;)
User avatar
DaveyPocket
Posts: 378
Joined: Sun Sep 14, 2008 8:33 pm
Contact:

Re: Atmega1284P Test Results!

Post by DaveyPocket »

I'll have to get a few of these and try them out :mrgreen:
User avatar
Flecko
Posts: 158
Joined: Mon Jan 05, 2009 11:50 pm

Re: Atmega1284P Test Results!

Post by Flecko »

Where I work, we recently made a uC change on one of our boards from a 60k flash part to a 128k flash part. Granted, its not an AVR (its Freescale...don't get me started) but there were some subtle changes we had to make because it had a completely different MMU. The way memory was accessed in the linear address space is way different in terms of speed.

I haven't dug into the datasheet for the 1284p, but I hope it doesn't require all the hand tuning that our part did. I'm excited though...more flash is always a good thing.
hpglow
Posts: 269
Joined: Wed Apr 14, 2010 6:06 am

Re: Atmega1284P Test Results!

Post by hpglow »

Has anyone tested the ATMEGA1284P? Well aside from Uze. Mouser has them in stock and I was thinking of ordering one. This is my first Uzebox and I figured the extra ram would be nice.
tim1724
Posts: 30
Joined: Mon Dec 08, 2008 8:38 pm

Re: Atmega1284P Test Results!

Post by tim1724 »

hpglow wrote:Has anyone tested the ATMEGA1284P? Well aside from Uze. Mouser has them in stock and I was thinking of ordering one. This is my first Uzebox and I figured the extra ram would be nice.
They have the QFP package (ATMEGA1284P-MU) in stock. I'm waiting for ATMEGA1284P-PU (the DIP package) to be in stock, so I can plug it into my fuzebox board. They currently list it as on order, with deliveries not expected for over a month.
jrseattle
Posts: 13
Joined: Fri Oct 10, 2008 8:57 am
Location: Seattle, WA
Contact:

Re: Atmega1284P Test Results!

Post by jrseattle »

Hi, Uze.

Any news on the Atmega1284p AVR? It would be so nice to have this chip supported.

-Jan-
User avatar
uze6666
Site Admin
Posts: 4801
Joined: Tue Aug 12, 2008 9:13 pm
Location: Montreal, Canada
Contact:

Re: Atmega1284P Test Results!

Post by uze6666 »

I didn't have time to fiddle more on the 1284p lately. Specially because I only have a single part to test, and it's not easy to know if the problems I experience are due to a single chip's tolerances. Though if anybody else has access to those chips they are free to help me test it (or send me some more ;) ). As far as support goes, it appears to be 100% code and timing compatible so all the APIs should work as-is. Perhaps, at worst, a 1284 version of HEXes will have to be compiled per game. So take the support for granted! :)

-Uze
User avatar
uze6666
Site Admin
Posts: 4801
Joined: Tue Aug 12, 2008 9:13 pm
Location: Montreal, Canada
Contact:

Re: Atmega1284P Test Results!

Post by uze6666 »

A generous member (thanks David!) just sent me 3 more 1284P in DIP format for testing. After trying them out I only got one of the three to work at all. And the 3rd one kinda some noisy image like the first device I got. So unless someone finds a reason (beside overclocking) that could explain this, the 1284P journeys pretty much ends here I'm afraid. :(

-Uze
User avatar
kscharf
Posts: 18
Joined: Fri Sep 12, 2008 12:50 am

Re: Atmega1284P Test Results!

Post by kscharf »

The atmega1284 and atmega1284P spec sheets show a max voltage rating of 6 volts, though the "safe operating" area shows up to 5.5 volts. It is common knowledge among PC overclockers that increased core voltage is sometimes required to get a processor to overclock well. Have you tried increasing the power supply voltage to the ATmega1284P? You should try up to 6 volts and see if it then works. Also look for a 40 pin slip on heatsink for the processor. If you can't find one just slap a hunk of metal on top of the chip with superglue. Also you might need to use an external oscillator instead of relying on the processor to clock it's own crystal. You might be able to force the atmega1284p to work yet!
Post Reply