DMA, 外设直接送到外设,MCU 彻底修仙@8051U DMA P2P外设到外设功能
本帖最后由 乘风飞扬 于 2024-10-16 11:38 编辑8051U
【DMA-P2P, 外设直接送到外设】,CPU 彻底去修仙@8051U !
AI 单片机从 8051U开始增加了【DMA, P2P外设到外设功能】。
后续的8052U / 32G144K256的DMA也会支持 P2P
DMA-P2P将源头外设获得的数据直接送往目标外设输出,
不需要经过CPU/RAM缓存, 是独立并行处理。
DMA支持P2P的外设有:
USART1, USART2, UART3, USART4,
SPI,I2C,ADC,I2S,
QSPI,I2S音频接口,
i8080/M6800接口-TFT彩屏/LCD12864
#define P2P_SRC_UR1RX 0x10
#define P2P_SRC_UR2RX 0x20
#define P2P_SRC_UR3RX 0x30
#define P2P_SRC_UR4RX 0x40
#define P2P_SRC_SPIRX 0x50
#define P2P_SRC_I2CRX 0x60
#define P2P_SRC_LCMRX 0x70
#define P2P_SRC_QSPIRX 0x80
#define P2P_SRC_ADCRX 0x90
#define P2P_SRC_I2SRX 0xA0
#define P2P_DEST_UR1TX 0x01
#define P2P_DEST_UR2TX 0x02
#define P2P_DEST_UR3TX 0x03
#define P2P_DEST_UR4TX 0x04
#define P2P_DEST_SPITX 0x05
#define P2P_DEST_I2CTX 0x06
#define P2P_DEST_LCMTX 0x07
#define P2P_DEST_QSPITX 0x08
#define P2P_DEST_I2STX 0x0A
DMA P2P支持2组外设同时工作:
DMA_P2P_CR1 = P2P_SRC_UR1RX | P2P_DEST_UR1TX; //将UART1_RX接收到的数据从UART1_TX发送出去
DMA_P2P_CR2 = P2P_SRC_UR1RX | P2P_DEST_UR2TX; //将UART1_RX接收到的数据从UART2_TX发送出去
使用串口助手给MCU UART1发送数据时,UART1收到的数据会同时从UART1、UART2传出:
DMA_xxxx_AMTH, DMA_xxxx_AMT设置P2P透传数据字节数,透传数据量达到设置的数据个数(小于65536)就会产生DMA中断,并停止源外设的DMA接收功能,需要重新启动才能继续接收。
如果DMA_xxxx_AMTH, DMA_xxxx_AMT设置为0xFFFF,则DMA P2P无限透传。
DMA_xxx_ITVH, DMA_xxx_ITVL设置每个字节数据的DMA传输间隔时间。
使用P2P的话,目标外设的发送速度必需比源外设的接收速度快,否则可能导致数据丢失。
附件例子供参考,需要选择其它源外设时,可在对应的项目文件处右键选择“Options for File...”:
勾选“Include in Target Build”选项,并取消其它外设文件的这个选项:
最后重新编译。
通过寄存器实现的? STC8051U全球大学计划实验箱,大国风范
用 STC8051U-PDIP40, LQFP44, LQFP48
点亮 i8080-TFT, QSPI-TFT, SPI-TFT, 点灯
追风剑-II@STC8051USB 实验箱,极致音频,示波器,波形发生器
管脚兼容天王级别的: STC89C52RC, STC12C5A60S2
兼容 8位8051,可以用 Keil C51/IAR/SDCC 编译器
===STC-ISP 烧录时,指定 STC8051U-8Bit
兼容 32位8051,可以用 Keil C251 编译器,双核兼容设计
===STC-ISP 烧录时,指定 STC8051U-32Bit
34K SRAM(2K edata, 32K xdata), 64K Flash
DMA支持PWM, DMA支持外设直接到外设, P2P
135MHz-PWM支持硬件移相,16位PWM; 真12位ADC
USB, I2S, QSPI, 4组串口,I2C, SPI
LQFP48/LQFP44,PDIP40 封装已到位
TFPU32:【硬件三角函数/反三角函数,硬件浮点运算器】
不用的PSEN 改成 USB-3.3V-LDO-UCAP, 外挂 0.1uF电容
不用USB, 不用 USB直接下载/USB仿真,可不挂这个电容
【新提醒】STC8051U全球大学计划实验箱,大国风范 ! 数据手册 - 单片机创意设计大赛 @【STC & 嘉立创EDA】 国芯技术交流网站 - STC全球32位8051爱好者互助交流社区 (stcaimcu.com)
STC8051U 的 DMA 支持 PWM
能不能直接上干货 {:4_197:}{:4_197:}{:4_197:} wanli 发表于 2024-7-6 23:02
能不能直接上干货
顶楼附件是 源代码-干货
STC8051U的 DMA 支持 P2P, 外设直接到外设
===DMA 有2组 外设直接到外设 通道
===可以支持 4个外设组成 2组 P2P DMA
===其他的外设要 DMA 支持,
可经过 DMA 缓冲区/64K深度,XRAM
深圳国芯人工智能有限公司-产品_STC8051U系列 (stcai.com)
STC8051U 最新完整数据手册下载
名字有点问题,我以为芯片直接废掉了{:4_167:} 51芯片功能越来越强大。
页:
[1]
2