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

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

3天内不再提示

学技术 | XMC™使用Dave4快速开发(五)SPI实验

大大通 2022-11-24 17:01 次阅读

上篇文章中讲解了在XMC单片机中,如何使用USIC单元配置IIC接口,这篇文章讲解如何配置使用另外一个很常用的通信协议SPI。

SPI是串行外设接口(Serial Peripheral Interface)的缩写,是一种高速的,全双工,同步的通信总线,SPI简单易用,与IIC类似,也是采用主从方式工作,一般是由四根线组成,事实上3根也可以(半双工模式)。基于SPI的设备共有的,四根线分别是MISO(主设备数据输入)、MOSI(主设备数据输出)、SCLK(时钟)、CS(片选)。

(1)MISO– Master Input Slave Output,主设备数据输入,从设备数据输出;

(2)MOSI– Master Output Slave Input,主设备数据输出,从设备数据输入;

(3)SCLK – Serial Clock,时钟信号,由主设备产生;

(4)CS – Chip Select,从设备使能信号,由主设备控制。

英飞凌XMC单片机中,SPI可以选择四种工作方式,分别为标准SPI,三线半双工SPI、Dual SPI、Quad SPI,标准spi就如上所示四根线全双工传输;三线SPI中,只使用一根数据线进行半双工通信,速度相比标准spi有所减慢;Dual SPI为四根线,两根数据线改为同方向,速度是三线的两倍,而Quad SPI六根线,也是单向通信,传输速度是Dual的两倍。

这次我们使用Dave4的app配置一个标准SPI

1. 先添加SPI_MASTER APP,双击打开后展现出以下画面,Operation mode一栏可以选择四种工作模式,我们选择为标准的Full Duplex;

在Desired bus speed可以选择SPI的时钟频率,此频率和从机的时钟频率保持一致即可,其中SPI的最大时钟频率由芯片的系统时钟决定。值得注意的是,时钟频率不等同于SPI的传输速率,传输速率受限于芯片处理SPI数据的能力,最大时钟频率只是有可能制约 其传输速率;


在Parity selection中可以选择奇校验和偶校验。

9f159ca2-6b89-11ed-b116-dac502259ad0.png

2.在Advanced Setting中,首先我们可以选择是否启用中断处理,这里我们选择启用;

Number of slave可以选择从机数量,这里选择1,当增加数量时,可以配置为CS的IO口也会随之增加;

Invert the signal polarity of SELOx signals可以选择CS引脚的输出极性;

在Frame and word length中我们可以启用MSLS信号来进行帧结束控制;

在Control中可以选择输出和接收数据位时MSB在先还是LSB在先,还可以选择时钟的相位和极性;

在FIFO Setting中可以选择是否使用FIFO,数据流只需使用 FIFO 数据缓存即可定义完整的数据帧,不必访问其它控制寄存器。

9f2c0a32-6b89-11ed-b116-dac502259ad0.png

3.在后面的interrupt settings中可以配置中断相关,Pin Setting中配置引脚状态,就不多做介绍了。

4.在配置完app后,点击Manual Pin Allocator即可配置引脚

9f3c824a-6b89-11ed-b116-dac502259ad0.png

5.此外点击Manual Resource Assignment配置中断,然后生成代码即可。

9f589ade-6b89-11ed-b116-dac502259ad0.png

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

    关注

    28

    文章

    739

    浏览量

    39749
  • SPI
    SPI
    +关注

    关注

    17

    文章

    1615

    浏览量

    89620
