成为订阅者(免费)

加入29,000名其他订阅者以获得用户销售折扣和 其他免费资源。
:
:
大学教师'担心 - 您的邮件地址完全是 安全的。我保证使用它 只要 to send you MicroZine.

RS232如何工作


RS232如何工作:RS232定义了一个协议,详细说明了数据位流是如何 顺序地传输到导线上。一点流。订单和 每个位的含义由协议定义。简单的解释 下面足以了解RS232 - 无需阅读大手册!

RS232是串行信息传输协议标准 这定义了协议(数据传输方法)和 物理硬件要做。本文档描述了它的工作原理 物理级别所以你会知道你可以期待看到什么信号 微控制器销。

什么是RS232.?

从根本上讲,它是通过单线转移数据的方法(您 需要两根电线以获取数据,因为每个线在一个方向上传输数据 only):

它是一种方法(或协议 - 商定标准),其定义了如何 使用几根电线在两个设备之间传输数据。它使用序列 传输方法,数据字节一次将一位输出到a上 single wire.

数据仅传输 一个方向 for each wire 所以对于双向通信(两个方向)你 need 两根电线。所以这不是一个多 删除LAN通信系统,如RS485,但点对点协议。

这两个以及地面参考(总:三条电线)化妆 您可以消除的最低配置。

注意:更可靠的沟通 您可能需要使用RS232中定义的其他连接 标准如DTR DCT等。握手信号等。

更具形式的RS232是一种异步通信协议,可让您实现 在电子设备之间传输数据。

基本上它可以通过串行电缆传输一个字节的数据 在3到22个信号之间,并以100到20k波特的速度运行。常见的 使用的波特率为2.4k,9.6k,19.2k,电缆长度可达50英尺。  使用较高的波特率,但仍未涵盖他们仍然工作的标准 虽然例如38400,57600波特(位/秒)。

要传输数据块,单个字节将在一个之后传输 another.

介绍

本节介绍RS232如何在不描述的情况下通常工作 握手方法 - 只描述最简单的系统 - 这是它的 most 有用最有可能工作!.

握手信号需要额外的翻译硬件(RS232 芯片具有更多I / O),虽然通常不需要简单 PC到开发板操作。您可能需要它们的系统 控制多个设备,您可能需要暂时停止 来自单位的数据。有一个部分 握手信号 在本文件中。

数据在一对导线上串联串联透射。数据 在进入的数据时,外出标记为TX(指示传输) 标记的Rx(表示接收)。创建双向通信系统a 需要至少三根线Tx,Rx和GND(接地)。穿过TX. &两个系统之间的RX让每个单元与对面交谈。

笔记: 每个信号(TX和RX)都需要高度翻译器 电压用于将数据传输到电线上(通常 output from ±5V to ±25V).

每个字节可以随时传输(只要前一个字节有 被传播)。传输的字节与接收器不同步 - 它是一种异步协议,即没有时钟信号。为此原因 必须设置完全相同的通信链路的每一端的软件 因此,每个串行解码器芯片都可以解码串行数据流。

RS232电缆传输

注意:信号电平反转(逻辑1 是-12V和逻辑0是+ 12V)。

波特率

RS232如何在波特率和信号之间的关系中工作 frequency.

波特率只是每秒测量的传输速度。 它定义了每个比特周期的频率。

对于2400(2400 bps)的波特率,频率为2400Hz和该位 期间是1/2400或416.6us。这是接收器使用的信息 从数据流中恢复位。

RS232工作原理 - 电压 levels

发射机电压电平

为了使其在长电缆上工作,每次都会从每次发送高电压 变送器由于电缆电阻由于电缆电阻电压减少了进一步的电压 信号必须旅行。输出电压规格为+ 5V至+ 25V (将逻辑零)和-5V传输到-25V(发送逻辑1)。

注意:电缆中的所有信号必须产生相同的电压电平。 DTR,DSR,RTS,CTS。所以你需要大量的级别翻译筹码 界面,但对于非常短的距离,您只需要TX和RX和地面​​。

