原创 通信接口

2007-10-5 14:48 5261 11 12 分类: MCU/ 嵌入式

<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" /><?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />


基于CAN总线的RS-232串口设备远程通信


发表于 2007-8-30 12:36:31


摘要: 阐述了CAN总线在232串口设备远程通信或自组网络中的应用,介绍了CANRS-232转换装置的软硬件设计方法。重点对软件设计中CAN波特率的设置、串口波特率的自动检测以及数据流控制等作为详细的叙述。 关键词: CAN 波特率 流控制 1 引言


工业设备通信通常涉及到很多硬件和软件产品以及用于连通标准计算机平台(个人计算机或工作站)和工业自动化应用设备的协议,而且所使用设备和协议的种类繁多。因此,大部分自动化应用设备都希望执行简单的串行命令,并希望这些命令同个人计算机或者附加的串行端口板上的标准串行端口兼容。RS-232是目前PC机与通信工业中应用最广泛的一种串行接口。RS-232被定义为一种在低速率串行通讯中增加通讯距离的单端标准。由于RS-232的发送端与接收端之间有公共信号地,所以它不能使用双端信号,否则,共模噪声会耦合到信号系统中。RS-232标准规定,其最大距离仅为<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />15m,信号传输速率最高为 20kbit/s


CAN,全称为“Controller Area Network”,即控制器局域网,是国际上应用最广泛的现场总线之一,一个由CAN总线构成的单一网络受到网络硬件电气特性的限制。CAN作为一种多主方式的串行通讯总线,其基本设计规范要求高位速率和较高的抗电磁干扰性能,而且要能够检测出通讯总线上产生的任何错误。当信号传输距离达10km时, CAN仍可提供高达50kbit/s的数据传输速率。表1CAN总线上任意两个节点之间最大传输距离与其位速率之间的对应关系。


1 CAN总线系统任意两节鼎足之势之间的最大距离



位速率/kbps


1000


500


250


125


100


最大距离/m


40


130


270


530


620


位速率/kbps


50


20


10


5


 


最大距离/m


1300


3300


6700


10000


 


由此可见,无论从实时性、适应性、灵活性,还是可靠性上来看,CAN总线都是一种比RS-232更为优秀的串行总线。当两台串口设备的相距较远,不能直接用RS-232把它们连接起来时,就可以把RS-232转换为CAN,通过CAN总线来实现串口设备的网络互连。但是,RS-232CAN在电平和帧格式上都是很大的不同。具体表现如下: RS-232标准电平采用负逻辑,规定+3V+15V之间的任意电平为逻辑“0”电平,-3V-15V之间的任意电平为逻辑“1”电平。而CAN信号则使用差分电压传送,两条信号线称为“CAN_H”“CAM_L”,静态时均为2.5V左右,此时的状态表示为逻辑“1”,也可以叫做隐性;用 CAN_HCAN_L高表示逻辑“0”,称为显性。显性时,通常电压值为:CAN_H=3.5VCAN_L=1.5V RS-232串口的帧格式为:一位起始位,八位数据位,一位可编程的第九位(此位为发送和接收的地址/数据位),一位停止位。而CAN的数据帧格式为:帧信息+ID+数据(可分为标准帧和扩展帧两种格式)。  因此,设计时就需要有一个微控制器来实现电平和帧格式等的转换。其转换方式如图1所示。

2 RS-232
CAN转换的硬件设计


在设计RS-232CAN的转换装置时,用单片机AT89C52作为微处理器;用SJA1000作为CAN微控制器,SJA1000中集成了 CAN协议的物理层和数据链路层功能,可被动局面对通信数据的帧处理;AT82C250作为CAN控制器和物理总线之间的接口,用于提供总线的差动发送能力和CAN控制器的差动接收能力,通过AT82C250的引脚3可选择三种不同的工作方式(高速、斜率控制和待机)。其中引脚3接地时为高速方式;高速光隔用6N137实现,其作用是防止串入信号干扰;MAX232用来完成232电平到微控制器接口芯片TTL电平的转换。具体的硬件接口电路参见 SJA1000的有关资源,这里不再多做说明。但有以下几点需要注意。


1CAN总线两端接有一个120Ω的电阻,其作用是匹配总线阻抗,提高数据通信的抗干扰性及可靠行。但实际上只需保证CAN网络中“CAN_H”“CAN_L”之间的跨接电阻为60Ω即可。


2SJA100020引脚RX1在不使用时可接地(具体原因见软件设计),配合CDR.6的置位可使总线长度大大增加。


3)引脚TX0TX1的接法决定了串行输出的电平。具体关系可参考输出控制寄存器OCR的设置。


4AT82C250RS引脚与地间接有一个斜率电阻。电阻大小可根据总线通信速度作适当调整,一般在16kΩ140kΩ之间。


5MAX232外围需要四个电解电容C1C2C3C4,这些电容也是内部电源转换所需电容,其取值均为1μF/25V,宜选用钽电容并且位置应用量靠近芯片,电源VCC和地之间要接一个0.1μF的去耦电容。


3 RS-232CAN转换的软件设计


在微处理控制下,RS-232CAN进行数据交换时,采用串口接收和CAN中断方式可提高工作效率。其主程序流程图如图2所示。SJA1000的初始化在复位模式下才可以进行,主要包括工作方式的设置、时钟分频和验收滤波寄存器的设置、波特率参数的设置以及中断允许寄存器的设置等。


数据能否准确传递还取决于波特率和流量控制,这也是软件设计时不可忽略的地方。因此接下来主要介绍CAN波特率的设置、串口波特率的自动检测、串口数据流量控制。


31 CAN滤波率的设置


CAN协议中的要素之一是波特率。用户可以设置位周期中的位采样点位置和采样次数,以使用户可以自由地优化应用网络性能,但在优化过程中,要注意位定时参数基准参考振荡器的容差和系统中不同信号传播延迟之间的关系。


系统的位速率fBil表示每单位时间传输数据位的量,即波特率fBit=1/tBit。额定的位定时由3个互不重叠的段SYNC_SEGTSEG1 TSEG2组成,这3个时间段分别是TSYNC_SEGTSEG1TSEG2组成,这3个时间段分别是tSYNC_SEGtTSEG1 tTSEG2。所以,额定位周期tBit3个时间段的和。


tBit=tSYNC_SEG+tTSEG1+tTSEG2


位周期中这些段都用整数个基本时间单位来表示。该时间单位叫时间份额TQ,时间份额的持续时间是CAN系统时钟的一个周期tSCL,可从振荡器时钟周期tCLK取得。通过编程预分频因数(波特率预设值BRP)可以调整CAN系统时钟。具体如下:


tSCL=BRP×2tCLK=2BPR/fCLK


CAN位定时计算的另一个很重要的时间段是同步跳转宽度(SJW),持续时间是tSJWSJW段并不是位周期的一段,只是定义了在重同步事件中被增长或缩短的位周期的最大TQ数量。此外,CAN协议还允许用户指定位采样模式(SAM),分别是单次采样和三次采样模式(在3个采样结果中选出1个)。在单次采样模式中,采样点在TESG1段的末端。而三次采样模式比单次采样多取两个采样点,它们在TSEG1段末端的前面,之间相差一个TQ


上面所提到的BPRSJWSAMTESG1TESG2都可由用户通过CAN控制器的内装中寄存器BTR0BTR1来定义。具体如图3所示。设置好BTR0BTR1后,实际传输的波特率范围为:


最大=1/tBit-tSJW),最小=1/tBit+tSJW


3.2 串口波特率检测


当串口设备是主机时,如需检测此时转换装置的串口波特率,首先可对主机的接收波特率(以9600波特为例)进行设定,并在终端发送一个特定的字符(以回车符为例),这样,主机根据接收到的字符信息就可以确定转换装置的通信波特率。回车符的ASCII值是0DH,在不同波特率下接收到的值如表2所列。


2 不同波特率下接收的字节



