标签:发送 Controller Exynos4412 master IIC 寄存器 bit
学习资料来源:https://www.bilibili.com/video/BV14o4y1Y7A1?p=10&vd_source=432ba293ecfc949a4174ab91ccc526d6
寄存器描述来自Exynos 4412 User's Manual
在Exynos4412芯片中,使用IIC,重要寄存器如下:
Multi-master I2C-bus control register – I2CCON
Multi-master I2C-bus control/status register – I2CSTAT
Multi-master I2C-bus Tx/Rx data shift register – I2CDS
Multi-master I2C-bus address register – I2CADD
Exynos4412 IIC控制器feature:
- 9 channels multi-master, Slave I2C bus interfaces
(8 channels for general purpose, 1 channel dedicated for High Definition Multimedia Interface (HDMI).)
- 7-bit addressing mode
- Serial, 8-bit oriented, and bi-directional data transfer
- Supports up to 100 kbit/s in the Standard mode
- Supports up to 400 kbit/s in the Fast mode.
- Supports master transmit, master receive, slave transmit, and slave receive operation
- Supports interrupt or polling events
IIC中断的作用:发送数据,必须要保证上一次发送的数据发送完成。如果上一个字节发送完毕,IIC控制器就产生一个中断,来进行下一个字节数据。接收时同理。
Exynos4412 IIC Controller Block Diagram:
Exynos4412 IIC Controller作为主机时发送数据的流程:
Exynos4412 IIC寄存器说明:
I2CCON寄存器说明:
bit7:应答信号的产生,在RX模式下有意义
bit6:时钟源选择,设置0时表示16分频,设置为1表示512分频,设置IIC通信速率
bit5:中断模式的使能与否,IIC控制器发送或接收完一个字节之后产生中断继续发送下一个字节
bit4:显示中断的产生状态,中断是否发生,bit5打开才有,处理完之后需要读清零
bit[3:0]:发送时钟CLK计算
I2CSTAT寄存器说明:
bit[7:6]:控制器模式选择
bit[5]:写0产生终止信号,写1产生起始信号。可通过该bit查看总线的状态
bit[4]:收发数据的开与关
bit[3:0]:只读,状态位
I2CADD寄存器说明:
bit[7:0]:表示IIC控制器的地址的值,当IIC控制器当从机的时候需要关心
I2CDS寄存器说明:
bit[7:0]:表示IIC控制器当主机或者从机时,需要发送或接收的数据。数据发送和接收使用同一个寄存器是因为IIC通信是半双工的,无需接收和发送都弄一个寄存器出来
标签:发送,
Controller,
Exynos4412,
master,
IIC,
寄存器,
bit
From: https://www.cnblogs.com/lethe1203/p/18083168