RH850记录:IIC

系列文章目录

内容来源主要是官方手册
RH850记录:IIC



前言

记录 RH850 中的 IIC 通信(I2C)

1.概述

1.1、IIC模块寄存器基地址

<RIIC0_base> FFCA 0000H
<RIIC1_base> FFCA 0080H

1.2、需要的时钟支持

在这里插入图片描述
设置PCLK的周期不大于SCL时钟高电平宽度的1/2

1.3 IIC模块的中断请求源及其编号

在这里插入图片描述
每个模块有4个中断源:
INTRIICnEE−传输错误或事件发生(检测到仲裁丢失、NACK、超时、启动条件(包括重启条件)或停止条件)
INTRIICnRI−接收完成(包括匹配从地址)
INTRIICnTI−Transmit-data-empty(包括匹配从地址)
INTRIICnTEI−传输完成

1.4 IIC的复位触发源

在这里插入图片描述

1.5 信号输入/输出引脚

在这里插入图片描述
当使用这些端口时,相应端口的PBDCn寄存器和PODCn寄存器中相应的位必须设置为1。

1.6 特性

● 根据指定的传输速率自动保护各种设置时间,保持时间和总线空闲时间
● Up to 400 kbps
● 对于主操作,SCL时钟的占空比可在以下范围内选择:0% < Duty < 100%
● 自动生成启动、重启和停止条件。启动条件(包括重新启动条件)和停止条件是可检测的
● 最多可以设置三个从地址。
● 支持7位和10位地址格式(同时使用这两种格式)。
● 一般呼叫地址和设备ID地址 都可检测。
● 对于传输,自动加载确认位−检测到不确认位时,自动暂停下一个传输数据
● 接收时,自动发送确认位−如果选择了第8个和第9个时钟周期之间的等待,则可以根据接收到的值对确认字段中的值进行软件控制。
● 在接收时,将时钟信号保持在低电平可获得下列等待时间:
−等待第8 ~ 9个时钟周期
−从第9个时钟周期到下一次传输第一个时钟周期的等待(WAIT功能)
● 传输数据输出的时序,包括确认位,可以延迟。
● 内部超时功能能够检测长间隔停止SCL(时钟信号)
● 该接口集成了用于SCL和SDA信号的数字噪声滤波器,滤波器的噪声消除宽度可通过软件调节

1.7 仲裁

● 对于多主操作
−当SCL(时钟)信号与其他主站的SCL信号冲突时,可以同步SCL(时钟)信号。
−当发出启动条件会在总线上产生冲突时,通过测试SDA线的内部信号与SDA线上的电平不匹配来检测仲裁丢失。
−在主运行时,通过检测传输数据的内部电平和线路电平不匹配来检测仲裁丢失。
● 在总线繁忙时可以检测到由于检测启动条件而导致的仲裁丢失(以防止发出双重启动条件)。
● 由于SDA线路的内部信号和SDA线路上的电平不匹配,可以检测到在传输非确认位时仲裁的丢失
● 由于数据的内部和线路级别不匹配而导致的仲裁丢失可以在从属传输中检测到。

2 框图

在这里插入图片描述
组网示例:
在这里插入图片描述

3 寄存器

在这里插入图片描述

3.1 RIICnCR1 — I2C Bus Control Register 1

该寄存器控制子计数器RTCAnSUBC的计数操作,小时计数器RTCAnHOURC的格式(12小时/24小时)和报警小时设置寄存器RTCAnALH,以及操作模式。
在这里插入图片描述

ICE
I2C总线接口使能
0:禁用(RIICnSCL和RIICnSDA引脚未被驱动)。
1:使能(RIICnSCL和RIICnSDA引脚驱动)。
(该位选择RIIC复位或与IICRST位组合的内部复位。)
IICRST
I2C总线内部复位(清除位计数器和SCL/SDA输出锁存器)
0:清除RIIC复位或内部复位。
1:启动RIIC复位或内部复位。
在这里插入图片描述
CLO
额外的SCL

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值