Hydra sram card comming soon...
AndreL
Posts: 1,004
The original HYDRA was going to have SRAM built in, but we decided to leave it out since Parallax wanted to show off the propeller as much as possible without any extra hardware. Anyway, I designed the memory expansion about 15 months ago, but only recently had time to start playing with it again a couple months ago, and pricing the whole thing. In any event, its all done now, so I will start the manufacturing phase very soon.
Any last minute requests, I can still probably get in if they are reasonable, so I am all ears. But, more or less its a byte wide system with a 3 pin control and clock, so there are only so many things you can do with that. A number of others have been working with memory expansion designs for the propeller and they all more or less look alike at the end other than the implementation and some of the features.
Thus,·what I am talking about are "easter eggs" on the card, I am planning on the SRAM itself, the controller, and of course the EEPROM, so this will be a "super cart" of sorts.
Also, I am open for suggestions for other add on cards people would like to see, if I get enough suggestions, I might take the top #1 suggestion and do it. I probably can imagine what people will say, but I want to see before I say anything, so I don't sway anyone's ideas --
Andre'
·
Any last minute requests, I can still probably get in if they are reasonable, so I am all ears. But, more or less its a byte wide system with a 3 pin control and clock, so there are only so many things you can do with that. A number of others have been working with memory expansion designs for the propeller and they all more or less look alike at the end other than the implementation and some of the features.
Thus,·what I am talking about are "easter eggs" on the card, I am planning on the SRAM itself, the controller, and of course the EEPROM, so this will be a "super cart" of sorts.
Also, I am open for suggestions for other add on cards people would like to see, if I get enough suggestions, I might take the top #1 suggestion and do it. I probably can imagine what people will say, but I want to see before I say anything, so I don't sway anyone's ideas --
Andre'
·
Comments
SAMSUNG Electronics to Produce Industry's Highest-density Smart Card IC with Embedded NOR Flash
CARTES 2004, Paris, France - November 2, 2004 : Samsung Electronics Co., Ltd., a leader in advanced semiconductor technology, announced today that it is preparing to mass produce a smart card IC with 1-megabyte (MB) of embedded NOR Flash memory (S3FJ9SK) the highest density available today.
The IC's higher data storage will enable the first widespread use of multimedia message service (MMS), as well as improved Internet access, increased phone book storage, more online games and other applications for 3G mobile handsets.
The new 1MB embedded NOR Flash smart card IC will be demonstrated in Booth Hall 3 no.3 C 29 at the CARTES 2004 exhibition held at Paris, France from November 2 through 4.
The embedded1MB NOR Flash memory smart card IC utilizes an ARM-based 32bit SC200 secure core, a 3-DES encryption standard and a crypto processor, enabling enhanced reliability, faster subscriber identification and more security for preventing the leakage of information.
Samsung also has an embedded 16Kilobytes (KB) SRAM to enable code designers to apply diverse programs, while simultaneously attaining significant performance enhancements. A built-in JAVA accelerator facilitates a JAVA-based platform, improving the speed up to 8 times.
The high-density embedded NOR Flash memory smart card IC supports operating voltages from 1.62V to 5.5V. The low power feature fully complies with the power consumption levels of the GSM standard. Moreover, memory management has been optimized because data programming and updating processes operate independently of one another.
With the introduction of this highly efficient smart card IC, Samsung now supports a full line of embedded NOR Flash memory smart card ICs from 192KB to 1MB.
The S3FJ9SK is available for sales in Europe.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Paul Baker
Propeller Applications Engineer
Parallax, Inc.
We will see how people use the SRAM card, if they really like it then I will build more of a memory controller with these nice features like you suggested.
But, once its done, I will send one to you to check out. I am sure parallax will probably want to sell these as well as an accessory with the hydra.
Right now, I am just trying to layout this little monster on that miniature card [noparse]:)[/noparse] For all the buses, etc. I had to use a 100 pin CPLD to do all the interfaces, that doesn't give you a lot of room to work with for routing (at least if you want it to look nice).
Andre'
Andre'
I strongly suspect that a 6502 emulator could be written to fit in one cog and run at around at 1-1.5 6502 MHZ equivalent. I used to do a LOT of 6502 assembly coding over 20 years ago...
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
www.mikronauts.com - a new blog about microcontrollers
This week I been working on a Hydra 6502 card prototype; it's on my breadboard right now. I just finished debugging the RAM access and control logic, and I'm about to try jamming the 6502 with NOP's to see if the address lines cycle. Instead of latching the address lines for the RAM, I'm using the 6502 to address RAM for me.
It'll be another month before I can afford a Hydra, so I'm running it on a PropStick until I get my Hydra.
Yeah, you could probably emulate a 6502 on the Prop and even run it faster than the real hardware, but -blah- I'm just not a big fan of simulations! They're not real!
Sorry for the late response. Sometimes work gets in the way. Is there any chance you could have the card work with Phil Pilgrim' PropCAM http://forums.parallax.com/forums/default.aspx?f=25&p=1&m=131097 When I recently asked him the same question he seemed to thing it would require a custom CPLD configuration. It would be real cool if we could reconfigure your memory board to act as a video image buffer from his camera. His limiting factor seems to be Propeller memory which your board fixes. I would like to see stereo RGB vision for my robot some day in the future.
Len
Marty
My local PCB makers are making it right now, should have prototypes back in a week, then maybe 1-2 more iterations and then we will be ready to manufacture and sell it. Thinking $39-49.
Andre'
Andre'
When is release the SRAM card be sure to include a kick butt demo program. A little eye candy is always good
If I get some time I will write a 3D engine that uses the memory, but doubtful that will deploy with the card. So we will see what happens, but first thing is to get the card out there and then we can always add more stuff to the CD that it comes with [noparse]:)[/noparse]
Andre'
Of course, if you are doing multiple reads or writes, or this or that, you can cut down on I/O settings, but the bottom line is you will want to access the memory usually in a loop of sorts, thus you will take an address counter and have to write it to the port, then put the data there, then pulse the write latch, things like that. So although you can cut instructions in certain cases, there is a minimum amount of work that has to be done to any sram to get things in and out of it.
Andre'
Andre'
move x,y
With a processor with an external bus interface, it does all the work at the atomic level with the bus, but when you have to simulate a an external bus with data, address, and control, you have to control those signals state by state, this is why things are limited by the propeller not by the external hardware, it goes 400Mhz, and the memory 100+Mhz, the prop is going 20 mips, but the prop needs to do 3-5 things to "talk" to the memory that's where the bottleneck happens.
pin out = low
pin out = high
pin out = high
Sequence to pulse the clock line on the memory.
Andre
Andre'
End of next week, the next PCBs should be back and we will know more then.
Now, just need to decide on the color [noparse]:)[/noparse] I think yellow PCB with black lettering would look slick.
Andre'
Exciting stuff!
Could you say something about the programmer interface and it's capabilities yet?
I am very curious about them.
Also, do you think your memory expander is flexible/fast enough so that a COG can use it directly as a frame-buffer for generating a high resolution and high color mode video signal? That would be fantastic!
For example a completely unencumbered (no color limitations) 256x192 by 96 color PAL/NTSC composite signal driver, and a 1024x768 by 64 color VGA signal driver should both be possible if the COG can get data from the memory expander fast enough. That is, unless there is something in the video shifter logic, or the COG's execution speed, that prevents these modes. I am not aware of all the limitations or the Propeller yet.
One trick you could use is to use two COG's. One that does the even, and another that does the odd pixels. of course the COG's must be extremely well synchronized to pull this off.
But I thought of one way to do this. Lets say we have two COG's, a "master" and a "slave". Both are loaded with a (each slightly modified) copy of the new TV driver, and each routine would have a slightly different "prelude" routine, that is used to synchronise (start at exactly the same time) the TV drivers. The "master" COG routine must read the system counter, and add a reasonable value to it, and then "publish" this "future time" value for the slave cog through the 32k main RAM, along with a "flag" to tell the "future time" value in RAM is valid. The slave COG, in the mean time, could wait for this flag to become 'true', and then read the "future time" value. Then, both master and slave should wait for this "future time", and at that exact time continue execution. The result is that both COG's continue with their copy of the TV driver at exactly the same time!
I understand the video hardware supports 96 colors without too much trouble in composite video mode (and a bit more with some trickery), and can generate a 6-bit color RGB signal in VGA mode.
Also, it's a pity the SPIN interpreter can't be re-written to read it's byte data directly from your external memory, that would truly be a great improvement.
P.S.
My Hydra is working fine, and your book is great... I think I am in the market for your memory expansion soon.
Martin (Mahjongg)
I think having a video cog and a memory fetch cog would be easier to synchronize because the tv.spin driver could remain mostly as it is now, and the memory fetch cog would be very simple to implement and would require only h-sync and v-sync messages.
Actually the Spin interpreter COULD be re-written to get it's data out of external memory. If you can write a Propeller emulator (on the PC) that interprets Spin code, then you could also roll your own Spin interpreter Propeller assembly. But I'm sure it's no simple task.
And the programming interface is just a couple control lines and a clock line to "do it", 0-64k random access, 64K-512K linear increment/decrement access.
- Load low 8-bits of 19-bit address
- Load high 8-bits, clear upper address lines of 19-bit address
- read mem (optional post increment/decrement), parallel byte read at current address
- write mem (optional post increment/decrement) parallel byte write at current address
Lastly, the spin interpreter is already so tight , nothing more would fit probably, so a better thing would be to KILL a few functions that no one cares about, use the code space to implement external SRAM memory access functions OR use the code space to augment the normal memory addressing, so anything over 32K maps to the external RAM --
Andre'