【经验】国产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
本文由蜡笔小芯提供,版权归世强硬创平台所有,非经授权,任何媒体、网站或个人不得转载,授权转载时须注明“来源:世强硬创平台”。
相关研发服务和供应服务
相关推荐
【经验】雅特力MCU AT32F421的时钟配置教程
时钟是芯片正确高效运行的基础,正确的时钟配置是芯片能正确运行的必要条件,其重要性不言而喻。AT32各系列产品的时钟配置部分可能存在细微的差异和需要注意的事项,本文就着重针对各系列的情况来详细介绍如何结合雅特力提供的V2.x.x的板级支持包(BSP)来配置时钟。
设计经验 发布时间 : 2023-06-10
【经验】雅特力MCU AT32F421 CMP比较器使用指南
雅特力AT32F421系列内置一个超低功耗比较器CMP,它可用作独立器件(I/O上提供了全部接口),也可以与定时器结合使用。本篇文章介绍如何使用AT32F421xx的比较器(CMP)。
设计经验 发布时间 : 2022-10-11
中科芯CKS32F107xx系列MCU内部温度传感器ADC采集应用指南
中科芯推出的CKS32F107xx系列MCU有一个内部的温度传感器,可以用来测量MCU及周围的温度(TA)。该温度传感器在内部和ADCx_IN16输入通道相连接,此通道把传感器输出的电压转换成数字值。
设计经验 发布时间 : 2024-08-13
华润微电子(CRM ICBG)功率IC/智能传感器/智能控制电路选型指南
目录- 产品简介和公司介绍 功率IC 电源管理IC LED驱动IC BMS IC 无线充电IC 电机驱动IC 音频功放IC 显示驱动电路 智能传感器 MEMS传感器 消防传感器 光电传感器 计量、检测电路 智能控制 人机交互MCU 计量计算MCU 通用性MCU 其它电路
型号- PC817X,CS54133,CS54134,CS9603EA,CD4069,CS7124,CS9303,PT4123CB,CS7126,CS7128,CS5764M,CS9603EF,CW78DXX,CS0765LZ,HK814X,PT4515BEH,PT4211,PT4515BEK,CS5752A,HK212-A8L,PT4515BED,CS57D03,CS2109(G2),PT4515BEF,CS88M303,CS54123,HK816X,PT4519CD,PT4519CB,PT4126HD,CS6018,PT4126HC,HK211-A4L,CS7138,PT4209,PT6605S-BA,CS32ME102C4,CMP500A,HK218-D6L,CS42273,PT4519CT,PT4561,CS77P21,PT4568,PT4205,PT4567,CS7196C,PT4566,CS2109(G3),PT4565,CS810J,CS77P22,CS810L,HK817X,CS77P23,CS810M,CS77P25,CS810R,CS810S,CS810T,CS4563D,CS6126,CS6125,PT4119,PT6305-AB,PT6605S-AA,PT6305-AC,PT6605S-AB,HKP3532,CS6061S-001,HKP3531,CS5762M,HKP3530,PT6305-AA,HK211-S8L,PT4115,CS6051-001,CS8002,HKA5816XX,CS36J52,CS2171ALO,CS1629D,CS1629C,HKA5833,PT4556NH,CS1629B,PT4556NK,CS1629A,PT4556NJ,CS62083,HKP3556,PT4556NL,CD8227,CS6112S-009,CMPO2MA,CS6588,PT6303-AA,CD7266,CD7388,PT6303-AC,PT6303-AB,PT6303-AE,PT6303-AD,PT6303-AF,CS6080VA-003C,CF393,HK212-A4L,CS16620B,CS7138M-D51,PT4556MJ,CS32F602C4,PT6303-BA,CD7377,CD7378,CD7379,CS6080-002B,CD6283,PT4556NG,PT4556NF,CD6282,PT4125,CF258,CD1619,CS77P67,CS77P68,CS88M310,CS88M312,CD2822,CS4268,CS4269,CS4267,CS4265,CS93F550,CS6562,CS102MD60C4,HK211-S4L,PT6303-CA,CS88F310(G2),PT4271,CS53P89B,HK212-S8L,CS7197,CS1618A,CS77P25Y,CS5227,HK211-D8L,CMP700G,PT4558TG,PT6304-AD,PT6304-AC,CS2077,CS98E373,PT4121E,CS98E370,CD1517,DPM10C60DG,CF358,CS1659,CS2105-S10,HK214-A8L,CS1658,PT4556JS,CS2105-S12,CS3835,CD1875,CS3830,CS1650,CS2116H,CS2116B,PT6010-AB,CS2116A,PT6010-AA,CS77P66B,PT6605-AA,CS6088Y,PT6605-AB,CS2170ALO,CS3708,CS4916,CS3825,PT6010-BA,PT4515BH-BT,CS1640,CS3820,CS1642,PT6302-AA,CS6068-003B,PT6302-AB,CS45M93C,PT4606,DPMO3T60CM,PT4123C,PT4123E,PT4115B,CS2112(G2),CS3818,PT4556LS,CS1637,CS3817,CF339,CS3815,CS1638,PT4562X,CS57103,CS3810,CS1635,PT6303SADS-B,CS57106,CMPO10G,PT6302-BA,PT4514,PT4519,HKA5825-02,HK212-D8L,HKA5825-01,CS6083,PT4211B,CS3809,CS3808,CS3805,CS53P88,CS53P89,CS6102-002,CS1628,PT4556KS,PT6010-DB,PT6010-DA,HK211-D4L,CS88MB11EN,HK212-S4L,CS1620,CMP040,PT6605DW-AA,CMP150A,CS53P90,DPM10T60CG,HK214-A4L,CF4558,CS1618,H1LLX,PT6605M-AD,PT6605M-AB,PT6605M-AC,PT6605M-AA,HKA5813-02,CS5755S,HKA5813-03,HKA5813-04,CW1117,CS2107-M22,CS9502,HKA5813-01,PT4538,PT4515BEH-BT,PT4556FS,CS53P82,PT4558ENS,CF324,CS5755A,PT4126DF,CS5754S,CS2240GO,PT4115EB,CS32ME104C4,CS5755M,CS5755N,CW72M05,PT4115M,CS6052,HK063X,PT4115E,PT4555D,PT4119E,PT4119B,CS9880,CS5753S,DPM30C60DG,CS32ME104C6,CS7106,CS7107,CS7108,CS5754M,PT4554N,CS37AD2,HK212-D4L,PT4554D,PT4554C,CS2918,CS54147,PT6307E-AA,CW1121,PT6307E-AD,CD2030A,HK826X,HKA5812-01,DPM20C60DG,HKA5812-02,CD2030D,CS4532D,PT4553T,HK214-S8L,PT2332CU,PT4553N,CD1691,CS5765N,CS5240GO-S,CS6031,PT4556GS,PT4557ENS,CS2107-A72,PT4565E,CS7194D,CS7194C,PT2342E,PT2342F,HKA5817-01,PT2342C,PT4516NH,PT2342J,CS2109,PT2342G,PT6001-AD,CS2106,CS2108,PT2342L,CS7138Y,CS4524,HKA5817-02,CW78LXX,HKA5817-03,CS3793,CS4762,HK301X,CS4760,CD9088,PT4556L,PT4558FN,PT4556K,PT4556J,CS88M312(G2),PT4556H,PT4556G,PT4556F,CS37A21,PT4515KH,CS32F608C6,CS32F608C4,CS4995,CS4871,CS4993,CS62783,CS4991,HK302X,PT2332EU,HK217X,PT4558EN,CS6035W,CS74HC595,CMP350A,CS6038C-101,PT4558ET,PT6303S-CA,HK214-D4L,CW78MXX,PT4523C,PT2332E,CS3830A,HK214-D8L,PT2332J,PT4515NH,CD7388L,PT4557FN,PT6302S-AA,PT2332L,PT6302S-AB,PT6007B-BA,HK303X,PT2342EU,CS7193R-01A,CS16F5051,CS16F5053,PT4558F,PT4558E,CS88F331,CS45P83,CS88F330,EWM78F128,HK216-A8L,CS4979,CS4977,HK214-S4L,PT6007B-AA,CS16312,CS16311,HK304X,PT6007B-AC,CS0372,PT4557EN,CS7106K,CS6038C-001,PT2332C,CR2511,CS6038C-002,PT4557ET,PT4523AB,PT6605-FA,CS4967,CS2105-M12,CD2003,CD2004,PT2332JU,PT6007B-DA,CS1694,PT4523AD,CS2105-M10,CS7721,CS16620,DPM15C60DG,PT2512,HK216-S8L,CS104MD60C6,HK305X,PT6605-EA,PT6605-EB,PT6605E-AA,HK216-A4L,CS104MD60C4,PT2626CE,PT2626CF,PT4536C,CS3629,PT2333L,PT4536B,PT4559CF,CS4956,CD2111,HKA5831-01,HKA5831-02,CS36S52,CS6079N,PT2501,PT2622,HK306X,CS36B11ET,PT4559CJ,CMP100G,PT2621,PT4119EN,HK851X,CS6112W-009,CS88F361,PT6303S-AC,CS32F302,CS6112W-004,CS88F003,CD2025,CS3855,CS6067C,CS32ME108C6,CS32ME108C4,CS3850,CS88F360,PT2332LU,CS98P154Y,CS9803,PT6001-CB,PT6001-CA,PT6001-CC,CD2031,PT2533,CMP200G,PT2531,PT6010P-AB,PT6010P-AA,PT2603AE,PT2603AD,PT2603AC,PT6605-GA,DPM04T60AM,CS7752,PT6010-HA,CD5888,CD5890,PT6010E-AA,CS12P22,HK308X,CS9816,CD4440,PT6605D-AA,PT1311,CS6038C-201,CS6069B-001,HK216-S4L,PM1122,CS5214,CD2050,CS5213,CS5211,PT6117,CS98P370,PT4601J,CS88P419,PT6111,CS3805B,CS3817C,HK216-D8L,CMP700,CS32F604C6,CS32F604C4,CS3817B,CF2903,PT2342JU,CW78XX,CS49P60,CD1191,CS31F550,CS98E154,HK354X,CS32F465,CW431,CW432,CS4228,CS4226,CS4227,CS45M93,CS4588,CS7193-T16C,CS4585,CS2160,CS7193-T16G,CS1192,CS7193-T16F,CS16164,CS7193-T16E,CS7193-T16D,HK216-D4L,PT4603L,PT4603K,HK101X,PT4603J,PT2626EE,6N137,CS98P168,PT2626EF,6N136,CS98P169,6N139,CS98P166,6N138,CW34063,6N135,CS6582ELO,PT4515EK,PT4515EH,PT4515EF,CS4216,PT4515ED,CS6017R,PT4121EB,CS4572,CR2365C,CS4573,CR2365B,CR2365A,HK218-A6L,CS42651,CS6080K-001,HK3120,CS4205,PT6610-AA,HK357X,PT6007V-AB,PT6007V-AA,CS98P171,CS809J,CS809L,CS809M,CS1620B,HKA5818-02,CS809R,C
基于雅特力AT32 MCU的洗衣机电机控制驱动方案,解锁智能家居新体验
随着人工智能、物联网等技术的发展,传统家电逐渐向智能家电转型。洗衣机作为家庭生活中不可或缺的电器之一,其智能化升级对于提升生活品质具有重要意义。MCU作为电机控制系统的核心“大脑”,肩负着多样化的控制使命。雅特力AT32 MCU以其卓越的性能和完善的电机开发生态,为洗衣机、电动两轮车和电摩等电机应用产品提供高效电机控制驱动方案,并已实现规模量产。
应用方案 发布时间 : 2024-09-30
LX Semicon(乐尔幸半导体)MCU/电机驱动IC选型指南
目录- MCU & Motor Driver IC概述 MCU & Motor Control IC Product List Stable Supports for Customers MCU & Motor Driver IC Key Function MCU Motor Driver IC Washer/Refrigerator/Air Conditioner应用实例 Development Supports
型号- SW31103C,SW31200A,SW31202C,TMPM4K SERIES,TMPM470 SERIES,TMPM383,SW3006,SW3001,SSC4S701,SW3007,R5F5130 SERIES,LX61202,LX61100,TMPM383 SERIES,R5F5130,SW31102B,M SERIES,SW31201C,DRV8848,DRV10987,TMPM470,H SERIES,SW33201,SW31100,SW33200,SW33500,SW31200,G SERIES,SW31103,TMPM3HN SERIES,TMPM4K,R5F100,TMPM3HN,R5F100 SERIES,LX61202C,SW3304B,LX61210
雅特力携多款AT32 MCU新品与应用方案亮相2024慕尼黑上海电子展
7月8日,2024慕尼黑上海电子展electronica China在上海新国际博览中心拉开序幕,作为全球电子行业的盛会,汇聚了国内外众多优质电子企业。雅特力携高性能AT32 MCU与应用方案齐亮相,呈现了多款电机控制、工业控制、汽车电子、智能家居、消费、商务,及新能源等应用方案。现场人流攒动、氛围热烈!
原厂动态 发布时间 : 2024-07-17
【应用】国产32位MCU AT32F403ARCT7用于智能止鼾枕,最高主频240MHz
智能止鼾枕是一种非穿戴式的智能止鼾设备,内置气囊,声音、压力传感器。本文推荐采用国产雅特力推出的32位MCU AT32F403ARCT7为主控, 最高主频240MHz,Flash 256k,工作温度范围-40~+105℃。
应用方案 发布时间 : 2022-09-06
PG26荣获中国电子报评选为“2024边缘AI MCU优秀案例”
Silicon Labs(亦称“芯科科技”)最新发布的EFM32PG26(PG26) 32位微控制器(MCU)近期荣获中国电子报评选并推荐为“2024边缘AI MCU优秀案例”。PG26通过提升了两倍的闪存和RAM容量以及GPIO的数量,同时还嵌入人工智能和机器学习(AI/ML)硬件加速器来满足各种低功耗和高性能嵌入式物联网应用需求,因而获得行业的认可及青睐。
原厂动态 发布时间 : 2024-06-11
【应用】雅特力32位MCU AT32F421G8U7适用于VBAT设计供电,最高可支持64KB闪存存储器
雅特力科技推出AT32F421系列超值型ARM® Cortex®-M4微控制器MCU,高达120MHz的CPU运算速度与内建数字信号处理器(DSP),最高可支持64KB闪存存储器(Flash)及16KB随机存取存储器(SRAM),集成了丰富外设接口。
设计经验 发布时间 : 2021-12-31
【应用】雅特力高性能32位MCU AT32F407VGT7用于数据采集卡,主频高达240MHz,片上资源丰富
在数据采集卡中,通过传感器将环境被测的物理量(温度、压力、光源、位移等)转换成模拟电信号,之后通过模数转换器转换成数字信号给到微控制器进行数据处理,本文推荐雅特力的高主频MCU AT32F407VGT7。
应用方案 发布时间 : 2023-03-15
雅特力AT32F405高速USB MCU荣获“年度最佳MCU”
3月28-29日,由AspenCore主办的2024国际集成电路展览会暨研讨会在上海张江科学会堂圆满举行。2024年中国IC设计Fabless100排行榜也在同期举行的中国IC领袖峰会发布,雅特力AT32F405荣获“中国IC设计成就奖之年度最佳MCU”。
原厂动态 发布时间 : 2024-04-12
【IC】中微半导正式推出工业级MCU BAT32G113,适用光模块、传感器、工业控制等小型应用
中微半导体于近日正式推出工业级MCU BAT32G113,芯片工作温度-40℃~125℃,提供QFN24(3mmx3mm)和QFN32封装可选,主要面向光模块、传感器、工业通讯、测量仪器仪表等空间受限型应用。
产品 发布时间 : 2023-12-26
【IC】芯海科技CS8M320经济型信号链MCU,集成12位全差分ADC,宽工作电压1.8~5.5V
芯海科技全新推出CS8M320系列的经济型信号链MCU 。该MCU集成了12位全差分ADC、低温漂基准、电容测量模块CVC等信号链模块,精准满足常规的电压、电流、温度、电容信号测量需要 。
产品 发布时间 : 2023-12-28
航顺业界创新HK32C030家族,传感器+MCU的可靠之选!
航顺芯片业界创新HK32C030家族,传感器+MCU的可靠之选!HK32C030家族具备ARM Cortex-M0内核,最高工作频率64MHz,支持DMA,64KB FLASH,10KB SRAM,2.6V~5.5V。
产品 发布时间 : 2024-04-10
电子商城
现货市场
服务
可定制显示屏的尺寸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 提交需求>
登录 | 立即注册
提交评论