波特率(bit/s


接收字节(十六进制)


波特率(bit/s


接收字节(十六进制)


1200


80


4800


E6


1800


F0


9600


0D


2400


78


19200


F*


33 串口流控制此处讲到的指的是数据流。数据在两个串口之间的传输时,常常会出现丢失数据的现象。由于单片机缓冲区有限,如接收数据时缓冲区已满,那么此时继续发送来的数据就会丢失。而流控制能有效地解决该问题,当接收端数据处理不过来时,流控制系统就会发出不再接收的信号,而使发送端停止发送,直到收到可以继续发送的信号再发送数据。因此流控制可以控制数据传输的进程,防止数据丢失。常用的两种流控制是硬件流控制(包括RTS/CTSDTR/CTS 等)和软件流控制XON/XOFF(继续/停止),下面仅就硬件流控制RTS/CTS加以说明。采用硬件进行流控制时,串口终端RTSCTS接到单片机的I/O口,通过置I/O口为10来接收和发出起停信号。数据终端设备(如计算机)使用RTS 来起始单片机发出的数据流,而单片机则用CTS来起动和暂停来自计算机的数据流。实现这种硬件握手方式时,在编程时根据接收端缓冲区的大小设置一个高位标志和一个低位标志,当缓冲区内数据量达到高位时,就在接收端将CTS线置低(送逻辑0),而当发送端的程序检测到CTS为低后,就停止发送数据,直到接收端缓冲区的数据量低于低位而将CTS置高为止。RTS则用来标明接收设备有没有准确好接收数据。
3
4 CAN接收子程序 PeliCAN格式既可以发送标准帧也可以送扩展帧,利用时钟分频寄存器中的CDR.7可以调协CAN模式(0-BasicCAN,1- PeliCAN),接收CAN数据时,可根据帧信息中的FF位来判断是标准帧还是扩展帧,并且RTR位来判断是远程帧还是数据帧。以下是CAN接收子程序: ;////////////////////////////////////////////////////////////////// //CAN数据接收/统一成2个字节ID的帧格式// /////////////////////////////////////////////////////////////////////// RECAN MOV R0#C_RE ;单片机内缓冲区起始地址 MOV DPTR#RXBUF ;读取并保存接收缓冲区的内容 MOVX A@DPTR ;读取CAN缓冲区的2号字节 MOV @R0,A ;保存 JB ACC.7,EFF_RE ;FF位,0-SFF1-EFF MOV R2#0 SJMP SFF_RE ;ID数目不同,截取数据字节的位置不同 EFF_RE:MOV R2,#2 SFF_RE:MOV R2,#2 SFF_RE: JB ACC.6,EXIT_RECAN ;RTR位判断,1-远程帧,则跳出 ANL A#0FH MOV R3A ;这时截取中间4位是数据长度 MOV C_NUM,A ;R3,R5中存放接收帧的长度 RDATA0 INC DPTR 2个字节ID INC R0 MOVX A@DPTR MOV @R0,A INC DPTR MOVX A,@R0,A INC DPTR MOVX A,@DPTR MOV @R0,A MOV A,R2 ;如果是EFF则跳过两个字节ID JZ DRATA1 INC DPTR INC DPTR DATA1:;数据字节 INC DPTR INC R0 MOVX A@DPTR MOV @R0,A DJNZ R3,RDATA1 EXIT_RECAN: RET

4
结束语


计算机的微型化为测控仪表的智能化提供了必要的条件,使得带微处理器的终端设备具备更好的数字通信能力。随着越来越多智能终端的出现,无论是对网络的结构、协议、实时性,还是适用性、灵活性、可靠性乃至成本都有了更高的要求,因此现场总线有着很好的发展前景。CAN总线的帧结构拥有标识ID,这使得设备网络中拥有多台网络主机成为可能,即通过网络主机可以监控整个设备网络的工作情况并作出相应的控制决策。本装置目前已开发完成,并在实际应用中取得了非常好的效果。


 



系统分类:


接口电路


用户分类:


通讯接口


标签:


CAN总线 RS232 远程通信


来源:


转贴


发表评论 阅读全文(104) | 回复(0)



I2C总线的单片机C语言实现及其应用


发表于 2007-8-25 18:45:45


    :本文介绍了I2C总线的概念、接口特性和传输时序,提出了一种用51系列单片机的C语言(C51)模拟I2C总线数据传输的软件方法,并给出了在数字高清晰度电视地面接收机中的应用。
关键词I2C总线;单片机;C语言;高清晰度电视


1 I2C总线概述
  I2CIntelIntegrated Circuit)总线是荷兰的Philips公司于八十年代初推出的一种芯片间串行总线扩展技术。它用两根线(数据线SDA、时钟线SCL)可完成总线上主机与器件的全双工同步数据传送,可极方便地构成多主机系统和外围器件扩展系统。I2C总线支持所有NMOSCMOSTTL等工艺制造的器件,其上所有的节点都连到同名的SDASCL上。I2C总方法,数据传送都有相同的操作模式,接口电器特性相同且独立,可在系统供电情况下从系统中移去或增加IC芯片,有I2C接口的外围器件都有应答能力,读写片内单元时有地址自动加1功能,易实现多个字节的自动操作。近年来,国际上有关公司制造了多达几百种的I2C总线器件,如8051系列单片机8XC752LCD驱动器、RAMIO接口等芯片都使用了I2C总线接口。随着数字技术的发展,I2C总线控制系统已经应用于越来越多的电子产品。

2
 I2C总线的数据传输


21 接口特性
  I2C总线接口的数据线SDA和时钟线SCL必须经过上拉电阻接到正电源VDD上,各个I2C接口电路输出端必须是漏极开路或集电极开路,以便完成线与的功能。I2CSDASCL都是双向传输线,当总线空闲时,此两线都是“1”(高电平)。由于不同的器件都会接到I2C总线,逻辑的“0”(低)及“1”(高)的信号电平取决于VDD的电压。总线上能连接的最大器件数取决于其电容容限400PF
2
2 I2C总线上的传输时序
  I2C总线上每传输一位数据都有一个时钟脉冲相对应,在标准模式下可达100 kbits,高速模式下可达400kbits,总线上依据器件功能不同可建立简单的主/从关系(masterslave),只有带CPU的器件才可成主控器。图1I2C总线一次完整的数据传输。SCL为高期间,SDA状态必须稳定,SCL为低时才允许SDA状态变化。SCL保持高电平期间,SDA出现由高至低的转换将启动I2C总线,出现由低至高的转换将停止数据传输。起始和终止信号通常由主控器产生。I2C总线的信号时序有严格规定,本应用采用标准模式,SCL低电平周期≥47μsSCL高电平周期≥40μsSTARTSTOP之间的总线空闲时间≥47μs
  I2C总线上传送的每个字节必须为8位,启动和停止之间可传输的数据字节数不受限制。采用串行传送,首先传送最高位,每传送一个字节后必须跟一个应答位。主控器产生应答所需的时钟脉冲期间,发送器必须释放数据线(SDA为高),以便接收器输出应答位。低电平为应答信号,高电平为非应答信号。非应答信号是当主控器作为接收器时,收到最后一个字节数据后,必须发送一个非应答信号给被控发送器,使被控发送器释放数据线,以便主控器发停止信号,终止数据传送。当从器件不能再接收字节时也会出现非应答
信号这种情况。
  I2C总线上的器件一般有两个地址:受控地址和通用广播访问地址,每个器件有唯一的受控地址用于定点通信,而相同的通用广播访问地址则用于主控方同时对所有器件进行访问。如图1所示,起始信号后主控器发送的第一个字节就是被读器件的受控地址,称作寻址字节。寻址字节由高7位地址和最低1位方向位组成,方向位为“0”表明主控器对被控器的写操作(W),方向位为 “1”表明对被控器的读操作(R)。总线上每个器件在起始信号后都把自己的地址与寻址字节的前7位相比较,如相同则器件被选中,产生应答,并根据读写位决定在数据传送中是接收还是发送。无论是主发、主收还是从发、从收,都是由主器件控制,数据传送完后,主控器都必须发停止信号。


 


 
3
 I2C总线的C51语言实现
  C51语言是针对Intel8位单片机MCS51系列而开发的、具有一般C语言特点的高级编程语言。从1985年至今,有许多公司推出 51系列的C语言编译器,其中以Franklin C51编译器在代码生成方面较为领先,它可生成最少的代码,支持浮点和长整数、重入和递归。头文件reg51h中包含了51单片机的特殊功能寄存器(SFR)的字节定义与位定义。为了与具有I2C总线接口的51单片机兼容,可在程序开始处定义单片机的P16P17作为I2C总线的SCLSDA信号,实际中也可用其它的IO引脚作为SCLSDA信号。C51语言中只要用赋值语句就可实现IO口某位的数据输出和读入。现将I2C总线底层读写函数接口及功能列举如下,它可用于没有内部I2C接口的51系列单片机与I2C总线器件通信。
includereg51h


/*全局符号定义*/


define HIGH1


define LOW 0


define FALSE0


define TRUE1


define time 1
define uchar unsigned char  


define uint unsigned int


sbit SCLP16


sbie SDAP17


1)函数原型:void delayuchar nu m) 
   
功  能:用for()循环提供延时。在实际应用中可依具体情况改变传入参数,但必须满足I2C总线时序中对SCL高、低电平周期的要求,本应用中取1,调用形式为delaytime)。
2
)函数原型:void startvoid) 
   
功  能:提供I2C总线工作时序中的起始位,在SCLHIGH期间,SDA出现由高到底的转变,返回前将SCL拉低,允许数据变化,准备传输。其中调用函数1
3
)函数原型:void stopvoid) 
   
功  能:函数提供I2C总线工作时序中的起始位,在SCLHIGH期间,SDA出现由低到高的转变。其中调用函数1
4
)函数原型:void sendbyteuchar bucharerror) 
  功  能:在时钟作用下,将入口参数b8位数据由高至低通过SDA线发送,并读回应答信号,存于指针变量*error中。其中调用函数123
