The Cyber-Spy.Com Usenet Archive Feeds Directly
From The Open And Publicly Available Newsgroup
This Group And Thousands Of Others Are Available
On Most IS NNTP News Servers On Port 119.
Cyber-Spy.Com Is NOT Responsible For Any Topic,
Opinions Or Content Posted To This Or Any Other
Newsgroup. This Web Archive Of The Newsgroup And
Posts Are For Informational Purposes Only.
From: "Noname Nospam"
References: <3DBD8B58.8020903@NO-SPAM.kortekaas.xs4all.nl> <5dCv9.2205$B72.firstname.lastname@example.org> <3DBFD2B9.email@example.com>
Subject: Re: Philips XA architecture design
X-Newsreader: Microsoft Outlook Express 5.00.2314.1300
NNTP-Posting-Date: Wed, 30 Oct 2002 13:29:49 EST
Organization: Prodigy Internet http://www.prodigy.com
Date: Wed, 30 Oct 2002 18:29:49 GMT
Tim Kortekaas wrote in message news:3DBFD2B9.firstname.lastname@example.org...
> Noname Nospam wrote:
> > Tim Kortekaas wrote in message news:3DBD8B58.8020903@NO-SPAM.kortekaas.xs4all.nl...
> >>I posted a question about designing a little dev board for the Philips
> >>XA architecture. But I'm still confused with something. If the processor
> >>is in 16 bit mode, A0 isn't used because the processor fetches the data
> >>in byte-pairs. But when I look at the specifications of a (for instance)
> >>M27C1024 EPROM (1 MBit, 64k x 16, STMicroelectronics) it has 16
> >>adress lines (duh).
> > You have gotten a lot of general answers to your questions but to be more specific:
> > The M27C1024 is a 16-bit only EPROM
> > This means connect A1 to A17 of the XA to A0 to A16 of the M27C1024.
> > Connect PSEN of the XA to G of the M27C1024.
> > Connect E of the M27C1024 to Ground.
> > Connect P of the M27C1024 to Vcc.
> > Connect VPP of the M27C1024 to Vcc.
> > Verify that your EPROM programmer programs the LOW byte first of 16-bit devices.
> > Tim Kortekaas wrote in message news:3DBE4CE2.email@example.com...
> >>O.K. It's getting clearer and clearer to me.
> >>I think I know now how to connect a 16 bit ROM to the microcontroller.
> >>But now a question about the programming. When I grab the output of my
> > The first line from your compiler HEX output programs the first four bytes
> > of memory (address 0x0000 to 0x0003) with the XA reset vector.
> > An XA vector is made up of two words.
> > The first word for your code is: 0x8800 and will be loaded into the PSW of the XA.
> > The second word is the address of the vector handler located on page zero.
> > For your code this is: 0x0120
> > The very first thing that the XA will do after RESET is to read the reset vector.
> > After RESET the XA sets the bus control registers to produce the longest cycle times.
> > This means the XA will latch the data bus 5 clocks after the rising edge of ALE.
> > With your XA in external address mode (EA pin low at rising edge of reset) look 5
> > clocks after the rising edge of ALE to view the data on the D0 to D15.
> > Please note that the XA does not always produce a valid RESET vector read cycle
> > after RESET. It may abort this cycle but the next one will be valid.
> > If your code is correctly programmed into the M27C1024, D15 and D11 will both be
> > one and all the other data lines will be zero.
> IDEA: I don't need such a big ROM (of 1 megabit). Can I just program the
> code above in 2 8bit EPROMs of 8kb. If I connect A1 to A12 of the XA
> to A1-A12 of the 2 EPROMS. A0 of the first ROM to ground and A0 of the
> second ROM to Vcc. Then D0-D7 of the first ROM to D0-D7 of the XA and
> D0-D7 of the second ROM to D8-D15 of the XA. Will this work?
You seem to be missing the mark here.
What you have suggested here will be very hard to work with.
It makes programming the EPROMS difficult and waists half the bytes.
Why do you think it is required to match the names of the address
bits of the XA to the same names on the EPROM?
It does not matter if you use one 16-bit EPROM, or two 8-bit EPROMS.
When using the XA in 16-bit external bus mode you should connect
A1 to A13 of the XA to A0 to A12 of both EPROMS.
The EPROMs should be identified as "LOW" and "HIGH".
Connect D0-D7 of the XA to D0 to D7 of the "LOW" EPROM.
Connect D8-D15 of the XA to D0 to D7 of the "HIGH" EPROM.
Most device programmers support progamming pairs of 8-bit devices
that will be used on 16-bit buses. If you programmer does not then
you will need to split the HEX file from your compiler into two files.
All the bytes from your HEX file where address bit A0 is zero are
placed in the file used to program the "LOW" EPROM.
All the bytes from your HEX file where address bit A0 is one are
placed in the file used to program the "HIGH" EPROM.
For Intel HEX files this can be a little tricky but you should be able to
find a file splitting utility by searching the internet.
> I guess I can't program the above code in a 16bit ROM without
> preprocessing the HEX file to adjust it to fit in a 16bit ROM...
This depends on what kind of EPROM programmer you are using.
Go Back To The Cyber-Spy.Com
Usenet Web Archive Index Of
The sci.electronics.design Newsgroup