编码器中RS422_第1页
编码器中RS422_第2页
编码器中RS422_第3页
编码器中RS422_第4页
编码器中RS422_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、编码器中的RS422是什么意思悬赏分: 0 | 解决时间: 2007-11-2 11:34 | 提问者:最佳答案RS422 是是信号接口长线驱动型( Line Drive )此电路电源电压为 DC5V ,为 TTL 电平输出,与国际标准RS422 接口直接兼容。由于带有对称负信号的连接,电流对于电缆贡献的电磁场抵消为 0 ,此状况衰减最小,抗干扰最佳,反应时间较短,又可传输较远的距离。一、什么是RS-232 接口?(1) RS-232 的历史和作用在串行通讯时, 要求通讯双方都采用一个标准接口, 使不同的设备可以方便地连接起来进行通讯。 RS-232-C 接口 (又称 EIA RS-232-C

2、 ) 是目前最常用的一种串行通讯接口。 ( “RS-232-C” 中的“-C” 只不过表示RS-232 的版本, 所以与 “RS-232”简称是一样的)它是在1970年由美国电子工业协会(EIA)联合贝尔系统、调制解调器厂家及计算机终端生产厂家共同制定的用于串行通讯的标准。它的全名是"数据终端设备(DTE )和数据通讯设备( DCE )之间串行二进制数据交换接口技术标准"该标准规定采用一个25 个脚的 DB-25 连接器, 对连接器的每个引脚的信号内容加以规定,还对各种信号的电平加以规定。后来IBM 的 PC 机将 RS-232 简化成了 DB-9 连接器,从而成为事实标准

3、。而工业控制的 RS-232 口一般只使用 RXD 、 TXD 、 GND 三条线。(2)RS-232 接口的电气特性在RS-232-C中任何一条信号线的电压均为负逻辑关系。即:逻辑"1"为-3到-15V;逻辑"0"为+3至U+15V。RS-232-C最常用的 9 条引线的信号内容如下所示DB-9 1 2 3 4 5 6 7 8 9DB-25 8 3 2 20 7 6 4 5 22定义 DCD RXD TXD DTR GND DSR RTS CTS RI(3) RS-232 接口的物理结构RS-232-C 接口连接器一般使用型号为 DB-9 插头座 ,通

4、常插头在DCE 端 ,插座在 DTE 端 .PC 机的 RS-232 口为 9 芯针插座。而波士 RS-232/RS-485 转换器的 RS-232 为 DB-9 孔插头。一些设备与 PC 机连接的 RS-232 接口 ,因为不使用对方的传送控制信号,只需三条接口线,即"发送数据TXD" 、 "接收数据RXD" 和"信号地 GND" 。 RS-232 传输线采用屏蔽双绞线。由 RS -232C 标准规定在码元畸变小于 4%的情况下,传输电缆长度应为 50 英尺,其实这个4% 的码元畸变是很保守的,在实际应用中,约有99%的用户是按码元

5、畸变10-20%的范围工作的,所以实际使用中最大距离会远超过50 英尺,美国 DEC 公司曾规定允许码元畸变为 10%而得出下面实验结果。其中 1 号电缆为屏蔽电缆,型号为 DECP.NO.9107723 内有三对双绞线,每对由 22# AWG 组成,其外覆以屏蔽网。 2 号电缆为不带屏蔽的电缆。型号为 DECP.NO.9105856-04 是 22#AWG 的四芯电缆。DEC 公司的实验结果 波特率 bps 1 号电缆传输距离(米) 2 号电缆传输距离(米)1101500900300150090012009009002400300150?2009-1-8 15:33218.82.204.*2

6、 楼48003007596007575经过许多年来RS-232 器件以及通信技术的改进, RS-232 的通信距离已经大大增加。波士电子的 RS-232 增强器可以将普通的RS-232 口的通信距离直接延长到 1000 米。二、 什么是 RS-485 接口?1. RS-485 的电气特性:发送端: 逻辑 "1"以两线间的电压差为 + (2 至6) V 表示;逻辑"0" 以两线间的电压差为-(2 至6) V 表示。接收端: A比 B 高 200mV 以 上即认为是逻辑"1",A 比 B 低 200mV 以上即认为是逻辑 "0&

