Exynos4412 IIC Controller

寄存器描述来自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:
0
Exynos4412 IIC Controller作为主机时发送数据的流程:
0
 

Exynos4412 IIC寄存器说明:

0
 

I2CCON寄存器说明:

0
bit7:应答信号的产生,在RX模式下有意义
bit6:时钟源选择,设置0时表示16分频,设置为1表示512分频,设置IIC通信速率
bit5:中断模式的使能与否,IIC控制器发送或接收完一个字节之后产生中断继续发送下一个字节
bit4:显示中断的产生状态,中断是否发生,bit5打开才有,处理完之后需要读清零
bit[3:0]:发送时钟CLK计算
 

I2CSTAT寄存器说明:

0
bit[7:6]:控制器模式选择
bit[5]:写0产生终止信号,写1产生起始信号。可通过该bit查看总线的状态
bit[4]:收发数据的开与关
bit[3:0]:只读,状态位
 

I2CADD寄存器说明:

0
bit[7:0]:表示IIC控制器的地址的值,当IIC控制器当从机的时候需要关心
 

I2CDS寄存器说明:

0
bit[7:0]:表示IIC控制器当主机或者从机时,需要发送或接收的数据。数据发送和接收使用同一个寄存器是因为IIC通信是半双工的,无需接收和发送都弄一个寄存器出来
posted @ 2024-03-19 15:54  lethe1203  阅读(18)  评论(0编辑  收藏  举报