当前位置:文档之家› RS485串口通信原理

RS485串口通信原理

RS485串口通信原理
RS485串口通信原理

RS485串口通信原理

一、RS485串口通信电路图

二.VxWorks中基于RS485总线的串口通信协议及实现

摘要:本文介绍了在嵌入式实时操作系统Vxworks下串行设备的驱动架构及实现,提出了一种基于RS-485总线的新型串口通信协议,重点讨论了基于这种协议的应用程序的设计方法,发送时主要采用了总线仲裁机制,接收时主要采用了

字符合法性校验、长度校验、内容的CRC校验,提高了系统的通信效率和稳定性。

关键词:VxWorks;RS-485;通信协议;总线仲裁;CRC校验

1 引言

随着信息技术和互联网的飞速发展,以及计算机、通讯、数码产品等领域的高速增长,数字化时代已经来临。嵌入式设备是数字化时代的主流产品,嵌入式软件是数字化产品的核心,作为嵌入式软件的基础和关键,嵌入式操作系统在产

业发展过程中扮演着越来越重要的角色,应用遍及工业自动化、网络通信、航空航天、医疗仪器等领域。

2 RS-485总线

RS-485总线接口是一种常用的串口,具有网络连接方便、抗干扰性能好、传输距离远等优点。RS-485收发器采用平衡发送和差分接收,因此具有抑制共模干扰的能力,加上收发器具有高的灵敏度,能检测到低达200mv的电压,可靠通信的

传输距离可达数千米。使用RS-485总线组网,只需一对双绞线就可实现多系统联网构成分布式系统、设备简单、价格低廉、通信距离长。

3 VxWorks中串口驱动的实现

VxWorks 操作系统是美国Wind River公司设计开发的嵌入式实时操作系统(RTOS),是嵌入式开发环境的关键组成部分。Vxworks 操作系统的I/O 系统可以提供简单、统一、与任何设备无关的接口。这些设备包括:面向字符设备、随机块

存储设备、虚拟设备、控制和监视设备以及网络设备。Vxworks 的I/O 系统包括基本I/O 系统和缓冲I/O 系统,具有比其他I/O 系统更快速,兼容性更好的特性。这对于实时系统是很重要的。

3.1 串口驱动架构

基于vxWorks的串口设备驱动程序架构,对vxWorks的虚拟设备ttyDrv进行封装,向上将TTY设备安装到标准的I/O系统中,上层应用通过标准的I/O 接口完成对硬件设备的操作,向下提供对实际硬件设备的底层设备驱动程序。其软件架构

如图1所示。

由图1可知,串口设备驱动由两部分组成,一部分为对ttyDrv进行封装,将串行设备安装到标准的I/O系统中,提供对外的接口;另一部分为串行设备驱动程序,提供对硬件设备的基本操作。

虚拟设备ttyDrv管理着I/O系统和真实驱动程序之间的通信。在I/O系统方面,虚拟设备ttyDrv作为一个字符型设备存在,它将自身的入口点函数挂在I/O系统上,创建设备描述符并将其加入到设备列表中。当用户有I/O请求包到达I/O系统

中时,I/O系统会调用ttyDrv相应的函数响应请求。同时,ttyDrv管理了缓冲区的互斥和任务的同步操作。另一方面,ttyDrv负责与实际的设备驱动程序交换信息。通过设备驱动程序提供的回调函数及必要的数据结构,ttyDrv将系统的

I/O请求作相应的处理后,传递给设备驱动程序,由设备驱动程序完成实际的I/O操作。

3.2 驱动初始化

串口设备的初始化xxDevInit流程如图2。

设备驱动的初始化过程首先调用系统函数ttyDrv(),该函数通过调用iosDrvInstall()将ttyOpen()、ttyIoctl()、tyRead()、tyRead、tyWrite安装到系统驱动函数表中,供I/O系统调用。

接着根据用户入参对串口芯片寄存器进行初始化,安装驱动函数指针。

最后调用系统函数ttyDevCreate()创建ttyDrv设备。该函数初始化设备描述符,调用tyDevInit()函数初始化tyLib、初始化select功能、创建信号量和输入输出缓冲区,调用iosDevAdd()函数将设备添加到设备列表中并将设备置为中断模

式。

驱动模块初始化成功后,应用程序就可以用标准的I/O函数read()和write()收发数据了。

4 RS-485通信协议

4.1 485通信帧格式

表1 485通信帧格式

目的地址

源地址

长度

控制

帧净荷数据

CRC检验

1Byte

1Byte

1Byte

2Bytes

由长度字节确定,≤255Bytes

2Bytes

长度字段不包含控制字段、检验字段。校验字段使用CCITT的CRC16的校验方法,其生成多项式为。校验字段默认是加上的,只有在发送方的CPU负荷比较大时,并且能够保证本帧出现的错误不会对系统产生潜在的和现实的影响,或者保

证影响在可以控制在一定范围内并且可以忍受时,才考虑取消校验字段。当接收方接收到帧的总长度减去长度字段值与帧头的长度之和,得到的结果为2时,表明发送方附带了校验和。

4.2 485数据链路层帧

表2 485链路层帧格式

头标志(0x7E)

485通信帧

尾标志(0x7E)

1Byte

最大不超过485通信帧的长度(不包括字节拆分的添加字符)

2Bytes

头标志是任意个数的连续的字符0x7E,尾标志也是任意个数的连续的字符0x7E。预定头标志为1Byte,尾标志为2Bytes,在发送方的CPU认为发送完毕最后一个尾标志字符时,保证第一个尾标志字符能够完全到达目的设备。发送方除头标

志或尾标志之外,不允许出现0X7E,若遇到0X7E,则拆分成0X7D,0X5E;若出现0X7D,则拆分成0X7D,0X5D传送。

5 串行通信应用程序设计

5.1 初始化配置

创建一个51200Bytes的接收环形缓冲区,用来存放剩余的或不成帧的数据:g_tRecvRingId = rngCreate(51200);

串口设备描述符为“myCom”,打开串口并创建设备读写描述符:

g_sdwChannelFD = open(“myCom”, O_RDWR, 0);

设置波特率:ioctl(g_sdwChannelFD, FIOBAUDRA TE, g_RS485LinkCB[i].sdwBaudRate);

清空接收、发送缓存:ioctl(g_sdwChannelFD, FIOFLUSH,0);

工作模式设置:ioctl(g_sdwChannelFD, FIOSETOPTIONS, OPT_RAW);

5.2 通信发送过程

在发送之前,发送方需要按照双方约定的485通信帧格式将消息组帧,并按照约定数据链路传输协议组成485的数据链路帧。接下来就是如何发送数据包了。

在RS-485通信中,发送过程主要采取了总线仲裁机制:

在向485总线写数据时,主设备先写一字节的地址请求,所有的从设备均会收到,只有地址与之相等的从设备端口打开,其他设备全部关闭。这样,主设备与从设备之间的通信就是点对点的。

