PMP stands for “Parallel Master Port”.

PIC32’s that support iPMP generally provide the following:

  • An 8 or 16 bit parallel port (pins: PMD15:PMD8 and PMD7:PMD0)
  • Up to two CS pins that are triggered using address bits 15 and 14 (i.e. set the address with those bits set to cause the associated CS pins to be triggered). Optional: you can have none, CS2, or CS2 and CS1 used and you can set the state as active low or active high.
  • Optional read pin PMRD
  • Optional write pin PMWR (you will typically want to use one or both of these!)
  • Select from two master modes: Master mode 1 = read and write strobe are combined into a single control line, PMRD/PMWR and a second control line, PMENB, determines when a read or write action is to be taken. In Master mode 2, read and write strobes (PMRD and PMWR) are supplied on separate pins.
  • Operation is relatively straightforward – you can poll or configure an IRQ to load the next word/byte to be read or written, or use the DMA to do it for you with a block of data.

An example config:

	//----- SETUP PMP (Parallel Master Port) -----
	//Config done in MCC:
	//	Stop in Idle Mode bit: OFF
	//	PMP Mode Selection: Master mode 2 (mode 2 = read and write strobes (PMRD and PMWR) are supplied on separate pins)
	//	Master Mode Configuration:
	//		Enable Interrupts: NO
	//		Chip Select Function Bits: PMCS1 and PMCS2 functions as Chip Selec
	//		Chip Select 1 Polarity bit: Active-low
	//		Chip Select 2 Polarity bit: Active-low
	//		Data Setup Wait States: Data wait of 4 Tpbclk2
	//		Strobe Wait States: Wait of 2 Tpbclk2
	//		Data Hold Wait States: (for writes) Wait of 4 Tpbclk2 / (for reads) Wait of 3 Tpbclk2
	//		Transfer Size: 8-bit mode
	//		Address Increment Mode: No increment of decrement
	//		Read Strobe Enable: NO
	//		Write Strobe Enable: YES
	//		Write Stobe Polarity bit: Write strobe active low / Enable strobe active low
	//		Addess Port Enabe: NO
We benefit hugely from resources on the web so we decided we should try and give back some of our knowledge and resources to the community by opening up many of our company’s internal notes and libraries through mini sites like this. We hope you find the site helpful.
Please feel free to comment if you can add help to this page or point out issues and solutions you have found, but please note that we do not provide support on this site. If you need help with a problem please use one of the many online forums.


Your email address will not be published. Required fields are marked *