Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revision | Next revisionBoth sides next revision | ||
learn:courses:unit-3:start [2019/10/28 17:22] – Andrew Holzer | learn:courses:unit-3:start [2019/10/28 17:37] – [Listing 7.2. PMP Initialization Code for LCD Interface] Arthur Brown | ||
---|---|---|---|
Line 308: | Line 308: | ||
//Figure 7.17. The PMP timing diagram for the beginning, middle, and end wait periods.// | //Figure 7.17. The PMP timing diagram for the beginning, middle, and end wait periods.// | ||
- | The minimum settings for the three PMP WAIT intervals can be determined by dividing the value for t< | + | The minimum settings for the three PMP WAIT intervals can be determined by dividing the value for t< |
+ | |||
+ | < | ||
+ | (1) $[B+(M+1)+E] * T_PB$ | ||
+ | |||
+ | (2) $[B+(M+1)+E] * T_PB = (5) * 100 ns = 500 ns$ | ||
+ | < | ||
Since the PMP is clocked from the peripheral bus clock, it is likely that the PMP cycle is slower than the core CPU, which means that the PMP also has a busy flag that must be polled before writing or reading the next byte. With the PMP interrupt disabled, the only way to determine if the PMP is ready for the next read or write cycle is to poll the PMP flag. The // | Since the PMP is clocked from the peripheral bus clock, it is likely that the PMP cycle is slower than the core CPU, which means that the PMP also has a busy flag that must be polled before writing or reading the next byte. With the PMP interrupt disabled, the only way to determine if the PMP is ready for the next read or write cycle is to poll the PMP flag. The // | ||
+ | |||