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

    文章

    855

    浏览量

    40250
  • SPI
    SPI
    +关注

    关注

    17

    文章

    1700

    浏览量

    91295
收藏 人收藏

    评论

    相关推荐

    XMC4200 XMC_GPIO_SetOutputHigh无法正常工作的原因?

    with an user error handler. */ XMC_DEBUG(\"DAVE APPs initialization failedn\"); while(1U
    发表于 06-03 09:06

    如何使用Dave 3.1.10在XMC4400微控制器上实现I2c通信协议 软件?

    我一直在尝试使用 Dave 3.1.10 与 XMC4400 执行 I2c 通信协议,以实现传感器接口。 软件但我做不到。 Dave 3.1.10 的语法有所不同。 我无法使用 Dave
    发表于 06-03 07:21

    XMC1400配置为半双工SPI主站时,SPI_MASTER_Receive功能能否正常工作?

    我正在尝试使用半双工 SPI 通信,由 XMC1400 作为主站。 我使用 DAVE 应用程序将 SPI 引脚配置为推挽式,下面是相应的代码: X
    发表于 05-23 06:44

    下载Dave4为什么失败?

    大家好,我在下载Dave4时,下载后发现最后提示失败了,大家有遇到吗?为什么?因为下载时间比较长,中午挂着,下午一看失败了
    发表于 05-23 06:00

    DAVE APP进行XMC1302 ADC通道引脚分配的时候为什么只能分配一个通道?

    你好,我用DAVE APP进行 XMC1302 ADC通道引脚分配的时候为什么只能分配一个通道?请问如何分配多个ADC通道?有例程吗?
    发表于 05-21 06:48

    关于使用DAVE 4开发XMC4200时UART打印的问题求解

    主题关于使用 DAVE 4 开发 XMC4200 时 UART 打印问题的技术询问 目前,我在使用 DA
    发表于 05-21 06:35

    DAP miniwiggler能在DAVE4中使用吗?

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

    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

    如何在DAVE IDE中使用XMC7200?

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

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

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

    DAVE™项目如何转移Keil?

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

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

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

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

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