From: -jg on
On May 27, 6:14 pm, "Meindert Sprang" <m...(a)NOJUNKcustomORSPAMware.nl>
wrote:
>
> If you create the bus cycles manually with a 12MHz AVR, you must have a very
> slow flash before you need to insert NOPs to get the timing right. What's
> the speed of the flash chip you're using?
> To give you an idea: I am currently working with a PIC18 running at 24MHz
> (at gun point, I must admit) and the flash has an access time of 100ns. No
> NOPs required and the total transfer speed is dead slow at 75kbyte/s....
>

It's not so much Taa timing, as port-pipeline effects
- on single-cycle parts, often you cannot read immediately after a
write, if you want read to reflect that write.

This post over in Avrfreaks:

["When switching between output and input, I found 2 cycles were
needed at 20MHz in order to read the port data. I use 3 NOPs just to
play it safe."]
From: Ulf Samuelsson on
NMMX skrev:
>>> Currently I just insert random nops to delay cycles until it works as
>>> expected. However, I would like to be able to work this out properly so
>
>>> can
>>> write more efficient code.
>>>
>>>
>> That's lucky...... all the info you need is in the Atmel data sheets, but
> I
>> suspect you don't understand what is in front of you. Have you thouight
>> about SPI flash ?
>
> Parallel is used due to the requirements of the project.
>

That is real strange.
It is a significant disadvantage to use parallell vs SPI flash,
so if I were you, I would go back and investigate why it is a requirement.
Easiest is to use an 8 bit flash memory and an AVR with an external bus,
like the ATmega1281 or XMEGA.
Then you need to demultiplex the bus, and thats it.
Chip select controlled by an I/O pin, if that is the only thing on the bus.


> You're right, I don't fully understand everything within the datasheets
> hence why I am asking for a little bit of help to gain better
> understanding.
>
> I'm not in a electronics background for work/academic the only resource I
> have when I don't fully understand something is community forums and
> books.
>
> It is quite easy to insert enough no operation instructions so I can be
> sure that I am within the correct time frames, I simply want to be able to
> calculate it properly. I know a few issues that would effect this is things
> such as the sync latching.
>
> Regards.
>
> ---------------------------------------
> Posted through http://www.EmbeddedRelated.com


--
Best Regards
Ulf Samuelsson
These are my own personal opinions, which may
or may not be shared by my employer Atmel Nordic AB
From: Ulf Samuelsson on
NMMX skrev:
>>> Currently I just insert random nops to delay cycles until it works as
>>> expected. However, I would like to be able to work this out properly so
>
>>> can
>>> write more efficient code.
>>>
>>>
>> That's lucky...... all the info you need is in the Atmel data sheets, but
> I
>> suspect you don't understand what is in front of you. Have you thouight
>> about SPI flash ?
>
> Parallel is used due to the requirements of the project.
>

That is real strange.
It is a significant disadvantage to use parallell vs SPI flash,
so if I were you, I would go back and investigate why it is a requirement.
Easiest is to use an 8 bit flash memory and an AVR with an external bus,
like the ATmega1281 or XMEGA.
Then you need to demultiplex the bus, and thats it.
Chip select controlled by an I/O pin, if that is the only thing on the bus.


> You're right, I don't fully understand everything within the datasheets
> hence why I am asking for a little bit of help to gain better
> understanding.
>
> I'm not in a electronics background for work/academic the only resource I
> have when I don't fully understand something is community forums and
> books.
>
> It is quite easy to insert enough no operation instructions so I can be
> sure that I am within the correct time frames, I simply want to be able to
> calculate it properly. I know a few issues that would effect this is things
> such as the sync latching.
>
> Regards.
>
> ---------------------------------------
> Posted through http://www.EmbeddedRelated.com


--
Best Regards
Ulf Samuelsson
These are my own personal opinions, which may
or may not be shared by my employer Atmel Nordic AB