【经验】国产MCU AT32F421 的 I2C通信时序相关注意事项

2021-02-19 世强
MCU,AT32F421,雅特力 MCU,AT32F421,雅特力 MCU,AT32F421,雅特力 MCU,AT32F421,雅特力

雅特力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 时间。

授权代理商:世强先进(深圳)科技股份有限公司
技术资料,数据手册,3D模型库,原理图,PCB封装文件,选型指南来源平台:世强硬创平台www.sekorm.com
现货商城,价格查询,交期查询,订货,现货采购,在线购买,样品申请渠道:世强硬创平台电子商城www.sekorm.com/supply/
概念,方案,设计,选型,BOM优化,FAE技术支持,样品,加工定制,测试,量产供应服务提供:世强硬创平台www.sekorm.com
集成电路,电子元件,电子材料,电气自动化,电机,仪器全品类供应:世强硬创平台www.sekorm.com
  • +1 赞 0
  • 收藏
  • 评论 0

本文由蜡笔小芯提供,版权归世强硬创平台所有,非经授权,任何媒体、网站或个人不得转载,授权转载时须注明“来源:世强硬创平台”。

相关研发服务和供应服务

评论

   |   

提交评论

全部评论(0

暂无评论

相关推荐

【经验】雅特力AT32 MCU CAN入门指南

CAN是Controller Area Network的缩写(以下称为CAN),它的设计目标是以最小的CPU负荷来高效处理大量的报文。本文介绍雅特力AT32 MCU CAN入门指南

2023-02-08 -  设计经验 代理服务 技术支持 现货查询 批量订货

【经验】雅特力MCU如何在Keil中将函数或变量编译到指定地址

在使用雅特力MCU AT32F403A,AT32F421,AT32F413,AT32F415做软件编程中,有时会有将函数或者变量加载到固定的Flash地址,本文介绍2种将变量或函数编译到指定地址的方法。

2021-06-03 -  设计经验 代理服务 技术支持 现货查询 批量订货

【经验】雅特力MCU AT32F421的时钟配置教程

时钟是芯片正确高效运行的基础,正确的时钟配置是芯片能正确运行的必要条件,其重要性不言而喻。AT32各系列产品的时钟配置部分可能存在细微的差异和需要注意的事项,本文就着重针对各系列的情况来详细介绍如何结合雅特力提供的V2.x.x的板级支持包(BSP)来配置时钟。

2023-06-10 -  设计经验 代理服务 技术支持 现货查询 批量订货

基于雅特力AT32 MCU的洗衣机电机控制驱动方案,解锁智能家居新体验

随着人工智能、物联网等技术的发展,传统家电逐渐向智能家电转型。洗衣机作为家庭生活中不可或缺的电器之一,其智能化升级对于提升生活品质具有重要意义。MCU作为电机控制系统的核心“大脑”,肩负着多样化的控制使命。雅特力AT32 MCU以其卓越的性能和完善的电机开发生态,为洗衣机、电动两轮车和电摩等电机应用产品提供高效电机控制驱动方案,并已实现规模量产。

2024-09-30 -  应用方案 代理服务 技术支持 现货查询 批量订货

中科芯CKS32F107xx系列MCU内部温度传感器ADC采集应用指南

中科芯推出的CKS32F107xx系列MCU有一个内部的温度传感器,可以用来测量MCU及周围的温度(TA)。该温度传感器在内部和ADCx_IN16输入通道相连接,此通道把传感器输出的电压转换成数字值。

2024-08-13 -  设计经验 代理服务 技术支持 现货查询 批量订货

【经验】 雅特力AT32 MCU Printf的功能使用方法

内容概述本文档主要介绍雅特力AT32 MCU在Keil和IAR两种工程环境下的printf功能使用方法。其共包含6种方法,各方法的具体用法在具体内容中描述。

2022-05-26 -  设计经验 代理服务 技术支持 现货查询 批量订货

【经验】解析雅特力AT32系列MCU RTC入门指南

RTC计数逻辑位于电池供电域,内部为一个32位递增计数器,只要电池供电域有电,RTC便会一直运行,不受系统复位以及VDD掉电影响。本文雅特力将为大家介绍AT32系列MCU的RTC入门指南。

2023-04-25 -  设计经验 代理服务 技术支持 现货查询 批量订货

航顺业界创新HK32C030家族,传感器+MCU的可靠之选!

航顺芯片业界创新HK32C030家族,传感器+MCU的可靠之选!HK32C030家族具备ARM Cortex-M0内核,最高工作频率64MHz,支持DMA,64KB FLASH,10KB SRAM,2.6V~5.5V。

2024-04-10 -  产品 代理服务 技术支持 现货查询 批量订货

【经验】雅特力MCU AT32F421 CMP比较器使用指南

雅特力AT32F421系列内置一个超低功耗比较器CMP,它可用作独立器件(I/O上提供了全部接口),也可以与定时器结合使用。本篇文章介绍如何使用AT32F421xx的比较器(CMP)。

2022-10-11 -  设计经验 代理服务 技术支持 现货查询 批量订货

【经验】雅特力MCU AT32F435/437xx系列GPIO使用指南

本文介绍雅特力MCU AT32F435/437xx系列GPIO使用及配置指南。

2023-02-24 -  设计经验 代理服务 技术支持 现货查询 批量订货

如何进行雅特力AT32 MCU HOGP开发?

HOGP(HID over GATT)是由Bluetooth SIG维护的蓝牙配置文件规范,通过低功耗蓝牙实现HID的配置文件并作为与计算器之间的接口,消除HID中对电线或物理连接的需求。本文将为您介绍雅特力AT32 MCU HOGP开发。

2024-01-03 -  设计经验 代理服务 技术支持 现货查询 批量订货

【应用】国产32位MCU AT32F403ARCT7用于智能止鼾枕,最高主频240MHz

智能止鼾枕是一种非穿戴式的智能止鼾设备,内置气囊,声音、压力传感器。本文推荐采用国产雅特力推出的32位MCU AT32F403ARCT7为主控, 最高主频240MHz,Flash 256k,工作温度范围-40~+105℃。

2022-09-06 -  应用方案 代理服务 技术支持 现货查询 批量订货

【应用】雅特力32位MCU AT32F421G8U7适用于VBAT设计供电,最高可支持64KB闪存存储器

雅特力科技推出AT32F421系列超值型ARM® Cortex®-M4微控制器MCU,高达120MHz的CPU运算速度与内建数字信号处理器(DSP),最高可支持64KB闪存存储器(Flash)及16KB随机存取存储器(SRAM),集成了丰富外设接口。

2021-12-31 -  设计经验 代理服务 技术支持 现货查询 批量订货

【IC】中微半导正式推出工业级MCU BAT32G113,适用光模块、传感器、工业控制等小型应用

中微半导体于近日正式推出工业级MCU BAT32G113,芯片工作温度-40℃~125℃,提供QFN24(3mmx3mm)和QFN32封装可选,主要面向光模块、传感器、工业通讯、测量仪器仪表等空间受限型应用。

2023-12-26 -  产品 代理服务 技术支持 现货查询 批量订货
展开更多

电子商城

查看更多

品牌:雅特力

品类:32位通用MCU

价格:¥4.2360

现货: 23,058

品牌:雅特力

品类:32位MCU

价格:¥17.3130

现货: 11,929

品牌:雅特力

品类:32位MCU

价格:¥14.6240

现货: 8,734

品牌:雅特力

品类:32位MCU

价格:¥13.3420

现货: 8,628

品牌:雅特力

品类:32位MCU

价格:¥10.8480

现货: 6,906

品牌:雅特力

品类:32位MCU

价格:¥16.2950

现货: 5,771

品牌:雅特力

品类:32位MCU

价格:¥12.1770

现货: 4,875

品牌:雅特力

品类:32位MCU

价格:¥19.0120

现货: 2,536

品牌:雅特力

品类:32位MCU

价格:¥6.8360

现货: 2,523

品牌:雅特力

品类:32位MCU

价格:¥7.0480

现货: 1,760

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

现货市场

查看更多

品牌:RENESAS

品类:16-BIT MCU

价格:¥5.5190

现货:910,635

品牌:RENESAS

品类:MCU

价格:¥5.1500

现货:200,000

品牌:恒烁

品类:MCU

价格:¥1.0800

现货:154,600

品牌:Advanced Digital Chips

品类:MCU

价格:¥6.6000

现货:100,000

品牌:RENESAS

品类:MCU

价格:¥5.8041

现货:86,925

品牌:RENESAS

品类:32-BIT GENERAL MCU

价格:¥7.3800

现货:76,715

品牌:RENESAS

品类:32-BIT GENERAL MCU

价格:¥15.3000

现货:75,000

品牌:Advanced Digital Chips

品类:MCU

价格:¥9.0000

现货:64,841

品牌:ST

品类:MCU

价格:¥15.5600

现货:58,800

品牌:RENESAS

品类:32-BIT GENERAL MCU

价格:¥257.6400

现货:58,799

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

服务

查看更多

TFT LCD液晶显示屏/模组定制

可定制显示屏的尺寸0.96”~15.6”,分辨率80*160~3840*2160,TN/IPS视角,支持RGB、MCU、SPI、MIPI、LVDS、HDMI接口,配套定制玻璃、背光、FPCA/PCBA。

最小起订量: 1000 提交需求>

MCU烧录/Flash烧录/CPLD烧录

可烧录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 提交需求>

查看更多

授权代理品牌:接插件及结构件

查看更多

授权代理品牌:部件、组件及配件

查看更多

授权代理品牌:电源及模块

查看更多

授权代理品牌:电子材料

查看更多

授权代理品牌:仪器仪表及测试配组件

查看更多

授权代理品牌:电工工具及材料

查看更多

授权代理品牌:机械电子元件

查看更多

授权代理品牌:加工与定制

世强和原厂的技术专家将在一个工作日内解答,帮助您快速完成研发及采购。
我要提问

954668/400-830-1766(工作日 9:00-18:00)

service@sekorm.com

研发客服
商务客服
服务热线

联系我们

954668/400-830-1766(工作日 9:00-18:00)

service@sekorm.com

投诉与建议

E-mail:claim@sekorm.com

商务合作

E-mail:contact@sekorm.com

收藏
收藏当前页面