每一个从设备均有一根请求线与主设备相连,若从设备需要与主设备通信时,先通过请求线进行请求,当请求成功后,从设备应能检测到总线上的地址与自身地址相同,从设备才能打开发送中断,才能发送消息,发送完之后必须关闭发

送中断,释放总线,以保证其他从设备这段时间能与主设备正常通信,提高通信效率。

RS-485通信发送流程图如图3所示。

5.3 通信接收过程

对于串口通信,仍然要关心数据接收的实时性,因此采用中断方式,利用VxWorks 提供的select 函数的事件触发机制,将读串口的任务阻塞使其一直等待数据,当有数据来到的时候该任务会立刻自动响应,提高系统的实时性,调用

read( )接收数据并存入先前创建的接收环形缓冲区g_tRecvRingId中直至缓冲区g_tRecvRingId满或接收完链路上的数据,接下来就是根据通信协议来处理数据包――解帧处理过程。

接收方判断开始485通信帧的条件是,设备不报告接收错误的情况下,接收到0x7E字符之后的第一个非0x7E的字符。判断帧结束的条件是,帧接收已经开始,遇到第一个尾标志字符。在两个0X7E间若收到0X7D,则丢弃,并将其后的一个字

节数据与0X20异或。

当链路层的通信帧接收已经开始的情况下,设备报告字符接收错误,此时应当丢弃本帧,结束帧的接收,重新开始搜索下一帧。

长度字段后面的字节个数不等于长度字段指示,并且也不等于长度字段加2时,指示长度错误,作无效帧。帧长度小于帧头的长度的帧视为无效帧。当接收的字符个数超过最大的485通信帧字节数——262时,也认为接收错误,重新开始搜

索头标志,检出下一帧数据。

超时保护:如果接收收方在接收一帧数据时,在未接收完一帧时,超过20ms(2个Ticks)仍未有数据到达,则认为本帧数据接收结束,并将其丢弃。

在允许进行校验的情况下,对接收到的帧进行CRC校验。如果校验字段与帧的校验结果不符,认为帧出错,通常作丢弃处理。

帧头中,目的地址与接收单元不匹配时,丢弃该帧。

6、结束语

VxWorks是一种高性能嵌入式实时操作系统,它以其良好的可靠性和卓越的实时性被广泛地应用在通信、自动化、航空等各个领域中。许多外部终端设备如打印机、逻辑分析仪等都采用串行方式,以及对单板的调试也要用到串行口,因此

掌握在Vxworks下的串行通信是非常重要的。

本文的创新之处在于提出一种新的RS-485通信协议,在这种协议中,发送方根据协议组帧,再采用总线仲裁机制将消息发送出去,而接收方则将收到的字符合法性校验,当收到一帧完整的帧后,根据帧头中长度字段做帧长度校验,再采

用CCITT的CRC16校验方法做内容校验,如果长度校验已经出错,则不再做内容校验,提高了通信效率。文章给出了基于这种协议的串口通信应用程序的设计,详细描述了通信双方遵循约定的通信协议的通信过程及如何保证通信过程中信

号的正确性、完整性。笔者在VxWorks开发过程中已将应用程序用于实例,而且运行可靠,具有很强的实用价值。

RS232串口通信实验报告

RS232串口通信实验报告 学院:电子信息学院 班级:08031102 姓名:张泽宇康启萌余建军 学号:2011301966 2011301950 2011301961 时间:2014年11月13日 学校:西北工业大学

一.实验题目: 设计一个简单的基于串口通信的信息发送和接受界面 二.实验目的: 1.熟悉并掌握RS232串口标准及原理。 2.实现PC机通过RS232串口进行数据的收发。 3.熟悉VC语言编写程序的环境,掌握基本的VC语言编程技巧。 三.实验内容 程序代码: P// PC1PC2Dlg.cpp : implementation file // #include "stdafx.h" #include "PC1PC2.h" #include "PC1PC2Dlg.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ////////////////////////////////////////////////////////////////////////// // CAboutDlg dialog used for App About class CAboutDlg : public CDialog { public: CAboutDlg(); // Dialog Data //{{AFX_DATA(CAboutDlg) enum { IDD = IDD_ABOUTBOX }; //}}AFX_DATA // ClassWizard generated virtual function overrides //{{AFX_VIRTUAL(CAboutDlg) protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support //}}AFX_VIRTUAL

什么是RS485通信接口

什么是RS485通信接口 通信概述 通信设备从早期的邮件,电报,电话,传真,传呼机,手机,电脑,一路发展下来,而且随着科技的发展,世界必将由一个网络组成,所以,在未来开发的设备中,也必然要求大部分的设备都带有通信的功能。 设备与设备之间互相通信,就要有一座桥梁把二者连接起来,那就是传输通路与通信协议。传输通路由传输介质与传输接口组成,传输介质可分为有线和无线传输介质两大类。 有线传输介质在数据传输中只作为传输介质,而非信号载体。计算机网络中流行使用的有线传输介质为:铜线和玻璃纤维。 铜线具有便宜,安装容易的特点,在现在工业应用中普遍应用,在应用中主要有两种基本的铜线类型:双绞线和同轴电缆。双绞线可减小流过电流所辐射的能量,也可防止来自其他通信线路上信号的干扰,对于一些要求比较高的项目上,还需要给双绞线加上屏蔽层;同轴电缆由一对同轴导线组成。同轴电缆频带宽,损耗小,具有比双绞线更强的抗干扰能力和更好的传输性能。按阻抗值不同,同轴电缆可分为基带和宽带两种,同轴电缆是目前局域网与有线电视网中普遍采用的比较理想的传输介质。 所谓玻璃纤维介质,就是指现在所流行的光纤传输,他的两边有一个激光发生器与一个激光接收器,组成一整套通信线路,由于光纤传输距离远,因此现很多在工程都是采用“光端机+光纤”的模式。 结合我在工程中经常应用的通信模式,与“南方的老树51CPLD开发板”上具有的RS232通信、RS485通信两种,详细讲解下这两种通信方式的应用。 什么是RS232接口 首先介绍下什么是RS232接口,什么是RS485接口。

