![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
I2C总线
文章平均质量分 76
I2C总线 接口设计
学海无涯_come on
这个作者很懒,什么都没留下…
展开
-
I2C走线技巧、及上拉电阻、电源电压、总线电容三者间的函数关系
博客其他文档可以学习转自:https://www.cnblogs.com/zhiqiang_zhang/转载 2021-02-24 16:52:28 · 25130 阅读 · 2 评论 -
I2C总线时序以及ACK和NACK(NAK),SCL被从机拉低?
1、I2C协议详解及裸机程序分析 - 简书(通俗易懂)根据上图,我们首先设置IICCON(来设置时钟),时钟源是PCLK(是50MHZ)太快了我们需要设置这个分频系数,把时钟降低,降低到我们想要的SCL,然后我们要发出start信号,我们需要设置寄存器发出start信号,之后我们需要发出数据啊,我们的程序可以把数据写入到IICDS寄存器,一写入就会自动的发出时钟,并且把这8位数据从SDA发送给从设备,数据发送之后,在第九个时钟会收到回应信号,可以查询IICSTAT是否有ACK(有ACK表示.转载 2022-04-07 10:57:25 · 16887 阅读 · 1 评论 -
三种串行总线协议的区别(SPI、I2C和UART)
SPI、I2C跟UART三种串行总线协议的区别:(如果想了解SPI和I2C更多详细内容,可看SPI总线(一):基本原理篇,SPI总线(二):驱动分析篇,SPI总线(三):驱动实例,i2c总线(基本原理),普通IO模拟i2c总线,简单i2c设备驱动实例系列文章)SPI接口详细讲解 - 百度文库嵌入式硬件基础之SPI总线详解_Tian Jincheng's Blog-CSDN博客_spi硬件详解第一个,区别当然是名字:SPI(Serial Peripheral Interfac...转载 2022-03-08 18:31:45 · 6207 阅读 · 0 评论 -
UART(RS232、RS485)、IIC、SPI、USB、CAN、DMA、Modbus通讯协议
1、STM32中的通信协议_走出地球的博客-CSDN博客_stm32通信协议UART(RS232、RS485)、IIC、SPI、USB、CAN、DMA是最常用的几种种通信总线协议,广泛应用于项目开发之中。 并行总线:各个传输线之间相互干扰 串行总线:更加常用单工:单向传输双工:通讯为双向,分为半双工和全双工。 半双工:通道仅允许单项接受或者发射。 全双工:双向两条通讯互不影响。一、串口协议 串行接口是一种可以将接...转载 2022-01-25 14:44:04 · 8017 阅读 · 0 评论 -
如何解决主机发送地址之后 从机没有发出ACK应答信号给主机
1,iic总线从机没有返回应答给主机我用的一个带有iic接口电量计和我的单片机通讯,我用逻辑分析仪分析数据发现主机写一个字节数据后从机并没有返回一个ack给主机,导致我后面读取从机的数据时全部是ff,请问各位iic大神,我该怎么去查问题呢?硬件上检查下iic设备有没有虚焊,总线有没有冲突,示波器点下scl和sda线有没有半高电平;如果你的代码不保证是成熟的,建议示波器触发一下看看时序满不满足iic协议要求;读出的数据是总线默认状态ff,说明设备没响应,最有可能:地址不对;时序不对;速率不匹原创 2021-03-19 10:49:54 · 18430 阅读 · 7 评论 -
CAT24C01/02/04/08/16 和CAT24C512 设备地址差异 ;大容量空间读写还要在设备地址后面加寄存器地址
ATMEL EEPROM AT24CXXX安森美 ON EEPROM CAT24CXXXEEPROM 设备地址1.1,CAT24C01/02/04/08/16设备地址 规格书 :https://wenku.baidu.com/view/8802239d6bec0975f465e24c.html1.2 CAT24C512设备地址 规格书:https://html.alldatasheetcn.com/html-pdf/418800/ONSEMI/CAT24C5...原创 2021-03-19 10:57:02 · 1232 阅读 · 0 评论 -
I2C中24C02从地址设置 区分器件地址和 寄存器地址
I2C中24C02从地址设置从设备地址 首先,先看一下AT24C02的芯片资料,我们会发现AT24C02有三个地址A0,A1,A2。同时,我们会在资料的Device Address介绍发现I2C器件一共有七位地址码,还有一位是读/写(R/W)操作位,而在AT24C02的前四位已经固定为1010。R/W为1则为 读操作,为0则为写操作。R/W位我们要设置为0(写操作)规则为:1010(A0)(A1)(A2)(R/W) 然后,看一下自己的设置PCB上的AT24C02的三位地址引脚的接...转载 2021-03-19 09:21:18 · 14938 阅读 · 1 评论 -
MSP430 EEPROM-24C512使用总结及代码说明
MSP430 EEPROM-24C512使用总结及代码说明https://wenku.baidu.com/view/61f407d6f705cc175527094b.html转载 2021-03-19 09:18:51 · 832 阅读 · 0 评论 -
I2C 设计解答
问:如题,除了地址不重复外,听说IC数量只受到总线的最大电容400pF限制,那么电容如何计算呀?答:一个I2C设备管脚的输入电容是10pF,再考虑走线,一般应用中挂3、5个没什么问题,要注意地址不要冲突,上拉电阻改为2.2k,甚至1k都可以。答:当然挂的外设越多,走线的寄生电容就越大了,当电容大到会影响信号的完整性的时候,那么信号就失效了,挂再多外设也是白搭。这个电容的计算基本上很难,要看走线和制板工艺,不过可以现在电脑上仿真一下,有个大致的结果。自己计算的误差肯定大大的答:量一下I2C的...原创 2021-03-10 19:13:03 · 603 阅读 · 0 评论 -
I2C总线设计规范之基础篇
I2C总线设计规范之基础篇I2C通信协议分析常用IIC接口通用器件的器件地址是由种类型号,及寻址码组成的,共7位。如格式如下:D7D6D5D4D3D2D1D01、器件类型由:D7-D4共4位决定的。这是由半导公司生产时就已固定此类型的了,也就是说这4位已是固定的。2、用户自定义地址码:D3-D1共3位。这是由用户自己设置的,通常的作法如EEPROM这些器件是由外部IC的3个引脚所组合电平决定的(用常用的名字如A0,A1,A2)。这也就是寻址码。所以为什么同一IIC总...转载 2021-02-24 16:48:53 · 1399 阅读 · 0 评论 -
IIC(I2C)总线上的设备其地址如何定义?通俗易懂
IIC(I2C)总线上的设备其地址如何定义?IIC总线一般串行数据通讯都有时钟和数据之分,有异步和同步之别.有单线,双线和三线等.I2C肯定是2线的(不算地线).I2C协议确实很科学,比3/4线的SPI要好,当然线多通讯速率相对就快了.I2C的原则是:在SCL=1(高电平)时,SDA千万别忽悠!!!否则,SDA下跳则"判罚"为"起始信号S",SDA上跳则"判罚"为"停止信号P".在SCL=0(低电平)时,SDA随便忽悠!!!(可别忽悠过火到SCL跳高)每个字节后应该由对方回送一个.转载 2021-02-07 09:06:55 · 29179 阅读 · 4 评论 -
I2C接口
1.I2C协议 2条双向串行线,一条数据线SDA,一条时钟线SCL。 SDA传输数据是大端传输,每次传输8bit,即一字节。 支持多主控(multimastering),任何时间点只能有一个主控。 总线上每个设备都有自己的一个addr,共7个bit,广播地址全0. 系统中可能有多个同种芯片,为此addr分为固定部分和可编程部份,具体由原理图和芯片手册共同定义! 例如: 以AT24C02存储器为例: 通过查阅芯片手册发现 设备地址=01010A2A1...转载 2021-01-13 11:18:39 · 1670 阅读 · 1 评论 -
I2C总线上的上拉电阻设置
https://wenku.baidu.com/view/985db25e4a7302768e9939f8?fr=ViewCollecti2c原理讲解问:如题,除了地址不重复外,听说IC数量只受到总线的最大电容400pF限制,那么电容如何计算呀?答:一个I2C设备管脚的输入电容是10pF,再考虑走线,一般应用中挂3、5个没什么问题,要注意地址不要冲突,上拉电阻改为2.2k,甚至1k都可以。答:当然挂的外设越多,走线的寄生电容就越大了,当电容大到会影响信号的完整性的时候,那么信号就失效了...原创 2021-01-12 18:02:24 · 2092 阅读 · 2 评论 -
I2C通信遇到的问题
转载 2021-01-12 13:56:39 · 793 阅读 · 0 评论 -
I2C的总线电容 总线的最大电容 400pF限制
手机原理设计中,上拉电阻常用在中断,GPIO控制,I2C等信号上,本文希望能通过实例分析加深对上拉电阻的理解。如果有错误,请大神们提出来。 中断,GPIO,I2C等一般都是OC或者OD门,芯片内部无上拉电阻时,则外部必须加上拉电阻才能输出高电平。一般I/O端的驱动能力在2~4mA量级,OC或者OD门的导通电压为0.4V左右,手机中加在上拉电阻上的电压一般都是2.8V,上拉电阻的最小值不能低于800R(2.8-0.4V/3mA=0.8K),5V电压时,则不能低于1.5K(5-0.4V/3mA=1.5...转载 2021-01-12 13:31:38 · 5674 阅读 · 0 评论 -
I2C上拉电阻取值问题
漏极开路上拉电阻取值为何不能很大或很小? 如果上拉电阻值过小,Vcc灌入端口的电流(Ic)将较大,这样会导致MOS管V2(三极管)不完全导通(Ib*β<Ic),有饱和状态变成放大状态,这样端口输出的低电平值增大(I2C协议规定,端口输出低电平的最高允许值为0.4V) 如果上拉电阻过大,加上线上的总线电容,由于RC影响,会带来上升时间的增大(下降延是芯片内的晶体管,是有源驱动,速度较快;上升延是无源的外接电阻,速度慢),而且上拉电阻过大,即引起输出阻抗的增大,当输出阻...转载 2021-01-08 14:46:27 · 734 阅读 · 0 评论 -
I2C之知(六)--s3c2440用I2C接口访问EEPROM
在前面阅读理解了I2C的官方协议文档后,就拿s3c2440和EEPROM来验证一下. 本来是想用s3c2440的SDA和SCL管脚复用为GPIO来模拟的,但在没有示波器的情况下搞了一周,怎么都出不来,最后还是放弃了.甚至参考了linux下i2c-algo-bit.c和i2c-gpio.c,依然没调出来.如果有示波器,可能很快就能找到原因,现在完全不知道问题出在哪里.其实想用GPIO模拟I2C的目的很简单,以一种简单而又深刻的方式来理解I2C. 既然这条路暂时...转载 2021-01-07 17:44:33 · 208 阅读 · 0 评论 -
I2C之知(一)--I2C的简介和特性
I2C我是想全面深入的从嵌入式软件工程师的角度做个理解,刚刚还申请了一个专栏,这个好好写. 学习技术从外文文档看起~~ 要全面了解I2C,可以从《I2C-bus specification and user manual》看起.I2C最初是由Philips提出的,那么这文档就是由NXP维护的. I2C总线被全球超过50个公司的1000+个ICs所使用,已然是一个世界标准.另外,I2C总线与多种不同的控制总线是兼容的,比如SMBus(系统管理总线...转载 2021-01-07 17:39:01 · 491 阅读 · 0 评论 -
I2C之知(五)--I2C总线的10bit地址以及通用广播地址
其实,10bit地址我没用过,通用广播地址更没用过.通用广播地址应该是在多个mcu之间用i2c进行通信时使用的.虽说没用到,但还是做了翻译,说不定以后有机会用到:10bit地址10bit的寻址扩展可能寻址的数目.有7bit地址和10bit地址的设备可以连接到相同的I2C总线上,而且7bit寻址和10bit寻址都可以用在所有的总线速度模式下.不过,10bit寻址用的不多.10bit的从机地址由开始条件(S)或重复开始条件(Sr)后的两个字节组成.第一个字节的前7位是1111 0XX,X...转载 2021-01-07 17:27:34 · 3060 阅读 · 0 评论 -
I2C之知(三)--I2C总线的字节格式、时钟同步和仲裁
字节格式 发送到SDA线上的每个字节必须是8位.每次传输的字节数量是不受限制的.每个字节后必须跟着一个ACK应答位.数据从最高有效位(MSB)开始传输.如果从机要执行一些功能后才能接收或者发送新的完整数据,比如说服务一个内部中断,那么它可以将时钟线SCL拉低来强制使主机进入wait状态.当从机准备好新的字节数据传输时,释放时钟线SCL,数据传输便继续进行. ACK和NACK 每个字节后都有ACK发生.ACK应答位允许接收器通知发送器字节成功接收...转载 2021-01-07 17:25:29 · 625 阅读 · 0 评论 -
I2C之知(二)--I2C总线SDA\SCL以及开始终止条件
I2C只用两条线(SDA和SCL)在连接到总线上的设备之间传送数据.每一个设备都由唯一的地址来识别(不管是微处理器、LCD驱动器、存储器或者键盘接口),并且可以依照设备的功能作为发送器或者接收器使用.LCD驱动器可能只是个接收器,而存储器可以发送和接受数据.除了发送器和接收器,当传送数据时设备还可以作为主机或者从机.主机就是初始化数据传输和产生时钟信号的设备,在那个时刻,任何被寻址的设备都是从机. I2C总线是一个多主机总线.意味着可以连接多个可以控制总线的设备到总线上.主机...转载 2021-01-07 17:23:10 · 4796 阅读 · 0 评论 -
I2C之知(四)--I2C总线的7bit从机地址 数据传输时序的详细过程
时钟拉伸(Clock stretching)clock stretching通过将SCL线拉低来暂停一个传输.直到释放SCL线为高电平,传输才继续进行.clock stretching是可选的,实际上大多数从设备不包括SCL驱动,所以它们不能stretch时钟.从字节级来看,一个设备可能在快速模式下接受数据,但是需要更多的时间来存储接收到的字节或者准备将要传输的另一个字节.从机可以以一种握手的处理方式在接受和应答字节后将SCL线拉低来强制使得主机进入wait状态直到从机准备好下一个字节的传输.从位级来转载 2021-01-07 17:15:22 · 1609 阅读 · 0 评论 -
I2C总线中8bit和10bit有什么区别
I2C总线是由Philips公司开发的一种简单、双向二线制同步串行总线。它只需要两根线即可在连接于总线上的器件之间传送信息。 I2C总线工作原理 SDA(串行数据线)和SCL(串行时钟线)都是双向I/O线,接口电路为开漏输出.需通过上拉电阻接电源VCC.当总线空闲时.两根线都是高电平,连接总线的外同器件都是CMOS器件,输出级也是开漏电路.在总线上消耗的电流很小,因此,总线上扩展的器件数量主要由电容负载来决定,因为每个器件的总线接口都有一定的等效电容.而线路中电容会影响总线传输速度.当电容过转载 2021-01-07 16:55:22 · 1561 阅读 · 0 评论 -
I2C从地址之7位,8位和10位详解
IIC/I2C从地址之7位,8位和10位详解概述经常有用户问我,使用USB2XXX的USB2IIC功能的时候,从机地址应该怎么传递的问题,这个问题的根源在于不同的I2C从机厂商采用了不同的I2C总线地址约定,导致在说I2C总线的时候总是容易搞混,本文主要针对这个问题对I2C总线地址进行详细的说明。7位寻址在7位寻址过程中,从机地址在启动信号后的第一个字节开始传输,该字节的前7位为从机地址,第8位为读写位,其中0表示写,1表示读。图1:7位寻址。I2C总线规范规定,标准模式..转载 2021-01-07 15:29:16 · 17859 阅读 · 0 评论 -
I2C通讯
一、I2C 基础知识I2C 总线是由 Philips 公司开发的一种简单、双向二线制同步串行总线。它只需要两根线 SDA 、SCL 即可在连接于总线上的器件之间传送信息,I2C 总线数据传输速率在标准模式下可达 100kbit/s,快速模式下可达 400kbit/s,高速模式下可达 3.4Mbit/s,在超高速模式下可达到 5Mbit/s。1. I2C 主要特点(1)简单的双向两线总线(漏极开路模式):(2)串行数据(SDA)串行时钟(SCL)(3)带仲裁功能的多主机的总线(4)总线上的翻译 2020-12-07 13:55:42 · 1439 阅读 · 1 评论 -
硬件设计:接口--不同电源系统下I2C总线电平转换电路(电桥)设计
硬件设计:接口--不同电源系统下I2C总线电平转换电路(电桥)设计参考资料:I2C总线3.3V与5V双向电平转换电路 为了实现在不同电源系统中通过I2C总线进行通讯,需要设计一种电平转换电路。一、电路功能需求 该转换电路需满足以下要求: 1、将不同电源系统系统隔离,防止高压器件的高电压毛刺对低压电路造成损坏; 2、不影响I2C总线的通讯; 3、当其中某一系统断电时不影响I2C总线上的其他系统工作(尽可能满足); 所以设计电路如下图所示:图1I2C...转载 2020-12-05 15:27:05 · 1686 阅读 · 0 评论