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

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

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

MCU I2C通信速率分析

[復制鏈接]

300

主題

300

帖子

2202

積分

三級會員

Rank: 3Rank: 3

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

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

目前I2C常見的通信速率有5種:
雙向通信速度(模式):100 kbit/s:標準模式,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é)議手冊:


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

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

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



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

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


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


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


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




這是因為對于SCI_IIC,其通信速率基于以下的公式進行計算:


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


在PCLKB時鐘選擇為32 MHz時,理論計算超過400 kHz的通信速率,這已經(jīng)超出了硬件手冊規(guī)定的400 kHz的通信速率范圍,所以硬件無法支持這個速率,實際測量值約為375 kHz,通過測試,也驗證了這個結(jié)論。
在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時,F(xiàn)SP會自動將BRR寄存器和SMR寄存器的CKS[1:0]位設置為相應的值,無需用戶考慮。

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

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


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

所以對于標準IIC接口,可以比較容易的設置硬件,從而實現(xiàn)400 kHz的通信速率。

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


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


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


漫談MCU內(nèi)置LCD控制器/驅(qū)動器
回復

使用道具 舉報

發(fā)表回復

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

關(guān)閉

站長推薦上一條 /1 下一條


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