一、IIC协议详解
1、ALPHA开发板上有个AP3216C,这是一个IIC接口的器件,这是一个环境光传感器。AP3216C连接到了I2C1上:
I2C1_SCL: 使用的是UART4_TXD这个IO,复用位ALT2
I2C1_SDA: 使用的是UART4_RXD这个IO。复用为ALT2
2、I2C分为SCL和SDA,这两个必须要接上拉电阻到VCC,比如3.3V,一般是4.7K上拉电阻。
3、I2C总线支持多从机,通过从机地址来区分访问哪个从机。
二、6ULL I2C接口详解
1、6UL的I2C频率标准模式100kbit/S,快速模式400Kbit/S
2、时钟源选择perclk_clk_root=ipg_clk_root=66MHz
3、IFDR寄存器设置I2C频率,bit5:0设置频分值,假如我们现在需要100kbit的速率,那么66000000/100000=660。经过查找IC位设置位0X38或0X15的时候,为640分频,66000000/640=103.125Kbit.
4、I2CR寄存器,bit7为I2C使能位,置1使能I2C。bit5为主从模式选择位,为0表示从机,为1表示主机。Bit4为发送/接收设置位,为0的时候是接收,为1的时候是发送
5、I2SR寄存器,bit7为传输完成位,为0表示正在发送,为1表示发送完成。Bit5是I2C忙闲位,为0的时候I2C总线空闲,为1的时候I2C总线忙。Bit0是读确认位,也就是ACK信号
6、I2DR寄存器,数据寄存器。
三、AP3216C简介
1、AP3216C是一个三合一的环境光传感器,ALS