7、quot; 。2. RS-485(或 RS-422)的接线:RS -485(或 RS-422)通信建议一定要接地,因为RS-485(或 RS-422)通信要求通信双方的地电位差小于 1V 。即:半双工通信接3根线( +A 、 -B、地),全双工通信接 5 根线( +发、 -发、+收、-收、地)。为了安全起见,建议通信机器的外壳接大地。 RS-485(或RS-422)光隔转换器的所有外接电源的 “地 ”必须全部连在一起但不要与计算机外壳地相连,因为电源 “地 ”同时也是 RS-485或 RS-422 的信号 “地 ”。当通信距离超过 100 米时建议最好使用光电隔离的通信接口转换器。3. RS-

8、485 的数据最高传输速率为 10Mbps 。 但是由于 RS-485 常常要与 PC 机的RS-232 口通信,所以实际上一般最高 115.2Kbps 。又由于太高的速率会使 RS-485 传输距离减小,所以往往为9600bps 左右或以下。4. RS-485 接口是采用平衡驱动器和差分接收器的组合,抗噪声干扰性好。5. RS-485 接口的最大传输距离标准值为 1200米( 9600bps 时) ,实际上可达3000米, RS-485 接口在总线上是允许连接多达 128 个收发器、 即 RS-485 具有多机通信能力,这样用户可以利用单一的 RS-485 接口方便地建立起设备网络。 因 R

9、S-485 接口具有良好的抗噪声干扰性,长的传输距离和多站能力等上述优点就使其成为首选的串行接口。因为 RS485 接口组成的半双工网络,一般只需二根信号线,所以 RS485 接口均采用屏蔽双绞线传输。 RS-485 的国际标准并没有规定 RS485 的接口连接器标准、所以采用接线端子或者 DB-9 、 DB-25 等连接器都可以。波士 RS-485 接口是事实工业标准。6. 采用 RS485 接口时,传输电缆的长度如何考虑?在使用 RS485 接口时,对于特定的传输线经,从发生器到负载其数据信号传输所允许的最大电缆长度是数据信号速率的函数,这个长度数据主要是受信号失真及噪声等影响所限制。最大

10、电缆长度与信号速率的关系曲线是使用24AWG 铜芯双绞电话电缆(线径为 0。 51mm) , 线间旁路电容为52 。 5PF/M ,终端负载电阻为 100 欧时所得出。(引自GB11014-89 附录 A ) 。 当 数据信号速率降低到 90Kbit/S 以 下时,假定最大允许的信号损失为 6dBV 时,则电缆长度被限制在 1200M 。实际上,在实用时是完全可以取得比它大的电缆长度。当使用不同线径的电缆。则取得的最大电缆长度是不相同的。例如:当数据信号速率为 600Kbit/S时,采用24AWG 电缆,最大电缆长度是200m ,若采用 19AWG 电缆(线径为0.91mm ) 则电缆长度将可

11、以大于200m ; 若采用 28AWG 电缆(线径为 0.32mm ) 则 电缆长度只能小于 200m。 RS-485 的远距离通信建议采用屏蔽电缆,并且将屏蔽层作为地线。2009-1-8 15:33218.82.204.*3 楼三、什么是RS-422 接口?RS-422 的电气性能与RS-485 完全一样。主要的区别在于:RS-422有4根信号线:两根发送(Y、Z)、两根接收(A、B)。由于RS-422的收与发是分开的所以可以同时收和发(全双工)。 RS-485 有 2 根信号线:发送和接收都是A 和 B 。由于 RS-485 的收与发是共用两根线所以不能够同时收和发(半双工)。能否将RS-

