0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于NXP的S32DS for PA IDE下开发汽车级芯片MPC5744的SPI通信

嵌入式程序员 来源:嵌入式程序猿 作者:小猿 2021-07-27 14:43 次阅读

摘要

本篇笔记主要介绍,在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片选,可支持多路从机

f0c3cb5a-eb92-11eb-a97a-12bb97331649.png

f126bd3c-eb92-11eb-a97a-12bb97331649.png

信号描述:

f1537516-eb92-11eb-a97a-12bb97331649.png

DSPI通信是SPI的一种升级和修改,在时序上稍微有一点不同,采样靠后一些

f17306c4-eb92-11eb-a97a-12bb97331649.png

更多详细细节可以参考数据手册描述,这里不在赘述。熟悉了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为例,添加两个,因为我们要用两路测试。

添加好后如下所示

f27f8d58-eb92-11eb-a97a-12bb97331649.png

配置属性和管脚,SPI1配置为主,SPI2配置为从

配置管脚

配置完后,点击更新和通过PE生成初始化代码

调用生成的代码和API完成测试程序

f3c42ebc-eb92-11eb-a97a-12bb97331649.png

时钟和管脚初始化

f3e26346-eb92-11eb-a97a-12bb97331649.png

f3fbe51e-eb92-11eb-a97a-12bb97331649.png

调用收发API完成测试程序和逻辑并进行测试,通过收发1-10个字节的数据。

测试

主机采用查询,从机采用中断方式,也可以添加DMA通道,使用DMA,主机发送,从机接收

f41fa40e-eb92-11eb-a97a-12bb97331649.png

从机发送,主机接收

f53f8e94-eb92-11eb-a97a-12bb97331649.png

通过测试发现收发数据完全正常,修改不同的速率测试也正常,供测试了200kbps,500kbps,1Mbps,2Mbps。有兴趣的可以在进行更多测试。

编辑:jq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • SPI
    SPI
    +关注

    关注

    17

    文章

    1610

    浏览量

    89538
  • S32DS
    +关注

    关注

    0

    文章

    8

    浏览量

    676

原文标题:基于S32DS 开发DSPI通信

文章出处:【微信号:InterruptISR,微信公众号:嵌入式程序员】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    使用S32DS 3.5的DDR验证工具测试S32G274A-RDB2板,显示串行连接存在通信问题如何解决?

    我尝试使用S32DS 3.5的DDR验证工具测试S32G274A-RDB2板,但显示串行连接存在通信问题。 这些问题应该如何解决?
    发表于 06-05 07:16

    求助,索取有关在带有MPC5744P MCU的RD33771 EVB中启用锁步功能的文档

    我目前正在从事电池管理系统 (BMS) 项目并使用 RD33771 EVB以及开发软件由 NXP 提供用于开发目的。该板配备MPC5744P微控制器,支持锁步功能。 如果您能协助我提供
    发表于 05-24 08:27

    项目路径无效:MCP5748G的Lwip堆栈示例项目错​​误如何解决?

    not found (C:\\\\NXP\\\\S32DS_Power_v2017.R1\\\\S32DS\\\\S32_SDK_MPC574xx_EAR_0.8.1\\\\rtos
    发表于 05-18 14:03

    为SJA1110 SDK使用S32DS 3.4,在“帮助 -> S32DS 扩展和更新”中找不到任何相关包怎么解决?

    32 设计工作室 -> S32DS 扩展和更新” 但我在“帮助 -> S32DS 扩展和更新”中找不到任何相关包 我应该怎么办? SDK 名称:com.nxp.s32ds.sja1110.composite_1.0.
    发表于 05-10 07:17

    如何在具有S32DS IDE和EB Tresos Studio MCAL配置的DEVKIT-MPC5748G上使用AUTOSAR?

    我们正在尝试在具有 S32DS IDE 和 EB Tresos Studio MCAL 配置的 DEVKIT-MPC5748G 上使用 AUTOSAR。 我们正在关注“MPC
    发表于 05-06 08:43

    调试或闪烁MPC574XG时未检测到设备或可能被审查要怎么解决?

    我们尝试在 S32DS Power Architecture IDE 中刷新或调试示例应用程序 MPC574XG - MB & MPC574XG - 256
    发表于 05-06 06:12

    Can_Llce_DS_Can2Can_S32G274A_M7示例的S32DS 3.5错误怎么解决?

    我在打开 S32DS 3.5 中的 Can_Llce_DS_Can2Can_S32G274A_M7 项目时收到了附件。是否可以共享此项目支持的 S32DS 版本? 我正在使用 RTD 4.0.0 和 LLCE 1.5.0。
    发表于 05-05 06:38

    S32DS上的MCAL是否支持TCPIP堆栈?

    只是想确认 S32DS 上的 MCAL 是否支持 TCPIP 堆栈
    发表于 04-27 08:26

    无法读取S32DS上的内存值怎么解决?

    我是一名正在学习S32K148EVB板的学生。 我正在调试 S32DS 提供的用于理解 uart 编程的 lpuart 示例。 我未能通过 EVB 板的“OpenSDA”和 S32DS
    发表于 04-23 06:20

    如何使用Segger J Link和S32DS调试S32K344?

    我有一个 S32K3X4EVB-Q257 评估板并安装了 S32DS 3.4(Update 3) IDE。Segger J 链接版本是 7.60f。我正在尝试通过带有 Segger J 链接
    发表于 04-21 09:00

    S32K344 S32DS周边工具问题求解

    S32K344 S32DS周边工具--问题
    发表于 04-21 08:22

    S32DS 3.5 Ubuntu 20.04安装卡住了怎么解决?

    S32DS 3.5 Ubuntu 20.04 安装卡住
    发表于 04-21 08:07

    基于恩智浦MPC5744P的电机FOC控制中电流的采样

    本篇笔记主要记录基于恩智浦MPC5744P的电机FOC控制中电流的采样。
    的头像 发表于 04-20 14:17 1310次阅读
    基于恩智浦<b class='flag-5'>MPC5744</b>P的电机FOC控制中电流的采样

    MPC5744的PWM模块调试

    这次调试MPC5744的PWM模块,很顺利,没有踩坑,记录下给需要的猿友。 PWM是控制电机非常重要的模块,用来驱动功率器件,完成电机的旋转和控制,可以控制ACIM,BLDC, PMSM, BDC,SRM,以及步进电机等。
    的头像 发表于 04-20 14:15 1300次阅读
    <b class='flag-5'>MPC5744</b>的PWM模块调试

    sbc_fs651组件在mpc5777c控制器的处理器专家中不可用怎么解决?

    当我从 NXPMPC5777c 控制器导入 SBC 示例时,IDE 说此版本中未安装 sbc_fs651。您能帮我启用此组件以使此示例正常工作吗?我正在使用 ide
    发表于 04-20 07:33