SKPIC32 - PMP and SRAM

Project Name: An Experimentation on SRAM chips, using PMP and SRAM.
Author/Designer: YH
Project Description:From this experimentation using SRAM, the only other thing which has a lot of pins is the SKPIC32. So, we will use the SKPIC32 and make use of the Parallel Master Port (PMP) to interface with the parallel SRAM without much hassles.
PMP is run in 8-bit data mode, and using seperate address and data lines.
Hardware: 62256 SRAM or bigger (Alliance's AS6C4008 and others), SKPIC32, a lot of jumper wires (27 and above), 16x2 44780 LCD, breadboard.
Schematics:
Wire up the SKPIC32 according to the memory addresses and data lines in brackets.
SRAM using Alliance AS6C4008. First 64k addressable in this example.
Address:
PMA0 (A0) -> RB15
PMA1 (A1) -> RB14
PMA2 (A2) -> RG9
PMA3 (A3) -> RG8
PMA4 (A4) -> RG7
PMA5 (A5) -> RG6
PMA6 (A6) -> RA10
PMA7 (A7) -> RA9
PMA8 (A8) -> RF5
PMA9 (A9) -> RF4
PMA10 (A10) -> RB13
PMA11 (A11) -> RB12
PMA12 (A12) -> RB11
PMA13 (A13) -> RB10
PMA14 (A14) -> RD11
PMA15 (A15) -> RD10
Other unused memory address lines are tied to ground!
Data:
PMD0~7 (D0~7) -> RE0~7
Control lines:
(/CE) -> RF0
PMWR (/WE) -> RD4
PMRD (/OE) -> RD5
LCD Port:
DB4~7 -> RA0~3
RS -> RA4
EN -> RA5
Source Code: Attached.
Photo:
Compiler: MPLAB X IDE 1.10, XC32 v1.00
References: PMP Reference - http://ww1.microchip.com/downloads/en/DeviceDoc/61128D.pdf
Author/Designer: YH
Project Description:From this experimentation using SRAM, the only other thing which has a lot of pins is the SKPIC32. So, we will use the SKPIC32 and make use of the Parallel Master Port (PMP) to interface with the parallel SRAM without much hassles.
PMP is run in 8-bit data mode, and using seperate address and data lines.
Hardware: 62256 SRAM or bigger (Alliance's AS6C4008 and others), SKPIC32, a lot of jumper wires (27 and above), 16x2 44780 LCD, breadboard.
Schematics:
Wire up the SKPIC32 according to the memory addresses and data lines in brackets.
SRAM using Alliance AS6C4008. First 64k addressable in this example.
Address:
PMA0 (A0) -> RB15
PMA1 (A1) -> RB14
PMA2 (A2) -> RG9
PMA3 (A3) -> RG8
PMA4 (A4) -> RG7
PMA5 (A5) -> RG6
PMA6 (A6) -> RA10
PMA7 (A7) -> RA9
PMA8 (A8) -> RF5
PMA9 (A9) -> RF4
PMA10 (A10) -> RB13
PMA11 (A11) -> RB12
PMA12 (A12) -> RB11
PMA13 (A13) -> RB10
PMA14 (A14) -> RD11
PMA15 (A15) -> RD10
Other unused memory address lines are tied to ground!
Data:
PMD0~7 (D0~7) -> RE0~7
Control lines:
(/CE) -> RF0
PMWR (/WE) -> RD4
PMRD (/OE) -> RD5
LCD Port:
DB4~7 -> RA0~3
RS -> RA4
EN -> RA5
Source Code: Attached.
Photo:
Compiler: MPLAB X IDE 1.10, XC32 v1.00
References: PMP Reference - http://ww1.microchip.com/downloads/en/DeviceDoc/61128D.pdf