RS232接口是1970年由美国电子工业协会(EIA)联合贝尔系统、调制解调器厂家及计算机终端生产厂家共同制定的用于串行通讯的标准。它的全名是“数据终端设备(DTE)和数据通讯设备(DCE)之间串行二进制数据交换接口技术标准”该标准规定采用一个25个脚的DB25连接器,对连接器的每个引脚的信号内容加以规定,还对各种信号的电平加以规定。DB25的串口一般只用到的管脚只有2(RXD)、3(TXD)、7(GND)这三个,随着设备的不断改进,现在DB25针很少看到了,代替他的是DB9的接口,DB9所用到的管脚比DB25有所变化,是2(RXD)、3(TXD)、5(GND)这三个。因此现在都把RS232接口叫做DB9。 元器件常识:市场上把公头的接插件叫做DRXX,母头的叫DBXX,比如我们电脑上的串口,在市场上叫做DR9,不是DB9,很多人都误叫做DB9,实际上的DB9是两个把两个DR9互相连接在一起的接口。 在文章中,我把所有的串口设备接口都统一叫做RS232接口。 三、什么是RS485接口 由于RS232接口标准出现较早,难免有不足之处,主要有以下四点: (1)接口的信号电平值较高,易损坏接口电路的芯片,又因为与TTL 电平不兼容故需使用电平转换电路方能与TTL电路连接。 (2)传输速率较低,在异步传输时,波特率为20Kbps;因此在“南方的老树51CPLD开发板”中,综合程序波特率只能采用19200,也是这个原因。 (3)接口使用一根信号线和一根信号返回线而构成共地的传输形式,这种共地传输容易产生共模干扰,所以抗噪声干扰性弱。 (4)传输距离有限,最大传输距离标准值为50英尺,实际上也只能用在50米左右。 针对RS232接口的不足,于是就不断出现了一些新的接口标准,RS-485就是其中之一,它具有以下特点:

RS232串口通信详解

串口是计算机上一种非常通用的设备通信协议。 --------------------------------- 串口的引脚定义: 两个串口连接时,接收数据针脚与发送数据针脚相连,彼此交叉,信号地对应相接即可。--------------------------------- 串口的电气特性: 1)RS-232串口通信最远距离是50英尺 2)RS232可做到双向传输,全双工通讯,最高传输速率20kbps 3)RS-232C上传送的数字量采用负逻辑,且与地对称 逻辑1:-3 ~-15V 逻辑0:+3~+15V 所以与单片机连接时常常需要加入电平转换芯片:

--------------------------------- 串口通信参数: a)波特率:RS-232-C标准规定的数据传输速率为每秒50、75、100、150、300、600、1200、2400、 4800、9600、19200波特。b)数据位:标准的值是5、7和8位,如何设置取决于你想传送的信息。比如,标准的ASCII码是0~127(7位);扩展的ASCII码是0~255(8位)。 c)停止位:用于表示单个包的最后一位,典型的值为1,1.5和2位。由于数是在传输线上定时的,并且每一个设备有其自己的时钟,很可能在通信中两台设备间出现了小小的不同步。因此停止位不仅仅是表示传输的结束,并且提供计算机校正时钟同步的机会。d)奇偶校验位:在串口通信中一种简单的检错方式。对于偶和奇校验的情况,串口会设置校验位(数据位后面的一位),用一个值确保传输的数据有偶个或者奇个逻辑高位。例如,如果数据是011,那么对于偶校验,校验位为 0,保证逻辑高的位数是偶数个。如果是奇校验,校验位位1,这样就有3个逻辑高位。 --------------------------------- 串口通信的传输格式:串行通信中,线路空闲时,线路的TTL电平总是高,经反向RS232的电平总是低。一个数据的开始RS232线路为高电平,结束时Rs232为低电平。数据总是从低位向高位一 位一位的传输。示波器读数时,左边是数据的高位。 例如,对于16进制数据55aaH,当采用8位数据位、1位停止位传输时,它在信号线上的波形如图1(TTL电平)和图 2(RS-232电平)所示。 55H=01010101B,取反后10101010B,加入一个起始位1,一个停止位0,55H的数据格式为1010101010B; aaH=10101010B,取反后01010101B,加入一个起始位1,一个停止位0,55H的数据格式为1101010100B;

基于VerilogHDL的RS-232串口通信在CPLD上的实现综述

基于Verilog的RS-232串口通信在CPLD上的实现 CPLD(Complex Programable Logic Device)是一种复杂的用户可编程逻辑器件。采用连续连接结构,延时可预测,从而使电路仿真更加准确。CPLD 是标准的大规模集成电路产品,可用于各种数字逻辑系统的设计。开发工具Quartus II、ISE等功能强大,编程语言灵活多样,使设计开发缩短了周期。 随着嵌入式的发展,对数据的传输和人机交互通信的要求越来越高。而串口通信因其资源消耗少、技术成熟而被广泛应用。系统中上位机与嵌入式芯片之间的交互通信可以通过专用集成芯片作为外设RS-232异步串行接口,如TI、EXAR、EPIC公司的550、452等系列UAWT集成电路,或在拥有Nios系统的FPGA上可以方便地嵌入UART模块。但是在设计中用户会提出自己的要求,如:数据加密或只使用UART部分功能等,即要求更灵活的UART。而且有时CPLD资源剩余,出于成本考虑也会要求设计一种模拟的UART。对于上述的两种情况,就可以在CPLD其丰富的资源上制作一款UART,实现PC机与嵌入式系统之间的数据交换。 1 串口通信协议 1.1 UART简介 通用异步收发器(Universal Asynchronous Receiver Transmitter,UART)。

异步通信的特点:不要求收发双方时钟的严格一致,实现容易,设备开销较小。具有相关工业标准提供的标准的接口电平规范等优点,在工业控制领域被广泛采用。 异步通信一帧字符信息由4部分组成:起始位、数据位、奇偶校验位和停止位。 本设计基于RS-232的数据帧结构,设置数据帧结构如图1所示:1 bit起始位,8 bit数据位,1 bit停止位,无校验位。每帧实质上传送1 Byte数据。 1.2 自定义数据包格式 多个上文所描述的帧就可以组成一个数据包。串口通信是在RS-232数据帧结构的基础上定义的,传输以数据包为单位进行。包结构如图2所示。 本文采用和校验的结构,一个数据包包含15 Byte。其中第1个字节是数据包头即握手字符。第2字节为控制字符,EE代表写命令,DD代表读命

RS485通讯几种常见问题

