瑞萨e2studio(29)----SPI速率解析

2024-03-08 01:30

本文主要是介绍瑞萨e2studio(29)----SPI速率解析,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

瑞萨e2studio.29--SPI速率解析

  • 概述
  • 视频教学
  • 样品申请
  • 时钟配置
  • 解析RA4M2的BRR值
  • 时钟速率
  • 7.5M下寄存器值
  • 3K下寄存器值

概述

在嵌入式系统的设计中,串行外设接口(SPI)的通信速率是一个关键参数,它直接影响到系统的性能和稳定性。瑞萨电子的RA4M2微控制器为开发者提供了灵活而强大的SPI配置选项,确保可以根据不同的应用场景选择最佳的数据传输速率。本文将深入探讨RA4M2微控制器的SPI速率配置机制,并提供实用指南以帮助开发者实现精确的速率控制。
在这里插入图片描述

下面文档是瑞萨RA4M2微控制器用户手册中的一部分,显示了串行通信接口(SCI)的功能和其内部模块图。
时钟来源为PCLK,可以进行1、4、16、64分频。
在这里插入图片描述

最近在弄ST和瑞萨RA的课程,需要样片的可以加群申请:615061293 。

视频教学

听不到声音的请点击跳转进行观看。
https://www.bilibili.com/video/BV1NC4y1j7ew/

瑞萨e2studio(29)----SPI速率解析

样品申请

https://www.wjx.top/vm/wBbmSFp.aspx#

时钟配置

SPI (r_sci_spi)的时钟来自PLCKA。
在这里插入图片描述

这里使用的PLCKA为60MHz。
在这里插入图片描述

解析RA4M2的BRR值

为了确定适合特定PCLK频率和所需SPI通信速率的BRR值,RA4M2用户手册提供了详尽的表格。这些表格列出了各种PCLK频率与相应的SPI比特率组合,并指出了相应的BRR配置值。

在这里插入图片描述

