【经验】国产MCU AT32F421 的 I2C通信时序相关注意事项
雅特力AT32F421是一款高性价比的国产MCU,应用于各类传感器模块中,与传感器的通信需要用到I2C,本文介绍AT32F421使用I2C通信时序相关注意事项:
1. 主模式下,在发送地址后在写数据时(主发模式),会多一个 STOP,如下图
解决办法:
在软件操作 I2C_CTRL1 寄存器的 STOPGEN 位发送 stop 后,必须判断等待硬件将该位清除以后再 执行 I2C_CTRL1 的任何操作(比如操作下一次通信的 start),否则导致硬件逻辑出错,出现异常情 况。
配置完 STOP 后添加判断 STOPGEN 位是否清除检查。
2. 主模式下,其他 mcu 作为 slave,在发送地址后在写数据时(主发模式),会有一个 80ns 左右 SCL, 如下图
在主发模式下,slave 不能在 master 内部处于高电平计数周期内释放 SCL 总线,所以最稳妥的 方法是让 slave 在 master 操作 SCL 前提前释放 SCL 总线,具体到代码上,以 MCU 用 interrupt 模 式操作 I2C 的 ADDR 阶段为例(AT32 芯片)
上图是 RM 上的时序图,slave 在 EV1 事件识别到正确的 ADDR 会进入中断,然后通过读状态寄存器 STS1 和 STS2 清除 ADDRF 标志位后才释放 SCL 总线。 解决方法修改 Master 代码或者 Slave 代码 Master 代码: 评估 slave 从进入 I2C 中断到处理完清除 ADDRF 标志位的时间,延时(具体延时取决于从机)一段 时间后再操作发送数据 else if(I2C_GetINTStatus(I2Cx,I2C_INT_ADDRF)) { Delay_ns(15); (void)(I2Cx->STS2); //auto clear flag } Slave 代码: 当 master 发送完 ADDR 后,此时 slave 的 ACK 由硬件控制完成,如果此时 slave 正在处理其他中断 函数,而无法进入 I2C 中断,则会造成 hold SCL 总线,所以需配置 I2C 抢占优先级最高,遇到上 述情况能及时响应 I2C 中断提高 I2C 中断优先级,将 I2C 的抢占优先级高于其余中断,例如将 NVIC 4 bit 分为 2:2 分组,将 I2C event interrupt 抢占级设为单独的最高,如下图
尽量减少从进入 I2C 中断到清除 ADDRF 标志位之间的代码,缩减 hold SCL 总线时间,如下图, 检测到 ADDRF 后立即执行清除序列操作
只要符合 I2C hold SCL 总线的阶段(比如总线接收到数据,但没有及时从 DT 数据寄存器读取) 都应该尽量及时处理,应减小 hold 时间。
- |
- +1 赞 0
- 收藏
- 评论 0
本文由蜡笔小芯提供,版权归世强硬创平台所有,非经授权,任何媒体、网站或个人不得转载,授权转载时须注明“来源:世强硬创平台”。
相关推荐
【经验】雅特力AT32 MCU CAN入门指南
CAN是Controller Area Network的缩写(以下称为CAN),它的设计目标是以最小的CPU负荷来高效处理大量的报文。本文介绍雅特力AT32 MCU CAN入门指南
【经验】雅特力MCU如何在Keil中将函数或变量编译到指定地址
在使用雅特力MCU AT32F403A,AT32F421,AT32F413,AT32F415做软件编程中,有时会有将函数或者变量加载到固定的Flash地址,本文介绍2种将变量或函数编译到指定地址的方法。
【经验】雅特力MCU AT32F421的时钟配置教程
时钟是芯片正确高效运行的基础,正确的时钟配置是芯片能正确运行的必要条件,其重要性不言而喻。AT32各系列产品的时钟配置部分可能存在细微的差异和需要注意的事项,本文就着重针对各系列的情况来详细介绍如何结合雅特力提供的V2.x.x的板级支持包(BSP)来配置时钟。
雅特力32位MCU选型表
雅特力AT32 MCU的选型的相关技术参数如下,32位MCU,多种封装:TSSOP20,QFN28,QFN32,QFN48,LQFP48,LQFP64,LQFP100,LQFP144,稳定的工作温度:-40°C~85°C,-40°C~105°C,频率范围在96MHz~288MHz之间
产品型号
|
品类
|
Core
|
FPU
|
Speed(MHz)
|
Flash(KB)
|
SRAM(KB)
|
I/O
|
Advanced TM(16-bit)
|
GPTM(32-bit)
|
GPTM(16-bit)
|
Basic TM(16-bit)
|
Systick(24-bit)
|
WDT
|
WWDT
|
RTC
|
I2C
|
SPI
|
(F/H)I2S(1)(2)
|
USART/UART
|
SDIO
|
USB Device
|
CAN
|
ADC Engine
|
12-bit ADC ch
|
DAC Engine
|
12-bit DAC ch
|
PKG
|
Size(mm)
|
Temp(℃)
|
AT32F403ZCT6
|
32位MCU
|
M4
|
FPU
|
200MHz
|
256KB
|
96KB/224KB
|
112
|
3
|
2
|
8
|
2
|
1
|
1
|
1
|
1
|
3
|
4
|
0/4
|
3/2
|
2
|
1
|
1
|
3
|
21
|
2
|
2
|
LQFP144
|
20mmx20mm
|
-40℃~85°C
|
选型表 - 雅特力 立即选型
基于雅特力AT32 MCU的洗衣机电机控制驱动方案,解锁智能家居新体验
随着人工智能、物联网等技术的发展,传统家电逐渐向智能家电转型。洗衣机作为家庭生活中不可或缺的电器之一,其智能化升级对于提升生活品质具有重要意义。MCU作为电机控制系统的核心“大脑”,肩负着多样化的控制使命。雅特力AT32 MCU以其卓越的性能和完善的电机开发生态,为洗衣机、电动两轮车和电摩等电机应用产品提供高效电机控制驱动方案,并已实现规模量产。
中科芯CKS32F107xx系列MCU内部温度传感器ADC采集应用指南
中科芯推出的CKS32F107xx系列MCU有一个内部的温度传感器,可以用来测量MCU及周围的温度(TA)。该温度传感器在内部和ADCx_IN16输入通道相连接,此通道把传感器输出的电压转换成数字值。
【经验】 雅特力AT32 MCU Printf的功能使用方法
内容概述本文档主要介绍雅特力AT32 MCU在Keil和IAR两种工程环境下的printf功能使用方法。其共包含6种方法,各方法的具体用法在具体内容中描述。
【经验】解析雅特力AT32系列MCU RTC入门指南
RTC计数逻辑位于电池供电域,内部为一个32位递增计数器,只要电池供电域有电,RTC便会一直运行,不受系统复位以及VDD掉电影响。本文雅特力将为大家介绍AT32系列MCU的RTC入门指南。
航顺业界创新HK32C030家族,传感器+MCU的可靠之选!
航顺芯片业界创新HK32C030家族,传感器+MCU的可靠之选!HK32C030家族具备ARM Cortex-M0内核,最高工作频率64MHz,支持DMA,64KB FLASH,10KB SRAM,2.6V~5.5V。
【经验】雅特力MCU AT32F421 CMP比较器使用指南
雅特力AT32F421系列内置一个超低功耗比较器CMP,它可用作独立器件(I/O上提供了全部接口),也可以与定时器结合使用。本篇文章介绍如何使用AT32F421xx的比较器(CMP)。
【经验】雅特力MCU AT32F435/437xx系列GPIO使用指南
本文介绍雅特力MCU AT32F435/437xx系列GPIO使用及配置指南。
如何进行雅特力AT32 MCU HOGP开发?
HOGP(HID over GATT)是由Bluetooth SIG维护的蓝牙配置文件规范,通过低功耗蓝牙实现HID的配置文件并作为与计算器之间的接口,消除HID中对电线或物理连接的需求。本文将为您介绍雅特力AT32 MCU HOGP开发。
【应用】国产32位MCU AT32F403ARCT7用于智能止鼾枕,最高主频240MHz
智能止鼾枕是一种非穿戴式的智能止鼾设备,内置气囊,声音、压力传感器。本文推荐采用国产雅特力推出的32位MCU AT32F403ARCT7为主控, 最高主频240MHz,Flash 256k,工作温度范围-40~+105℃。
【应用】雅特力32位MCU AT32F421G8U7适用于VBAT设计供电,最高可支持64KB闪存存储器
雅特力科技推出AT32F421系列超值型ARM® Cortex®-M4微控制器MCU,高达120MHz的CPU运算速度与内建数字信号处理器(DSP),最高可支持64KB闪存存储器(Flash)及16KB随机存取存储器(SRAM),集成了丰富外设接口。
【IC】中微半导正式推出工业级MCU BAT32G113,适用光模块、传感器、工业控制等小型应用
中微半导体于近日正式推出工业级MCU BAT32G113,芯片工作温度-40℃~125℃,提供QFN24(3mmx3mm)和QFN32封装可选,主要面向光模块、传感器、工业通讯、测量仪器仪表等空间受限型应用。
电子商城
现货市场
服务
可定制显示屏的尺寸0.96”~15.6”,分辨率80*160~3840*2160,TN/IPS视角,支持RGB、MCU、SPI、MIPI、LVDS、HDMI接口,配套定制玻璃、背光、FPCA/PCBA。
最小起订量: 1000 提交需求>
可烧录IC封装SOP/MSOP/SSOP/TSOP/TSSOP/PLCC/QFP/QFN/MLP/MLF/BGA/CSP/SOT/DFN;IC包装Tray/Tube/Tape;IC厂商不限,交期1-3天。支持IC测试(FT/SLT),管装、托盘装、卷带装包装转换,IC打印标记加工。
最小起订量: 1pcs 提交需求>
登录 | 立即注册
提交评论