485通讯常见问题 1.MAX488/MAX490在点对点通信中工作很正常,为何在点对多点通信时无法正常通信? 由于MAX488/MAX490没有发送使能控制,因而其输出无法处于高阻态,当多个输出被连接在一起时(即点对多点通信时),差分输出信号线被多个发送器驱动(通常为TXD=1对应的电平状态);当某个节点开始通信,且发送TXD=0对应的差分电平时,A,B两线上将形成很大的短路电流,若长时间工作,则接口芯片将损坏;而这种情况不会在点对点通信中发生,且不会出现在点对多点通信中的处于点的一方,这也是象MAX488/MAX490以及其它一些没有发送使能控制的接口的适用范围。以上是造成这个问题的原因,当然,类似情况也会出现在那些带使能控制而软件没有编程控制使能的接口芯片中。 2.RS-485/RS-422接口为何在停止通信时接收器仍有数据输出? 由于RS-485/RS-422在发送数据完成后,要求所有的发送使能控制信号关闭且保持接收使能有效,此时,总线驱动器进入高阻状态且接收器能够监测总线上是否有新的通信数据。但是由于此时总线处于无源驱动状态(若总线有终端匹配电阻时,A和B线的差分电平为0,接收器的输出不确定,且对AB线上的差分信号的变化很敏感;若无终端匹配,则总线处于高阻态,接收器的输出不确定),容易受到外界的噪声干扰。当噪声电压超过输入信号门限时(典型值±200mV),接收器将输出数据,导致对应的UART接收无效的数据,使紧接着的正常通讯出错;另外一种情况可能发生在打开/关闭发送使能控制的瞬间,使接收器输出信号,也会导致UART错误地接收。 解决方法: 1)在通讯总线上采用同相输入端上拉(A线)、反相输入端下拉(B线)的方法对总线进行钳位,保证接收器输出为固定的“1”电平; 2)采用内置防故障模式的MAX308x系列的接口产品替换该接口电路; 3)通过软件方式消除,即在通信数据包内增加2-5个起始同步字节,只有在满足同步头后才开始真正的数据通讯。 3.采用RS-485/RS422接口通讯时,在什么条件下需要采用终端匹配?电阻值如何确定?如何配置终端匹配电阻?

RS485通信网络功能

RS-485通信网络功能 一 RS485接口 RS485采用差分信号负逻辑,+2V~+6V表示“0”,- 6V~- 2V表示“1”。RS485有两线制和四线制两种接线,四线制只能实现点对点的通信方式,现很少采用,现在多采用的是两线制接线方式,这种接线方式为总线式拓朴结构在同一总线上最多可以挂接32个结点。 在RS485通信网络中一般采用的是主从通信方式,即一个主机带多个从机。很多情况下,连接RS-485通信链路时只是简单地用一对双绞线将各个接口的“A”、“B”端连接起来。而忽略了信号地的连接,这种连接方法在许多场合是能正常工作的,但却埋下了很大的隐患,这有二个原因:(1)共模干扰问题:RS-485接口采用差分方式传输信号方式,并不需要相对于某个参照点来检测信号,系统只需检测两线之间的电位差就可以了。但人们往往忽视了收发器有一定的共模电压范围,RS-485收发器共模电压范围为-7~+12V,只有满足上述条件,整个网络才能正常工作。当网络线路中共模电压超出此范围时就会影响通信的稳定可靠,甚至损坏接口。(2)EMI问题:发送驱动器输出信号中的共模部分需要一个返回通路,如没有一个低阻的返回通道(信号地),就会以辐射的形式返回源端,整个总线就会像一个巨大的天线向外辐射电磁波。 由于PC机默认的只带有RS232接口,有两种方法可以得到PC上位机的RS485电路:(1)通过RS232/RS485转换电路将PC机串口RS232信号转换成RS485信号,对于情况比较复杂的工业环境最好是选用防浪涌带隔离珊的产品。(2)通过PCI多串口卡,可以直接选用输出信号为RS485类型的扩展卡。 二RS485布网 网络拓扑一般采用终端匹配的总线型结构,不支持环形或星形网络。在构建网络时,应注意如下几点:(1)采用一条双绞线电缆作总线,将各个节点串接起来,从总线到每个节点的引出线长度应尽量短,以便使引出线中的反射信号对总线信号的影响最低。有些网络连接尽管不正确,在短距离、低速率仍可能正常工作,但随着通信距离的延长或通信速率的提高,其不良影响会越来越严重,主要原因是信号在各支路末端反射后与原信号叠加,会造成信号质量下降。(2)应注意总线特性阻抗的连续性,在阻抗不连续点就会发生信号的反射。下列几种情况易产生这种不连续性:总线的不同区段采用了不同电缆,或某一段总线上有过多收发器紧靠在一起安装,再者是过长的分支线引出到总线。总之,应该提供一条单一、连续的信号通道作为总线。在RS485组网过程中另一个需要注意的

RS232串口通信详解

. 串口是计算机上一种非常通用的设备通信协议。 --------------------------------- 串口的引脚定义: 9芯信号方向来自缩写描述 1调制解调器CD载波检测 2调制解调器RXD接收数据 3PC TXD发送数据 4PC DTR数据终端准备好 5GND信号地 6调制解调器DSR通讯设备准备好 7PC RTS请求发送 8调制解调器CTS允许发送 9调制解调器RI响铃指示器 两个串口连接时,接收数据针脚与发送数据针脚相连,彼此交叉,信号地对应相接即可。--------------------------------- 串口的电气特性: 1)RS-232串口通信最远距离是50英尺 2)RS232可做到双向传输,全双工通讯,最高传输速率20kbps 3)RS-232C上传送的数字量采用负逻辑,且与地对称 逻辑1:-3 ~-15V 逻辑0:+3~+15V 所以与单片机连接时常常需要加入电平转换芯片:

--------------------------------- 串口通信参数: a)波特率:RS-232-C标准规定的数据传输速率为每秒50、75、100、150、300、600、1200、2400、 4800、9600、19200波特。b)数据位:标准的值是5、7和8位,如何设置取决于你想传送的信息。比如,标准的ASCII码是0~127(7位);扩展的ASCII码是0~255(8位)。 c)停止位:用于表示单个包的最后一位,典型的值为1,1.5和2位。由于数是在传输线上定时的,并且每一个设备有其自己的时钟,很可能在通信中两台设备间出现了小小的不同步。因此停止位不仅仅是表示传输的结束,并且提供计算机校正时钟同步的机会。d)奇偶校验位:在串口通信中一种简单的检错方式。对于偶和奇校验的情况,串口会设置校验位(数据位后面的一位),用一个值确保传输的数据有偶个或者奇个逻辑高位。例如,如果数据是011,那么对于偶校验,校验位为 0,保证逻辑高的位数是偶数个。如果是奇校验,校验位位1,这样就有3个逻辑高位。 --------------------------------- 串口通信的传输格式:串行通信中,线路空闲时,线路的TTL电平总是高,经反向RS232的电平总是低。一个数据的开始RS232线路为高电平,结束时Rs232为低电平。数据总是从低位向高位一 位一位的传输。示波器读数时,左边是数据的高位。 例如,对于16进制数据55aaH,当采用8位数据位、1位停止位传输时,它在信号线上的波形如图1(TTL电平)和图 2(RS-232电平)所示。 55H=01010101B,取反后10101010B,加入一个起始位1,一个停止位0,55H的数据格式为1010101010B; aaH=10101010B,取反后01010101B,加入一个起始位1,一个停止位0,55H的数据格式为1101010100B;

RS485通信原理

