【雅特力AT32】I2C 配置工具Artery_I2C_Timing_Configuration的使用

功能

可以实现对主机和从机的时钟数字滤波模拟滤波配置

环境安装

软件环境 Artery_I2C_Timing_Configuration.exe

(附件压缩包含安装包和配置工具使用指南,需要免费自取)

在这里插入图片描述

/**
 * @function name:
 *    - void i2c_init(i2c_type *i2c_x, uint8_t dfilters, uint32_t clk)
 * @brief  init i2c digit filters and clock control register.
 * @param  i2c_x: to select the i2c peripheral.
 *    - this parameter can be one of the following values:
 *    - I2C1, I2C2, I2C3.
 * @param  dfilters: number of digit filters (0x00~0x0F).
 * @param  clk: i2c clock control register (0x00000000~0xFFFFFFFF).
 * @retval none
 */
i2c_init(I2Cx, 0, 0x00100101);

3.3 使用步骤

  1. 选择芯片型号

    选择当前使用的芯片型号,例如可以选择 AT32A423。
    
  2. 选择设备模式

    Master:	主模式,I 2C 作为主机;
    Slave:	从模式,I 2C 作为从机。
    
  3. 选择 I 2C 速度模式

    Standard-mode:	标准模式,范围 0~100kHz;
    Fast-mode:		快速模式,范围 0~400kHz;
    Fast-mode Plus:	增强快速模式,范围 0~1000kHz。
    
  4. 设置 I 2C 速度(单位 kHz)

    根据实际需求设置 I 2C 通信速度,例如需要通信速度为 10kHz,那么这里设置为 10。
    
  5. 设置 I 2C 时钟源频率(单位 kHz)

    根据实际使用的 I 2C 时钟源频率来配置;
    例如 AT32A423 I 2C 时钟源为 apb1 peripheral (MHz),当 AT32A423主频为 144 MHz,APB1 分频后为 72 MHz 时,这里设置为 72000(kbit/s)。
    

在这里插入图片描述

  1. 模拟滤波使能

     On:打开;
     Off:关闭。
    模拟滤波使能后,将过滤 50ns 以下的脉冲。
    
  2. 数字滤波(范围 0~15)

    数字滤波时间 = 数字滤波值 x TI2C_CLK;
    其中 TI2C_CLK = 1 / I2C 时钟源频率。
    当值为 0 时,数字滤波关闭,当值>0 时将过滤小于数字滤波时间的脉冲。
    
  3. 上升时间(tr单位 ns)

    SCL 和 SDA 总线的上升沿,如图 18 所示。I 2C 协议中规定了在标准模式(Standard-mode)、快速模式(Fast-mode)、增强快速模式(Fast-mode Plus)下的范围,详情请参照表 1。
    上升时间和上拉电阻的阻值关系很大,上拉电阻越小,上升时间越短,可以支持的通信速度就越快,但是功耗也越高。
    表 2 中给出了一些常用上拉电阻阻值所对应的上升沿时间,实际可能会因为总线挂的设备数量、布线等差异而有所不同,仅供参考。
    
  4. 下降时间(tf单位 ns)

    SCL 和 SDA 总线的下降沿,如图 18 所示。
    I 2C 协议中规定了在标准模式(Standard-mode)、快速模式(Fast-mode)、增强快速模式(Fast-mode Plus)下的范围,详情请参照表 1。
    

    在这里插入图片描述

  5. 产生代码

    点击产生代码,上诉配置的值,将会以代码的形式产生出来,
    代码如本文第一张图右下角框所示,只需要将右侧输出的代码替换到自己的程序即可。
    我就不在重复了,贴一下图如下(需复制见文章开头)
    

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值