最大电压为±25V不必使用和共同 使用中的电压为±12V(MAX232收发器芯片输出)。

标记(逻辑ONE)被发送为-12V,并将空格(逻辑零)发送为 + 12V即反转逻辑感。

注意:串行端口处于高电压存在的事实允许 供电设备,您通常不会期望找到它。但他们 必须画出很少的电流。

接收电压电平

在接收器处,输入最小电压电平被定义为±3V即接收 逻辑零电压必须大于3V并接收逻辑1 电压必须小于-3V。这允许丢失作为信号行驶 向下电缆并提供噪音免疫,即任何杂散的噪音 可以容忍±3V的水平,而不会对接收器产生任何影响。

RS2332如何工作 - 位

RS232如何工作 - 该 RS232 Start Bit

该协议被描述为异步,因为没有发送时钟 根本相反,使用不同的时钟恢复方法。

在每个传输开始时,发送起始位指示 到接收器,数据字节即将遵循。自闲置状态 RS232线路低(-12V)以发出信号启动条件该线路设置为高 (+ 12V)为1位时段。这意味着线上的过渡始终是 生成使得接收器知道当数据突发的第1边缘时 occurs.

起始位允许接收器与数据位同步,因为它可以 看到线上的信号的上升沿。这意味着什么 接收器可以在每个位的中间创建自己的样本时钟 - 以确定该位是否实际上是数据零或数据。

一旦找到开始位,接收器就知道以下位置 bits will be 因为它被赋予样本期(从波特率衍生出波特率) the 初始化过程。这就是为什么必须设置相同的设置 接收器和发射器硬件都是波特率,数量 停止位,数据位数和奇偶校验位(开启或关闭)。如果你 don'T,通常不会发生什么 - 或者你会看到垃圾 接收器的字符。

RS232如何工作 - 数据 bits

数据位遵循起始位。通常会有七个或八个数据 首先发送LSB的位。你可以在七个或之间选择的原因 八是ASCII由前七位内的字母组成(如 以及控制字符)。第八位扩展了字符集 graphical symbols.

如果您只想传输文本,那么您只需要7位。这节省了A. 在发送大型数据块时,位并提高传输速度。 其他数据位尺寸为5,6,8和9位。但是,比特长度通常是 设置为8位 - 这是非常常用的。

提示: 由于大多数模块能够处理九个位 可以为第九位定义用于第九位的用途,例如指示数据包 定义命令。但当然你必须调整你的接收器软件 处理信息。

注意:如果使用RS232传输原始数据(二进制数据),那么您将 need 8 data bits.

RS232如何工作 - 奇偶校验位

