Email: Password: Remember Me | Create Account (Free)

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
???
08/13/08 22:57
Modified:
  08/13/08 23:01

Read: times


 
#157480 - You missed a thing or two, Erik
Responding to: ???'s previous message
Erik Malund said:
from the datasheet "In the DS89C430, the MOVX instruction takes as little as two machine cycles or two oscillator cycles"
there's no doubt about that ... but what I said was

... the data path is 16 bits wide, and because the code is simply a block of 256

MOVX A,@dptr
MOVX @dptr,A

instruction pairs ...


MOVX A,@dptr
MOVX @dptr,A

instruction pairs, the whole thing takes 60 ns per byte


nope, 2*2/33M = 121ns
excluded as Richard did: djnz

now comparing to a f120 with pagebound buffers
movx A,@R0 3 cycles
MOVX @dptr,A 3 cycles
inc R0 1 cycle
for a total of 70ns

excluded as Richard did: djnz

if you write the buffer backwards and use the same register for @R1 and djnz you can cut it to 60ns


Erik


Just a minute ... The arithmetic is right, but ... The MCU doesn't see the data, i.e. it's not connected to the MCU, and it's 16-bit-wide data. Data source and data sink are simply connected together. The MCU simply executes 256 instruction pairs, which generates 256 reads, and 256 writes, with 256 addresses, then moves on to the next thing, which, in this case, is 39 more of the same thing, each time first ordering the transfer with an quick command transfer. I'm thinking, actually, some simple logic can be used to generate the write strobe at the same time as the read strobe occurs. That would speed up the process by 2x, without affecting access time.

No djnz is necessary, as the transfer module simple ends in RET. There's no loop. As I may have mentioned, the falling edge of A15 is used to increment a counter which provides the upper four address bits. The entire address generator is simply the DPTR and that programmable counter. As it happens, access time limitations prevent me from shortening the transfer to less than 120 ns per the applicable standard. It's easier than using a DMAC. As it happens, this is "multiword DMA" (doesn't require CRC) on an ATAPI channel to/from memory, which, BTW, is also used as a data source for yet another DMA-driven channel. If someone's interested in pursuing it, it's an easy way to create a datalogger, though this one has to be fast.

RE






List of 34 messages in thread
TopicAuthorDate
Programming 8051/8052            01/01/70 00:00      
   Get something ready to do to start...            01/01/70 00:00      
   here's a simple ISP cable for 89S51/2            01/01/70 00:00      
      ... and HOPE            01/01/70 00:00      
    or DS89C450            01/01/70 00:00      
      Not the fastest by 3::1            01/01/70 00:00      
         There are features ...            01/01/70 00:00      
            Pray explain            01/01/70 00:00      
               Some features really DO help            01/01/70 00:00      
                  why fiddle with MODE 0            01/01/70 00:00      
                     There aren't many reasons, but SPI isn't one            01/01/70 00:00      
                        you are describing SPI            01/01/70 00:00      
                           Have a look!            01/01/70 00:00      
                              luvverly !            01/01/70 00:00      
                                 ... and what I really like ...            01/01/70 00:00      
                                    nope            01/01/70 00:00      
                                       You missed a thing or two, Erik            01/01/70 00:00      
    i edit my answer as            01/01/70 00:00      
   AT89S5X or DS89C450MNG            01/01/70 00:00      
   Back to Topic-here is what I tried for days..            01/01/70 00:00      
      two mistakes            01/01/70 00:00      
      Logic Low Levels?            01/01/70 00:00      
      please consider            01/01/70 00:00      
         Abt ISP cable ang voltage level            01/01/70 00:00      
            That how most of these posts go            01/01/70 00:00      
               schematics at last!            01/01/70 00:00      
                  no, the frequency does not matter            01/01/70 00:00      
            Maybe a helpful link            01/01/70 00:00      
            Where you measure the voltage makes a difference            01/01/70 00:00      
               ISP Schematics at last!            01/01/70 00:00      
                  Keep your work clean and wires short            01/01/70 00:00      
                  See if this suits you...            01/01/70 00:00      
      EA pin should be high            01/01/70 00:00      
         EA high not necessary during ISP            01/01/70 00:00      

Back to Subject List