RS485通信原理 1. RS-485的电气特点:逻辑“1”以两线间的电压差为+(2—6)V表示;逻辑“0”以两线间的电压差为-(2—6)V表示。接口旌旗灯号电平比RS-232-C 降低了,就不易破坏接口电路的芯片,且该电平与TTL电平兼容,可便利与TTL 电路连接。 2. RS-485的数据最高传输速度为10Mbps 。 3. RS-485接口是采取均衡驱动器和差分接收器的组合,抗共模干才能加强,即抗噪声干扰性好。 4. RS-485接口的最大年夜传输距离标准值为4000英尺,实际上可达 3000米,别的RS-232-C接口在总线上只许可连接1个收发器,即单站才能。而RS-485接口在总线上是许可连接多达128个收发器。即具有多站才能,如许用户可以应用单一的RS-485接口便利地建立起设备收集。 因RS-485接口具有优胜的抗噪声干扰性,长的传输距离和多站才能等上述长处就使其成为首选的串行接口。因为RS485接口构成的半双工收集一般只需二根连线,所以RS485接口均采取樊篱双绞线传输。 RS485接口连接器采取DB-9的9芯插头座,与智能终端RS485接口采取DB-9(孔),与键盘连接的键盘接口RS485采取DB-9(针)。 RS485编程 串口协定只是定义了传输的电压,阻抗等,编程方法和通俗的串口编程一样RS-232与RS-422之间转换道理和接法 平日我们对于视频办事器、录像机、切换台等直接播出、切换控制重要应用串口进行,重要应用到RS-232、RS-422与RS-485三种接口控制。下面就串口的接口标准以及应用和外部插件和电缆进行商量。 RS-232、RS-422与RS-485标准只对接口的电气特点做出规定,而不涉及接插件、电缆或协定,在此基本上用户可以建立本身的高层通信协定。例如:视频办事器都带有多个RS422串行通信接口,每个接口均可经由过程RS422通信线由外部计算机控制实现记录与播放。视频办事器除供给各类控制硬件接口外,还供给协定接口,如RS422接口除支撑RS422的Profile协定外,还支撑 Louth、Odetics 、BVW等经由过程RS422控制的协定。 RS-232、RS-422与RS-485都是串行数据接口标准,都是由电子工业协会(EIA)制订并宣布的,RS-232在1962年宣布。RS-422由RS-232成长而来,为改进RS-232通信距离短、速度低的缺点,RS- 422定义了一种均衡通信接口,将传输速度进步到10Mbps,传输距离延长到4000英尺(速度低于100Kbps时),并许可在一条均衡总线上连接最多10个接收器。RS-422是一种单机发送、多机接收的单向、均衡传输规范,被定名为TIA/EIA-422-A标准。为扩大应用范围,EIA又于 1983年在RS-422基本上制订了RS-485标准,增长了多点、双向通信才能,即允很多个发送器连接到同一条总线上,同时增长了发送器的驱动才能和冲突保护特点,扩大了总线共榜样围,后定名为TIA/EIA-485-A标准。 1. S-232串行接口标准 今朝RS-232是PC机与通信工业中应用最广泛的一种串行接口。RS-232被定义为一种在低速度串行通信中增长通信距离的单端标准。RS-232采取不均衡传输方法,即所谓单端通信。收、发端的数据旌旗灯号是相对于旌旗灯号地。典范的RS-232旌旗灯号在正负电平之间摆动,在发送数据时,发送端驱动器输出

RS232+RS485实现通讯实验板

RS232+RS485实现通讯实验板 1 引言 计算机控制系统中经常采用多机系统进行通信,在由PC机和单片机构成的分布式控制系统中,往往以PC机为上位机完成较为复杂的数据处理和对前沿机的监督管理,以及对下位机进行多机协调,本文介绍一种将 RS232,RS485,及红外接口集成在一起的PC机--单片机多功能通讯实验板,用于实现PC机与单片机间的串口通信、红外通信及PC机与PC机间的通讯实验。 2 实验板的组成原理与设计 2.1 串行通信 串行通信是指通信的发送方和接收方之间数据信息的传输是在单根数据线,以每次一个二进制位移动的,他的优点是只需一对传输线进行传送信息,因此其成本低,适用于远距离通信,他的缺点是传送速度低,串行通信有异步通行和同步通信两种基本通信方式,同步通信适用于传送速度高的情况,其硬件复杂,而异步通信应用于传送速度在50-19200波特之间,是比较常用的传送方式,在异步通信中,数据是一帧一帧传送的,每一串行帧的数据格式由1位起始位,5-8位的数据位,1位的奇偶校验位(可省略)和1位停止位4部分组成,在串行通信前,发送方和接收方要约定具体的数据格式和波特率(通信协议)。 2.2 AT89C51微控制器 AT89C51单片机系统具有设计简单、性能可靠、功耗低等优点,它为用户预留下足够的软硬件资源,可供用户进行再开发应用,该系统除内部已有的 4K FLASH存储器外,还可以扩展选址64K ROM区和64K RAM区,供用户使用,用户在系统开发时,可以将自己的数据块和程序段、数据表,以若干控制子程序、数据块形式存放于AT89C51单片机的扩展ROM或 RAM 区中,以便系统工作时重复使用和反复调用。 2.3 RS232C通信接口 RS232C是一种电压型总线标准,可用于设计计算机接口与终端或外设之间的连接,以不同的极性的电压表示逻辑值。-3~-25V表示逻辑"1"。+3~+25V表示逻辑"0"。其电平与TTL和CMOS电平是不同的,所以在通信时必须进行电平转换。 2.4 MAX232芯片 MAXIM公司的MAX232/MAX232A接收/发送器是MAXIM公司特别为满足EIA/TEA2232E的标准而设计的,他们在 EIA/TIA2232E标准串行通信接口中日益得到广泛的应用,他们具有功耗低、工作电源为单电源、外接电容仅为0.1μF或1μF,采用双列直插封装形式、接收器输出为三态TTL/CMOS等优越性,为双组RS 232接收发送器,工作电源为+5V,波特率高,仅需外接0.1μF或1μF的电容,其价格低,可在一般需要串行通信的系统中使用,MAX232外围需要 4个电解电容,是内部电源转换所需电容,其取值均为1μF/25V宜选用钽电容并且应尽量靠近芯片。。 2.5 红外发送、接收电路 红外通讯以红外线作为通讯载体,通过红外光在空中的传播来传输数据,他由红外发射器和红外接收器来完成,在发射端,发送的数字信号经过适当的调制编码后,送入电光变换电路,经红外发射管转变为红外脉冲发射到空中;在接收端,红外接收器对接收到的红外光脉冲进行光电变换,解调译码后恢复出原信号。 红外发送电路中采用的红外发射器件是塑封的TSAL6200红外发射二极管,他将周期的电信号转变成一定频率的红外光信号,他是一种时断时续的高频红外脉冲信号,但脉冲串时间长度是恒定的,根据脉冲串之间的间隔大小,表示传输的是数据"0"还是

RS-485通信原理