下图显示了瑞萨RA4M2微控制器用户手册的表格27.14,它列出了在时钟同步和简单SPI模式下不同比特率(bps)和操作频率(PCLK)组合的BRR(Bit Rate Register)设置。
每一行代表一个特定的比特率,从110 bps到1 Mbps,而每一列对应一个特定的PCLK值,从8 MHz到100 MHz。在表格中,n 表示PCLK分频值,而 N 是BRR寄存器的设置值。例如,要在25 MHz的PCLK上实现500 bps的比特率,BRR应该设置为249。
这个表格对于那些需要精确控制RA4M2微控制器上SCI通道比特率的开发者来说非常有用,因为它允许他们根据系统的PCLK频率来查找或计算出必须写入BRR寄存器的确切值。
注意的要点包括:
空格(" “)表示该设置是禁止的。
破折号(”—")表示虽然可以设置,但可能会导致错误。

在这里插入图片描述

时钟速率

这里,CKS[1:0]的设置决定了SCI的时钟分频率,即PCLK的分频值。表格列出了以下选项:
00b:使用PCLK作为时钟源。
01b:PCLK的四分之一作为时钟源。
10b:PCLK的十六分之一作为时钟源。
11b:PCLK的六十四分之一作为时钟源。
每种设置都有一个对应的分频数n,它在编程时用于确定SCI时钟频率。

在这里插入图片描述

7.5M下寄存器值

PLCKA为60MHz,PCLK=60(MHz)
在这里插入图片描述

手册给出对应的参数设置。
在这里插入图片描述

查看CKS寄存器可以得知为0,n=0
在这里插入图片描述

BRR寄存器为1,即N=1

在这里插入图片描述

计算SPI速率为7.5M。

在这里插入图片描述

实际测试如下所示。

在这里插入图片描述

3K下寄存器值

设置速率为3k。

在这里插入图片描述

手册未给出对应的参数设置。

在这里插入图片描述

PLCKA为60MHz,PCLK=60(MHz)

在这里插入图片描述
查看CKS寄存器可以得知为3,n=3
在这里插入图片描述

BRR寄存器为0x4e(78),即N=78
在这里插入图片描述

计算SPI实际速率为2966.77。

在这里插入图片描述

实际测试如下所示。

在这里插入图片描述

这篇关于瑞萨e2studio(29)----SPI速率解析的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/785511

相关文章

Spring中@Lazy注解的使用技巧与实例解析

《Spring中@Lazy注解的使用技巧与实例解析》@Lazy注解在Spring框架中用于延迟Bean的初始化,优化应用启动性能,它不仅适用于@Bean和@Component,还可以用于注入点,通过将... 目录一、@Lazy注解的作用(一)延迟Bean的初始化(二)与@Autowired结合使用二、实例解

C语言中自动与强制转换全解析

《C语言中自动与强制转换全解析》在编写C程序时,类型转换是确保数据正确性和一致性的关键环节,无论是隐式转换还是显式转换,都各有特点和应用场景,本文将详细探讨C语言中的类型转换机制,帮助您更好地理解并在... 目录类型转换的重要性自动类型转换(隐式转换)强制类型转换(显式转换)常见错误与注意事项总结与建议类型

MySQL 缓存机制与架构解析(最新推荐)

《MySQL缓存机制与架构解析(最新推荐)》本文详细介绍了MySQL的缓存机制和整体架构,包括一级缓存(InnoDBBufferPool)和二级缓存(QueryCache),文章还探讨了SQL... 目录一、mysql缓存机制概述二、MySQL整体架构三、SQL查询执行全流程四、MySQL 8.0为何移除查

在Rust中要用Struct和Enum组织数据的原因解析

《在Rust中要用Struct和Enum组织数据的原因解析》在Rust中,Struct和Enum是组织数据的核心工具,Struct用于将相关字段封装为单一实体,便于管理和扩展,Enum用于明确定义所有... 目录为什么在Rust中要用Struct和Enum组织数据?一、使用struct组织数据:将相关字段绑

使用Java实现一个解析CURL脚本小工具

《使用Java实现一个解析CURL脚本小工具》文章介绍了如何使用Java实现一个解析CURL脚本的工具,该工具可以将CURL脚本中的Header解析为KVMap结构,获取URL路径、请求类型,解析UR... 目录使用示例实现原理具体实现CurlParserUtilCurlEntityICurlHandler

深入解析Spring TransactionTemplate 高级用法(示例代码)

《深入解析SpringTransactionTemplate高级用法(示例代码)》TransactionTemplate是Spring框架中一个强大的工具,它允许开发者以编程方式控制事务,通过... 目录1. TransactionTemplate 的核心概念2. 核心接口和类3. TransactionT

数据库使用之union、union all、各种join的用法区别解析

《数据库使用之union、unionall、各种join的用法区别解析》:本文主要介绍SQL中的Union和UnionAll的区别,包括去重与否以及使用时的注意事项,还详细解释了Join关键字,... 目录一、Union 和Union All1、区别:2、注意点:3、具体举例二、Join关键字的区别&php

Spring IOC控制反转的实现解析

《SpringIOC控制反转的实现解析》:本文主要介绍SpringIOC控制反转的实现,IOC是Spring的核心思想之一,它通过将对象的创建、依赖注入和生命周期管理交给容器来实现解耦,使开发者... 目录1. IOC的基本概念1.1 什么是IOC1.2 IOC与DI的关系2. IOC的设计目标3. IOC

java中的HashSet与 == 和 equals的区别示例解析

《java中的HashSet与==和equals的区别示例解析》HashSet是Java中基于哈希表实现的集合类,特点包括:元素唯一、无序和可包含null,本文给大家介绍java中的HashSe... 目录什么是HashSetHashSet 的主要特点是HashSet 的常用方法hasSet存储为啥是无序的

Linux中shell解析脚本的通配符、元字符、转义符说明

《Linux中shell解析脚本的通配符、元字符、转义符说明》:本文主要介绍shell通配符、元字符、转义符以及shell解析脚本的过程,通配符用于路径扩展,元字符用于多命令分割,转义符用于将特殊... 目录一、linux shell通配符(wildcard)二、shell元字符(特殊字符 Meta)三、s