瑞萨RA系列FSP库开发实战指南之瑞萨RA6M5的I2C特性及架构

科技堆里的狠货 2026-01-22 阅读:3213 评论:0

21.2.瑞萨RA6M5的I2C特性及架构

如果我们直接控制RA6M5的两个GPIO引脚,分别用作SCL及SDA,按照上述信号的时序要求,直接像控制LED灯那样控制引脚的输出(若是接收数据时则读取SDA电平),就可以实现I2C通讯。同样,假如我们按照USART的要求去控制引脚,也能实现USART通讯。所以只要遵守协议,就是标准的通讯,不管您如何实现它,不管是ST生产的控制器还是ATMEL生产的存储器,都能按通讯标准交互。

由于直接控制GPIO引脚电平产生通讯时序时,需要由CPU控制每个时刻的引脚状态,所以称之为“软件模拟协议”方式。

相对地,还有“硬件协议”方式,RA6M5的I2C片上外设专门负责实现I2C通讯协议,只要配置好该外设,它就会自动根据协议要求产生通讯信号,收发数据并缓存起来,CPU只要检测该外设的状态和访问数据寄存器,就能完成数据收发。这种由硬件外设处理I2C协议的方式减轻了CPU的工作,且使软件设计更加简单。

21.2.1.瑞萨RA6M5的I2C外设简介

瑞萨RA6M5的I2C外设可用作通讯的主机及从机,支持100Kbit/s和400Kbit/s和1Mbit/s的速率,支持7位、10位设备地址,支持DMA数据传输,并具有数据校验功能。它的I2C外设还支持SMBus2.0协议,SMBus协议与I2C类似,主要应用于笔记本电脑电池管理中。

表1:瑞萨RA6M5的IIC支持频率

瑞萨RA系列FSP库开发实战指南之瑞萨RA6M5的I2C特性及架构

21.2.1.1.通讯引脚

I2C的所有硬件架构都是根据图中左侧SCL线和SDA线展开的(其中的SMBA线用于SMBUS的警告信号,I2C通讯没有使用)。RA6M5芯片有多个I2C外设,它们的I2C通讯信号引出到不同的GPIO引脚上,使用时必须配置到这些指定的引脚,见表22‑1。

关于GPIO引脚的复用功能,可查阅《RA6M5GroupUser_sManual》,以它为准。

表22‑1:RA6M5的I2C引脚(整理自《RA6M5GroupUser_sManual》)

21.2.2.瑞萨RA6M5的I2C功能框图

瑞萨RA系列FSP库开发实战指南之瑞萨RA6M5的I2C特性及架构

注:

我们这里主要介绍的是瑞萨的fsp库的使用,所以在这里寄存器我们在这里做一些简单的介绍。

21.2.3. 时钟控制逻辑

下面将介绍时钟的控制流程

21.2.3.1. IIC起始信号与重启信号

当ICCR2中的RS位被设置为1时,IIC会发出一个重启条件请求。当ICCR2的BBSY标志位为1(总线繁忙状态),ICCR2的MST位为1(主模式)时IIC发出重启条件。 发出重启条件:

释放SDAn线路。

确保ICBRL中设置的SCLn线路的低电平周期已过。

释放SCLn线(低电平到高电平)。

在SCLn线上检测高电平,并确保ICBRL中设置的时间和重启条件设置时间经过。

将SDAn线拉低(从高电平到低电平)。

确保ICBRH中设置的时间和重启条件保持时间。

驱动SCLn线低电平(高电平到低电平)。

检测SCLn线上的一个低水平,确保ICBRL中设置的SCLn线的低水平周期已经过去

瑞萨RA系列FSP库开发实战指南之瑞萨RA6M5的I2C特性及架构

21.2.3.2. IIC循环发送

初始化IIC。

