Questions tagged «serial»

在串行通信中,数据按时间顺序发送。主要优点:所需的电线少得多。主要缺点:在相同吞吐量下带宽更高。


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

2
USB和RS232有什么区别?
谁能告诉我为什么人们使用USB或RS232。它们都是串行端口,对吗?而且我知道USB的速度要快得多(尤其是USB3.0),但是如果人们也愿意的话,我敢肯定他们可以成为RS232的后继产品。 那么,两者的优缺点是什么?
29 usb  serial  rs232 

8
什么时候应该从ASCII切换到高级串行协议?
我所有通过UART与PC通信的微控制器设备都使用ASCII字符串发送命令和接收数据(在Arduino中实现)。这是我开始研究电子产品时学到的,我总是发现发送裸线就足够了。但是我注意到,我遇到的大多数设备都使用复杂的二进制协议,其中包括功能代码,地址和CRC错误检查。 什么时候可以接受基本的ASCII通讯?何时应该考虑使用更高级的功能,例如Modbus?商用设备是否使用这种ASCII?产业?

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 

2
如何使Fairchild FSA9280 / FSA9480 / FSA880 BOOT引脚触发?(三星Galaxy S)
这有点远,但我希望有人可以访问标题中列出的芯片之一的完整数据表,并且可以告诉我,ID_CON上的VBUS_IN和电阻器的哪种组合将使其触发BOOT引脚在芯片上。不幸的是,飞兆半导体不会发布这些芯片的完整数据表(我已问过),并且网上只有一个缩写版本(PDF链接)。 长话短说:某些三星手机使用FSA9480芯片,通过USB端口ID引脚上的感应电阻来检测各种配件。通过从手机的Android内核来源获得的信息,我们已经取得了很大的进步。现在,我们试图强制手机的CPU进入启动恢复模式,这将使其从串行端口加载外部启动加载程序,并且看起来FSA9480的BOOT引脚可能会执行此操作,但是我们无法确定该如何做触发它。 到目前为止,我已经尝试了已知列表中的所有电阻器,而没有将电源连接到USB端口,并且所有电阻器值在USB端口通电时再次产生了串行输出。 更新:我们正在研究一种理论,即服务手册中的示意图显示了从FSA9480 BOOT引脚到信号BOOT_MODE的信号,在任何理智的世界中,该信号都将成为应用处理器芯片的OM5引脚。但是,我们没有完整的原理图来证明这一点,也没有FSA9480的内部细节来显示如何触发该引脚。您会认为这是名称上带有BOOT_ON的电阻器(例如RID_FM_BOOT_ON_UART),但显然不是。也许是这样,但是BOOT_MODE信号没有到达正确的位置。无论哪种方式,FSAx80数据表都会对其进行确认。 我对应用程序处理器(Samsung S5PC110)内部ROM中的启动和引导加载程序下载代码进行了反向工程,得出的结论是,如果成功,我们应该在串行端口上看到引导加载程序下载协议的第一个字节。取而代之的是,我们得到的是从NAND加载的主引导加载程序的输出,表示正常引导。

12
最好的串行显示器?
我最近才开始使用Sparkfun串行LCD。我可以通过arduino控制它,但是我希望能够通过计算机上的终端对其进行控制。为了能够移动光标或清除屏幕,您需要能够向其发送十六进制代码,例如0xFE。我找不到适用于Windows的开源终端程序,该程序将为我提供此功能。Eltima串行端口监视器是一个效果很好的程序示例,尽管对于一个学生而言,它相当昂贵。我有一个USB到串行FTDI分支板,可以将信号发送到LCD。对于Windows 7下有关程序的任何建议,将不胜感激。
22 serial  lcd 


3
如何从示波器​​读取串行数据
我有一个微控制器(PICAXE 20X2)和一个电位计。我对微控制器进行了编程,以便它将电位计的任何变化发送到PC的串行端口。显然,这是一个8位ADC。现在,对我而言有趣的是能够在示波器上解码此串行数据。 这是两张图片,第一张是微控制器向PC发送“ 0”时,第二张是它发送“ 255”时。正在使用9600 buad传输数据,我可以在PC终端上接收它们。 第一张图片 第二张照片 所以我的问题是,是否在我的示波器上捕获了正确的数据,其次是如何将这些脉冲读取和解码为十六进制或ascii格式。我的意思是如何读取此上升和下降脉冲(0/1)。 谢谢。

9
理想的WiFi到串行(或SPI)桥接器?
关于理想的WiFi到串行网桥有哪些建议?我的理想品质是: 简单的连接,SPI或串行 合理的快速速度,理想情况下至少为1mbit / sec(尽管可能并不总是需要那么快) 价格不贵,我想不到50美元 低功耗-如果我们可以将其降低到20或30ma甚至更低,它应该最多使用100mA。 内置协议栈-我希望它处理WiFi协议以及DHCP,TCP / IP,DNS等,因此我要做的就是告诉它要连接的IP /端口,然后处理数据自己。 如果可能的话,可以使用5V耐压I / O,以便轻松连接到我们老式的微控制器。 到目前为止,我发现: 火柴盒b / g Rovingnetworks Wi-Fi模块 任何人都有其他可能性的经验吗?
18 serial  avr  pic  wifi  wireless 

8
为什么串行EEPROM优于并行EEPROM?
在EEPROM的Wikipedia页面上:http : //en.wikipedia.org/wiki/EEPROM,给出了“并行EEPROM设备通常具有8位数据总线和足够宽以覆盖整个存储器的地址总线”,并且“与串行EEPROM相比,并行EEPROM的操作既简单又快速”。在那种情况下,为什么串行EEPROM变得比并行EEPROM更流行?
17 serial  i2c  memory  eeprom 

1
使用屏蔽双绞线电缆时,应将屏蔽的一端,两端或两端都接地?
我有一个项目即将通过屏蔽双绞线电缆进行RS-485通信。该项目将涉及数十英尺英尺的电缆长度,电缆可能必须铺设在包含36VDC电机接线的单个导管中。电动机电源线不太可能带有屏蔽层。 关于双绞线电缆的屏蔽层,是否应在一端,两端或根本不接地?这有什么实际区别? 然后,如果接地,应该接地到电路板的电气接地还是机箱接地?

2
TTL串行如何工作?
我一直在尝试寻找TTL串行“标准”的良好描述,但运气不佳。我了解串行发送(TX)和接收(RX)线处于高电平空闲状态(在VCC处),并且当发送一位时它们会掉到地上。因此,它们与规范相反,“ 1”为高,“ 0”为低。 我不明白是谁负责保持高电平以及如何传输零。发送者是否将线路驱动到高电平和低电平?还是接收器将线拉高,发送器将线拉低(集电极开路)?

3
实际二进制值与示波器值之间的差异
我试图在示波器上看到ASCII“ A”字符,但实际的二进制值和示波器值却不同,为什么?ASCII“ A”二进制值-01000001 示波器显示以下图形: 我使用Arduino Uno使用以下代码发送ASCII值: void setup() { Serial.begin(9600); } void loop() { Serial.println("A"); delay(1000); }

6
最大串行电缆长度?
可以正常使用的串行电缆的最大长度是多少?串行电缆的长度是否与波特率有关?我正在以38400波特的速度和RS232通信使用大约5米的电缆,这太长了吗?
14 serial  rs232  cables 

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.