imx6ul 19 之IIC

本文详细介绍了IIC通信协议及其在ALPHA开发板上的实现方式,特别是与AP3216C环境光传感器的交互过程。涵盖了IIC的基本原理、时钟频率设置、关键寄存器的功能说明以及AP3216C的特性介绍。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、IIC 协议讲解

  • 1、ALPHA开发板上有个 AP3216C,是一个 IIC 接口的环境光传感器。测量光亮度和测距。AP3216C 连接到了 IIC1 上.
    IIC1_SCL:使用的是 UART4_TXD 这个 IO,复用为 ALT2 时。
    IIC1_SDA:使用的是 UART4_RXD 这个 IO,复用为 ALT2 时。
  • 2、IIC 有 SCL 和 两根线,都必修要接上拉电阻到 VCC。一般是 4.7K 电阻。
  • 3、IIC 总线支持多从机,通过从机地址来区分、访问不同的从机。

二、6ULL IIC 接口详解

  • 1、6ULL 的 IIC 数据传输频率:标准模式下 100 kbit/s;快速模式下 400 kbit/s。
  • 2、时钟源:本次实验选择 PER_CLK_ROOT = 66 MHz。
  • 3、IFDR 寄存器设置 IIC频率,bit5:0 设置分频值,假如现在需要 100kbit/s 的速率,那么分频因子为 660。经过查表,IC 位设置为 0x38 时为 640 分频,得到大约103.125 kbit/s。
  • 4、I2CR 寄存器,
    bit7 为 IIC 使能位,置1 使能 IIC
    bit5 为主从模式选择,为0表示从模式,为1表示主机
    bit4 为发送/接收设置位,为0接收,为1发送
  • 5、I2SR 寄存器 bit7 为传输完成寄存器,为 0 表示正在传送,为 1 表示传送完成。bit5 为1 表示 IIC 总线忙。bit0 应答位,为0表示应答信号。
  • 6、I2C_I2DR 寄存器 bit7 ~ 0。

AP3216C 简介

  • 1、AP3216C 是一个三合一的环境光传感器,ALS + PS + IRLED。
    ALS 环境光
    PS 接近传感器
    IRLED 红外LED灯
    IIC 接口最高 400 kbit/s
  • 2、环境光 ALS 是 16 位输出。
  • 3、接近传感器 PS,10bit 输出。
  • 4、IRLED 也是10 位输出。
  • 5、AP3216C 的从机地址为 0x1e。
  • 6、0x0a 是 IR Data Low。bit7 为 0 表示 IR 和 PS 数据有效。否则数据无效。bit1 ~ 0 是 IR 的低两位。
  • 7、0x0b 是 IR Data High。bit7 ~ 0 是高字节。与 0x0a一起组成 10bit 的数据.
  • 8、0x0c 和 0x0d 分别为ALS的低8位和高8位。
  • 9、0x0e 的 bit3 ~ 0 是低4 位数据,0x0f 的 bit5 ~ 0 是高6位数据。构成ps的10位数据。
  • 10、0x00 是系统配置寄存器,bit2 ~ 0,设置 AP3216C 开启哪些传感器。设置为3表示开启 ALS + PS + IR.

通过假读来清空 I2C_DR 寄存器,触发数据传送。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值