Questions tagged «i2c»

I²C(集成电路间)是飞利浦(现在为NXP)发明的多点串行总线,用于同一PCB上的IC之间的通信,即短距离通信。

8
考虑SPI或I2C时需要权衡?
在决定使用SPI或I2C接口时应该考虑哪些权衡? 该加速度计/陀螺仪分接板有两种型号,每个接口一个。哪一个更容易集成到Arduino项目中? http://www.sparkfun.com/products/11028
116 spi  i2c 

8
I2C上拉电阻是否有正确的电阻值?
24LC256 EEPROM 的数据表指出: SDA总线需要一个上拉电阻到VCC(对于100 kHz,典型值为10kΩ;对于400 kHz和1 MHz,典型值为2kΩ)。 我以为任何电阻值为kΩ的电阻都能胜任这项工作(似乎EEPROM使用10kΩ的电阻在不同频率下都能正常工作)。 我的问题是: 上拉电阻是否有正确的值? 是否有法律/法规来确定该价值? 不同的电阻值如何影响I²C数据总线?
72 resistors  i2c  pullup 

8
如何解决I2C地址冲突?
我想将多个I2C从设备连接到同一组引脚上的微控制器,但是I2C设备都共享相同的地址。地址在硬件中固定。 有什么办法可以用相同的地址连接多个设备? 也许某种I2C地址转换模块,每个设备都有一个可配置的地址,所以我可以为每个设备分配自己的地址。
39 serial  i2c 

5
I2C总线最大长度?
可用于连接两个I2C设备(I2C主站-> I2C从站)的电缆的最大长度是多少? 是的,我知道I2C确实是为板内通信设计的。我的任务是“设计目标”,即为多个I2C从设备使用通用I2C总线来支持演示。 为了清楚起见,我们假设标准I2C总线速率为100 kHz。
38 i2c 

10
SPI或I2C:用于较长的总线
我正在考虑一个需要几个AVR通过总线相互通信的项目。它们之间的间隔最大为6英尺。 看起来I2C和SPI都可以让一系列的微处理器通过总线进行通信,但是我还没有看到有关它要持续多久的信息。有没有人尝试在几英尺的距离上连接这些协议?

4
I2C 3.3至5.0 V转换
我正在尝试将3.3VI 2 C设备连接到5V Arduino。 我对SCL线没有任何问题。我可以使用一个简单的分压器,但是SDA线存在双向问题,因此我对此有疑问。 我完全不确定该如何处理。尽管我要增加一对二极管,在从机输入侧有一个分压器,在主输入上没有多余的东西。 还有其他解决方案吗?

7
如果我省略I2C线路上的上拉电阻会怎样?
刚才我意识到I 2 C数据和时钟线(SDA和SCL)必须具有上拉电阻。 好了,根据下面的示意图,我已经使用DS1307 RTC构建了几个时钟(请参见数据表)。注意,我省略了两个上拉电阻。 两个时钟都可以正常工作,其中一个时钟已经工作了3个月以上。那怎么可能?无论如何,我想知道: 省略I 2 C上拉时会发生什么? 缺少上拉电阻是否可能损坏板上的这两个IC中的任何一个? 我得到的答案可以解决我将ATmega328P连接到DS1307 RTC的特定情况,就像我提供的原理图一样,但是如果问题不是太广泛,那么了解通常省略上拉电阻会发生什么会有所帮助。 ,即在I 2 C操作的其他情况下。 PS。我确实在网上搜索以找到答案,但是可以找到有关确定引体向上尺寸的文章。 更新:我使用的是Arduino IDE 1.03,并且我的固件使用DS1307RTC Arduino库(通过其功能RTC.read()和RTC.write())处理RTC 。该库反过来又Wire.h用来与RTC对话。 更新2:下面是一系列示波器镜头,它们帮助我解释了I 2 C 如何在没有外部上拉电阻的情况下工作。 更新3(在添加I 2 C上拉之后):以下是在I 2 C线(在同一板上)上添加适当的(4K7)上拉电阻后拍摄的另一系列示波器。上升时间从大约5 µs降至290 ns。I 2 C现在更加快乐。
33 atmega  i2c  pullup  rtc 

4
如何将多个i2c接口设备连接到Arduino上的单个引脚A4(SDA)和A5(SCL)?
我想在我的小项目中添加一个实时时钟模块。我想在现有的i2c 2x16 LCD模块上同时显示时间和日期。 i2c接口实时时钟模块和2x16 LCD模块都在Arduino Uno上使用相同的引脚A4(SDA)和A5(SCL)。经过数小时的网上搜索,i2c总线实际上可以占用许多串行设备。这是可能的,因为每个设备都有自己的唯一地址。 我的问题是如何将两个i2c接口设备物理连接到单个A4和A5中?谢谢。
31 arduino  i2c 

3
I2C和TWI有什么区别?
I2C和TWI接口之间有什么区别?维基百科说,TWI是I2C的变体。其他一些消息来源说,只有名字不同...
26 i2c 

5
我可以在2m电缆上使用I2C吗?
在我当前的项目中,我需要通过I2C在微控制器和一些传感器之间进行通信。其中之一是温度传感器,需要将其放置在距离微控制器约2米的位置。我无法选择其他协议(传感器在具有给定连接器/引脚/协议的模块上)。 您认为可以在这种配置下进行通讯吗?我应该查询哪些信息以确保它不可能或不可能?你有什么建议吗? 这是我第一次与PCB外部的IC通信。