一、RS485串口通信电路图 二.VxWorks中基于RS485总线的串口通信协议及实现 摘要:本文介绍了在嵌入式实时操作系统Vxworks下串行设备的驱动架构及实现,提出了一种基于RS-485总线的新型串口通信协议,重点讨论了基于这种协议的应用程序的设计方法,发送时主要采用了总线仲裁机制,接收时主要采用了字符合法性校验、长度校验、内容的CRC校验,提高了系统的通信效率和稳定性。 关键词:VxWorks;RS-485;通信协议;总线仲裁;CRC校验 1 引言 随着信息技术和互联网的飞速发展,以及计算机、通讯、数码产品等领域的高速增长,数字化时代已经来临。嵌入式设备是数字化时代的主流产品,嵌入式软件是数字化产品的核心,作为嵌入式软件的基础和关键,嵌入式操作系统在产业发展过程中扮演着越来越重要的角色,应用遍及工业自动化、网络通信、航空航天、医疗仪器等领域。 2 RS-485总线 RS-485总线接口是一种常用的串口,具有网络连接方便、抗干扰性能好、传输距离远等优点。RS-485收发器采用平衡发送和差分接收,因此具有抑制共模干扰的能力,加上收发器具有高的灵敏度,能检测到低达200mv的电压,可靠通信的传输距离可达数千米。使用RS-485总线组网,只需一对双绞线就可实现多系统联网构成分布式系统、设备简单、价格低廉、通信距离长。

3 VxWorks中串口驱动的实现 VxWorks 操作系统是美国Wind River公司设计开发的嵌入式实时操作系统(RTOS),是嵌入式开发环境的关键组成部分。Vxworks 操作系统的I/O 系统可以提供简单、统一、与任何设备无关的接口。这些设备包括:面向字符设备、随机块存储设备、虚拟设备、控制和监视设备以及网络设备。Vxworks 的I/O 系统包括基本I/O 系统和缓冲I/O 系统,具有比其他I/O 系统更快速,兼容性更好的特性。这对于实时系统是很重要的。 3.1 串口驱动架构 基于vxWorks的串口设备驱动程序架构,对vxWorks的 虚拟设备ttyDrv进行封装,向上将TTY设备安装到标 准的I/O系统中,上层应用通过标准的I/O 接口完成 对硬件设备的操作,向下提供对实际硬件设备的底层设 备驱动程序。其软件架构如图1所示。 由图1可知,串口设备驱动由两部分组成,一部分为对 ttyDrv进行封装,将串行设备安装到标准的I/O系统 中,提供对外的接口;另一部分为串行设备驱动程序, 提供对硬件设备的基本操作。 虚拟设备ttyDrv管理着I/O系统和真实驱动程序之间 的通信。在I/O系统方面,虚拟设备ttyDrv作为一个 字符型设备存在,它将自身的入口点函数挂在I/O系统 上,创建设备描述符并将其加入到设备列表中。当用户有I/O请求包到达I/O 系统中时,I/O系统会调用ttyDrv相应的函数响应请求。同时,ttyDrv管理了缓冲区的互斥和任务的同步操作。另一方面,ttyDrv负责与实际的设备驱动程序交换信息。通过设备驱动程序提供的回调函数及必要的数据结构,ttyDrv将系统的I/O请求作相应的处理后,传递给设备驱动程序,由设备驱动程序完成实际的I/O操作。 3.2 驱动初始化 串口设备的初始化xxDevInit流程如图2。 设备驱动的初始化过程首先调用系统函数ttyDrv(),该 函数通过调用iosDrvInstall()将ttyOpen()、 ttyIoctl()、tyRead()、tyRead、tyWrite安装到系统 驱动函数表中,供I/O系统调用。 接着根据用户入参对串口芯片寄存器进行初始化,安装 驱动函数指针。 最后调用系统函数ttyDevCreate()创建ttyDrv设备。

TTL与RS232电平模拟转换电路及工作原理

1.先介绍电脑上与单片机进行通讯的接口的名称 (1)一般是用电脑串口来进行通讯的,平常大家说的电脑的串口是指台式电脑主机后面的九针接口,如下图 这个接口有个专业的名称,叫RS23接口,而RS232接口是串口通讯的一种,其实所谓的接口,我的理解就是一种通信协议,规定了传输电平,传输方式,及怎么传输数据等等。 协议标准规定采用一个25个脚的DB25连接器,还规定了连接器的每个引脚的信号内容,同时还对各种信号的电平加以规定。但随着设备的不断改进,出现了代替DB25的DB9接口,现在都把RS232接口叫做DB9。 (2)电脑上的RS232接口采用的是负逻辑电平: -15~-3表示逻辑1; +15~+3表示逻辑0; 电压值通常在7V左右 (3)我们可以使用串口电缆直接连接两台PC机的串口,实现两台PC机的串口通讯。但是PC 机和单片机的通讯却不能够用电缆直接进行连接,原因是PC机RS232串口的电平标准和单片机的TTL电平不一致,因此单片机和PC机之间的串口通讯必须要有一个RS232/TTL电平转换电路。通常这个电路都选择专用的RS232接口电平转换集成电路进行设计,如MAX232、HIN232等。 2.单片机串口输出的逻辑电平 单片机的串口输出电路采用的逻辑电平是TTL电平。这种电平信号由TTL器件产生的,一般的芯片,如运放,数字器件等... TTL:Transistor-Transistor Logic 三极管结构。 Vcc:5V;VOH>=2.4V;VOL<=0.5V; VIH>=2V;VIL<=0.8V 3.单片机与电脑串口的连接 首先解决的就是逻辑接口电平的问题,其次就是通信方法及方式的问题 (1)在这里我们可以使用集成芯片MAX232,这是一款专门用来进行信号电平的转换的芯片,使用起来简单方便,这里把电路贴出。

RS485通信协议

