|
转自 | 瑞萨嵌入式小百科
I2C是单片机开发中常见的一种通信方式,通信速率也会影响通信效率,以及硬件设计要求。
目前I2C常见的通信速率有5种:
双向通信速度(模式):100 kbit/s:标准模式,Standard-mode (Sm);400 kbit/s:快速模式,Fast-mode (Fm);1 Mbit/s:快速模式+,Fast-mode Plus (Fm+);3.4Mbit/s:高速模式,High-speed mode (Hs-mode);
单向通信速度(模式):5 Mbit/s:超快模式,UItra Fast-mode (UFm)。
可以参看I2C协议手册:
q53zlo4f0bs640914854.png
今天结合瑞萨RA2系列单片机给大家分享一下I2C通信速率的内容。
一、RA系列MCU简介
RA(Renesas Advanced)系列MCU是瑞萨于2019年10月推出的基于ARM Cortex-M23/M33/M4内核的新一代产品系列,丰富了瑞萨的32位MCU系列产品。
瑞萨RA系列MCU包括4个产品系列,包括已经发布的RA2、RA4和RA6系列,以及计划发布的RA8系列,适用于从低端到高端的嵌入式终端产品。
dww4vw4njqj640914954.png
RA2系列MCU为瑞萨RA系列MCU的初级产品平台,基于ARM Cortex-M23内核设计,主要特性为低功耗,最高主频为48 MHz,拥有最高可达512 KB的闪存和64 KB的SRAM,电源电压范围为1.6 V到5.5 V,具有全速USB,CAN,24位∑-?,16位ADC,电容式触摸感应单元等丰富的外设资源。
RA2系列MCU有4个子产品线,包括工业传感器应用和通用应用系列:
qvyjvf4varm640915054.png
二、RA2系列MCU IIC通信速率分析
IIC总线是常用一种串行通信总线,RA2系列MCU有两种IIC接口配置:
1
专用IIC接口
2
用SCI配置为简易IIC接口(SCI_IIC)
在RA2系列MCU的硬件手册的描述中,明确说明以上两种IIC接口的通信速率的上限都可以达到400 kbps:
i. 专用IIC接口
41t3movzapt640915154.png
ii. 用SCI接口配置为简易IIC接口(SCI_IIC)
vdeitx3pf3i640915254.png
通常,在实际应用中,一般都是使用瑞萨开发的灵活配置软件包(FSP)来创建所需的软件,但是在实际的FSP配置中,即使配置速率为Fast-mode,SCI_IIC也无法实现400 kbps的通信速率,在使用内部48 MHz时钟的条件下,一般只能实现大约330 kbps的通信速率:
kgrpa2csf4w640915354.png
ivebbn3hxzh640915455.png
这是因为对于SCI_IIC,其通信速率基于以下的公式进行计算:
5nbtespb5r2640915555.png
基于以上的公式,可以得出以下的理论计算,上图公式中的PCLK为PCLKB,根据电气特性要求,PCLKB的最大值为32MHz:
2pyzedfw3io640915655.jpg
在PCLKB时钟选择为32 MHz时,理论计算超过400 kHz的通信速率,这已经超出了硬件手册规定的400 kHz的通信速率范围,所以硬件无法支持这个速率,实际测量值约为375 kHz,通过测试,也验证了这个结论。
在PCLKB时钟选择为24 MHz时,理论计算只能达到375 kHz的通信速率。
如果需要SCI_IIC达到400 kbps的理论最大值,通过分析,当PCLKB = 12.8 MHz,n=0, N=0时,可以得到B=400 kbps的速率,所以这需要使用一个12.8 MHz的外部主时钟。这里需要说明的是,当PCLKB设置为12.8MHz时,FSP会自动将BRR寄存器和SMR寄存器的CKS[1:0]位设置为相应的值,无需用户考虑。
所以SCI_IIC接口需要一定的硬件条件,才可以实现400 kHz的通信速率。
而对于专用IIC接口,其通信速率基于以下的公式进行计算:
jijzbmdpi3j640915755.png
其中IICφ为基准时钟,通过分频得到400 kHz的整数倍的值即可,例如:如果外部时钟选择为20MHz时,通过不分频可得到PCLKB也为20MHz,这样FSP自动将CKS设置为0,便可得到IICφ= 20MHz,这样50个基本时钟就是400KHz了。
所以对于标准IIC接口,可以比较容易的设置硬件,从而实现400 kHz的通信速率。
------------ END ------------
hffck0v2wlg640915855.jpg
手把手教你在MCU移植CoreMark跑分源码
vr0s2aetrp2640915955.jpg
资深工程师线下分享嵌入式产品开发流程、实战经验、解决方案......
4jx0uan5p5q640916055.jpg
漫谈MCU内置LCD控制器/驱动器 |
|