打印
[开发工具]

微芯提的PMP是一种外设吗?

[复制链接]
843|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
yuliangren|  楼主 | 2025-3-19 13:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我看介绍好像是图形化操作,这PMP是一种外设吗?Enhanced Parallel Master Port

使用特权

评论回复
沙发
锵才才| | 2025-3-20 16:16 | 只看该作者
PMP是一种并行接口外设, 主要用来访问并行的存储器,如并行的FLASH,SRAM,DRAM. 不过现在随着串行的时钟速率的提高,串行存储器应用越来越广泛,毕竟布线简单。图形方案里有些要用到并行的存储器来保存图片,所以PMP还是会被用到

使用特权

评论回复
板凳
yiy| | 2025-3-21 16:30 | 只看该作者
PMP(Parallel Master Port,并行主端口) 是微芯科技(Microchip)在其部分微控制器(如PIC24系列、dsPIC33系列等)中提供的一种外设模块。它是一种并行的硬件接口,用于实现微控制器与外部并行设备(如LCD显示屏、SRAM、FPGA、CPLD等)之间的高速数据传输。

使用特权

评论回复
地板
yiy| | 2025-3-21 16:30 | 只看该作者
PMP 的主要特点:
并行接口:

PMP 支持 8 位或 16 位的并行数据传输,适合需要高速数据交换的应用场景。

多种工作模式:

主模式(Master Mode):微控制器作为主设备,主动控制外部设备。

从模式(Slave Mode):微控制器作为从设备,响应外部主设备的控制。

灵活的时序控制:

PMP 提供了可配置的读写时序(如地址建立时间、数据保持时间等),可以适配不同外部设备的时序要求。

地址和数据线分离:

PMP 提供了独立的地址线和数据线,方便直接连接外部存储器或外设。

支持多种外设:

PMP 可以用于连接 LCD 显示屏、SRAM、NOR Flash、FPGA、CPLD 等设备。

DMA 支持:

部分微控制器的 PMP 模块支持 DMA(直接内存访问),可以进一步提高数据传输效率,减少 CPU 开销。

使用特权

评论回复
5
yiy| | 2025-3-21 16:30 | 只看该作者
PMP 的典型应用:
连接 LCD 显示屏:

PMP 可以直接驱动字符型或图形型 LCD 显示屏,简化硬件设计。

扩展外部存储器:

通过 PMP 可以连接外部 SRAM 或 NOR Flash,扩展微控制器的存储容量。

与 FPGA/CPLD 通信:

PMP 可以用于微控制器与 FPGA 或 CPLD 之间的高速数据交换。

高速数据采集:

在需要高速数据采集的应用中,PMP 可以用于连接 ADC 或其他数据采集设备。

使用特权

评论回复
6
yiy| | 2025-3-21 16:30 | 只看该作者
PMP 的寄存器配置:
PMP 的功能通过一组寄存器进行配置,主要包括:

PMPMODE:配置 PMP 的工作模式(主模式/从模式)、数据宽度(8 位/16 位)等。

PMPA:地址寄存器,用于设置访问外部设备的地址。

PMPD:数据寄存器,用于读写数据。

PMPCON:控制寄存器,用于配置 PMP 的使能、中断等。

使用特权

评论回复
7
yiy| | 2025-3-21 16:31 | 只看该作者
配置方法一般如下
#include <p24Fxxxx.h>

void PMP_Init(void) {
    // 配置 PMP 为主模式,16 位数据宽度
    PMMODE = 0;          // 先清零
    PMMODEbits.MODE = 0; // 主模式
    PMMODEbits.WAITB = 1; // 地址建立时间
    PMMODEbits.WAITM = 1; // 数据保持时间
    PMMODEbits.WAITE = 1; // 使能时间
    PMMODEbits.MODE16 = 1; // 16 位数据宽度

    // 配置控制信号
    PMCON = 0;          // 先清零
    PMCONbits.PTWREN = 1; // 使能写信号
    PMCONbits.PTRDEN = 1; // 使能读信号
    PMCONbits.PMPEN = 1;  // 使能 PMP 模块
}

void PMP_Write(uint16_t address, uint16_t data) {
    PMADDR = address; // 设置地址
    PMDIN = data;    // 写入数据
}

uint16_t PMP_Read(uint16_t address) {
    PMADDR = address; // 设置地址
    return PMDIN;     // 读取数据
}

使用特权

评论回复
8
逢dududu必shu| | 2025-3-25 13:00 | 只看该作者
增强型的外设,专门用于支持高带宽的并行数据传输。

使用特权

评论回复
9
天灵灵地灵灵| | 2025-3-25 19:26 | 只看该作者
这个接口方便驱动8080屏幕吗

使用特权

评论回复
10
yutingwei| | 2025-4-25 15:41 | 只看该作者
相比 SPI 或 I2C,PMP 提供更高的数据传输速率,尤其适用于需要频繁、高速读写的设备

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

7

主题

266

帖子

0

粉丝