全球最实用的IT互联网信息网站!

AI人工智能P2P分享&下载搜索网页发布信息网站地图

当前位置:诺佳网 > 电子/半导体 > 控制/MCU >

Renesa RA如何使用SPI来实现高速比特流的发送

时间:2024-07-22 14:38

人气:

作者:admin

标签: Ra  spi  比特流  mcu  处理器 

导读:有些特殊的外设会使用基于SPI模式,发送连续比特流来传输数据。本文主要介绍对于Renesa RA,如何使用SPI来实现高速比特流的发送。...

有些特殊的外设会使用基于SPI模式,发送连续比特流来传输数据。本文主要介绍对于Renesa RA,如何使用SPI来实现高速比特流的发送。

注意,此方式仅针对搭载了支持该工作模式SPI外设的RA产品,使用前请在硬件手册中确认这一点。

灵活的Renesas Advanced(RA)32位MCU是采用Arm Cortex-M33、-M23、-M4和-M85处理器内核,并经过PSA认证的、行业领先的32位MCU。RA可提供更为强大的嵌入式安全功能、卓越的CoreMark性能和超低的运行功率,相比竞争对手的Arm Cortex-M MCU具有重大优势。PSA认证可为客户提供信心和保障,帮助其快速部署安全的物联网端点和边缘设备,以及适用于工业4.0的智能工厂设备。

RSPI在正常的配置模式下,如果发送4个字节,总线上波形如下图所示。在每两个字节之间都有delay的插入。

65238552-47f3-11ef-b8af-92fbcf53809c.png

点击可查看大图

手册上关于这部分的描述如下:

654d8848-47f3-11ef-b8af-92fbcf53809c.png

t1是从SSLn生效到第一个clock的延时

t2是最近一个CLK结束到SSLn失效的延时

t3是SSLn再次使能之前的延时

但是这样会造成比特流不连续,无法满足某些特定应用的要求。

SPI实际上还提供了Burst功能,用于产生连续的比特流,该功能尚未在FSP界面中支持,当前可通过手动修改R_SPI代码实现,把寄存器位SSLKP和BFDS置位。更新代码如下所示:

657808de-47f3-11ef-b8af-92fbcf53809c.png

点击可查看大图

修改代码后,测试波形结果如下图:

6591ca4e-47f3-11ef-b8af-92fbcf53809c.png

点击可查看大图

细心的小伙伴会发现,最后一个字节没有发送完成。仔细检查发现,在最后一个字节发送的过程中,RSPCK上缺少两个clock,实际上程序也没有进入发送完成中断。

所以光这样还不行,还需要在发送中断程序中做一下处理。

在rafspsrc _spi _spi.c的函数r_spi_transmit函数中增加一个判断,在发送最后一个字节前,重新把SSLKP清零:

65bb472a-47f3-11ef-b8af-92fbcf53809c.png

点击可查看大图

这是修改后的时序,字节间已经没有插入delay,保证了比特流的连续性。

65ddaafe-47f3-11ef-b8af-92fbcf53809c.png

点击可查看大图

需特别注意的是,假如生成连续比特流,则不支持通过DMA/DTC进行SPI传输。

另外,如果不切换FSP的版本,对于源码的修改,RA文件夹中可以保留,但是ra_cfg和ra_gen文件夹中的内容会被FSP重写。如果切换FSP的版本,则三个文件夹(ra,ra_cfg和ra_gen)中的内容均会被FSP重写。

对该功能的支持已加入FSP的开发计划,届时无需手动修改,仅需在FSP Stack中配置即可。

温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信