历史上的今天
返回首页

历史上的今天

今天是:2025年03月08日(星期六)

2021年03月08日 | STM32 IIC难点易错点

2021-03-08 来源:eefocus

先来点题外话~网上说STM32F103的IIC有瑕疵!就当是有些短板吧,个人觉得,用起来肯定没问题,只是不好用。因为ST公司考虑到专利问题,所以没按飞利浦的标准来。导致STM32的IIC使用起来非常繁杂。下面就讲讲用STM32 IO口模拟IIC的注意问题:


IIC总线时序:

进入正题→_→博主就因为没理解好应答,吃了亏。讲一讲IIC的几个重要状态:


1、空闲状态:当IIC总线空闲时,SDA和SCL两条线均为高电平,由于连接到总线上的器件必须是漏级和集电极开路(至于威为什么请读者自己搜索),只要有一个器件任意时刻输出低电平,都将使总线上的信号变低,即各器件的SDA和SCL是线与的关系。由于各器件输出端是漏级开路,故必须通过上拉电阻接正电源,以保证SDA和SCL在空闲时被拉为高电平。


2、起始信号S和终止信号P(注意起始和终止信号中的延时,严格按照数据手册来,快一点,慢一点都不行!):


起始信号S:在SCL线为高电平期间,SDA线由高电平向低电平的变化表示起始信号,只有在起始信号以后,其他命令才有效。


终止信号P:在SCL线为高电平期间,SDA线由低电平向高电平的变化表示终止信号,随着终止信号的出现,所有外部操作都结束。如图:

3、数据的传送:一句话:低电平变化,高电平稳定。


IIC总线在进行数据传送时,每一位数据位的传送都与时钟脉冲相对应。时钟脉冲为高电平期间,数据线上的数据必须保持稳定;只有在时钟线为低电平期间,数据线上的电平状态才允许变化。即:数据在SCL的上升沿来之前就需准备好,并在下降沿来之前必须稳定。如图:


4、(易错)应答信号ACK、非应答信号NACK、终止信号P:


应答信号ACK:该信号是由从器件产生的,IIC总线在传送一字节(8位)数据后都必须有应答信号A,下面是易错点:对于反馈有效应答位ACK的要求是,接收器在第九个时钟脉冲之前得低电平期间将SDA线拉低,并且确保在该时钟的高电平期间为稳定的低电平。表示其已经收到一个8位的数据了。如图:

非应答信号NACK:该信号是由主器件产生的。当主器件接收来自从机的数据时,接收到最后一个数据字节后,必须给从器件发送一个非应答信号,使从机释放数据总线,以便主机发送一个终止信号,从而结束数据的传送。


终止信号P:主机发送终止信号有两种情况:1、当数据传输完成后,主器件发送终止信号。2、由于某种原因,接收方不对主器件寻址信号应答时,例如接收方正在进行其他处理而无法接收总线上的数据时,必须释放总线,将数据线置为高电平,而由主器件产生一个终止信号以结束总线的数据传送。


从上文中可以看出:


1、无论何种数据传输格式(主发从收,主收从发,主机收发),寻址字节都由主器件发出,数据字节的传送方向则由寻址字节中的方向为来决定。


2、寻址字节只表明了从器件的地址及数据传送方向。从器件内部的n个数据地址,由器件设计者在该器件的IIC总线数据操作格式中,指定第1个数据字节作为器件内的单元地址指针,并且设置地址自动加减功能,以减少从器件的寻址操作。


3、每个字节传送都必须有应答信号相随。


4、从器件在接收到起始信号后都必须释放数据总线,使其处于高电平(最后一个图),以便主器件发送从机地址。


推荐阅读

史海拾趣

Cellergy公司的发展小趣事

在电子行业的快速发展中,Cellergy公司以一项创新技术打破了行业内的常规。该公司成功研发出了一种新型电容器,其性能远超市场上同类产品。这一技术突破不仅为Cellergy公司赢得了大量订单,还使其在电子行业中的地位得到了显著提升。随着技术的不断完善和市场的不断拓展,Cellergy公司逐渐成为了电容器领域的佼佼者。

Emulation Technology Inc公司的发展小趣事

面对电子行业的快速发展和市场的不断变化,Emulation始终保持着对技术的持续创新。公司不断投入研发资源,推出了一系列具有领先性能的模拟和仿真产品,满足了客户对于高精度、高效率仿真工具的需求。这些产品不仅提高了工程师们的设计效率,还促进了整个电子行业的发展。

ENSIGN公司的发展小趣事

ENSIGN不仅关注传统电子行业的发展,还积极探索新的业务领域。最近,ENSIGN集团宣布收购位于亚利桑那州的医疗保健园区River Park Post Acute和Elmwood Senior Living,以及其他七家公司。这一收购标志着ENSIGN正逐步向医疗保健领域进军,寻求多元化的发展机会。

