[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