5
)函数原型:void readbyteucharbbit Ack) 
   
功  能:函数在时钟作用下接收8位数据,存于*b中,先接收的为高位,并发送应答信号(Ack0),当接收到最后一字节时发送非应答(Ack1)。其中调用函数123
6
)函数原型:void sendnbyteucharinfouint nuchar addressucharfault)  功  能:向I2C器件连续发送n个数据字节,数据存于数组info[]中,address为器件受控地址,末位为0(写),n个数据的地址可作为数据字节发送,或设置地址自动加减功能。*fault存收到的应答位。其中调用函数14
7
)函数原型:void receive_n_byteucharinfouint nuchar addressucharfault) 
   
功  能:从I2 C器件连续接收n个字节的数据,存于数组info[]中,address为器件地址,本函数保证器件地址末位是1(读),n个数据的器件内地址可作为数据字节发送,或设置地址自动加减功能。收最后一字节时发非应答信号1。*fault存收到的应答位。其中调用函数15
  以下仅以sendbyte()函数原型为例说明C51如何具体实现I2C总线的发送:
void sendbyte
uchar bucharerror


int count
bit data
_bit


error0
for
count7count>=0count--)


data_bit=(bit)(b0x80);
b
b<<1
/*送数据位,产生时钟脉冲*/


SDAdata_bit
SCL
LOWdelaytime);


SCLHIGHdelaytime);


SCLLOWdelaytime);

/*释放数据线,产生时钟脉冲,读回应答*/


SDAHIGH


SCLLOWdelaytime);


SCLHIGHdelaytime);


error=(ucharSDA
/*释放数据线,时钟置低*/


SDAHIGH
SCL
LOWdelaytime);}

4
 I2C总线用于HDTV数字地面接收机

  数字高清晰度电视HDTVHigh Definition Television)是继黑白电视和彩色电视之后的第三代电视系统,与目前市场上的电视相比,其水平和垂直两个方向的图像质量(分辨率)提高一倍以上,在使用大屏幕显示器或近距离观看时其图像细腻逼真,无闪烁感和粗糙感,质量与35mm电影相当,再配以数字环绕音响,使收视效果大幅度提高。HDTV 节目全部采用数字方式制作、发送和接收,使图像质量接近演播室。同时,数字电视系统还能够提供多种业务,实现交互、数据广播和计算机联网等功能。美国于 199811月率先正式开播数字HDTV信号。我国从1996年启动国家重大产业工程项目HDTV功能样机系统研究开发工程,已成功在50周年国庆时进行了数字电视试播。


  本HDTV数字地面接收系统以欧洲的DVBT Digital Video Broadcasting Terrestrial)为标准,完成信道解调解码,输出标准的MPEG2码流,由于采用了COFDMCoded Orthogonal Frequency Division Multiplexing)编码正交频分复用技术,能有效对抗多经传播和同频干扰。本接收机的主要特点是采用带有I2C总线接口的L64系列芯片,AT89C52通过I2C总线完成对L64芯片内寄存器的读写操作和监控,与PC配合实现基于参数配置、模式转换、状态读取的调试功能。结构简单,调试方便。信道解调解码的硬件基本组成如图2(未画出上拉电阻)。



 


  美国LSILogic公司的L64系列是专用的以DVB为标准的解调解码芯片,该系列内部模块化,接口标准化,且带有I2C总线接口,连接简单。L64系列功能完善,L64780L64724L64768单独使用即可分别完成DVB标准的地面、卫星、有线电视信号解调的全部过程。目前,L64系列可配合使用。如图2,信道出来的信号先经过调谐器变为中频信号,送入L64780完成主要的OFDM解调,其输出经 L64724Viterbi译码,L64768RS译码,完成前向纠错,输出标准的MPEG2码流。下面仅以L64768为例介绍读写某一寄存器的 C51函数原型及主要功能:
定义768的受控地址:#define LSI0xfe函数原型:uchar general_callvoid
功  能:general_call()函数调用send_n_byte()函数,发特殊寻址字节0x000x06,若应答为零返回0,否则重复上一操作,若发5次后仍无应答返回1。在主程序初始化化时调此函数,主程序根据返回。
函数原型:uchar 768_fec_rduint groupuint addruintdata
功  能:768_fec_rd()函数调用send_n_byte()和receive_n_byte(),从FEC寄存器读出一字节数据存于指针变量*data中,group为组号,输入的组号要翻译成相应的组地址group_addraddrFEC寄存器地址,LSI作为每次起始信号后的寻址字节。依据768的传输时序,先发addr的低字节,再发送addr的高字节,然后发group_addr,即可读出相应寄存器中的数据。组号出错返回1;收到非应答信号返回0;读正确返回2。主程序根据返回值,做相应操作。


5 结束语


  随着广播电视技术迅速走向数字时代,HDTV在今后五年逐步在世界范围走向市场成为可能。I2C总线技术应用于HDTV数字地面接收机中,用8位单片机对接收机的状态进行控制,不仅减少了总线数量,提高了可靠性,而且还较大降低了成本。在实际使用时,可加上键盘、显示电路及相应程序,或用PC通过RS232口与单片机通信,进行调试。本应用已用于我国HDTV功能样机系统研究开发工程。
    
由衷地感谢导师葛建华教授的指导和帮助。



系统分类:


接口电路


用户分类:


通讯接口


标签:


I2C总线


来源:


转贴


发表评论 阅读全文(111) | 回复(0)


0




通信接口协议综述


发表于 2007-8-19 15:58:18



通信接口协议综述






        
在现场数据采集和数据传输中大量采用接口方式,监控系统涉及较多的是串行通信接口和网络接口。



        
一、串行通信协议
        
计算机与外设或计算机之间的通信通常有两种方式:并行通信和串行通信。
并行通信指数据的各位同时传送。并行方式传输数据速度快,但占用的通信线多,传输数据的可靠性随距离的增加而下降,只适用于近距离的数据传送。
        
串行通信是指在单根数据线上将数据一位一位地依次传送。发送过程中,每发送完一个数据,再发送第二个,依此类推。接受数据时,每次从单根数据线上一位一位地依次接受,再把它们拼成一个完整的数据。在远距离数据通信中,一般采用串行通信方式,它具有占用通信线少、成本低等优点。



         1
、串行通信的基本概念



         (1)
同步和异步通信方式



        
串行通信有两种最基本的通信方式:同步串行通信方式和异步串行通信方式。同步串行通信方式是指在相同的数据传送速率下,发送端和接受端的通信频率保持严格同步。由于不需要使用起始位和停止位,可以提高数据的传输速率,但发送器和接受器的成本较高。异步串行通信是指发送端和接受端在相同的波特率下不需要严格地同步,允许有相对的时间时延,即收、发两端的频率偏差在10%以内,就能保证正确实现通信。


         异步通信在不发送数据时,数据信号线上总是呈现高电平状态,称为空闲状态(又称MARK状态)。当有数据发送时,信号线变成低电平,并持续一位的时间,用于表示发送字符的开始,该位称为起始位,也称SPACE状态。起始位之后,在信号线上依次出现待发送的每一位字符数据,并且按照先低位后高位的顺序逐位发送。采用不同的字符编码方案,待发送的每个字符的位数不同,在5678位之间选择。数据位的后面可以加上一位奇偶校验位,也可以不加,由编程指定。最后传送的是停止位,一般选择1位、1.5位或2位。



         (2)
数据传送方式



         ①
单工方式。单工方式采用一根数据传输线,只允许数据按照固定的方向传送。图8(a)A只能作为发送器,B只能作为接收器,数据只能从A传送到B,不能从B传送到A
         ②
半双工方式。半双工方式采用一根数据传输线,允许数据分时地在两个方向传送,但不能同时双向传送。图8(b)中在某一时刻,A为发送器,B为接收器,数据从A传送到B;而在另一个时刻,A可以作为接收器,B作为发送器,数据从B传送到A
         ③
全双工方式。全双工方式采用两根数据传输线,允许数据同时进行双向传送。图8(c)AB具有独立的发送器和接收器,在同一时刻,既允许AB发送数据,又允许BA发送数据。



         (3)
波特率



        
波特率是指每秒内传送二进制数据的位数,以b/sbps(位/秒)为单位。它是衡量串行数据传送速度快慢的重要指标和参数。计算机通信中常用的波特率是:110300600120024004800960019200bps



         (4)
串行通信的检错和纠错



        
在串行通信过程中存在不同程度的噪声干扰,这些干扰有时会导致在传输过程中出现差错。因此在串行通信中对数据进行校验是非常重要的,也是衡量通信系统质量的重要指标。检错,就是如何发现数据传输过程中出现的错误,而纠错就是在发现错误后,如何采取措施纠正错误。
         ①
误码率
        
误码率是指数据经传输后发生错误的位数与总传输位数之比。在计算机通信中,一般要求误码率达到10-6数量级。误码率与通信过程中的线路质量、干扰、波特率等因素有关。
         ②