串行数据通信的协议从RS-232到千兆位以太网,虽然每种协议都有特定的应用领域,但任何情况下我们都必须考虑成本和物理层(PHY)性能。 本文主要介绍RS-485协议及该协议所适合的应用。同时给出了根据电缆长度、系统设计以及元件选择来优化数据速率的方法。 传输协议 什么是RS-485?Profibus又是什么?与其它串行协议相比,它们的性能如何?适用于哪些应用?为了回答这些问题,我们对RS-485 物理层(PHY)、RS-232和RS-422的特性、功能进行了总体比较[1](本文中的RS表示ANSIEIA/TIA标准)。 RS-232是一个最初用于调制解调器、打印机及其它PC外设的通讯标准,提供单端20kbps的波特率,后来速率提高至1Mbps。RS-232的其它技术指标包括:标称±5V发送电平、±3V接收电平(间隔/符号)、2V共模抑制、2200pF最大电缆负载电容、300最大驱动器输出电阻、3k最小接收器(负载)阻抗、100英尺(典型值)最大电缆长度。RS-232只用于点对点通信系统,不能用于多点通信系统,所有RS-232系统都必须遵从这些限制。 RS-422是单向、全双工通信协议,适合嘈杂的工业环境。RS-422规范允许单个驱动器与多个接收器通信,数据信号采用差分传输方式,速率最高可达50Mbps。接收器共模范围为±7V,驱动器输出电阻最大值为100,接收器输入阻抗可低至4k。 RS-485标准 RS-485是双向、半双工通信协议,允许多个驱动器和接收器挂接在总线上,其中每个驱动器都能够脱离总线。该规范满足所有RS-422的要求,而且比RS-422稳定性更强。具有更高的接收器输入阻抗和更宽的共模范围(-7V至+12V)。 接收器输入灵敏度为±200mV,这就意味着若要识别符号或间隔状态,接收端电压必须高于+200mV或低于-200mV。最小接收器输入阻抗为12k,驱动器输出电压为±1.5V(最小值)、±5V(最大值)。 驱动器能够驱动32个单位负载,即允许总线上并联32个12k的接收器。对于输入阻抗更高的接收器,一条总线上允许连接的单位负载数也较高。RS-485接收器可随意组合,连接至同一总线,但要保证这些电路的实际并联阻抗不高于32个单位负载(375)。 采用典型的24AWG双绞线时,驱动器负载阻抗的最大值为54,即32个单位负载并联2个120终端匹配电阻。RS-485已经成为POS、工业以及电信应用中的最佳选择。较宽的共模范围可实现长电缆、嘈杂环境(如工厂车间)下的数据传输。更高的接收器输入阻抗还允许总线上挂接更多器件。

基于RS232的双机通信实验程序和电路图

课程名称现场总线技术及其应用 专业班级电信1012 学号2010118504150 学生姓名朱胜强 指导教师范玉刚 实训地点德行楼 2013 年5 月10日

基于RS232的双机通信实验 一、实验目的 1、理解串行通信的基本概念和51系列单片机的串行通信接口结构。 2、理解现场仪表的通讯过程 二、实验内容 1、使用串口实现单片机1与单片机2的数据通信,实现互相控制。要求按下单片机1系统板上的按键,单片机2系统板上LED点亮。 三、实验环境 1、编程软件keil 2、仿真软件proteus 四、实验原理 MAX232芯片用于电平转换,实现RS232电平与TTL电平(单片机)的互相转换。本次实验单片机之间通信不使用握手信号,只需3根信号线:TXD(发送线),RXD(接收线),GND(地线)。单片机之间通信的原理图如图1所示,当单片机1(主机) 查询外接控制开关S3按下时,单片机1发送一个自定义信号给单片机2(从机),单片机2收到信号后点亮指示灯LED4。 图1 单片机之间通信的原理图 五、实验过程

单片机1的程序: #include #define uchar unsigned char //宏定义 #define unit unsigned int //宏定义 sbit anjian=P1^0; //定义按键的位 uchar num; uchar code table[]={0xff,0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; //数码管显示数//延时函数 void delay(unit z) { unit x,y; for(x=z;x>0;x--); for(y=110;y>0;y--); } //主函数 void main() { TMOD=0x20; //定时器1工作方式2 TH1=0xFD; //11.0592Mhz 9600bps TL1=0xFD; TR1=1; //启动定时器1 SCON=0x5; //模式1:8位数据可变波特率,允许接收 EA=1; //打开总中断 ES=1; //打开串口1中断 while(1) { if(anjian==0) //判断按键 { delay(5); if(anjian==1) //按键消抖动 {

RS485通信模式

典型的串行通讯标准是RS232和RS485,它们定义了电压,阻抗等,但不对软件协议给予定义,区别于RS232, RS485的特性包括: 1. RS-485的电气特性:逻辑“1”以两线间的电压差为+(2—6)V表示;逻辑“0”以两线间的电压差为-(2—6)V表示。接口信号电平比RS-232-C降低了,就不易损坏接口电路的芯片,且该电平与TTL电平兼容,可方便与TTL 电路连接。 2. RS-485的数据最高传输速率为10Mbps 。 3. RS-485接口是采用平衡驱动器和差分接收器的组合,抗共模干能力增强,即抗噪声干扰性好。 4. RS-485接口的最大传输距离标准值为4000英尺,实际上可达 3000米,另外RS-232-C 接口在总线上只允许连接1个收发器,即单站能力。而RS-485接口在总线上是允许连接多达128个收发器。即具有多站能力,这样用户可以利用单一的RS-485接口方便地建立起设备网络。 因RS-485接口具有良好的抗噪声干扰性,长的传输距离和多站能力等上述优点就使其成为首选的串行接口。因为RS485接口组成的半双工网络一般只需二根连线,所以RS485接口均采用屏蔽双绞线传输。 RS485接口连接器采用DB-9的9芯插头座,与智能终端RS485接口采用DB-9(孔),与键盘连接的键盘接口RS485采用DB-9(针)。 RS485编程 串口协议只是定义了传输的电压,阻抗等,编程方式和普通的串口编程一样 RS-232与RS-422之间转换原理和接法 通常我们对于视频服务器、录像机、切换台等直接播出、切换控制主要使用串口进行,主要使用到RS-232、RS-422与RS-485三种接口控制。下面就串口的接口标准以及使用和外部插件和电缆进行探讨。 RS-232、RS-422与RS-485标准只对接口的电气特性做出规定,而不涉及接插件、电缆或协议,在此基础上用户可以建立自己的高层通信协议。例如:视频服务器都带有多个RS422串行通讯接口,每个接口均可通过RS422通讯线由外部计算机控制实现记录与播放。视频服务器除提供各种控制硬件接口外,还提供协议接口,如RS422接口除支持RS422的Profile 协议外,还支持 Louth、Odetics 、BVW等通过RS422控制的协议。 RS-232、RS-422与RS-485都是串行数据接口标准,都是由电子工业协会(EIA)制订并发布的,RS-232在1962年发布。RS-422由RS-232发展而来,为改进RS-232通信距离短、速率低的缺点,RS- 422定义了一种平衡通信接口,将传输速率提高到10Mbps,传输距离延长到4000英尺(速率低于100Kbps时),并允许在一条平衡总线上连接最多10个接收器。RS-422是一种单机发送、多机接收的单向、平衡传输规范,被命名为TIA/EIA-422-A标准。为扩展应用范围,EIA又于 1983年在RS-422基础上制定了RS-485标准,增加了多点、双向通信能力,即允许多个发送器连接到同一条总线上,同时增加了发送器的驱动能力和冲突保护特性,扩展了总线共模范围,后命名为TIA/EIA-485-A标准。 1. S-232串行接口标准 目前RS-232是PC机与通信工业中应用最广泛的一种串行接口。RS-232被定义为一种在低速率串行通讯中增加通讯距离的单端标准。RS-232采取不平衡传输方式,即所谓单端通讯。收、发端的数据信号是相对于信号地。典型的RS-232信号在正负电平之间摆动,在发送数据时,发送端驱动器输出正电平在+5~+15V,负电平在-5~-15V电平。当无数据传输时,线上为TTL,从开始传送数据到结束,线上电平从TTL电平到RS-232电平再返回TTL电平。接收器典型的工作电平在+3~+12V与-3~-12V。由于发送电平与接收电平的差仅为2V至3V 左右,所以其共模抑制能力差,再加上双绞线上的分布电容,其传送距离最大为约15米,最高速率为20Kbps。RS-232是为点对点(即只用一对收、发设备)通讯而设计的,其驱动器负载为3kΩ~7kΩ。所以RS-232适合本地设备之间的通信。 TTL电平信号被利用的最多是因为通常数据表示采用二进制规定,+5V等价于逻辑“1”,

