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

    文章

    1809

    浏览量

    96692
  • S32DS
    +关注

    关注

    0

    文章

    9

    浏览量

    1108

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

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

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    S32DS v3.5安装S32k3开发包失败的原因?

    尝试再次启动它时,发现“eclipse”s32ds.exe 文件丢失,我必须重新安装 S32DS v3.5 我还尝试用 SW32K3_S32DS_3.5.13_D2407
    发表于 04-11 07:44

    请问如何通过S32K312命令行构建代码?

    现在我们已经通过 S32DS3.5 IDE 开发了固件,它也可以工作了。 最近,我们收到了通过命令行构建代码的要求,并且 我从 S32DS 帮助内容中读取了相关文档,但这种情况会发生
    发表于 04-09 07:48

    如何查看S32DSS32平台的内存分配?

    大家好,我正在使用 s32DS for s32 平台,我想查看我的项目的内存分配。我想知道分配给对象的内存以及它们被分配到哪里,例如 SRAM 或 ROM 等。但是,我在 S32DS 中找不到这样的查看器,我在 CCS 中看到了
    发表于 04-09 07:30

    使用s32ds软件时,无法生成是怎么回事?

    使用s32ds软件时,无法生成,并显示以下错误消息。 请帮忙。 生成器:错误:错误:LinStackCfg.npf 行:5 “bus_clock” - 语法错误
    发表于 04-04 08:04

    S32DS上使用JLINK调试S32K341,被阻塞了,怎么处理?

    我正在尝试使用 S32K341 在新板上刷写程序,但在 S32K3X4EVB 上运行并为 S32K341配置的相同代码出现错误。具体来说,当我使用 S32DS 的 J-Link 探针运
    发表于 04-03 08:13

    如何使用S32DSMPC5775B中并行运行两个内核(core0 和 core2)?

    谁能帮我了解如何使用 S32DSMPC5775B 中并行运行两个内核(core0 和 core2)?
    发表于 03-31 06:27

    S32DS安装过程激活失败怎么解决?

    S32DSS32 Design Studio)激活注册失败时提示: 向远程激活服务器发送激活请求并处理生成的response.com.acresso.activation.handler.ServerException(FNP 错误 0)
    发表于 03-28 07:44

    可以将VSCode与S32DS项目一起使用吗?

    些条件,是否可以在 VS Code 中编译 S32DS 3.5 项目(裸机 S32DS 3.5)?如果是这样,您能否提供有关如何设置它的指导?
    发表于 03-28 07:36

    在ubuntu 22.04上使用S32DS,连接调试探针时出现报错,怎么解决?

    客户在ubuntu 22.04上使用S32DS,并在连接调试探针时发现问题。这是屏幕截图。 ? 通过 USB 连接似乎有问题。所以我的问题是 (1) 是不是连接 USB 有问题?如果是,如何解决这个问题? (2)是否有通过以太网连接 Debug Probe 的动手教程?
    发表于 03-27 07:18

    使用win11并安装S32DS 3.4,安装失败的原因?

    请帮我解决这个问题。我正在使用 win11 并计划安装 S32DS 3.4,安装失败的原因?
    发表于 03-27 06:02

    S32DS-PA v2.1激活失败的原因?

    清晰,我将感谢社区的任何见解或解决方案。 **问题描述** 我正在尝试通过离线激活来激活 S32DS-PA v2.1。使用我的激活码生成“request.xml”文件并将其上传到 NXP 软件许可门户
    发表于 03-26 07:06

    升级到S32DS版本3.5缺少Std_Types.h怎么办?

    我刚刚升级到 S32DS 版本 3.5 并设置了我的引脚和驱动程序。 我已经生成了必要的文件,但是当我尝试编译时,我收到以下错误消息: Std_Types.h: No such file
    发表于 03-24 07:04

    外部构建器在S32DS 3.6.0中不起作用怎么解决?

    您好 NXP, 安装 S32DS 3.6.0 后,外部构建器(用于 makefile 项目)似乎不起作用,IDE 没有调用我的 *.bat 文件。相同的设置在 3.5.0 中可以正常工作。 我尝试
    发表于 03-20 07:06

    s32DS版本3.5.0和s32k358 bess_bundle,构建项目时会报错是怎么回事?

    我已经下载了 s32DS 版本 3.5.0 和 s32k358 bess_bundle。当我尝试构建项目时,它会引发一些有关版本错误的错误。我已附上有关我安装的扩展包和错误的映像。
    发表于 03-17 06:10

    DS1302芯片与FPGA之间SPI通信原理

    本文通过以DS1302芯片为基础,介绍该芯片与FPGA之间SPI通信原理,详细描述硬件设计原理及FPGA
    的头像 发表于 10-24 14:16 ?1684次阅读
    <b class='flag-5'>DS</b>1302<b class='flag-5'>芯片</b>与FPGA之间<b class='flag-5'>SPI</b><b class='flag-5'>通信</b>原理