奇偶校验
        
奇偶校验是常用的一种检错方式。奇偶校验就是在发送数据位最后一位添加一位奇偶校验位(01),以保证数据位和奇偶校验位中1的总和为奇数或偶数。若采用偶校验,则应保证1的总数为偶数;若采用奇校验,则应保证1的总和为奇数。在接受数据时,CPU应检测数据位和奇偶校验位中1的总数是否符合奇偶校验规则,如果出现误码,则应转去执行相应的错误处理服务程序,进行后续纠错。
         ③
纠错
        
在基本通信规程中一般采用奇偶校验或方阵码检错,以重发方式进行纠错。在高级通信中一般采用循环冗余码(CRC)检错,以自动纠错方式来纠错。一般说来,附加的冗余位越多,检测、纠错能力就越强,但通信效率也就越低。


         2、串行通信接口标准


         串行通信接口按电气标准及协议来分包括RS-232RS-422RS485USB等。 RS-232RS-422RS-485标准只对接口的电气特性做出规定,不涉及接插件、电缆或协议。USB是近几年发展起来的新型接口标准,主要应用于高速数据传输领域。


        1RS-232串行接口
        


         目前RS-232PC机与通信工业中应用最广泛的一种串行接口。RS-232被定义为一种在低速率串行通信中增加通信距离的单端标准。RS-232采取不平衡传输方式,即所谓单端通信。典型的RS-232信号在正负电平之间摆动,在发送数据时,发送端驱动器输出正电平在+5+15V,负电平在-5-15V电平。当无数据传输时,线上为TTL电平,从开始传送数据到结束,线上电平从TTL电平到RS-232电平再返回TTL电平。接收器典型的工作电平在+3+12V-3-12VRS-232是为点对点(即只用一对收、发设备)通信而设计的,其驱动器负载为37kΩ。由于RS-232发送电平与接收电平的差仅为2V3V左右,所以其共模抑制能力差,再加上双绞线上的分布电容,其传送距离最大为约30米,最高速率为20kb/s。所以RS-232适合本地设备之间的通信。可以通过测量DTETxd(或DCERxd)和Gnd之间的电压了解串口的状态,在空载状态下,它们之间应有约-10V左右(-5~-15V)的电压,否则该串口可能已损坏或驱动能力弱。
         ①
管脚定义
         RS-232
物理接口标准可分成25芯和9D型插座两种,均有针、孔之分。其中TX(发送数据)、RX(接受数据)和GND(信号地)是三条最基本的引线,就可以实现简单的全双工通信。DTR(数据终端就绪)、DSR(数据准备好)、RTS(请求发送)和CTS(清除发送)是最常用的硬件联络信号。


  


       1-8-1 RS232接口中DB9DB25管脚信号定义


9 25针 信号名称           信号流向              简称        信号功能
3       2        
发送数据           DTE —>DCE        TxD         DTE发送串行数据
2       3        
接收数据           DTE <—DCE        RxD         DTE接受串行数据
7       4        
请求发送           DTE —>DCE        RTS         DTE请求切换到发送方式
8       5        
清除发送           DTE <—DCE        CTS         DCE已切换到准备接受
6       6        
数据设备就绪 DTE <—DCE        DSR         DCE准备就绪可以接受
5       7        
信号                                             GND        公共信号地
1       8        
载波检测           DTE <—DCE        DCD        DCE已接受到远程载波
4       20      
数据终端就绪 DTE —>DCE        DTR         DTE准备就绪可以接受
9       22      
振铃指示           DTE <—DCE        RI             通知DTE,通讯线路已接通



        
按照RS232标准,传输速率一般不超过20kbps,传输距离一般不超过15M。实际使用时通信速率最高可达115200bps
         ②RS232
串行接口基本接线原则
设备之间的串行通信接线方法,取决于设备接口的定义。设备间采用RS232串行电缆连接时有两类连接方式:
        
直通线:即相同信号(RxdRxdTxdTxd)相连,用于DTE(数据终端设备)与DCE(数据通信设备)相连。如计算机与MODEM(或DTU)相连。
        
交叉线:即不同信号(RxdTxdTxdRxd)相连,用于DTEDTE相连。如计算机与计算机、计算机与采集器之间相连。
        
以上两种连接方法可以认为同种设备相连采用交叉线连接,不同种设备相连采用直通线连接。在少数情况下会出现两台具有DCE接口的设备需要串行通信的情况,此时也用交叉方式连接。当一台设备本身是DTE,但它的串行接口按DCE接口定义时,应按DCE接线。如艾默生网络能源有限公司生产的一体化采集器IDA采集模块上的调测接口是按DCE接口定义的,当计算机与IDA采集模块的调测口连接时就要采用直通串行电缆。
        
一般地,RS232接口若为公头,则该接口按DTE接口定义;若为母头,则该接口按DCE接口定义。但注意也有反例,不能一概而论。(一些DTE设备上的串行接口按DCE接口定义而采用DB9DB25母接口的原因主要是因为DTE接口一般都采用公头,当人用手接触时易接触到针脚;采用母头时因不易碰到针脚,可避免人体静电对设备的影响。)
        
对于某些设备上的非标准RS232接口,需要根据设备的说明书确定针脚的定义。如果已知TxdRxdGnd三个针脚,但不清楚哪一个针脚是Txd,哪一个针脚是Rxd,可以通过用万用表测量它们与Gnd之间的电压来判别,如果有一个电压为-10V左右,则万用表红表笔所接的是DTETxdDCERxd
         ③RS232
的三种接线方式
        
三线方式:即两端设备的串口只连接收、发、地三根线。一般情况下,三线方式即可满足要求,如监控主机与采集器及大部分智能设备之间相连。
        
简易接口方式:两端设备的串口除了连接收、发、地三根线外,另外增加一对握手信号(一般是DSRDTR)。具体需要哪对握手信号,需查阅设备接口说明。
        
完全口线方式:两端设备的串口9线全接。
此外,有些设备虽然需要握手信号,当并不需要真正的握手信号,可以采用自握手的方式。


         (2)RS-422/485串行接口


         ①平衡传输
         RS-422
RS-232发展而来。为改进RS-232通信距离短、速度低的缺点,RS-422定义了一种平衡通信接口,将传输速率提高到10Mbit/s,并允许在一条平衡总线上连接最多10个接收器。RS-422是一种单机发送、多机接收的单向、平衡传输规范。
         RS-422
的数据信号采用差分传输方式,也称作平衡传输。它使用一对双绞线,将其中一线定义为A,另一线定义为B,如图1-8-8。通常情况下,发送驱动器AB之间的正电平在+2+6V,是一个逻辑状态,负电平在-2-6V,是另一个逻辑状态。另有一个信号地C,在RS-485中还有一使能端,使能端是用于控制发送驱动器与传输线的切断与连接。当使能端起作用时,发送驱动器处于高阻状态,称作第三态,即它是有别于逻辑“1”“0”的第三态。
        
接收器也作与发送端相应的规定,收、发端通过平衡双绞线将AABB对应相连,当在收端AB之间有大于+200mV的电平时,输出正逻辑电平,小于-200mV时,输出负逻辑电平。接收器接收平衡线上的电平范围通常在200mV6V之间。
         ②RS-422
         RS-422
标准全称是平衡电压数字接口电路的电气特性,它定义了接口电路的特性。图1-8-9是典型的RS-422四线接口。实际上还有一根信号地线,共5根线。由于接收器采用高输入阻抗和发送驱动器比RS232更强的驱动能力,故允许在相同传输线上连接多个接收节点,最多可接10个节点。即一个主设备(Master),其余为从设备(Salve),从设备之间不能通信,所以RS-422支持点对多的双向通信。RS-422四线接口由于采用单独的发送和接收通道,因此不必控制数据方向,各装置之间任何必须的信号交换均可以按软件方式(XON/XOFF握手)或硬件方式(一对单独的双绞线)实现。
         RS-422
的最大传输距离为4000英尺(约1200米),最大传输速率为10Mb/s。其平衡双绞线的长度与传输速率成反比,在100kb/s速率以下,才可能达到最大传输距离。只有在很短的距离下才能获得最高速率传输。一般100米长的双绞线上所能获得的最大传输速率仅为1Mb/s
         RS422
接口的定义很复杂,一般只使用四个端子,其针脚定义分别为TX+TX-RX+RX-,其中TX+TX-为一对数据发送端子,RX+RX-为一对数据接收端子,参见图1-8-10RS422采用了平衡差分电路,差分电路可在受干扰的线路上拾取有效信号,由于差分接收器可以分辨0.2V以上的电位差,因此可大大减弱地线干扰和电磁干扰的影响,有利于抑制共模干扰,传输距离可达1200米。
        
另外和RS232不同的是,在一RS422总线上可以挂接多台设备组网,总线上连接的设备RS422串行接口同名端相接,与上位机则收发交叉,可以实现点到多点的通信,如图1-8-11所示。(RS232只能点到点通信,不能组成串行总线。)
        