RS232组网通信实验

实验一RS-232组网通信实验 (一)PC及其兼容工控机的异步通讯接口 PC及其兼容工控机都有两个异步通讯接口:COM1和COM2,其关键部件是通用异步收发器(UART)INS8250。INS8250的内部有10个寄存器,分别用于通讯参数的设置、线路及MODEM的控制与状态查询、数据收发及中断管理等。要在中断方式下收发数据,必须对INS8250的寄存器直接操作,各寄存器名称及其相应的端口地址列于表1。 由表1可知:THR、RBR和 DLL占用同一个端口地址3F8H (2F8H),IER和DLM也占用同一 个端口地址3F9H(2F9H),对它们 进行访问时,如果设置LCR的最 高位为1,访问的是除数寄存器; 如果设置LCR的最高位为0,则访 问的是THR、RBR和IER。而THR 是只写寄存器,RBR是只读寄存 器,在LCR的最高位设置为0时, 对端口地址3F8H(2F8H)的写入 操作访问的是THR,读出操作访问 的是RBR。 硬件连接方式:将2台PC机 的COM1/COM2串行通信口通过9针D型接口3线连接。 (二)INS8250有关寄存器的设置 串行口的初始化主要是对INS8250的有关寄存器进行设置,以确定通讯的数据格式、波特率、中断的触发方式等。 ①确定数据格式数据格式是通过设置线路控制寄存器(LCR)来确定的,LCR的定义如下: 其中:WSL1、WSL0用于选择每个发送或接收的串行字符的位数,分别设置这两位为00、01、10、11时,对应的字长依次是5位、6位、7位、8位;STB用于确定停止位的位数,STB =0时使用1位停止位,STB=1时,如果WSL1、WSL0设置为00,使用1.5位停止位,其它情况下使用2位停止位;PEN用于选择是否允许奇偶校验,PEN=0时,不进行奇偶校验,PEN=1时有奇偶校验;此时,EPS选择校验方式,EPS=0时是奇校验,EPS=1时是偶校验;SP用于选择是否在奇偶校验位和停止位之间插入奇偶标志位,SP=0时不插入,SP=1时插入1位奇偶标志位,偶校验时插一个0,奇校验时插入一个1;SB是设置间断控制位,SB=1时输出数据强迫为0,SB=0时可进行正常的数据收发;DLAB是除数寄存器访问位,DLAB =1时访问除数寄存器,DLAB=0时访问THR、RBR和IER。 ②设置波特率INS8250内部包含一个可编程的波特率发生器,它允许用1~65535的任意除数对1.8432MHz的输入频率进行分频,分频后的信号即波特率发生器的输出频率,而波特率是波特率发生器输出频率的1/16。由此可知,除数=1843200/(波特率×16)。16位的除数应在初始化时写入除数锁存器。 ③中断机制的引发INS8250可由4个事件中的任一个来引发一个中断,这4个事件依

rs485通信协议介绍

附录:RS485串行通讯协议 1 主要性能 本变频器通过内置的RS485标准接口,能与个人计算机、PLC 或同系列的变频器等连接,进行主从式、异步半双工串行通信。其主要性能参见下表: 项目 规范 适用机型 ALPHA3000系列变频器 物理级 EIA RS485 传输线 屏蔽双绞线 配线最长长度 500米 连接台数 主机一台,从机31台 传输速度 19200bps,9600bps,4800bps,2400bps,1200bps,600bps,300bps 数据交换方式 异步串行、半双工 传送协议 点对点或广播 字长 11位 停止位长度 1位 帧长 14字节固定 奇偶校验 奇校验 出错检查方式 异或校验 2硬件连接 2.1硬件联接如下图: 图 1 多 台变 频器 用主 机控 制连 接示 意图 图中的MASTER (主机)是ALPHA3000变频器、PC 机或可编程控制器(PLC ),图中的SLAVE (从机,在虚线框内)是变频器。变频器做为主机,只要将从机的RS485端子和主机的RS485同名端子相联接即可;如果用PC 机或PLC 做为主机,则要在主机和总线之间增加一个RS485的转接器。RS458串行总线接口最多可连接31台变频器做从机,每一个从机变频器都有一个唯一的号码(ID ),主机依靠ID 来识别每一台从机。

2.2 RS485转换器 RS485转换器采用DB9/DB9外形,带孔的 一端为RS232,带针的一端为RS485。转换器 外带接线转换头把RS485端的DB9接线转换为 螺丝接线柱,便于通讯线缆的安装和拆卸。接 线转换头上“A+”为485收/发正端,“ B-” 为485收/发负端,“GND”为485地线。 RS485接口组成半双工网络,一般只需二根连线,为获得良好的抗噪声干扰性和较长的传输距离,建议采用屏蔽双绞线传输。 3通讯协议 3.1概述 3.1.1通讯方式 采用USS协议。主机和从机之间用轮询的方式来进行通讯。由主机启动每一次通信,主机向从机变频器发送任务报文,从机接到主机的任务命令后返回响应报文并执行相应动作。除了发送响应报文外,从机只能处于接收状态。主机为变频器时,由功能号D033设置最大从机ID号。从机必须是从1开始,连续编号到D033设定的值。当主机为PC机或PLC时可以通过建立轮询表来改变查询顺序和查询周期,轮询表可以只包含部分从机,任意顺序,可以出现重复的号码。 主机的每一次查询都是以一个报文(帧)的数据传送给从机,所有的从机都能接收数据,从机如果检测到报文中的ID和本机的ID相同,则对报文的数据做出处理,并在规定的时间内发送响应报文给主机。如果检测到报文中的ID和本机的ID不同,则不处理报文,保持原工作状态。 3.1.2 控制方式说明: 在本机键盘或者端子控制时(功能A001设为0、1、2),通讯只能查看参数,所有的写入操作都被忽略。 通讯控制不能修改功能A001、A005、C001、D028、D032、D033的值。 在通讯控制方式时,本机键盘只可以修改功能A001、A005、C001、D022、D028、D032、D033的值,其中,对于功能D028的修改只有重新上电 开机才能生效。其它功能参数只能查看。 在通讯控制方式时,本机端子的使用参考特殊命令G05说明。 3.2数据格式 3.2.1报文格式

相关主题
文本预览
相关文档 最新文档