stm32F407的硬件I2C稳定吗

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了stm32F407的硬件I2C稳定吗相关的知识,希望对你有一定的参考价值。

参考技术A 用搞STM32IIC通讯bug
ack信号间短暂旦错短暂ACK信号STM32挂
想用IIC用软件模拟吧
参考技术B 下面是我在测试中得到的几个结论:

1、硬件I2C的CLK在50kHz及以下的情况下工作,不会出现任何情况下的卡住。(本人测试时间为20h)

2、硬件I2C的CLK在常用的100kHz和400KHz下工作,99%的概率下会在1小时之内卡住,甚至只有几十秒。

3、硬件I2C的CLK在任何频率下工作,在读取或者发送数据时,都绝对不允许其它中断事件打断它的工作,否则一定会卡住,只是时间问题。

综上,硬件I2C的稳定工作情况是:工作在50kHz及以下,并且保证无其它任何中断打断它的工作。这样只适用于某些对速率要求不高的场所,比如EEPROM的读取等,而对于高速器件例如某些型号的AD芯片,就不能用了。

如果你一定需要高速率(400KHz),那么推荐大家使用STM32的替代方案GD32(兆易创新),它与STM32完全兼容但是解决了STM32的硬件I2C bug,经过本人实际测试,在400KHz的情况下工作,48小时无任何错误发生。但是仍需注意的是不能有外部中断打断I2C的工作。

对于ST公司推荐的将I2C工作在DMA和最高优先级的中断,我只能说大家可以根据自己的情况使用,因为如果你使用了ucos ii或者其它实时操作系统,那么这种设置最高优先级的方式是绝对不推荐的。如果你是裸机程序,并且任务数量不多,可以考虑这种DMA+中断的方式,否则一定会出现问题,只是测试时间长短问题。本回答被提问者采纳

基于飞凌FETA40i-C核心板在光时域反射仪中的应用原理

在光缆工程完工后,都需要进行线路的最后测试,来记录光缆的长度、径距损耗及接头损耗、各接头位置信息等。

光时域反射仪(英文简称:OTDR)是测试中必不可少的工具,通过对测量曲线的分析,了解光纤的均匀性、缺陷、断裂、接头耦合等若干性能的仪器。它是根据光的后向散射与菲涅耳反向原理制作,利用光在光纤中传播时产生的后向散射光来获取衰减的信息,主要可用于测量光纤衰减、接头损耗、光纤故障点定位以及了解光纤沿长度的损耗分布情况等,已经成为光缆施工、维护及检测中必不可少的工具。

外形如图:

了解完功能和原理后,接下来继续看......

一、 光时域反射仪的应用领域

测试光纤光缆的长度,均匀性

传输损耗,光纤的传输衰减

接头损耗等光纤物理特性,并能对光纤线路中的事件点,故障点准确定位

二、目前现状

传统的光时域反射仪大多数以单片机的方案来做,显示单一,存储空间小,随着该行业的发展,对产品的要求也多了起来,高主频,高性能,多操作系统,彩屏显示,画质清晰...

下面以全志A40i为例,展开Linux在光时域分析仪中的应用

常见接口要求如下:

软件:linux/Android /wince

显示:一路(3.5、4.3、5.6、10.1)寸不等,主要用来显示测试波形

USB :至少3路  ,可接U盘,打印机及通过SyncActive软件与PC机通信

网口: 一路(百兆即可)

串口 :主要用来接GPS,485等

传输:WiFi、蓝牙、4G

IO:可接按键

锂电池的管理:电池充放电的管理(一边充电一边供电)、开关机管理(长按开机 长按关机 短按休眠 短按唤醒)、省电管理(支持定时息屏  待机等)

FETA40I-C在此方案中的优势

四核cortex-A7,主频最高1.2Ghz,集成Mali400MP GPU

支持一路千兆网口,一路百兆网口

工业级芯片,户外运行更稳定

外部扩展丰富,UART*8、SD*4、USB*3、SPI*4等

默认支持LINUX3.10+QT5.9和Android7.1 操作系统

锂电池管理--核心板PMIC支持电池供电和对电池的充放电管理

飞凌其他平台可实现方案

A  Linux:FET6410,FET6UL,FET335X,FETA40i

B  Android:FETA40i,FET3399,FETMX8mm,FET4418/6818

C  wince:FET335x

联系我们: 

服    务   热   线 :400-699-6866

飞凌嵌入式官网:https://www.forlinx.com/

官    方   商   城:https://forlinx.taobao.com/  

以上是关于stm32F407的硬件I2C稳定吗的主要内容,如果未能解决你的问题,请参考以下文章

stm32f407 can不接slave不能发送数据吗

STM32F407和STM32F051主从I2C通信方法

STM32F4 HAL库开发 -- STM32F407引脚图

STM32F4 HAL库开发 -- STM32F407引脚图

STM32F4 HAL库开发 -- STM32F407引脚图

stm32f407移植ucos怎么把ucos放在stm32上?