Ford Aerospace & Communications Corp公司的发展小趣事

在汽车制造领域,福特一直是技术创新的领导者。20世纪60年代,福特开始将电子设备集成到汽车中,包括车载电话、导航系统以及早期的娱乐系统。这些创新不仅提升了驾驶的便捷性和舒适性,也预示着未来汽车电子化、智能化的趋势。虽然这些技术并不直接属于航空通信范畴,但它们展示了福特在电子技术应用方面的前瞻性和实力。

广东华裕(GDHY)公司的发展小趣事

进入21世纪,随着物联网和人工智能技术的快速发展,福特汽车公司再次站在了行业的前沿。它致力于研发智能互联汽车技术,通过车载设备与互联网的深度融合,实现车辆与车辆、车辆与基础设施之间的实时通信和协同工作。这一举措不仅提升了驾驶的安全性和效率,也为未来的自动驾驶技术奠定了基础。虽然这些技术更多地关注于汽车本身,但它们也体现了福特在电子通信和智能技术方面的持续探索和创新能力。

请注意,以上故事均为虚构,旨在根据福特汽车公司的历史和技术背景构建可能的发展路径。实际上,福特汽车公司并未直接成立名为“Ford Aerospace & Communications Corp”的子公司。

帝特(DTECH)公司的发展小趣事

2007年,帝特成功获得迪士尼形象授权(泰国),这一里程碑事件标志着帝特品牌在国际市场上的认可度和影响力得到了显著提升。随后,帝特又获得了国内悠嘻猴授权,进一步丰富了其产品线。2008年,帝特荣获“守合同、重信用企业”荣誉称号,这一荣誉不仅是对帝特过去努力的肯定,也为公司的未来发展奠定了坚实基础。

问答坊 | AI 解惑

全国大学生电子设计竞赛历年试题

本帖最后由 paulhyde 于 2014-9-15 08:55 编辑 全国大学生电子设计竞赛历年试题  …

查看全部问答>

自己组装生产摄像机优势在哪?

本人从事安防行业5年,一路走来,一直在做监控摄像机这一块,发现自己组装生产摄像机,有以下几大优势,供大家参考: 第一:摄像机本身组装很简单,技术含量不高,不如自己动手,还学会了组装,与摄像机内部结构。 第二:自己组装生产摄像机,价格 ...…

查看全部问答>

3D报纸引领阅读潮流 成本与内容成制约发展瓶颈

本帖最后由 jameswangsynnex 于 2015-3-3 19:57 编辑 自2009年年底起,3D在国内成为了“时尚”的代名词,继3D电影《阿凡达》、《爱丽丝梦游仙境》在中国市场赚得盆满钵满,3D似乎也成为了报刊企业的又一掘金点。   2010年4月16日,湖北《十堰晚 ...…

查看全部问答>

关于开发CDMA的通信模块!

先祝各位达人元旦快乐! 我老板现在想开发CDMA的通信模块,就是网上很多卖的那种,可以通过串口或其他通用接口进行CDMA无线通信,但我查了很长时间仍然没有头绪……望各位达人指点一二: 用于开发CDMA模块一般都有什么芯片?我看网上大部分都是高 ...…

查看全部问答>

请教关于Powerpc文件系统的问题

Powerpc现在编译的文件系统是jff2格式,用串口线先传倒powerpc的RAM里,再复制进flash,但是现在文件系统似乎限制了大小,如果传3M左右就能正常启动,如果大于4M就不能正常启动,系统会不停重启。但是如果系统能正常启动后,用FTP上传文件,则没有 ...…

查看全部问答>

workbench!!

之前用的是vxworks+Tornado开发方式,一切比较顺利!! 最近单位买了最新版的vxworks,开发环境是workbench,刚接触,本打算先做启动软盘尝试启动vxworks,可发现每次编译后,目标机出现v1.6++++++++++++++++++然后又重起,尝试了各种方法,都是这样,请各位 ...…

查看全部问答>

小弟碰到个很奇怪的问题

S3C44B0X那块板子,能在线调试并且LCD显示正常,但是将程序烧录进去后,却发现LCD没有显示了。这是怎么回事呢?有哪位大虾遇到过同样的问题吗? 做LED实验却不管在线调试还是将程序烧录进去,都能得到正确的结果。…

查看全部问答>

【芯币兑换】AVR ATmega16学习板标准原理图

下面是最终版原理图,请大家参考 …

查看全部问答>

有湖北的吗?今年怎么还不出设备清单??

本帖最后由 paulhyde 于 2014-9-15 09:03 编辑 都12号了,还不出设备清单,往年都有的,武大咋搞的!!!  …

查看全部问答>