S32K3 MCAL SPI Dma传输从机配置

主要涉及4个模块:MCU, Port ,Spi, MCl(dma)

1.MCU :

  主要给SPI分配时钟,不细说了

2. Port:

CS:

28ec235378874c5a9b2161c00266b504.png

Clk:

5063a495659f4c108acb6a83bb7b529a.png

MISO:

48144a34dcc041109cc33fcf86d945b3.png

MOSI:

adcda81a256f486c9d5319e13ec83cf4.png

注意:

1. SPI从机模式,CLK由主机提供,CLK需要配置成输入。

2. Port的属性:serial data output ,serial data input,串行输出和输入;

主机模式和从机模式,硬件定义之后不可随意更改,因为对于port属性来说,该引脚只能当做串行输入或输出,而mcal本身对于引脚的模式定义是松散的,s32k314中引脚只能作为输入或输出一种来使用。

即:

主机模式mo,从机模式so,对应同一个引脚,属性都是都是serial data output ;

主机模式mi,从机模式si,对应同一个引脚,属性都是serial data input;

 

3.SPI:

SpiExternalDevice:

4ea71391caf14e8a98ddad6186da9555.png

主要配置:

SPI总线时钟的相位极性 :CPOL CPHA ;

CS与CLK的时间间隔;

 

SpiPhyUnit:

f2abee2d96d94b7ea366e209be0f0a4d.png

主要配置:

SPI 主从模式;

SPI 时钟

SPI DMA通道

 

4.MCL:

49229af2783542e1be442a42b62b0c43.png

主要配置:

使能DMA;

 

DMA Logic Instance

41dfe3c263be4ec0b1e406818054a9f6.png

主要配置:

选择硬件实例;

 

DMA Logic Channel

20d0246f27a94bdf91f4bd8a66e7d721.png

8fc81fd57f47400f8f44a86012c04724.png

主要配置:

DMA的通道号;

DMA的中断 SPI发送回调(发送回调实现在Lpspi_Ip_Irq.c);

错误中断的回调函数(自主实现);

使能全局配置;

 

Global:

f42e12bb8a114c85ac264f8f72658688.png

6d50827ba8674cf899ca8344cd9ada20.png

主要配置:

DMA MUX Source;

无需使能 DMA Request;

使能错误中断;

 

5. 中断配置:

如果使用autosar配置工具,请使能DMA CH发送接收中断:

中断标号:

S32K3XXRM.pdf \ S32K3xx_interrupt_map.XLSX

6f70c6aa87a243b8a9181d94ce2fe8ee.png

或者在Platform 使能DMA中断:

bfe3ce7a98644c8b9919b4a73b8e9559.png

注意:无需配置SPI中断;

 

使用到的接口函数:

    Mcl_Init;

    Spi_Init;

    Spi_SetAsyncMode;

    Spi_SetupEB;

    Spi_AsyncTransmit;

 

 

6.总结:

 

1. 查看NXP的MCAL工具包:

 Spi_TS_T40D34M20I3R0\doc\RTD_SPI_UM :

   明确了SPI DMA该如何配置

 

2. 尤为注意的是:

SPI 管脚的PORT口的配置,配置错误会导致SPI从机无法接收到有效数据;

SPI传输的数据位宽:如果选择32bit ,则需要 __attribute__(( aligned(32) )),否则或产生接收错误;

 

 

 

参考:

Spi_TS_T40D34M20I3R0\doc\RTD_SPI_UM.pdf

S32K3XXRM.pdf 

 

PS: 如有笔误,请帮忙指出,有问题请留言,欢迎探讨。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值