Questions tagged «serial»

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

2
串行新手:为什么我不能将电线连接起来?
我试图通过USB-Serial转换器使用Arduino-esque代码从ATtiny85传输到PC,却不了解任何东西。我感到震惊和震惊,因为它不起作用。 我确认该微型计算机的其中一个引脚上的电压正在闪烁,但是当我将该引脚连接到USB串行电缆上进行发送或接收并尝试使用终端程序进行监听时,我什么也没收到。 我不确定如何判断哪一部分坏了。 我是否需要超过VCC,GND和TXD来传输串行信号? 细节: 微型程序的代码是在Arduino环境中编写的,至少根据LED指示灯,类似的代码成功地使所有4个“ PORTB”引脚闪烁。我使用HLT和Saporetti的代码让我使用C ++的Arduino方言对其进行编程。该程序仍以K开头。 #include <SoftwareSerial.h> SoftwareSerial s(0,1); //receive on "0", and transmit on "1" aka "PB1" aka pin 6 void setup() { s.begin(4800); } // assuming 1Mhz, 4800 baud void loop() { s.println(millis()); } // transmit something at every opportunity 翻译涉及很多,但是代码很基本。设置波特率的代码似乎假设为1MHz,但是幸运的是我的attiny出厂时具有保险丝,并以1MHz运行。无论如何,引脚6会根据LED闪烁其电压。 因此,我使用细线将FTDI USB串行转换器的“ ftdi”端连接到微小的一端:黑色到GND,红色到VCC,橙色到6。在PC上打开程序“ minicom”,设置波特率达到4800并等待,一无所有。与我的Boarduino通话时,没有任何麻烦。 …
14 attiny  arduino  serial  ftdi  usb 


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

4
BJT晶体管如何在饱和状态下工作?
这是我对NPN BJT(双极结型晶体管)的了解: 基极-发射极电流在集电极-发射极处被放大了HFE倍,因此 Ice = Ibe * HFE Vbe是基极-发射极之间的电压,并且与任何二极管一样,通常约为0.65V。不过,我不记得了Vec。 如果Vbe低于最小阈值,则晶体管断开,并且没有电流通过其任何触点。(好的,也许有几微安的泄漏电流,但这无关紧要) 但是我仍然有一些问题: 晶体管饱和时如何工作? 除了Vbe低于阈值以外,是否可以在某些条件下使晶体管处于打开状态? 此外,请随时指出(在答案中)我在这个问题上犯的任何错误。 相关问题: 我不在乎晶体管如何工作,如何使它工作?


2
串行信号中的噪声(与电容有关?)
“执行摘要”图片: 我想解码平板电脑的耳机插孔发出的串行信号。这是一些手机和平板电脑中存在的某种怪异的“ hack”:基本上,如果您在TRRS插头的麦克风输入中提供3.3V电压,则左右声道变为串行TX / RX。 我使用Raspberry PI TRRS-to-TV电缆(如第二张图片所示)访问所需的4个位置:GND,MIC,L,R。该电缆除了裸露外不应做任何其他事情三种相应的电缆(红色,白色,黄色)中的3个信号(MIC,L,R-与GND配对)。 我使用BitScope的探头在TX(第二张图片中的白色电缆尖端)和公共GND(第二张图片底部的棕色探头)之间进行探测。我还使用了两个探针(红色和蓝色一个)将USB / TTL芯片(插入笔记本电脑的PL2303HX)中的3.3V电压“馈入” MIC(红色)尖端。 重新启动平板电脑后,我的确确实看到了一个毫无疑问的串行信号,即115200(峰峰值为8到9us),但是电容很大(视频)。 所以,我的问题-在我上线订购TRRS插头,电缆和电烙铁之前-我看到的电容是由于... 1米长的TRRS-to-TV电缆,或使用探头代替焊接电缆 要么 探针和电缆实际上不能解决这么大的电容,我之所以看到这是因为平板电脑的耳机插孔根本不是设计来发出此信号的(即,我所看到的确实是从插孔中发出的信号) 。 您可能会猜到,我对这种事情非常陌生。我是一名软件专家,一周前购买了BitScope,并且希望通过“乐趣和获利”来访问平板电脑的系列产品(窃取Bootloader内容,为其编译Cyanogenmod等)。 我很想知道这是否是一个丢失的原因(即电缆不能解释这么大的电容),所以我不胜感激。 在此先感谢您的帮助/建议。

6
在COM端口中捕获原始数据
我有一个蓝牙传输设备,我的PC(Windows 7)已连接到该设备并进行配置,就好像它是通过RS232串行端口(COM4)连接的。如何捕获蓝牙设备发送的原始数据,或者等效地捕获COM4中接收的原始数据?
11 serial  port  windows 