RS232奇偶校验位 是一个原油错误检测机制。 您可以使用奇数奇偶校验甚至奇偶校验或者均匀(在图中 包括在奇偶校验位上方(在最后数据位和停止位之间 - 这里的奇偶校验被指示为一个'1'意思是有一个奇数 数据项。所以使用中的奇偶校验是奇数。下图(常用 在微控制器工作中)不使用奇偶校验位。

它只是评估所有数据位和奇数奇偶校验返回逻辑1 如果设置有奇数数据位。甚至奇偶校验均匀 设置的数据位数设置奇偶校验位。

在接收器处,奇偶校验位用于判断是否发生错误 传播。您可以通过读取标志在接收器软件中使用它 the UART module.

使用奇偶校验位的错误检测问题是如果两个位 出错,然后奇偶校验会失败。这是因为每次错误都取消 对方的效果(根据奇偶校验计算)。任何偶数 错误导致错误检测失败。

它赢了'T在基于台式的系统上是一个问题(没有关键数据 转移)。在短电缆上方。 6英尺你可能赢了't see any errors 反正。通常我没有奇偶校验,根本没有问题。

对于长途运行或嘈杂环境运行的系统更好 应该使用系统。向数据流添加循环冗余校验 在它通过RS232发送之前和之后。 CRCS让您检查并更正 在没有重新发送数据的情况下发生了相当多的错误。

Rs232如何工作 - 停止 bit

RS232停止位 只是在前面提供一段时间 可以传输下一个启动位。这对开始位相反 因此,这允许从启动位看到即是一个止挡头 起始位始终给出用于通过接收器检测的上升沿信号。

如果没有停止位,则数据流中的最后一位将是 奇偶校验位(或奇偶校验不活动)。这将根据依赖改变 在数据发送时,如果它与起始位具有相同的感觉然后开始 没有看到呃!

可以设置止挡位从1,1.5或2位时段选择。

在非常高的波特率下,从阻止位开始的时间 (假设持续发送数据)将非常小。为一个 115200波特率的波特率将时间达到1/115200 = 8.26us 通过使用2位段,您将时间增加到16.5us。这个可以 允许接收器从自那里以来更容易地检测开始比特 波形线上的电容将呈现CR上升时间。 扩展时间段允许更容易加载。但是它 还取决于使用的接收器硬件。

典型设置

桌面上使用的典型设置微控制器和a之间 终端仿真器程序,如"Tera Term":

RS232如何工作:典型的波特率 settings.
波特 9600
数据位 8
平价 没有任何
停止位 1
流量控制 没有任何


这也可以紧凑地写为:

9600 8N1.

硬件连接3(RX,TX,GND) - RX和TX交叉。

"Flow control"在上面的列表中,指的是硬件流控制 信号方法,使用信号DTR / DSR和RTS / CTS。看 这里 有关这一点。

RS232详细信息

RS232如何运行 - 信号电平

在某些时候,您可能希望制作一个软件UART以保存代码 您当前的设计中的空间(也许你不'需要接收部分 - 就像你一样 只是输出变量)或使用备用引脚。

注意:您可以找到接收和传输 软件USART代码 12F675 Tutorial pages.

要创建它,您需要您看到的实际信号图 微控制器PIN(奇怪的是这些难以在网上找到)。

下图显示了输出引脚处的定时0V和5V位流 微控制器。下图显示了翻译的信号电平 RS232输出驱动器通过串行电缆传输。

通过将0-5V逻辑级别发送到a,生成这些更高的级别 收发器芯片例如MAX232具有二极管/电容器升压DRONETER 在这将信号电平提升到所需的 RS232电压 ±12伏特。注意-12V级别如何对应于逻辑'1' and +12V 级别对应于逻辑'0'.

笔记: 输出电压电平可以为±5至±25V。为了 更长的距离更高的电压可用于将损耗抵消作为信号 在电缆上行驶,但实际使用芯片会产生较低的电压 as ±12.
传输时,RS232如何工作 character


RS232收发器信号图

上图中的较低波形显示了 RS232 signal 您将在输出驱动器上看到使用示波器 诸如MAX232等翻译芯片。请注意 RS232闲置 voltage is -12V,

RS232时钟

上图也显示了 RS232时序 diagr 每个比特周期为1 /频率所以 BAUD率为9600 BPS(每秒比特)每位的时期为1/9600或 104.166US这有效地是特定的RS232时钟周期 baud rate in use.

RS232波形

在上面的下波形上方显示 RS232电压 signal 您可以期待在RS232 TX引脚的输出时看到 (在示波器上的RX引脚上的相同级别)。在一些筹码中 最大信号电平可能不是±12V - 最大和最小电压可能是 较小(由于短距离没有大的电压下降)。为了 长距离这些应为±12V - 在长电缆结束时电压 将落在电缆的电阻上,但必须超过±3V the other end.

电缆电容也会减缓上升和下降的边缘 - 舍入 them off.

RS232如何工作 - 握手信号

握手信号只是一种停止数据流动的方法。如果 系统的某些部分忙于接受更多数据 而不是丢失IT信号在链接的每一端都使用 告诉另一端停止传输数据。使用了两种类型 在RS232:硬件握手和软件握手。

硬件握手

  • DTR - 数据项无论是准备好的。
  • DSR - 数据设置就绪。
  • RTS - 请求发送。
  • CTS - 清除发送。

如果您使用这些信号,那么它们必须全部传输 RS232级别I.E.±25V(或任何电压由 翻译芯片例如±12V即与TX输出相同,所以您需要 一个RS232芯片,具有更多级别的翻译器到两个传输和接收 the signals.

请记住,协议基于调制解调器(DCE或数据) 通讯设备)坐在桌子上和附件(通过RS232) 到PC(DTE或数据终端设备) - 控制器。那里's 甚至在电话响起时发出的环形指示器(RI), 直接连接到电话线,这将允许自动调制解调器 检测传入数据流。

每个信号都不是正交意义,没有等价物 信号返回另一种方式。这一部分的协议增长了 时间所以这些信号的不同用途,但通常 following is used:

要停止来自PC的数据,即可停止使用数据的压倒性调制解调器:

  • RTS(PC)调制解调器。
  • CTS(调制解调器)到PC。

PC断言RTS表示它想要将数据传输到调制解调器。
调制解调器断言CTS从PC接收数据。

要停止来自调制解调器的数据,即停止使用数据的压倒性:

  • DTR(PC)调制解调器。
  • DSR(调制解调器)到PC。

调制解调器断言DSR以指示它想要将数据传输到PC。
PC断言DTR从调制解调器接收数据。

软件握手

如果您看到XON和XOFF的术语,这是一个软件流控制 接收器发送特殊字符的方法(在ASCII中 设置)向发送器停止发送数据。当接收器有 恢复(缓冲区为空),那么它可以将XON信号传输到 告诉发送器重新启动传输。

更多信息:

点击这里 查找有关如何的更多信息 RS232在系统中工作以及如何设置它。

点击这里 对于RS232引脚信息。

尾页结束:RS232如何工作。


跳跃 RS232如何工作 page to
最佳微控制器 - 项目主页。


新的! Comments

让你说到你刚刚阅读的东西!留下下面的框中的评论。




隐私政策 | 接触 | 关于我

网站地图 | 使用条款


ezoic.报告此广告

访问我们的Facebook页面:

   点击这里



最近的文章

  1. 如何使用ADS1115

    使用ADS1115精度16位ADC进行教程进行低功耗。

    阅读更多

  2. arduino.模拟输出...易模拟输出生成

    arduino.模拟输出:如何创建最精确的PWM模拟输出以及如何创建模拟PWM正弦波。

    阅读更多

  3. 数号和等效的快速宏。加快代码!

    了解DigitalWrite()的工作原理......现在使用17倍宏宏!

    阅读更多

  4. TCS230颜色传感芯片:如何运作以及如何使用它。

    如何使用TCS230(/ TCS3200)彩色检测器芯片并轻松将其添加到您的任何项目中。

    阅读更多

  5. 如何使用ADXL345进行运动感测等。

    使用ADXL345 Acellerometer,您可以检测到16G!您还可以了解如何使用它来点击检测等。

    阅读更多

  6. HMC5883L 3轴数字MAGENTOMTER如何运作

    HMC5883L - 如何制作数字罗盘,了解HMC5883L和QMC5883L之间的差异以及它们是否兼容。

    阅读更多



读者 Comments

"I wanted to thank
你这么好
对于所有信息
你已经提供了
你的网站's

高超极好的."

- 逃亡Potthath.

"This site really is
最好的和我最喜欢的。
我发现这里有很多很有用
项目和提示。"

- 米兰

Bursach.<at>gmail.com<

"Awesome site,
非常,非常容易和好
导航!"


-
镭_tr.<at>
wolf359.cjb.net.


学习微控制器

"Interested in
微控制器?"

注册
免费7天指南:

自由 GUIDE : CLICK HERE


"I am a newbie to PIC
我想说
 how great your
网站一直在为我。"


- 戴夫

de_scott.<at>bellsouth.net

"Your site is a great
和完美的工作。
恭喜。"


- SURESH.

IntegratedInfosys.<at>
Yahoo.com.

"I couldn't find the correct
要定义的词语
你的网页。

非常有用,揭开,
诚实明确。

非常感谢
你的时间和作品。
问候。"


- Anon.

回到顶部