This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

external memory write time

Hello,

I'm trying to move memory from the ADC result result (ADDAT) to external memory (on BUSCON3) ASAP. I'm using the C167HSE Phycore module. From the data sheet for the external RAM, it says that it can write within 10ns, although it didn't specify how many bytes within that 10ns time frame. The fastest result I can achieve for writing from ADDAT to external memory is 10us using xmemcpy, which was verified through the oscilloscope. I even tried to move the data w/o using xmemcpy but the result is still the same. I also tried to tweak the BUSCON3 settings in .a66 file but still no luck. Does anyone have any ideas? Thanks in advance.

Shane

Parents
  • Assuming you are running at 40MHz then the fastest bus cycle is two clocks (50nsec). The fastest bus would be 16-bit demultiplexed. You didn't say what the size of the RAM is but I would suggest remapping /CS3 into segment zero and then using the PEC for the move. This is the fastest way to move data (the MOV instruction is injected in the pipeline upon the ADC interrupt, this also assumes the RAM is 16-bit wide).

    Let me know if you need an example or if this doesn't make sense to you.


    -Chris

Reply
  • Assuming you are running at 40MHz then the fastest bus cycle is two clocks (50nsec). The fastest bus would be 16-bit demultiplexed. You didn't say what the size of the RAM is but I would suggest remapping /CS3 into segment zero and then using the PEC for the move. This is the fastest way to move data (the MOV instruction is injected in the pipeline upon the ADC interrupt, this also assumes the RAM is 16-bit wide).

    Let me know if you need an example or if this doesn't make sense to you.


    -Chris

Children