通过RS422总线与计算机某一串口通信时,要求各设备的的通信协议相同。为了在总线上区分各设备,各设备需要设置不同的地址。上位机发送的数据所有的设备都能接收到,但只有地址符合上位机要求的设备响应。
         ③RS-485
        
为扩展应用范围,EIARS-422的基础上制定了RS-485标准,增加了多点、双向通信能力,通常在要求通信距离为几十米至上千米时,广泛采用RS-485收发器。
         RS-485
收发器采用平衡发送和差分接收,即在发送端,驱动器将TTL电平信号转换成差分信号输出;在接收端,接收器将差分信号变成TTL电平,因此具有抑制共模干扰的能力,加上接收器具有高的灵敏度,能检测低达200mV的电压,故数据传输可达千米以外。
         RS-485
许多电气规定与RS-422相仿。如都采用平衡传输方式、都需要在传输线上接终接电阻等。RS-485可以采用二线与四线方式,二线制可实现真正的多点双向通信。而采用四线连接时,与RS-422一样只能实现点对多的通信,即只能有一个主(Master)设备,其余为从设备,但它比RS-422有改进,无论四线还是二线连接方式总线上可连接多达32个设备,SIPEX公司新推出的SP485R最多可支持400个节点。
         RS-485
RS-422的共模输出电压是不同的。RS-485共模输出电压在-7V+12V之间, RS-422-7V+7V之间,RS-485接收器最小输入阻抗为12KΩRS-4224kΩRS-485满足所有RS-422的规范,所以RS-485的驱动器可以用在RS-422网络中应用。但RS-422的驱动器并不完全适用于RS-485网络。
         RS-485
RS-422一样,最大传输速率为10Mb/s。当波特率为1200bps时,最大传输距离理论上可达15千米。平衡双绞线的长度与传输速率成反比,在100kb/s速率以下,才可能使用规定最长的电缆长度。
         RS-485
需要2个终接电阻,接在传输总线的两端,其阻值要求等于传输电缆的特性阻抗。在矩距离传输时可不需终接电阻,即一般在300米以下不需终接电阻。
         RS485
RS422的子集,只需要DATA+D+)、DATA-D-)两根线。RS485RS422的不同之处在于RS422为全双工结构,即可以在接收数据的同时发送数据,而RS485为半双工结构,在同一时刻只能接收或发送数据。
         RS485
总线上也可以挂接多台设备,用于组网,实现点到多点及多点到多点的通信(多点到多点是指总线上所接的所有设备及上位机任意两台之间均能通信)。
        
连接在RS485总线上的设备也要求具有相同的通信协议,且地址不能相同。在不通信时,所有的设备处于接收状态,当需要发送数据时,串口才翻转为发送状态,以避免冲突。
        
为了抑制干扰,RS485总线常在最后一台设备之后接入一个120欧的电阻。
        
很多设备同时有RS485接口方式和RS422接口方式,常共用一个物理接口,见图1-8-14。图中,RS485D+D-RS422T+T-共用。


         (3)RS232/422/485串行通信接口性能比较


         上述三种通信接口的比较见下表1-8-2


接口性能 RS-232 RS422 RS485
操作方式 电平 差分 差分
最大传输速率 20kb/s(15m) 10Mb/s(12m)1Mb/s(120m)100kb/s(1200m) 10Mb/s(12m)1Mb/s(120m)100kb/s(1200m)
驱动器输出电压 无负载时 ±5V±15V ±5V ±5V
有负载时 ±2V ±1.5V
驱动器负载阻抗 3kΩ7kΩ 100Ω(min) 54Ω(min)
接收输入阻抗 3kΩ7kΩ 4kΩ 12kΩ
接收器灵敏度 ±3V ±200mV ±200mV
工作方式 全双工 全双工 半双工
连接方式 点到点 点到多点 多点到多点
1-8-2 RS232RS422RS-485接口性能比较


         (4)USB接口


         USB,全称是Universal Serial Bus(通用串行总线),它是在1994年底由康柏、IBMMicrosoft等多家公司联合制订的,但是直到1999年,USB才真正被广泛应用。自从19941111日发表了USB V0.7以后,USB接口经历了六年的发展,现在USB已经发展到了2.0版本。USB接口的特点是:
         ①
数据传输速率高。USB标准接口传输速率为12Mbps,最新的USB2.0支持最高速率达480Mbps。同串行端口比,USB大约快1000倍;同并行端口比,USB端口大约快50%
         ②
数据传输可靠。USB总线控制协议要求在数据发送时含有3个描叙数据类型、发送方向和终止标志、USB设备地址的数据包。USB设备在发送数据时支持数据侦错和纠错功能,增强了数据传输的可靠性。
         ③
同时挂接多个USB设备。USB可通过菊花链的形式同时挂接多个USB设备,理论上可达127个。
         ④USB
接口能为设备供电。USB线缆中包含有两根电源线及两根数据线。耗电比较少的设备可以通过USB口直接取电。可通过USB口取电的设备又分低电量模式和高电量模式,前者最大可提供100毫安的电流,而后者则是500毫安。
         ⑤
支持热插拔。在开机情况下,可以安全地连接或断开设备,达到真正的即插即用。
         USB
还具有一些新的特性,如:实时性(可以实现和一个设备之间有效的实时通信)、动态性(可以实现接口间的动态切换)、联合性(不同的而又有相近的特性的接口可以联合起来)、多能性(各个不同的接口可以使用不同的供电模式)。


         二、计算机网络和TCP/IP协议


        (一)OSI模型


         OSIOSI-Open System Interconnection)开放系统互联参考模型是为不同开放系统的应用进程之间进行通信所定义的标准。OSI包含两部分: ISO/OSI/RM (ISO7498)、服务与协议。 OSI参考模型将整个网络分为七层。


         1)物理层是OSI参考模型的最低层,与传输媒体直接相连,主要作用是建立、保持和断开物理连接,以确保二进制比特流的正确传输。物理层协议规定了数据终端设备(DTE)与数据通讯设备(DCE)之间的接口标准。规定了接口的4个特性:机械特性、电器特性、功能特性和规程特性。这里的DTEData Terminal Equipment)数据终端设备是具有一定数据处理能力和数据转发能力的设备,DCEData Circuit-Terminal Equipment)数据链路端接设备(通信设备)的作用是在DTE和传输线路之间提供信号变换和编码的功能。物理层协议包括RS-232RS-449V.24V.35X.21等。


         2)数据链路层是OSI参考模型的第二层,主要负责数据链路的建立、维持和拆除,确保在一段物理链路上数据帧的正确传输。


         3)网络层是OSI模型的第三层,又叫通信子网层,主要用于控制通信子网的运行。网络层主要作用是将从高层传送下来的数据分组打包,再进行必要的路由选择、流量控制、差错控制、顺序检测等处理,使数据正确无误地传送到目的端。网络层协议包括IPRARPARPTCP/IP)、IPXDECNETAppleTalkX.25等。


         4)传输层(Transport Layer)位于资源子网和通信子网之间,是通信子网和资源子网的桥梁。传输层的主要作用是为利用通信子网进行通信的两个主机,提供端到端的可靠的、透明的通信服务。它与应用进程相关。TCPUDP是传输层协议。


         5)第五、六、七层是面向信息处理的高层协议。会话层的主要作用是组织并协商两个应用进程之间的会话,并管理它们之间的数据交换。表示层解决用户信息的语法表示问题,主要目的是使数据保持原来的含义。应用层是OSI模型的最高层,是唯一直接向应用程序提供服务的一层,它直接面向用户,以满足用户的不同需求。


         (二)TCP/IP协议


         自从TCP/IP20世纪70年代早期被引入之后,该协议已经被广泛使用在全世界的网络上。在PCUNIX工作站、小型机、Macintosh计算机、大型机以及用于连接客户机和主机的网络设备上都可以使用TCP/IP。通过TCP/IP,成千上万个公共网络和商业网络连接到了Internet上,使得大量用户可以对之进行访问。


         1TCP/IP协议族
        


          TCP/IP是一个协议族,它的核心协议主要有传输控制协议(TCP)、用户数据报协议(UDP)和网际协议(IP)。在TCP/IP中,与OSI模型的网络层等价的部分为IP。另外一个兼容的协议层为传输层,TCPUDP都运行在这一层。OSI模型的高层与TCP/IP的应用层协议是对应的。
        