6
如何有效地解码非标准串行信号
我是研究团队的一名本科生,从事一个涉及RF传输ASIC及其无线接收器的项目,该无线接收器最终应将数据发送到PC。 接收器输出快速,连续,异步的非标准串行信号(即非SPI,I2C,UART等),因此我的工作是编写微控制器软件以将接收器连接到计算机。当前,我的方法是使用边沿触发的中断将数据放置在循环缓冲区中,并在主循环中执行整个逐位解码过程。微控制器必须同时使用USB(虚拟com端口)将此数据输出到计算机。 这是我遇到的一个问题,也是我预期的一个问题: 即使使用强大的72 MHz ARM Cortex M3处理器,我也无法足够快地处理缓冲的数据。比特率是400 Kbps(2.5 us / bit)。作为参考,每位仅保留180个周期(包括解码和ISR,它具有约30个周期的开销!)。MCU还必须处理在主循环中轮询的许多其他任务。 USB虚拟com端口驱动程序也是基于中断的。这使我几乎可以肯定,驱动程序最终将中断处理器的时间如此之久,以致于错过了可能会传输位的2.5微秒(180周期)窗口。我不确定通常如何解决此类中断冲突/竞赛。 所以问题很简单,一个人可以做什么来解决这些问题,或者这根本不是正确的方法吗?我也愿意考虑减少以软件为中心的方法。例如,使用带有某种硬件状态机的专用USB芯片进行解码,但这并不熟悉。


3
Arduino可以用来“侦听”两个设备之间的UART连接吗?
我需要在现有硬件中安装Arduino(实际上只是IC)以增强功能。 我想做的是连接Arduino,以便它在板上的两个芯片之间的I / O线上“监视”。如果Arduino在该UART连接上选择了特定的关键字,它将在另一组输出引脚上执行特定的操作。 我不确定的是如何以一种无需参与即可解码现有UART连接的方式连接Arduino?如果不可能,我会对理论,思想等感兴趣。
11 arduino  uart  serial  data 

2
单元测试AVR汇编语言
您如何对汇编代码进行单元测试? 我正在将串行伺服控制器作为hexapod机器人项目的一部分进行工作,并且代码已经变得越来越复杂了;)无论如何,作为C ++服务器开发人员,我习惯于在日常工作中使用单元测试,并且因此一直在尝试对我的AVR汇编代码进行相同类型的测试。我已经找到了一种对我来说行得通的方法(请参阅此处),但是我对是否缺少任何标准工具或技术感兴趣。 更新:对于那些感兴趣的人,现在可以在此处找到伺服控制器的完整资源和单元测试。
11 avr  robotics  serial  servo 

6
以太网和串行通信之间有什么区别?
所有鼠标移动,USB连接和其他PC外设(例如打印机等)都称为串行通信。每次一次。 到现在为止还挺好。但是,当涉及TCP协议,以太网和Internet时,就不再称为串行通信。但这也是每秒的东西。 为什么会这样?主要区别是什么?我不明白为什么它不是串行通讯。

1
串行电阻实际上如何降低EMI?
我最近正在使用基于GSM的系统,并且GSM模块的数据表中有以下建议: 模块和SIM卡之间应串联连接22Ω电阻,以抑制EMI杂散传输并增强ESD保护。 我尝试进行一些搜索,然后找到了文档《降低EMI的PCB设计准则》,其中有类似的说法,但没有任何解释。 在每个输出引脚上串联一个50 –100Ω的电阻,在每个输入引脚上串联一个35 –50的电阻。 另一部分说: (串联终端,传输线) 串联电阻是解决端接和振铃问题的一种廉价解决方案,并且是基于微机的系统的首选方法,在该系统中,最小化差模噪声也是一个问题。 还有一个可能相关的部分: 输入端的阻抗匹配 以及串联电阻都是最可能的解决方案。如迹线和输入引脚所示,驱动器上的电阻会增加输出阻抗,从而匹配输入的高阻抗 我在本文档中也发现了一些东西,“ 了解辐射EMI”说: 增加串联电阻?可能有帮助-较少的电流(好电流和坏电流)流过高阻抗-可以通过减少流过IC的电流来降低EMI 总而言之,我需要对该主题进行一些澄清,所以我的问题是: 串行电阻器如何实际降低EMI,原理是什么?

3
带有Arduino的高速计算机接口
我正在计划一个Arduino的项目,该项目涉及处理来自主机的许多请求,而标准的115200串行最大波特率是不够的。我希望能够获得1Mbps全双工,但是400Kbps +全双工是可以接受的。我正在使用Arduino Due,因此它应该能够处理明显更高的通信速度。 有没有一种方法可以显着提高串行传输的波特率,或者我可以选择第二种选择以更高的速度与计算机连接?

6
良好的基于​​RS232的协议,用于嵌入式到计算机的通信
我正在从事一个涉及远程Arduino与计算机之间大量数据通信的项目。无线连接是通过一对XBees进行的,因此我们在Arduino和计算机之间建立了RS232链接。对于少量数据,将一些简单的通信协议组合在一起很容易。但是,对于较大的项目,有什么好的简单的通信协议? 我看过MODBUS,这似乎是一个可行的选择,但我想看看是否还有其他更好的选择。

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.