Questions tagged «uart»

UART(通用异步接收器发送器)是一种在串行端口上发送和接收数据的逻辑。


4
有哪些标准的UART速率?
我知道9600、19200、38400、57600、115200和1.8432 Mbaud,但是没有其他。为什么使用这些值,并且每次只是将其简单地加倍还是发生一些更复杂的事情(例如,四倍的38400不是115200的波特?) 我问这个问题的原因是我正在设计一些可能必须与各种不同的波特率进行交互的东西。它将在9600中初始化,然后切换到特定的波特率。但是我不能支持任意速率,因为我使用的dsPIC33F不支持任意速率,因为它仅限于16位BRG递减计数器。在这方面,它与许多其他处理器相似。
33 uart 


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 

11
通过直流电源线注入通信信号
我希望能够仅使用电源线以菊花链方式连接多个设备,然后通过电源线注入通信信号以将其转换为半双工网络。 有什么通用的方法可以做到这一点吗?越简单越好,如果在微控制器上使用UART,那就更好了。 编辑:实际上,我正在研究两个项目,我认为这将从中受益-一个是低功率传感器网络。另一个是LED照明项目。在这两种情况下,目的都是简化接线,但是如果解决方案过于复杂,则使用三根电线(pwr,gnd,comms)可能更有意义。

2
为什么经常使用两个晶体管而不是一个?
我看到的许多晶体管设计电路都使用链接在一起的两个晶体管,而不仅仅是使用一个晶体管。例子: 该电路旨在允许具有3.3V UART的设备与5V微控制器通信。 我了解到Q2关闭时,TX_TTL将为高,而Q2打开时,TX_TTL将为低。我的问题是,为什么不直接在Q2的基极上运行UART_TXD而不是使用Q1控制Q2的基极电压?
20 transistors  uart  npn 

2
FTDI芯片如何工作?
前几天有人问我,FTDI USB转串行UART的工作原理,我意识到自己不知道。我查看了FT232R的数据表,但框图并没有真正帮助我。谁能解释我或将我链接到一个好的解释?
20 usb  uart  ftdi 

3
UART和USART-有什么区别
在办公室里,我听到这些术语好像是一样的。我的理解是,USART可以将时钟信号与数据一起传递。 还有其他区别吗?每种都有哪些优点和缺点?
19 uart  terminology 

4
UART频率有多重要?
我将使用8 MHz晶振以16 MIPS(PLL 4x,2个周期指令)运行我的微控制器。但是,8 MHz不会划分为任何UART频率AFAIK ...这些频率有多重要?我计划使用115,200波特。 UART能否在±1%的范围内运行?如果这不起作用,我应该使用哪个频率?(为了获得最大处理速度,我希望尽可能接近16 MIPS。)如果有问题,我正在使用PIC24FJ64GA004。

1
UART上拉电阻
我正在查看应用笔记AN2606,在其中遇到了以下连接图: 据我所知,UART是推挽型的,Tx提供所需的上拉电路,因此我们不需要使用任何外部上拉电路。我在这里想念什么吗?
16 uart 

2
3.3V UART信号的最大电缆长度
我想避免在两个不同板上的两个微控制器之间使用RS-232转换器。由于各种原因,仅支持UART,例如不支持SPI或I2C,我将使用CAT5E电缆连接到板之间的RJ45插孔。数据速率为115200bps,可能高达921600bps。接地与UART信号一起连接。 虽然目前我可以按需要的长度工作,但对于我自己的教育,是否可以估算出可靠的最大电缆长度?
15 uart  cables 

6
一两个UART停止位?
UART通常使您可以在1、1.5和2个停止位之间进行选择。使用1个停止位时,有效负载效率为80%(8/10),使用2个停止位时,有效负载效率降至72.7%(8/11)。那么第二个停止位的优点是什么?
15 uart 

3
两个UART如何知道要使用的波特率?
我正在阅读有关UART的标准协议,我认为,如果接收UART对所传输数据的波特率一无所知,将会有很多问题。如果假定的波特率低于数据传输的波特率,则接收UART不会“看到”某些位。另一方面,如果接收器使用的波特率高于数据传输的波特率,则某些位将被计数两次,从而导致错误地“读取”数据。 我对UART的了解是,当线路空闲时,线路保持为'1',起始位为'0',而停止位为'1'。另外,当线路空闲时,停止位为“ 1”与“ 1”没有任何区别还是有区别的方法吗? 两个通信UART的第一个是否同意使用哪种波特率?如果是,他们将如何做?

3
UART接收器时钟速度
我试图了解UART基础知识。 这是异步通信协议,因此TX和RX时钟彼此独立 数据的接收通过使用起始位和一个或多个停止位来保证。此外,接收器必须知道数据速率,以便生成合适的时钟来驱动用于接收的SIPO寄存器。 这里的问题是 提到通常使用16倍比特率的时钟来恢复数据。那么如何将bps转换为时钟频率呢?请提供一些参考资料,以研究UART接收器中使用的时钟机制。

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.