收藏 人收藏

    评论

    相关推荐

    DAP miniwiggler能在DAVE4中使用吗?

    DAP miniwiggler能在DAVE4中使用吗?DAP miniwiggler 能在DAVE4中进行仿真吗?
    发表于 02-20 06:53

    XMC4200用DAVE进行配置,为什么用ADC采样出来的结果一直是0?

    DAVE进行配置,芯片是XMC4200,用的采样APP是ADC_MEASUREMENT,但是用ADC_MEASUREMENT_GetResult( ADC_MEASUREMENT_Channel_A)函数得出的结果一直是0.
    发表于 02-20 06:08

    DAVEXMC4500 Relax Kit的以太网模块怎么怎么配置?

    DAVEXMC4500 Relax Kit 的以太网模块怎么怎么配置,
    发表于 02-06 07:57

    怎么让dave或者memtool连接上xmc1404?

    memtool无法与芯片进行连接,但是之前烧录进去的软件代码此时可运行。 3.使用Dave4的get BMI也无响应 4.之前提问与查询得知需要使用英飞凌的小红板进行烧录,于是进行如下图的连接
    发表于 02-02 08:32

    请问可以在DAVE4中更改进配置的CCU4_PWM实例吗?

    你好,请问可以在 DAVE4中更改进配置的CCU4_PWM实例吗? 如果需要两个独立的 PWMCONTROLLECTROL 的 IOINGLEFET,一般情况是两个配置 CCU4CHEFED 吗,没有更简单的办法?
    发表于 01-30 07:25

    XMC7200评估套件的SPI引脚是什么?

    XMC 7200评估套件的 SPI 引脚是什么,因此我 CAN 通过 SPI 接口将其与 BGTR 雷达传感器连接。
    发表于 01-29 07:40

    如何在DAVE IDE中使用XMC7200?

    能否在 DAVE IDE 中为 XMC 7200 EVK KIT 构建应用程序。我尝试打开一个项目但它最多只能显示 XMC48000。如何在 DAVE IDE 中使用
    发表于 01-26 06:32

    XMC1302建立的工程,用DAVE 打开目录之后,一片空白是怎么回事?

    我现在用XMC1302建立的工程,用DAVE 打开目录之后,一片空白,是怎么回事?就是无法打开工程,原来是好的,后来不知道怎么操作了一下,就打开一片空白, 另外我用MDK建立的XMC1302工程,选择了DEVICEXMC1302
    发表于 01-24 07:28

    xmc1302useddave4可以调试,但上电无法自动运行是为什么?

    xmc1302useddave4可以调试,但上电无法自动运行。使用 jLink 命令,运行 getbmiLowseminCommand 不支持。使用 dave4 的 getbmi也显示不支持。该怎么设置天赋能量使得 xmc130
    发表于 01-22 06:53

    DAVE™项目如何转移Keil?

    DAVE™项目如何转移Keil,未来xmc系列芯片会用到什么工具?
    发表于 01-19 07:24

    XMC4700 Relax KIT_A2G_TC387_MOTORCTR DAVE™ 4.2.2如何验证读取保护?

    你好!我正在使用 XMC4700 Relax KIT_A2G_TC387_MOTORCTR DAVE™ 4.2.2。 我想开启读取保护,这样你就可以在需要时一次又一次地上传代码。 另外,请告诉我如何验证读取保护?
    发表于 01-19 07:05

    XMC4700 DAVE APP SPI MASTER如何以更高的频率接收数据?

    XMC4700 DAVE APP SPI MASTER如何以更高的频率接收数据?
    发表于 01-19 06:21

    如何使用XMC4200生成PWM?

    我正在使用 XMC4200F64F256BA 微控制器。 我是 DAVE™ IDE 软件和 XMC 固件的新手。 谁能通过任何示例项目来帮助我生成 PWM 信号。 我的目标是生成 4
    发表于 01-18 08:25

    DAVE™版本中安装和快速启动iSYSTEM的winIDEA时出错怎么解决?

    我按照' Infineon-TOOL_winIDEA_open_DAVE4_Install_QuickStart_XMC-TR-v01_00-EN.pdf &
    发表于 01-18 07:54

    XMC1300在启用定时器中断时会进入硬故障处理程序的原因?

    EVAL_IM_FLEX_ADAPTER_V1 DAVE™ 中为 XMC 1300 编写程序,其中包括 SPI 和 EEPROM。 我的程序在启用定时器中断时会进入硬故障处理程序,所以我想知道为什么。 有人能给我一个分步教程如何
    发表于 01-18 07:34