摘要
本篇笔记主要介绍,在NXP的S32DS for PA IDE下开发汽车级芯片MPC5744的SPI通信。
准备工作
开发环境IDE安装,安装S32DS for PA 版本,因为我们使用的是基于PA架构的NXP MPC5744P。
安装SDK最新版本V3.0.3
NXP DEVKIT-MPC5744P开发板
SPI 通信
SPI通信是一种全双工同步通信,在嵌入式开发中是一种广泛使用的通信接口,模块框图如下,支持查询,中断和DMA方式操作。FIFO支持5级,多路PCS片选,可支持多路从机
信号描述:
DSPI通信是SPI的一种升级和修改,在时序上稍微有一点不同,采样靠后一些
更多详细细节可以参考数据手册描述,这里不在赘述。熟悉了DSPI的基本结构后,可以在DS环境下,结合PE和SDK开发应用。
MPC5744总共使用了四路SPI, 我们使用1和2来测试,分别对查询和中断方式进行了200kbps,500kbps,1Mbps,2Mbps进行了测试。均可正常收发数据。
SPI 配置 时钟100M, 时钟极性为高,bits/frame 8
使用DEVKIT-MPC5744P开发板 的SPI1 和SPI2互传测试。硬件管脚连接,需手动连接以下管脚,有杜邦线的可以使用杜邦线连接,没有的手动焊接。
A0-----J5 1 A6 CLK J1------8
A1-----J5 3 A8 MISO J1-----12
A2-----J5 5 A7 MOSI J1-----10
A3-----J1 2 A5 CS J1----6
可以参照SDK的例程,配置和新建工程,选取芯片为MPC5744 144脚封装,默认是BGA 257脚封装的
修改成144脚封装
添加DSPI组件或者SPI都可以,这里以DSPI为例,添加两个,因为我们要用两路测试。
添加好后如下所示
配置属性和管脚,SPI1配置为主,SPI2配置为从
配置管脚
配置完后,点击更新和通过PE生成初始化代码
调用生成的代码和API完成测试程序
时钟和管脚初始化
调用收发API完成测试程序和逻辑并进行测试,通过收发1-10个字节的数据。
测试
主机采用查询,从机采用中断方式,也可以添加DMA通道,使用DMA,主机发送,从机接收
从机发送,主机接收
通过测试发现收发数据完全正常,修改不同的速率测试也正常,供测试了200kbps,500kbps,1Mbps,2Mbps。有兴趣的可以在进行更多测试。
相关文章