读取ICCR2中的BBSY标志,检查总线是否打开,然后设置ICCR2中的ST位为1(启动条件发出请求)。收到请求后,IIC发出启动条件。与此同时,BBSY位和START为被设置为1,ST位自动设置为0。如果检测到启动条件,并且SDA输出状态的内部电平和SDAn线路上的电平在ST位为1时匹配,IIC就会识别出,由于ST位已经成功完成了请求,启动条件已经成功发出。ICCR2的MST和TRS位自动设置为1,IIC处于主发送模式。当TRS位设置为1时,ICSR2中的TDRE标志也会自动设置为1。

检查ICSR2中的TDRE标志位是否为1,然后将传输值(从地址和R/W#位)写入ICDRT。传输数据写入ICDRT后,TDRE标志位自动设置为0,数据从ICDRT传输到ICDRS后,TDRE标志位再次设置为1。字节后包含从地址和当发送了R/W#位时,TRS位的值会根据发送的R/W#位的值自动更新,选择主发送或主接收模式。如果R/W#为0,则IIC继续主传输模式。如果此时ICSR2.NACKF标志位为1,表示从设备没有识别到该地址,或者通信出现错误,并向ICCR2.SP位写入1发出停止条件。如果要传输10位地址格式的数据,首先将11110b和从地址的高两位和W写入ICDRT作为第一个地址传输。然后将从地址低8位写入ICDRT作为第二个地址传输。

确认ICSR2的TDRE标志位为1后,将传输数据写入ICDRT寄存器。IIC自动保持SCLn线路处于低位,直到传输数据就绪,发出重启条件或停止条件。

当所有要传输的数据字节写入ICDRT寄存器后,等待ICSR2中的TEND标志位的值返回1。确认ICSR2的START标志位为1后,将ICSR2的START标志位设置为0。

设置ICCR2中的RS位为1(重启条件问题请求)。在接收到请求时,IIC发出一个重启条件。

检查ICSR2中的START标志位为1后,将传输值(从地址和R/W#位)写入ICDRT。

瑞萨RA系列FSP库开发实战指南之瑞萨RA6M5的I2C特性及架构

21.3. EEPROM简介

EEPROM是一种掉电后数据不丢失的存储器,常用来存储一些配置信息,以便系统重新上电的时候加载。 EEPROM芯片最常用的通讯方式就是I^2^C协议,本小节以EEPROM的读写实验为例子给大家讲解RA6M5的I^2^C使用方法。 实验中RA6M5的I2C外设采用主机模式,分别用作主发送器和主接收器,通过查询事件的方式来确保正常通讯。

本实验板中的EEPROM芯片(型号:AT24C02)的SCL及SDA引脚连接到了瑞萨RA6M5对应的I2C引脚中,结合上拉电阻,构成了I2C通讯总线,它们通过I2C总线交互。EEPROM芯片的设备地址一共有7位,其中高4位固定为:1010 b,低3位则由A0/A1/A2信号线的电平决定,见图22_12,图中的R/W是读写方向位,与地址无关。

瑞萨RA系列FSP库开发实战指南之瑞萨RA6M5的I2C特性及架构

图 22‑12 EEPROM设备地址(摘自《AT24C02》规格书)

按照我们此处的连接,A0/A1/A2均为0,所以EEPROM的7位设备地址是:1010 000b ,即0x50。由于I2C通讯时常常是地址跟读写方向连在一起构成一个8位数,且当R/W位为0时,表示写方向,所以加上7位地址,其值为“0xA0”,常称该值为I2C设备的“写地址”;当R/W位为1时,表示读方向,加上7位地址,其值为“0xA1”,常称该值为“读地址”。

EEPROM芯片中还有一个WP引脚,具有写保护功能,当该引脚电平为高时,禁止写入数据,当引脚为低电平时,可写入数据,我们直接接地,不使用写保护功能。

关于EEPROM的更多信息,可参考其数据手册《AT24C02》来了解。若您使用的实验板EEPROM的型号、设备地址或控制引脚不一样,只需根据我们的工程修改即可,程序的控制原理相同。

热门文章
  • 在中超联赛赛场北京成都球迷高呼:北京加油,成都雄起

    在中超联赛赛场北京成都球迷高呼:北京加油,成都雄起
      9月14日晚,中超联赛成都蓉城对北京国安的比赛在成都凤凰山体育场举行。首都文明办工作人员到现场力促两地球迷的友好互动,引导球迷文明观赛。   开赛前,两地球迷早早来到赛场,成都球迷在赛场通道为等待入场的北京球迷拉歌拍照。一边是北京球迷激昂的歌声,一边是身穿“雄起”“成都”等字样球衣的成都球迷,画面和谐温馨。首都文明办给两地球迷代表赠送了“向北京榜样学习”宣传品,呼吁两地球迷在场上是对手,在场下是朋友。合影留念时,成都球迷高喊“北京加油”,北京球迷高喊“成都雄起”。...
  • 防风防寒!北京今天晴朗伴大风寒意十足 周末将迎小幅升温

    防风防寒!北京今天晴朗伴大风寒意十足 周末将迎小幅升温
      中国天气网讯 今天(12月27日),北京天气晴间多云,最高气温2℃,白天北风劲吹,阵风可达六至七级,风寒效应明显。本周末,北京仍以晴为主,风力不大,气温将有小幅上升。   昨天,北京晴冷在线,气温继续下跌,南郊观象台最高气温仅有2.6℃,加上风力较大,体感十分寒冷。   北京市气象台预计,今天白天晴间多云,北风三四级(阵风六七级),最高气温2℃;夜间晴间多云,北风二三级间四级,最低气温零下7℃。   明后两天,北京仍以晴为主,风力不大,最高气温将略升至5℃,最低气温...
  • 西南地区持续阴雨天气 华北黄淮等地大气扩散条件逐步转差

    西南地区持续阴雨天气 华北黄淮等地大气扩散条件逐步转差
      摘要:   国内方面,昨日,全国降水整体较弱;内蒙古、东北地区等地出现大风降温天气。未来三天,青藏高原及云南、四川、贵州等地多阴雨天气,关注局地强降雨或持续降雨可能引发的次生灾害。   全球方面,昨日,欧洲东部美国东南部等地出现强降雨。未来三天,飓风“米尔顿”继续影响美国东南部等地;强冷空气影响中亚等地;欧洲大部大范围降水降温。   一、国内天气情况   1.实况   全国降水整体较弱 内蒙古东北地区等地出现大风降温天气   昨日8时至今日6时,全国降水整体较...
  • 新手如何开始跑步?

    新手如何开始跑步?
    大家好,我是小贝~ 有喜欢我的分享的可以给我点个关哟~多多互动吧~🫰 跑步是最简单的运动之一。人类进化30万年,跑步是基因自带的能力。可以说天生人人都会跑,人人都可以跑。 所以,很多平时不跑步的人,想入门跑步,建议从以下4个方面开始 一、跑步一定要穿跑鞋! 10年前我跑步穿平时的休闲鞋跑了2周,跟腱受伤!因为休闲鞋没有缓震效果;对膝盖和跟腱的损害较大。 专业跑鞋鞋底有缓震设计,能减少跑步时对膝盖和脚踝的冲击力。保护膝盖和脚踝不容易受伤。 二、注意跑步频率和强度。 1、频率...
  • 大雾黄色预警:京津冀等8省市部分地区有大雾 局地强浓雾

    大雾黄色预警:京津冀等8省市部分地区有大雾 局地强浓雾
      据报道10月14日电据中央气象台网站消息,预计10月14日早晨至上午,河北中南部、北京、天津西部、山东西部、山西中东部、陕西北部、河南东北部和南部部分地区、湖北中部等地有大雾天气,其中,河北中南部、北京西部、山西中部、陕西北部、湖北中部等地的部分地区有能见度低于500米的浓雾,局地有不足200米的强浓雾。中央气象台14日6时继续发布大雾黄色预警。   此外,14日,华北中南部、黄淮中西部、汾渭平原等地大气扩散条件较差,有轻至中度霾,其中,北京南部、河北西部沿山部分地区有...