[elektro] PIC32, PMP wait state

Moczik Gabor pm_levlista at progzmaster.hu
Wed Dec 29 21:23:56 CET 2010


Hali!

Nem stimmelnek a wait state-ek.

SYSCLK = 80MHz
PBDIV  = 4
PBCLK  = 20MHz --> Tpb = 50ns

Ha beállítom hogy WAITB=0, WAITM=0, WAITE=0, akkor azt várnám, hogy 50ns 
széles WR pulzus jelenjen meg 100ns-onként. Azért ennyi, mert ha M=0 -ra 
van állítva, akkor M=1, B=1, E=1, tehát 3 Tpb egy írási ciklus (adatlap 
szerint).

A szélessége valóban 50ns, de a szünet 200ns, azaz a ciklus 5 Tpb.

Ha átállítom a WAITM=1 -re (ami 2 Tpb-t jelent), akkor a jel valóban 
100ns széles, de a szünet is megnő 250ns-re, a teljes ciklus 7 Tpb lett, 
a 4 helyett.

Már egy ideje görcsölök vele, szerintetek mit hagyok figyelmen kívül?


     PMCONCLR=BIT_15;                // PMP OFF
     Nop();
     PMCON=0x0300;                   // PTWREN, PTRDEN
     PMMODE=0x0600;                  // 16-bit, master mode 2
     PMAEN=0;                        // PMA.. address pins disabled
     PMCONSET=BIT_15;                // PMP ON
     Nop();

     PMMODEbits.WAITB=0;
     PMMODEbits.WAITM=1;
     PMMODEbits.WAITE=0;

     do{
         // write
         while(PMMODEbits.BUSY);
         PMDIN=0x0000;
     }while(1);


-- 
((( Móczik Gábor  )))--((( e|mail: pm-01 |@| progzmaster |.| hu )))
((( S.k.y.p.e.: moczik )))



More information about the Elektro mailing list