12、422 的 Y-A 短接作为 RS-485 的 A 、将 RS-422 的 Z-B 短接作为 RS-485 的 B 呢?回答:不一定。条件是RS-422 必须是能够支持多机通信的。波士电子的所有接口转换器的 RS-422 口都能够支持全双工多机通信,所以可以这样简单转换为 RS-485 。四、 RS-485 比 RS-232 接口相比有何特点?由于 RS-232 接口标准出现较早,难免有不足之处,主要有以下四点:( 1) 接口的信号电平值较高,易损坏接口电路的芯片,又因为与 TTL 电平不兼容故需使用电平转换电路方能与TTL 电路连接。(2)传输速率较低,在异步传输时,波特率为20Kbps。现

13、在由于采用新的UART芯片16C550等,波特率达到 115.2Kbps 。这种共地传输容3) 接口使用一根信号线和一根信号返回线而构成共地的传输形式,易产生共模干扰,所以抗噪声干扰性弱。 4) 4) 传输距离有限,最大传输距离标准值为 50 米,实际上也只能用在 15 米左右。 5) RS-232 只允许一对一通信,而RS-485 接口在总线上是允许连接多达128个收发器。五、串口通信功能的实现利用 VC+ 实现串口通信的方法有多种,我们采取直接调用 Window API 中的一系列标准的串口通信函数,直接用这些标准函数来完成Windows 下面的串口通信编程11 。利用 WindowsAP

14、I函数控制利用 API 函数实现对 RS232 串口通信的访问,在实现控制通信中,我们必定要调动3个函数来实现对串口的控制 :CreatFile() 函数实现串口初始化并打开串口 ;ReadFile() 函数接收串口传递过来的二进制流并返回数据到接收缓冲区中WriteFile() 把应用程序发出的指令送到发送缓冲区以供串口接收1. 打开串口以下程序用于以同步方式打开串口 COM1;HANDLE hCom;DWORD dwErrorHcomm=CreateFile( “ COM1” ,GENERIC_READ|GENERIC_WRITE,0, NULL,OPEN_EXISTING, 0, NUL

15、L);if (hComm=(HANDLE)0Xffff)dwError=GetLastError();MessageBox(dwError);2. 配置串口配置串口是通过改变设备控制块 DCB(Device Control Block) 的成员变量值来实现的, 程序实现如 下:DCB dcbdcb.BaudRate=9600;/波特率为 9600bpsdcb.ByteSize=8;/ 数据位 8 位dcb.Parity=EVENPARTTY;/ 有校验dcb.StopBits=ONESTOPRTT; / 一个停止位SetCommState(hCom , &dcb);3. 数据读写对串口

16、进行读写与对文件进行读写所用的函数相同, 具体为可采用查询、 同步、 异步或事件驱动等方法对串口进行读写所用函数如下所示:bReadStatus=ReadFile(hCom,buffer,length,&length &m_lpOverlapped);if(!bReadStatus)if(GetLastError()=ERROR_IO_PENDING)WaitForSingleObject(m_lpOverlapped,hEvent,1000);return(char)length);return 0; /写入函数程序为bWriteStatus=WriteFile(hCom,b

17、uffer,length,&length,&m_lpOverlapped) if(!bWriteStatus)if(GetLastError()=ERROR_IO_PENDING)WaitForSingleObject(m_lpOverlapped, hEvent,1000);return(char)length);return 0;4. 程序的编制用 VC+ 进行程序的编制首先要对串口进行初始化,设定端口,通信速率和校验方式,并在使用前打开串口,程序部分如下 :Cdialog:OnInitDialog();/TODO: Add extra initialization herem_comm.SetCommPort(1);/ 选择串口 1if(! m_comm.GetPortOpen()m_comm.SetPortOpen(TRUE);/ 打开串口 1m_comm.SetSettings( “ 9600,n,8/1 设置用口参数m_comm.SetRThreshold(1);m_comm.SetInputMode(1);/

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论