MG32F10x Standard Peripherals Firmware Library

QSPI_Master_DMA example

      *************** (C) COPYRIGHT 2020 - 2023 megawin Technology ***************
      * @file    SPI/QSPI_Master_DMA/readme.txt
      * @author  megawin Application Team
      * @version V0.1.10
      * @date    05-January-2023
      * @brief   Description of the SPI QSPI_Master_DMA example.
      ******************************************************************************
      * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
      * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE
      * TIME. AS A RESULT, MEGAWIN SHALL NOT BE HELD LIABLE FOR ANY DIRECT,
      * INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM
      * THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE
      * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
      ******************************************************************************

例程描述

本例程与SPIS1_Slave_DMA例程演示如何以DMA的方式完成SPI主机和SPI从机之间的通信。

本例程系统时钟工作在96Mhz，通过PLL配置产生。PLL时钟源是外部8Mhz晶振。APB1的分频比是1，APB2的分频比是1。

- 硬件描述

要使用此例程，您需要两块MG32开发板（让我们称之为开发板A和开发板B），然后连接两块开发板的SPI接口和GND。
另外需要将两个开发板的UART1连接到PC，以实现与开发板的交互。
开发板A需加载QSPI_Master_DMA程序，开发板B需加载SPIS1_Slave_DMA程序。

    *------------------------------------------------------------------------------*
    |                BoardA                                 BoardB                 |
    |         ____________________                   ____________________          |
    |        |                    |                 |                    |         |
    |        |     __________     |                 |     __________     |         |
    |        |    |          |____|_______NSS_______|____|          |    |         |
    |        |    |SPI Master|____|_______SCK_______|____|SPI Slave |    |         |
    |        |    |  Device  |____|_______MOSI______|____|  Device  |    |         |
    |        |    |__________|____|_______MISO______|____|__________|    |         |
    |        |                    |                 |                    |         |
    |        |                    |                 |                    |         |
    |        |             GND O--|-----------------|--O GND             |         |
    |        |                    |                 |                    |         |
    |        |                    |                 |                    |         |
    |        | UART1              |                 |              UART1 |         |
    |        |____________________|                 |____________________|         |
    |                                                                              |
    *------------------------------------------------------------------------------*

- 软件描述

在QSPI_Master_DMA程序中，QSPI外设被配置为SPI主机，使用DMA发送和接收数据，通信速率被配置为 12 Mbit/s。
在SPIS1_Slave_DMA程序中，SPIS1外设被配置为SPI从机，使用DMA发送和接收数据。

当两个开发板上电运行后，都会通过串口打印相关信息，等待串口输入才会继续运行。
首先，向开发板B（SPI从机）的串口输入任意字符，令开发板B继续运行。
然后，再向开发板A（SPI主机）的串口输入任意字符，令开发板A开始发起传输。
当传输完成后，开发板A和开发板B都会打印出它们各自接收到的数据。

目录内容

- SPI/QSPI_Master_DMA/QSPI_Master_DMA.uvprojx MDK5工程文件
- SPI/QSPI_Master_DMA/QSPI_Master_DMA.uvoptx MDK5工程配置文件
- SPI/QSPI_Master_DMA/JLinkSettings.ini Jlink配置文件
- SPI/QSPI_Master_DMA/main.c 主程序

硬件和软件环境

- 硬件平台搭建
  - HSE 连接外部8MHz晶振
  - 需要两块开发板
  - 两块开发板都需要将其各自的UART1连接到PC
  - 两块开发板之间的连接如下：
    - 开发板A的 PA4 (QSPI_NSS0) 管脚连接到 开发板B的 PA4 (SPIS1_NSS)
    - 开发板A的 PA5 (QSPI_SCK) 管脚连接到 开发板B的 PA5 (SPIS1_SCK)
    - 开发板A的 PA6 (QSPI_MI_IO1) 管脚连接到 开发板B的 PA6 (SPIS1_SO)
    - 开发板A的 PA7 (QSPI_MO_IO0) 管脚连接到 开发板B的 PA7 (SPIS1_SI)

如何使用？

为了使程序工作，您必须执行以下操作 :

- 使用 MDK5 打开此例程文件夹中的 QSPI_Master_DMA.uvprojx 工程
- 重新编译该工程并下载到目标存储器中

- 运行此例程

  ###
  © COPYRIGHT 2020 - 2023 megawin Technology