gbadev.org forum archive

This is a read-only mirror of the content originally found on forum.gbadev.org (now offline), salvaged from Wayback machine copies. A new forum can be found here.

Hardware > Flash2Advance architecture? (Yo! ampz!)

#4397 - cesium - Sat Mar 29, 2003 10:40 pm

ampz et. al.,

The Flash2Advance 128M cart has 4 each of the Intel 28F320B3TC
chips. These are 32MBit = 2048k words of 16 bits each. There are
21 address lines.

Fron the GBA side: 16 bit reads are performed with even addresses.

So... If I were to hook up one of these chips to the GBA I would...
GBA___Chip
A0----->No connect
A1----->A0
A2----->A1
etc.

Does this make sense?
cesium

#4399 - mbcook - Sun Mar 30, 2003 12:27 am

There is probably a latch on the cart to controll the high bits of the address, basically banking.
_________________
--Michael

#4403 - cesium - Sun Mar 30, 2003 12:34 am

ampz wrote:
I assume that this 128M flash cart of yours contains two 64M flash parts?
They are connected in paralell, one part for the upper 8 bits and one part for the lower 8 bits on the 16bit databus.

Since it's a 16bit bus and we are working with 16bit operations, only even adresses are valid.
0x08000000, 0x08000002, 0x08000004, 0x08000006 and so on.
Also, when reading device identifier codes, the A0 pin on the flash part is unused. That's why you get the device code from 0x08000004.
You should find the block 0 lock configuration at adress 0x08000008.


Basically, I don't understand why I'm seeing the chip device id code
at 0x08000004. I think that A0 *IS* used on these flash chips.

cesium

#4409 - ampz - Sun Mar 30, 2003 1:34 pm

Yes, A0 is used on thoose chips since they work in 8bit mode. (two 8bit chips in paralell = 16bit)
However, if you read the datasheet, when reading device identifier codes, A0 is ignored.

BTW, they are connected like this:
GBA---flash
A0-----A0
A1-----A1
A2-----A2

However, since this is a 16bit bus, A0 is NOT the least significant bit of the bus. The least significant bit is not present on the bus at all.

mbcook: no.

#4413 - cesium - Sun Mar 30, 2003 5:09 pm

Hey ampz,
I do appreciate your reply. I have never used flash chips before so
I am just getting my thoughts organized.

Also, for anyone reading this, as far as I know, ampz is the only,
actively posting, member of this forum who has actually etched boards
and made working flash carts. The rest of the postings are just words.

There is the talk, then there's the walk; and ampz walks the walk.

Having said that, I'm TOTALLY confused! I looked at my Flash2Advance
cart, and I found 4 chips. Each says 28F320B3TC. These are Intel
3-V Advanced Boot Block chips. They are in the VFBGA package.

So I studied the data sheet:
http://www.intel.com/design/flcomp/datashts/29058016.pdf

It says that this is a 32Mbit flash chip organized as 2048k words of
16 bits each. This makes sense, because I have 4 of these chips for
a total of 128Mbits.

Also, sec 3.2.2 on p. 14 of the data sheet says:
Quote:

Once in read-identifier mode, A0=0 outputs the manufacturer's
identification code, and A0=1 outputs the device identifier (see
Table 5) Note: A1 - A21 = 0.


So, I'm just wayyyy confused for 2 reasons:

1 - I read the device id at 0x08000004. (How the heck is this single
bit represented by the 4 in this address getting over to A0 on the chip!!!?)

2 - You keep saying that these chips are 8-bits wide, and that A0
is *NOT* used.

cesium (Feeling less like cesium, and more like lithium :)

#4415 - tepples - Sun Mar 30, 2003 6:05 pm

Depends on how the flash chips are wired.

The cart edge address bus goes from A1 to A24 (A24-A17 direct; A16-A1 multiplexed). If the four 8-bit-wide flash chips are interleaved in a 32-bit fashion, then A0 of the flash chips goes to A2 of the cart edge.

But of course, I'm probably talking out of my
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.

#4423 - cesium - Sun Mar 30, 2003 7:49 pm

Right. I don't think we can negelect the possibility that they are
in fact interleaved, not put in series in the address space.

But, again, I'm still confused as to why you too are saying that these
chips are 8 bits wide.

Am I just being an idiot when I read the data sheet?

You look at the same data sheet that I do and say that they are 8-bits
words, not 16-bit words?

Really, how can this be so confusing?!

Cheers,

cesium (Did you like that lithium joke?)

#4426 - ampz - Sun Mar 30, 2003 10:47 pm

Yes, they could be interleaved, but that would be a really stupid solution.
It adds capacitive load to the data bus, adding even more to the already tight timing, and it makes the PCB layout more complex.
That's why they most likely operate in pairs in 8bit mode.

Of course, F2A engineers may very well be stupid, who knows? :)

cesium: Intel flash memories can operate in either 8bit or 16bit mode. There is a strap pin that is used to select mode.

There is no section 3.2.2 in my datasheet, might be a slightly different revision. However, under figure 7 in my datasheet it clearly states that "A0 is not used in either x8 or x16 modes when obtaining these identifier codes."

tepples: Yes, one could argue that the adress lines present on the GBA cart bus should be named A1-A24, as a matter of fact, I agree with you to some extent, but it is really only a naming convention, and most GBA tech info I've seen refers to them as A0-A23. It is actually quite convenient to number them that way since the same pins are shared with the databus.
I know many standard 16/8bit flash memories number the pins A0 to Ax in 16 bit mode, and A-1 to Ax in 8bit mode :)

#4427 - cesium - Mon Mar 31, 2003 12:18 am

ampz wrote:
cesium: Intel flash memories can operate in either 8bit or 16bit mode. There is a strap pin that is used to select mode.

There is no section 3.2.2 in my datasheet, might be a slightly different revision. However, under figure 7 in my datasheet it clearly states that "A0 is not used in either x8 or x16 modes when obtaining these identifier codes."


Can I get a copy of your data sheet? What is the title? I'll
search Intel for it.

Would you glance at the one I refer to in the URL in my prev
post above and see if it is the proper one?

From the data sheet that I am reading, there is, in fact, no pin
that permits switching between x8 and x16 mode.

Certainly, the StrataFlash (J3) series has this feature. However the
28F320B3 Boot Block Flash chips do not.

cesium

#4429 - ampz - Mon Mar 31, 2003 1:25 am

I didn't check the part number you quoted since I assumed they use strataflash parts. You are correct, the parts they use do not support 8bit mode so they must be interleaved.
The parts they use are much more expensive than strataflash.