Notes and progress for the new 64004-ES Hyper Memory accessory
VonSzarvas
Posts: 3,450
Thread to document progress, for members that are experimenting with the new Hyper Memory.
Starting with a reset tip..
You will need to assert IO+15 high to enable the memory module.
IO+15 by default holds the memory chips in reset, so that when inserted they always power-up in a sane cleared state.
This function can be changed by adjusting R204 positions thus:
Check the schematic and docs for full information.
Starting with a reset tip..
You will need to assert IO+15 high to enable the memory module.
IO+15 by default holds the memory chips in reset, so that when inserted they always power-up in a sane cleared state.
This function can be changed by adjusting R204 positions thus:
1. Reset held by 10K to VSS (default setting) 2. Reset controlled by external reset (ie. hook to RESn on the RevB Eval board) 3. Remove R204 to have module always on.
Check the schematic and docs for full information.
Comments
The other thing to note is the early schematic (that had 27 ohm resistors) had different pin use for P9-12 to the final version
The Hyperram is "Hyper A", and the Hyperflash is "Hyper B", since each site could be loaded with either type of memory separately, if the corresponding chip select jumper is changed over. But the default of one of each is good
By default IO+14 is the interrupt signal, and is connected to Hyper B (Flash) Int signal, I believe
Have you been able to measure throughput speed yet?
It requires FastSpin Version 3.9.33 to compile.
I set up the pins from ozpropdev's screen capture for it being plugged into P32 and up.
What it is, is a terminal style program for exercising the HyperRAM. It expects capital letters.
You can press L to change the latency clock setting, from 3 to 6. For performance reasons of course you want 3.
Choose (F)ixed or (V)ariable latency. Variable isn't supposed to work if it's a dual stack chip.
The printout of "Transitions" is how many clock transitions it took for RWDS to respond.
Press (A) to change the command address. Then after entering that you can press (W) to write a value, and (R) to read it back or (B) to burst read it back.
Read or Burst Read is controlled by (N), number of words to read (1 to 128).
I'm available for any questions.
Are you on the RevA or RevB eval?
Is anyone aware of code changes between the 1st and 2nd version P2 chips ? I mean... will the HyperRAM and HyperFlash code need adjusting between the chip versions; does your code includes instructions that might have changed ?
Tested on Rev A & B Eval boards with latest Flexgui Ok.
https://forums.parallax.com/discussion/170229/memory-breakout-poll/p4
I don't know the full history but just advise anyone to proceed with caution until something truly definitive is put up (product page?)
If anyone who's got engineering samples of the HyperRAM module needs a provisional schematic, please PM me.
Shout if any other details would be handy!
There was something I was looking for but can't remember right now. May have just been the hyperRAM component part number so I could get details on coding up timings.
But I have a query: I'm looking at the P2-ES Eval HyperRAM/Flash Add-on" schematic and I'm trying to understand the seemingly conflicting markings for U100 and U101.
There are three pins on U100 that are marked "RFU", but they connect to "HyperA_FLASH_CS#", "HyperA_FLASH_INT#", and "HyperA_FLASH_RST0#", respectively. This seems contradictory to me.
These same three pins, on U101, instead of being marked "RFU", are marked "CS#", "INT#" and "RST0#". This chip also has a connection marked "DNU" that is connected to "HyperB_RAM_CS#". This also seems contradictory to me.
I'm assuming that "RFU" means "Reserved for Future Use" and "DNU" is "Do Not Use", but these pins are clearly being used. I'm sorta confuzzified here...
It will all work as supplied, as Parallax will set the jumper resistors in the right places for a board with 1x HyperRAM and 1x HyperFlash installed.
For customers that choose to swap the memory chips, they may need access to those other pins.
Some possible combinations are:
2x HyperRAM
2x HyperFlash
1x HyperRAM, 1x HyperFlash
2x Dual HyperRAM/HyperFlash (or 1x Dual and 1x any single type you like)
So if the installed Hyper device doesn't need the pin, it won't use them. But they are available for any device that needs them.
Sweet! Thanks for the clarification.