对主要协议起补充作用的协议有五个,它们是通过TCP/IP提供的五个应用服务:文件传输协议(FTP)、远程登录协议(TELNET)、 简单邮件传输协议(SMTP)、域名服务(DNS)、简单网络管理协议(SNMP)和远程网络监测(RMON)等。另外超文本传输协议(HTTP)用于在Internet上为使用WWW浏览器进行访问的用户传输超文本标记语言文档,包括音频、图像、视频和图形文件。可以使用Ping应用程序对同一个网络上或者不同网络上的结点进行联系,确定对方是否连接并且可以进行响应。作为一个网络管理员,可以使用Ping另外一个结点来快速验证LANWAN连接是否正常工作。TracerouteTracert)应用程序使用户可以跟踪网络两点间的跳数。


         2)网络中的两种寻址方法


         地址是网络设备和主机的标识,网络中存在两种寻址方法:MAC地址和IP地址,两种寻址方法既有联系又有区别。MAC地址是设备的物理地址,位于OSI参考模型的第2层,全网唯一标识,无级地址结构(一维地址空间),固化在硬件中,寻址能力仅限在一个物理子网中。IP地址是设备的逻辑地址,位于OSI参考模型的第3层,全网唯一标识,分级地址结构(多维地址空间),由软件设定,具有很大的灵活性,可在全网范围内寻址。IP地址长度为32bits4个字节),由网络ID和主机ID组成。网络IDNetwork ID)标识主机所在的网络,主机IDHost ID)标识在该网络上的主机。IP地址由4段组成,每段以十进制数表示,4个十进制数之间用小数点区分,如202.102.1.3


         编址的另一有特殊目的的形式是子网掩码。子网掩码的目的有两个:一是显示使用的编址类别,二是将网络分成子网来控制网络流量。在第一种情况下,子网掩码可使得应用程序能够确定地址的哪一部分是网络ID,哪一部分是主机ID
       
上面介绍的编址称为IPv4IPv4已经消耗尽了所有的地址。由于IPv4不能提供网络安全,也不能实施复杂的路由选项,如在QoS的水平上创建子网等,所以应用也受到了限制。同时,IPv4除了提供广播和多点传送编址外,并不具备多个选项来处理多种不同的多媒体应用程序,如流式视频或视频会议等。为适应I P的爆炸式应用,Internet工程任务组(IETF)开始了IPng(IP next generation)的初步开发。1996年,IPng的研究诞生了一种称为IPv6的新标准,IPv6具有128位编址能力。


        (三)主要的网络设备


        1)网络接口卡(NIC



         NIC
可以使网络设备如计算机或其他网络设备等连接到某个网络上。


         2)集线器
       


         集线器是以星形拓扑结构连接网络结点如工作站、服务器等的一种中枢网络设备。集线器也可以指集中器,具有同时活动的多个输入和输出端口。集线器的功能有:


         ①提供一个中央单元,从中可以向网络连接多个结点。
         ②
允许大量的计算机可以连接在一个或多个LAN上。
         ③
通过集中式网络设计来降低网络阻塞。
         ④
提供多协议服务,如Ethernet-to-FDDI连接。
         ⑤
加强网络主干。
         ⑥
使得可以进行高速通信。
         ⑦
为几种不同类型的介质(如同轴电缆、双绞线和光纤)提供连接。
         ⑧
使得可以进行集中式网络管理。


         3)路由器



        
路由器具有内置的智能来指导包流向特定的网络,可以研究网络流量并快速适应在网络中检测到的变化。路由器可以用来:
         ①
有效地指导包从一个网络传输到另一个网络,减少过度的流量。
         ②
连接相临或远距离的网络。
         ③
连接截然不同的网络。
         ④
通过隔离网络的一部分来防止网络的瓶颈。
         ⑤
保护网络免受入侵。


        4)网关
        


         在许多环境下都用到了网关一词,但通常它是指一种使得两个不同类型的网络系统或软件可以进行通信的软件或硬件接口。例如可以用网关来:
         ①
将常用的协议(如TCP/IP)转换为专用的协议(如SNA)。
         ②
将一种消息格式转换为另一种格式。
         ③
转化不同的编址方案。
         ④
将主机链接到LAN上。
         ⑤
为到主机的连接提供终端仿真。
         ⑥
指导电自由件发送到正确的网络目标上。
         ⑦
用不同的结构连接网络。


       5Modem


         Modem通常配合串行口实现数字信号与模拟信号之间的相互转换,从而可以利用电话线或电力线进行远程通信。


         (四)RJ-45接头


         RJ-45接头有T568AT568B两种标准。
RJ45
线的对接方法如下(T568B)
A
<——> B
1 pin
白橙 白绿
2 pin
橙 绿
3 pin
白绿 白橙
4 pin
蓝 蓝
5 pin
白蓝 白蓝
6 pin
绿 橙
7 pin
白棕 白棕
8 pin
棕 棕
        
普通跳线:用于电脑网卡与模块的连接、配线架与配线间的连接、配线架与HUB或交换机的连接。它的两端的RJ45接头接线方式是相同的。如下图1-8-19,其中TD代表传送,各有两条线(TD+TD-);而RD代表接收,也有两条线(RD+RD-)。
        
交叉连接线:用于HUB与交换机等设备间的连接。它们两端的RJ45接线方式是不相同的,要求其中的一个接线对调1/23/6线对。而其余线对则可依旧按照一一对应的方式安装。


系统分类:


接口电路


用户分类:


通讯接口


标签:


通信 接口 协议


来源:


转贴


发表评论 阅读全文(145) | 回复(0)


0




RS-485总线的理论与实践


发表于 2007-8-17 18:34:30


摘 要:阐述了RS-485总线规范,描述了影响RS-485总线通信速率和通信可靠性的三个因素,同时提出了相应的解决方法并讨论了总线负载能力和传输距离之间的具体关系。


关键词:RS-485 现场总线 信号衰减 信号反射


当前自动控制系统中常用的网络,如现场总线CANProfibusINTERBUS-S以及ARCNet的物理层都是基于RS-485的总线进行总结和研究。


一、EIA RS-485标准


在自动化领域,随着分布式控制系统的发展,迫切需要一种总线能适合远距离的数字通信。在RS-422标准的基础上,EIA研究出了一种支持多节点、远距离和接收高灵敏度的RS-485总线标准。


RS-485标准采有用平衡式发送,差分式接收的数据收发器来驱动总线,具体规格要求:


     1.接收器的输入电阻RIN≥12kΩ


     2.驱动器能输出±7V的共模电压


     3.输入端的电容≤50pF


     4.在节点数为32个,配置了120Ω的终端电阻的情况下,驱动器至少还能输出电压1.5V(终端电阻的大小与所用双绞线的参数有关)


     5.接收器的输入灵敏度为200mV(即(V+-V-≥0.2V,表示信号“0”;(V+-V-≤-0.2V,表示信号“1”


  因为RS-485的远距离、多节点(32个)以及传输线成本低的特性,使得EIA RS-485成为工业应用中数据传输的首选标准。


二、影响RS-485总线通讯速度和通信可靠性的三个因素


1、在通信电缆中的信号反射


在通信过程中,有两种信号因导致信号反射:阻抗不连续和阻抗不匹配。


阻抗不连续,信号在传输线末端突然遇到电缆阻抗很小甚至没有,信号在这个地方就会引起反射,如图1所示。这种信号反射的原理,与光从一种媒质进入另一种媒质要引起反射是相似的。消除这种反射的方法,就必须在电缆的末端跨接一个与电缆的特性阻抗同样大小的终端电阻,使电缆的阻抗连续。由于信号在电缆上的传输是双向的,因此,在通讯电缆的另一端可跨接一个同样大小的终端电阻,如图2所示。



从理论上分析,在传输电缆的末端只要跨接了与电缆特性阻抗相匹配的终端电阻,就再也不会出现信号反射现象。但是,在实现应用中,由于传输电缆的特性阻抗与通讯波特率等应用环境有关,特性阻抗不可能与终端电阻完全相等,因此或多或少的信号反射还会存在。


引起信号反射的另个原因是数据收发器与传输电缆之间的阻抗不匹配。这种原因引起的反射,主要表现在通讯线路处在空闲方式时,整个网络数据混乱。


信号反射对数据传输的影响,归根结底是因为反射信号触发了接收器输入端的比较器,使接收器收到了错误的信号,导致CRC校验错误或整个数据帧错误。


在信号分析,衡量反射信号强度的参数是RAFRefection Attenuation Factor反射衰减因子)。它的计算公式如式(1)。


RAF=20lg(Vref/Vinc) 1


式中:Vref—反射信号的电压大小;Vinc—在电缆与收发器或终端电阻连接点的入射信号的电压大小。


具体的测量方法如图3所示。例如,由实验测得2.5MHz的入射信号正弦波的峰-峰值为+5V,反射信号的峰-峰值为+0.297V,则该通讯电缆在2.5MHz的通讯速率时,它的反射衰减因子为:


RAF=20lg(0.297/2.5)=-24.52dB



要减弱反射信号对通讯线路的影响,通常采用噪声抑制和加偏置电阻的方法。在实际应用中,对于比较小的反射信号,为简单方便,经常采用加偏置电阻的方法。在通讯线路中,如何通过加偏置电阻提高通讯可靠性的原理,后面将做详细介绍。


2、在通讯电缆中的信号衰减


第二个影响信号传输的因素是信号在电缆的传输过程中衰减。一条传输电缆可以把它看出由分布电容、分布电感和电阻联合组成的等效电路,如图4所示。



电缆的分布电容C主要是由双绞线的两条平行导线产生。导线的电阻在这里对信号的影响很小,可以忽略不计。信号的损失主要是由于电缆的分布电容和分布电感组成的LC低通滤波器。PROFIBUS用的LAN标准型二芯电感(西门子为DP总线选用的标准电缆),在不同波特率时的衰减系数如表1所示。


                  表1 电缆的衰减系数


            通讯波特率       16MHz   4MHz   38.4kHz  9.6kHz
            衰减体系数(1km)    ≤42dB  ≤22dB   ≤4dB   ≤2.5dB


3、在通讯电缆中的纯阻负载


影响通讯性能的第三个因素是纯阻性负载(也叫直流负载)的大小。这里指的纯阻性负载主要由终端电阻、偏置电阻和RS-485收发器三者构成。



在叙述EIA RS-485规范时曾提到过RS-485驱动器在带了32个节点,配置了150Ω终端电阻的情况下,至少能输出1.5V的差分电压。一个接收器的输入电阻为12kΩ,整个网络的等效电路如图5所示。按这样计算,RS-485驱动器的负载能力为:


RL=32个输入电阻并联||2个终端电阻=((12000/32×150/2))/12000/32+150/2))≈51.7Ω


