電子產(chǎn)業(yè)一站式賦能平臺(tái)

PCB聯(lián)盟網(wǎng)

搜索
查看: 49|回復(fù): 0
收起左側(cè)

MCU I2C通信速率分析

[復(fù)制鏈接]

329

主題

329

帖子

2973

積分

三級(jí)會(huì)員

Rank: 3Rank: 3

積分
2973
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2024-9-14 12:09:00 | 只看該作者 |只看大圖 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
轉(zhuǎn)自 | 瑞薩嵌入式小百科

I2C是單片機(jī)開發(fā)中常見(jiàn)的一種通信方式,通信速率也會(huì)影響通信效率,以及硬件設(shè)計(jì)要求。

目前I2C常見(jiàn)的通信速率有5種:
雙向通信速度(模式):100 kbit/s:標(biāo)準(zhǔn)模式,Standard-mode (Sm);400 kbit/s:快速模式,F(xiàn)ast-mode (Fm);1 Mbit/s:快速模式+,F(xiàn)ast-mode Plus (Fm+);3.4Mbit/s:高速模式,High-speed mode (Hs-mode);
單向通信速度(模式):5 Mbit/s:超快模式,UItra Fast-mode (UFm)。
可以參看I2C協(xié)議手冊(cè):


今天結(jié)合瑞薩RA2系列單片機(jī)給大家分享一下I2C通信速率的內(nèi)容。

一、RA系列MCU簡(jiǎn)介
RA(Renesas Advanced)系列MCU是瑞薩于2019年10月推出的基于ARM Cortex-M23/M33/M4內(nèi)核的新一代產(chǎn)品系列,豐富了瑞薩的32位MCU系列產(chǎn)品。

瑞薩RA系列MCU包括4個(gè)產(chǎn)品系列,包括已經(jīng)發(fā)布的RA2、RA4和RA6系列,以及計(jì)劃發(fā)布的RA8系列,適用于從低端到高端的嵌入式終端產(chǎn)品。



RA2系列MCU為瑞薩RA系列MCU的初級(jí)產(chǎn)品平臺(tái),基于ARM Cortex-M23內(nèi)核設(shè)計(jì),主要特性為低功耗,最高主頻為48 MHz,擁有最高可達(dá)512 KB的閃存和64 KB的SRAM,電源電壓范圍為1.6 V到5.5 V,具有全速USB,CAN,24位∑-?,16位ADC,電容式觸摸感應(yīng)單元等豐富的外設(shè)資源。

RA2系列MCU有4個(gè)子產(chǎn)品線,包括工業(yè)傳感器應(yīng)用和通用應(yīng)用系列:


二、RA2系列MCU IIC通信速率分析
IIC總線是常用一種串行通信總線,RA2系列MCU有兩種IIC接口配置:
1
專用IIC接口
2
用SCI配置為簡(jiǎn)易IIC接口(SCI_IIC)
在RA2系列MCU的硬件手冊(cè)的描述中,明確說(shuō)明以上兩種IIC接口的通信速率的上限都可以達(dá)到400 kbps:
i.  專用IIC接口


ii. 用SCI接口配置為簡(jiǎn)易IIC接口(SCI_IIC)


通常,在實(shí)際應(yīng)用中,一般都是使用瑞薩開發(fā)的靈活配置軟件包(FSP)來(lái)創(chuàng)建所需的軟件,但是在實(shí)際的FSP配置中,即使配置速率為Fast-mode,SCI_IIC也無(wú)法實(shí)現(xiàn)400 kbps的通信速率,在使用內(nèi)部48 MHz時(shí)鐘的條件下,一般只能實(shí)現(xiàn)大約330 kbps的通信速率:




這是因?yàn)閷?duì)于SCI_IIC,其通信速率基于以下的公式進(jìn)行計(jì)算:


基于以上的公式,可以得出以下的理論計(jì)算,上圖公式中的PCLK為PCLKB,根據(jù)電氣特性要求,PCLKB的最大值為32MHz:


在PCLKB時(shí)鐘選擇為32 MHz時(shí),理論計(jì)算超過(guò)400 kHz的通信速率,這已經(jīng)超出了硬件手冊(cè)規(guī)定的400 kHz的通信速率范圍,所以硬件無(wú)法支持這個(gè)速率,實(shí)際測(cè)量值約為375 kHz,通過(guò)測(cè)試,也驗(yàn)證了這個(gè)結(jié)論。
在PCLKB時(shí)鐘選擇為24 MHz時(shí),理論計(jì)算只能達(dá)到375 kHz的通信速率。
如果需要SCI_IIC達(dá)到400 kbps的理論最大值,通過(guò)分析,當(dāng)PCLKB = 12.8 MHz,n=0, N=0時(shí),可以得到B=400 kbps的速率,所以這需要使用一個(gè)12.8 MHz的外部主時(shí)鐘。這里需要說(shuō)明的是,當(dāng)PCLKB設(shè)置為12.8MHz時(shí),F(xiàn)SP會(huì)自動(dòng)將BRR寄存器和SMR寄存器的CKS[1:0]位設(shè)置為相應(yīng)的值,無(wú)需用戶考慮。

所以SCI_IIC接口需要一定的硬件條件,才可以實(shí)現(xiàn)400 kHz的通信速率。

而對(duì)于專用IIC接口,其通信速率基于以下的公式進(jìn)行計(jì)算:


其中IICφ為基準(zhǔn)時(shí)鐘,通過(guò)分頻得到400 kHz的整數(shù)倍的值即可,例如:如果外部時(shí)鐘選擇為20MHz時(shí),通過(guò)不分頻可得到PCLKB也為20MHz,這樣FSP自動(dòng)將CKS設(shè)置為0,便可得到IICφ= 20MHz,這樣50個(gè)基本時(shí)鐘就是400KHz了。

所以對(duì)于標(biāo)準(zhǔn)IIC接口,可以比較容易的設(shè)置硬件,從而實(shí)現(xiàn)400 kHz的通信速率。

------------ END ------------


手把手教你在MCU移植CoreMark跑分源碼


資深工程師線下分享嵌入式產(chǎn)品開發(fā)流程、實(shí)戰(zhàn)經(jīng)驗(yàn)、解決方案......


漫談MCU內(nèi)置LCD控制器/驅(qū)動(dòng)器

發(fā)表回復(fù)

本版積分規(guī)則


聯(lián)系客服 關(guān)注微信 下載APP 返回頂部 返回列表