6
串行协议定界/同步技术
由于异步串行通信甚至在当今的电子设备中也很普遍,我相信我们许多人会不时遇到这样的问题。考虑与串行线(RS-232或类似产品)连接并且需要连续交换信息的电子设备D和计算机。即每个发送一个命令帧,并每个发送一个状态报告/遥测帧答复(报告可以作为对请求的响应发送,也可以独立发送-在这里并不重要)。通信帧可以包含任何任意二进制数据。假设通信帧是固定长度的分组。PCPCX msDY ms 问题: 由于协议是连续的,因此接收方可能会失去同步,或者只是在进行中的发送帧中间“加入”,因此它只是不知道帧起始位置(SOF)在哪里。根据数据相对于SOF的位置,数据具有不同的含义,接收到的数据可能会永久损坏。 所需的解决方案 可靠的定界/同步方案可在恢复时间短的情况下检测SOF(即重新同步所需的时间不超过1帧)。 我了解(并使用了一些)的现有技术: 1)标头/校验和 -SOF作为预定义的字节值。帧末的校验和。 优点:简单。 缺点:不可靠。恢复时间未知。 2)字节填充: 优点:可靠,快速恢复,可与任何硬件一起使用 缺点:不适用于固定大小的基于帧的通信 3)第9位标记 -在每个字节之前附加一个位,而SOF标记为1和数据字节标记为0: 优点:可靠,快速恢复 缺点:需要硬件支持。大多数PC硬件和软件未直接支持。 4)第8位标记 -上面的一种模拟,同时使用第8位而不是第9位,每个数据字仅保留7位。 优点:可靠,快速的恢复,可与任何硬件一起使用。 缺点:需要从/到常规8位表示到/从7位表示的编码/解码方案。有点浪费。 5)基于超时 -假定SOF为某个已定义的空闲时间之后的第一个字节。 优点:无数据开销,简单。 缺点:不太可靠。在较差的计时系统(如Windows PC)上无法很好地工作。潜在的吞吐量开销。 问题: 还有哪些其他可能的技术/解决方案可以解决该问题?您能否指出上面列出的缺点,可以轻松解决这些缺点,从而消除它们?您(或您将)如何设计系统协议?
24 serial  communication  protocol  brushless-dc-motor  hall-effect  hdd  scr  flipflop  state-machines  pic  c  uart  gps  arduino  gsm  microcontroller  can  resonance  memory  microprocessor  verilog  modelsim  transistors  relay  voltage-regulator  switch-mode-power-supply  resistance  bluetooth  emc  fcc  microcontroller  atmel  flash  microcontroller  pic  c  stm32  interrupts  freertos  oscilloscope  arduino  esp8266  pcb-assembly  microcontroller  uart  level  arduino  transistors  amplifier  audio  transistors  diodes  spice  ltspice  schmitt-trigger  voltage  digital-logic  microprocessor  clock-speed  overclocking  filter  passive-networks  arduino  mosfet  control  12v  switching  temperature  light  luminous-flux  photometry  circuit-analysis  integrated-circuit  memory  pwm  simulation  behavioral-source  usb  serial  rs232  converter  diy  energia  diodes  7segmentdisplay  keypad  pcb-design  schematics  fuses  fuse-holders  radio  transmitter  power-supply  voltage  multimeter  tools  control  servo  avr  adc  uc3  identification  wire  port  not-gate  dc-motor  microcontroller  c  spi  voltage-regulator  microcontroller  sensor  c  i2c  conversion  microcontroller  low-battery  arduino  resistors  voltage-divider  lipo  pic  microchip  gpio  remappable-pins  peripheral-pin-select  soldering  flux  cleaning  sampling  filter  noise  computers  interference  power-supply  switch-mode-power-supply  efficiency  lm78xx 

7
为什么I2C设计为使用上拉电阻而不使用下拉电阻?
我了解在I2C中,SCL和SDA线使用上拉电阻,并且引脚驱动器是开路集电极NPN器件,可以将引脚驱动到地。这给I2C带来了一个优势,即同一根总线现在可以与多个从机共享,即使两个或多个从机意外尝试同时驱动该总线,也不会对系统造成任何损害。 但这也可以通过在SDA和SCL线上使用PNP开漏驱动器和下拉电阻来完成。时钟延展和多主机仲裁之类的事情也可以实现。 I2C协议的当前实现是否比上述建议的替代实现有任何好处?

3
制造后如何解决PCB设计错误?
16岁的新手。 我的项目是一个以pcb为底盘,带有充电器电路的脂电池和红外传感器的微型机器人。根据数据手册,我将LSM6DS33TR用于I2C加速度计和陀螺仪,并具有10K“上拉电阻”,而ATMEGA328P作为微控制器。 这是我第一次设计和制造自己的工业PCB板。我用JLCPCB制造了PCB。在发送文件并等待交付之后,当我发现设计中的错误时。我注意到我没有为I2C总线正确连接上拉电阻,因为它们应该上拉至3V3。 我的问题是: 如何重定向连接或进行修改以使SDA和SCL上拉以在已经制造的PCB上供电? 我应该更改设计并制造另一块PCB吗?(刹车):) 这是我制作的项目的完整示意图:(i2c线被圈起来) 顶层:(GND铜层) 底层:(3V3铜平面)

6
为什么需要多个I²C端口?
理论上,I²C协议允许通过7位寻址将多达127个设备连接到主机。这是一个很大的数目,那么为什么任何低成本的微控制器(例如PIC24)都具有多个I²C端口?为什么需要它?
19 i2c 

7
将数据从一个系统传输到另一个系统的通用协议?
将信息从一个系统发送到另一个系统的一般协议是什么?例如,假设我们要在一段时间内从微控制器收集一些信息,然后将其发送给另一个微控制器。我听说过SPI和I2C接口,但不清楚何时将一种方法用于另一种方法以及如何实现它。除了SPI和I2C以外,还有其他通用的方法吗?不同的微控制器的实现过程是否相似?它基本上是解析我在接收微控制器上所做的数据字节吗?
18 i2c  spi  data 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.