现在比较常用的RS-485驱动器有MAX485DS3695MAX1488/1489以及和利时公司使用的SN75176A/D等,其中有的 RS-485驱动器负载能力可以达到20Ω。在不考虑其它诸多因素的情况下,按照驱动能力和负载的关系计算,一个驱动器可带节点的最大数量将远远大于32 个。


在通讯波特率比较高的时候,在线路上偏置电阻是很有必要的。偏置电阻的连接方法如图6。它的作用是在线路进入空闲状态后,把总线上没有数据时(空闲方式)的电平拉离0电平,如图7。这样一来,即使线路中出现了比较小的反射信号或干扰,挂接在总线上的数据接收器也不会由于这些信号的到来而产生误动作。



通过下面后例子了,可以计算出偏置电阻的大小:


终端电阻Rt1=Rr2=120Ω


假设反射信号最大的峰-峰值Vref≤0.3Vp-p,则负半周的电压Vref≤0.15V;终端的电阻上由反射信号引起的反射电流 Iref≤0.15/(120||120)=2.5mA。一般RS-485收发器(包括SN75176)的滞后电压值(hysteresis value)为50mV,即:


Ibias-Iref×Rt1||Rt2≥50mV


于是可以计算出偏置电阻产生的偏置电流Ibias≥3.33mA


+5V=Ibias(R上拉+R下拉+Rt1||Rt2) 2


通过式2可以计算出R上拉=R下拉=720Ω


在实际应用中,RS-485总线加偏置电阻有两种方法:


1)把偏置电阻平衡分配给总线上的每一个收发器。这种方法给挂接在RS-485总线上的每一个收发器加了偏置电阻,给每一个收发器都加了一个偏置电压。


2)在一段总线上只用一对偏置电阻。这种方法对总线上存在大的反射信号或干扰信号比较有效。值得注意的是偏置电阻的加入,增加了总线的负载。


三、RS-485总线的负载能力和通讯电缆长度之间的关系


在设计RS-485总线组成的网络配置(总线长度和带负载个数)时,应该考虑到三个参数:纯阻性负载、信号衰减和噪声容限。纯阻性负载、信号衰减这两个参数,在前面已经讨论过,现在要讨论的是噪声容限(Noise Margin)。RS-485总线接收器的噪声容限至少应该大于200mV。前面的论述者是在假设噪声容限为0的情况下进行的。在实际应用中,为了提高总线的抗干扰能力,总希望系统的噪声容限比EIA RS-485标准中规定的好一些。从下面的公式能看出总线带负载的多少和通讯电缆长度之间的关系:


Vend=0.8(Vdriver-Vloss-Vnoise-Vbias) (3)


其中:Vend为总线末端的信号电压,在标准测定时规定为0.2VVdriver为驱动器的输出电压(与负载数有关。负载数在535个之间, Vdriver="2".4V;当负载数小于5Vdriver=2.5V;当负载数大于35Vdriver≤2.3V);Vloss为信号在总线中的传输过程中的损耗(与通讯电缆的规格和长度有关),由表1提供的标准电缆的衰减系数,根据公式衰减系数b=20lg(Vout/Vin)可以计算出Vloss =Vin-Vout=0.6V(注:通讯波特率为9.6kbps,电缆长度1km,如果特率增加,Vloss会相应增大)Vnoise为噪声容限,在标准测定时规定为0.1VVbias是由偏置电阻提供的偏置电压(典型值为0.4V)。


式(3)中乘以0.8是为了使通信电缆不进入满载状态。从式(3)可以看出,Vdriver的大小和总线上带负载数的多少成反比,Vloss的大小和总线长度成反比,其他几个参数只和用的驱动器类型有关。因此,在选定了驱动器的RS-495总线上,在通信波特率一定的情况下,带负载数的多少,与信号能传输的最大距离是直接相关的。具体关系是:在总线允许的范围内,带负载数越多,信号能传输的距离就越小;带负载数据少,信号能传输的距离就发越远。


四、分布电容对RS-485总线传输性能的影响


电缆的分布电容主是由双绞线的两条平行导线产生。另外,导线和地之间也存在分布电容,虽然很小,但在分析时也不能忽视。分布电容对总线传输性能的影响,主要是因为总线上传输的是基波信号,信号的表达方式只有“1”“0”。在特殊的字节中,例如0x01,信号“0”使得分布电容有足够的充电时间,而信号“1”到来时,由于分布电容中的电荷,来不及放电,(Vin+)—(Vin-)-还大于200mV,结果使接爱误认为是“0”,而最终导致CRC校验错误,整个数据帧传输错误。具体过程如图8所示。



由于总线上分布影响,导致数据传输错误,从而使整个网络性能降低。解决这个问题有两种方法: (1)降低数据传输的波特率;


2)使用分布电容小的电缆,提高传输线的质量。


 


 



系统分类:


接口电路


用户分类:


通讯接口


标签:


RS485


来源:


转贴


发表评论 阅读全文(125) | 回复(0)


0




RS232C、RS422/RS485串行通信标准


发表于 2007-8-17 12:16:16



                RS232CRS422/RS485串行通信标准


 


摘自《监控组态软件及其应用》


一、RS232C串行接口标准简介


RS232C1969年有电子工业协会(EIA)公布的标准,RS是推荐标准(recommended standard)的缩写。该标准的用途是定义数据终端设备(DTE)与数据通信设备(DCE)接口的电气特性。图1是个人计算机通过RS232C、调制解调器访问远程计算机的应用框图。RS232C接口在个人计算通信中起着极为重要的作用。



1 RS232C接口应用图例


1RS232C信号特性、电缆长度及波特率


为了确保正确的发送二进制数据和正确的执行设备控制,RS232C标准为数据和管制信号提供了电压标准及范围。当RS232C的线路上没有通信的数据信号时,DTE端的发送信号保持-15V的电压。电压标准如表1所示


1 交换电压标准




电压


逻辑状态


信号状态


接口控制功能


+3V+15V


0


间隔


接通


3V~-15V


1


标志


断开


RS232C标准规定电缆长度限定在15m以内,串行数据传速率的范围为020000b/s。这一规定足以覆盖个人计算机使用的509600b/s范围。电缆长度也足以满足大多数个人计算机通信的要求。


2RS232C引脚分配及定义


RS232C标准规定设备间使用带"D"25针连接器的电缆通信。“D"25芯标准连接器见图2所示。在这25根引线中,有20根要用作信号线,其他3根(111825)未定以用途,2根(910)备用。



2 RS232C25针连接器引脚定义进行了说明


     2 RS232C标准25针连接器引脚定义




引脚号


名称


名称缩写


信号方向


说明


1


frame ground


FG


 


屏蔽地线


2


transmitted data


TXD


DTEDCE


传送数据线


3


received data


RXD


DCEDTE


接受数据线


4


request to send


RTS


DTEDCE


请求发送


5


clear to send


CTS


DCEDTE


允许发送


6


data set ready


DSR


DCEDTE


数据设备(DCE)准备好


7


signal ground


SG


 


信号逻辑地线


8


data carrier  detect


DCD


DCEDTE


数据载波检测


9


reserved


 


 


备用


10


reserved


 


 


备用


11


unassigned


 


 


未定义


12


secondary data carrier detect


DCD


DCEDTE


数据载波检测(二次通道)


13


secondary clear to send


CTS


DCEDTE


允许发送(二次通道)


14


secondary transmintted data


TXD


DTEDCE


传送数据(二次通道)


15


transmit clock


TXC


DCEDTE


传送时钟


16


secondary received data


RXD


DCEDTE


接受数据线(二次通道)


17


received clock


RXC


DTEDCE


接受时钟


18


unassigned


 


 


未定义


19


secondary request send


RTS


DTEDCE


请求发送(二次通道)


20


data terminal ready


DTR


DTEDCE


数据终端准备好 


21


signal quality detect


SQD


DCEDTE


信号质量检测


22


ring indicator


RI


DCEDTE


振铃指示


23


data rate select


DRS


DTEDCE


数据速率选择。它是针对21引脚改变的答应


24


external transmit clock


 


DTEDCE


外部发送时钟


25


unassigned


 


 


未定义


但目前已经很少有人使用25D型连接器了,一般都使用9D型连接器,9针和25针连接器间的对应关系如表3所示


3 9针连接器和25针连接器间的对应关系




9针连接器


25针连接器


1


8


2


3


3


2


4


20


5


7


6


6


7


4


8


5


9


22


3RS232C数据线


RS232C的数据线有2根:发送数据线 TXD 和接收数据线RXD。与逻辑地线7结合起来工作,足以实现全双工和半双工的信息传输。信号是从DTE角度说明的,在DTE一方引脚2定义为TXD,引脚3定义为RXD。为了使DCE能很好地与DTE配合,协同进行发送与接收工作,在DCE一方引脚2定义为RXD,引脚3定义为TXD,为了能实现正确地传输,对这一点必须给予应有的注意。在使用RS232C标准插头实现连接之前,用户必须根据已有的DTEDCE的具体说明,做好匹配的调整工作。


对数据线上所传输的数据格式、RS232C标准并没有严格的规定。所传输的数据速率是多少、有无奇偶校验位、停止位为多少、字符代码采用多少位等问题,应由发送方与接受自行商定,达成一致的协议。


4RS232C的控制线


RS232C的控制线是为建立通信链接和维持通信链接而使用的信号。图3所示通信过程说明了RS232C控制线的功能



在图中,本地的数据终端设备DTE通过本地及远程的调制解调器,与远程的数据终端DTE进行通信,DTEMODEM 之间采用的是RS232C接口。MODEM之间则是通过电话线进行数据交换,图3标出了通信过程和RS232C的控制信号出现的从上向下的顺序。


1 DTE:数据终端准备好。DTE设备加电以后,并能正确实现通信的功能,向DCE发出DTR信号,表示数据终端已做好准备工作,可以进行通信。


2 DSR :数据设备准备好。数据设备是DCE通信的设备,如此的MODEMMODEM加电以后,并能正常执行通信功能时,向DTE发出DSR信号,表示MODEM已准备好。这两个准备好信号,在通信的过程中首先要对他们进行测试,以了解通行对方的状态,以可靠的建立通信。但是如果通信的对方并不要求测试,就可以不发出此信号。


3RTS :请求发送。当DTE有数据需要向远程DTE传输通信时,DTE在测得DSR有效,即MODEM接收到   信号时 ,根据提供的目的电话编码,向远程MODEM发出呼叫。远程RST收到此呼叫,首先发出2000HZ得短小短续得冲击声,以关闭电话线路得回声消除器,然后发出回答载波信号。本地MODEM接收此载波信号,确认已获得两对方的同意,它向远程MODEM发出原载波信号相对方表示是一个可用的MODEM同时用RS232C的第8引线发出数据载波信号DCD,向DTE表示已检测出有效的回答载波信号


4DCD:数据载波检测时MODEM发向DTE,表示已检测出对方载波信号。


5CTS:允许发送。每当一个MODEM辨认出对方MODEM已准备好运行接收时,他们便用CTS信号通知自己的DTE,表示这个通信通路已为传输数据作好准备,允许DTE进行数据的发送。至此通信链路才建立,开始通信。


在半双工的通信中,CTS是对DTERTS信号的答应,使DTE开始传输数据。在全双工的通信中,CTS一般保持很长时间,而对RTS并不要求保持很长时间,通信链路建立后,即可降下。


上述这些控制线,连同数据线及逻辑地线(引线7),即可构成基本的最长接线。


6RI:振铃指示线。如果MODEM具有自动应答能力,当对方通信传叫来时,MODEM用引线向DTE发出   信号,指示此呼叫。在电话呼叫振铃结束后,MODEMDTE已准备好通信的条件(即DTE有效),立即向对方自动应答


5RS23C的连接方法


RS232C的机械结构中,有25个插针的连接器(DB-25)。数据采集和控制系统中如果有联网通信,和在本地和远程控制数据时,RS232C是数据终端设备和调制解调器之间的接口标准,所以数据终端设备和调制解调器各有对应的规格,通信会连接的双方必须配对。


终端与终端之间连接的例子如图4所示



1)发送终端与接收终端连接,和接收端与发送端连接,各级端一旦处于工作状态,就可以不管对方的状态而发送或接收数据,由软件来去认数据的发送和接收。


2)一方的RTS和另一方的CTS相连。这种情况挂钩联络是困难的,互相通信时,需要知道对方是否可以接收数据。但是这种连接方式只求通过发送请求将对方置与可发送状态。编制程序时,必须注意这个问题。


3)通过检查DSR,能够确认对方是否输出了发送请求,把DTR置于ON,使对方知道可以接收,因而注意这个问题。另外,大规模集成电器与RS232C的连接方法很多,只要充分了解RS232C的接口规定,就可以迎刃而解。


二、RS422RS485


随着通信技术的发展,对通信速率的要求越来越高,距离要求越来越远。根据RS232C标准,他的最高传输速率为20kb/s时,最远距离仅为15m,当然在使用中也可达到60m,但这远远不能满足上述发展对速度及距离所提出的新的要求。美国EIA学会与1977年在RS232C基础上提出了改进的标准RS449,现在的RS422RS485都是从RS449派生出来的。


RS422是利用差分传输方式提高通信距离和可靠性的一种通信标准,它在发送端使用2根信号线发送同一信号(2根线的极性相反),在接收端对这两根线上的电压信号相减得到实际信号,这种方式可以有效的抗共模干扰,提高通信距离,最远可以传送1200m,原理图如图 5



5 RS422/RS485原理


 RS485的电器标准与RS422完全相同,但当RS485线路空闲(即不传送信号)时,线路处于高阻(或挂起)状态这时RS485线路就可以允许被其他设备占用,也就是说具有RS485通信接口的设备连成网络。根据RS485驱动芯片驱动能力的不同,一个RS485数据发送设备可以驱动32256RS485数据接收设备。当RS485网络上的设备多于2台时,就必须采用半双工方式进行通信,即数据发送和接收使用同一线路,发送时不允许接收数据进入线路,反之亦然,在RS485网络中只允许有一个设备是主设备,其余全部是从设备;或者无主设备,各个设备之间通过传递令牌获得总线控制权。


由于RS422/RS485具有诸多优点,现已被大量采用,但普通PC机很少直接配置RS422/RS485通信接口,只有工控机提供的ALL-IN-ONE,主板配置有RS422/RS485通信口,可以用跳线选择T通信的工作方式是RS422还是RS485。市场上有大量的RS422/RS485/RS232转换或可以直接插在PC机扩展槽上的RS422/RS485通信卡销售。


三、20mA电流环接口


另一种流行的串行连接方式是电流控制,而不像RS232C标准那样用电压控制。电流控制是把20mA电流作为逻辑“1”,零电流作为逻辑“0”


电流还在许多方面比RS232C接口优越。它内在的双端传输具有对共模噪音的抑止作用,而且由于他采用隔离技术能消除接地回路引起的一些问题,因而他的连接距离比RS232C长的多。


EIARS232C接口作为正式标准,而20mA电流环的文件在目前还只是非正式标准。所以,大多说制造厂商都提供RS232C串行接口,这样这种连接得到了最广泛的使用。因为RS232C和电流接口之间只在电气连接上存在差别,所以两者可共用I/O接口,设计师常常为串行口提供2个不同的连接器来利用这个公共口。一个接到电流环,另一个接到RS232C。这就允许用户根据具体情况,决定采用2种接口中的一种。


市场上也有产品可以直接插在PC机扩展槽上的电流环通信卡销售。


 


 

PARTNER CONTENT

文章评论1条评论)

登录后参与讨论

用户32216 2007-11-16 12:27

真是多谢了,找到了不少要找的,下来好好看看!

相关推荐阅读
用户1319032 2007-10-24 11:18
内存常见术语介绍
内存技术术语    BANK:BANK是指内存插槽的计算单位(也有人称为记忆库),它是计算机系统与内存间资料汇流的基本运作单位。       内存的速度:内存的速度是以每笔CPU与内存间数据处理耗费的...
用户1319032 2007-10-05 14:42
NAND & NOR
随着嵌入式系统越来越广泛的应用,嵌入式系统中的数据存储和数据管理已经成为一个重要的研究课题. FLASH存储器具有速度快,成本低等很多优点,因此在嵌入式系统中的应用也越来越多.为了合理地管理存储数据,...
我要评论
1
11
关闭 站长推荐上一条 /3 下一条