• 一次性了解GPIO,I2C,SPI,UART,USART,USB通讯方式区别

    通信方式梳理:GPIO,I2C,SPI,UART,USART,USB的区别

    11-25 63浏览
  • 图解PLC与变频器通讯接线,学起来轻松多了

    PLC与变频器两者是一种包含与被包含的关系,PLC与变频器都可以完成一些特定的指令,用来控制电机马达,PLC是一种程序输入执行硬件,变频器则是其中之一。 但是PLC的涵盖范围又比变频器大,还可以用来控制更多的东西,应用领域更广,性能更强大,当然PLC的控制精度也更大。变频器无法进行编程,改变电源的频率、电压等参数,它的输出频率可以设为固定值,也可以由PLC动态控制。 PLC是可以编程序的,用来控制电气元件或完成功能、通信等任务。 PLC与变频器之间通信需要遵循通用的串行接口协议(USS),按照串行总线的主从通信原理来确定访问的方法。总线上可以连接一个主站和最多31个从站,主站根据通信报文中的地址字符来选择要传输数据的从站,在主站没有要求它进行通信时,从站本身不能首先发送数据,各个从站之间也不能直接进行信息的传输。 PLC基本结构图 PLC可编程控制器的存储器可以分为系统程序存储器、用户程序存储器及工作数据存储器等三种。 1、系统程序存储器 系统程序存储器用来存放由可编程控制器生产厂家编写的系统程序,并固化在ROM内,用户不能直接更改。系统程序质量的好坏,很大程度上决定了PLC的性能。 其内容主要包括三部分:第一部分为系统管理程序,它主要控制可编程控制器的运行,使整个可编程控制器按部就班地工作,第二部分为用户指令解释程序,通过用户指令解释程序,将可编程控制器的编程语言变为机器语言指令,再由CPU执行这些指令;第三部分为标准程序模块与系统调用程序。 2、用户程序存储器 根据控制要求而编制的应用程序称为用户程序。用户程序存储器用来存放用户针对具体控制任务,用规定的可编程控制器编程语言编写的各种用户程序。 目前较先进的可编程控制器采用可随时读写的快闪存储器作为用户程序存储器,快闪存储器不需后备电池,断电时数据也不会丢失。 3、工作数据存储器 工作数据存储器用来存储工作数据,即用户程序中使用的ON/OFF状态、数值数据等。在工作数据区中开辟有元件映像寄存器和数据表。其中元件映像寄存器用来存储开关量、输出状态以及定时器、计数器、辅助继电器等内部器件的ON/OFF状态。数据表用来存放各种数据,它存储用户程序执行时的某些可变参数值及A/D转换得到的数字量和数字运算的结果等。 变频器基本结构图 变频器是把工频电源(50Hz或60Hz)变换成各种频率的交流电源,以实现电机的变速运行的设备,其中控制电路完成对主电路的控制,整流电路将交流电变换成直流电,直流中间电路对整流电路的输出进行平滑滤波,逆变电路将直流电再逆变成交流电。对于如矢量控制变频器这种需要大量运算的变频器来说,有时还需要一个进行转矩计算的CPU以及一些相应的电路。 PLC与变频器一般有三种连接方法 ①利用PLC的模拟量输出模块控制变频器PLC的模拟量输出模块输出0~5V电压信号或4~20mA电流信号,作为变频器的模拟量输入信号,控制变频器的输出频率。这种控制方式接线简单,但需要选择与变频器输入阻抗匹配的PLC输出模块,且PLC的模拟量输出模块价格较为昂贵,此外还需采取分压措施使变频器适应PLC的电压信号范围,在连接时注意将布线分开,保证主电路一侧的噪声不传至控制电路。 ②利用PLC的开关量输出控制变频器。PLC的开关输出量一般可以与变频器的开关量输入端直接相连。这种控制方式的接线简单,抗干扰能力强。利用PLC的开关量输出可以控制变频器的启动/停止、正/反转、点动、转速和加减时间等,能实现较为复杂的控制要求,但只能有级调速。 使用继电器触点进行连接时,有时存在因接触不良而误操作现象。使用晶体管进行连接时,则需要考虑晶体管自身的电压、电流容量等因素,保证系统的可靠性。另外,在设计变频器的输入信号电路时,还应该注意到输入信号电路连接不当,有时也会造成变频器的误动作。例如,当输入信号电路采用继电器等感性负载,继电器开闭时,产生的浪涌电流带来的噪声有可能引起变频器的误动作,应尽量避免。 ③PLC与RS-485通信接口的连接。所有的标准西门子变频器都有一个RS-485串行接口(有的也提供RS-232接口),采用双线连接,其设计标准适用于工业环境的应用对象。单一的RS-485链路最多可以连接30台变频器,而且根据各变频器的地址或采用广播信息,都可以找到需要通信的变频器。链路中需要有一个主控制器(主站),而各个变频器则是从属的控制对象(从站)。 PLC的变频器控制电机正反转接线图 1.按接线图将线连好后,启动电源,准备设置变频器各参数。 2.按“MODE”键进入参数设置模式,将Pr.79设置为“2”:外部操作模式,启动信号由外部端子(STF、STR)输入,转速调节由外部端子(2、5之间、4、5之间、多端速)输入。 3.连续按“MODE”按钮,退出参数设置模式。 4.按下正转按钮,电动机正转启动运行。 5.按下停止按钮,电动机停止。 6.按下反转按钮,电动机反转启动运行。 7.按下停止按钮,电动机停止。 8. 若在电动正转时按下反转按钮,电动机先停止后反转;反之,若在电动机反转时按下正转按钮,电动机先停止后正转。 PLC与变频器的接线图 PLC和变频器通讯方式 1、PLC的开关量信号控制变频器 PLC(MR型或MT型)的输出点、COM点直接与变频器的STF(正转启动)、RH(高速)、RM(中速)、RL(低速)、输入端SG等端口分别相连。PLC可以通过程序控制变频器的启动、停止、复位;也可以控制变频器高速、中速、低速端子的不同组合实现多段速度运行。但是,因为它是采用开关量来实施控制的,其调速曲线不是一条连续平滑的曲线,也无法实现精细的速度调节。 2、PLC的模拟量信号控制变频器 硬件:FX1N型、FX2N型PLC主机,配置1路简易型的FX1N-1DA-BD扩展模拟量输出板;或模拟量输入输出混合模块FX0N-3A;或两路输出的FX2N-2DA;或四路输出的FX2N-4DA模块等。优点:PLC程序编制简单方便,调速曲线平滑连续、工作稳定。 缺点:在大规模生产线中,控制电缆较长,尤其是DA模块采用电压信号输出时,线路有较大的电压降,影响了系统的稳定性和可靠性。 3、 PLC采用RS-485通讯方法控制变频器 这是使用得最为普遍的一种方法,PLC采用RS串行通讯指令编程。优点:硬件简单、造价最低,可控制32台变频器。缺点:编程工作量较大。 4、 PLC采用RS-485的Modbus-RTU通讯方法控制变频器 三菱新型F700系列变频器使用RS-485端子利用Modbus-RTU协议与PLC进行通讯。优点:Modbus通讯方式的PLC编程比RS-485无协议方式要简单便捷。缺点:PLC编程工作量仍然较大。 5、 PLC采用现场总线方式控制变频器 三菱变频器可内置各种类型的通讯选件,如用于CC-Link现场总线的FR-A5NC选件;用于Profibus DP现场总线的FR-A5AP(A)选件;用于DeviceNet现场总线的FR-A5ND选件等等。三菱FX系列PLC有对应的通讯接口模块与之对接。 优点:速度快、距离远、效率高、工作稳定、编程简单、可连接变频器数量多。缺点:造价较高。 6、采用扩展存储器 优点:造价低廉、易学易用、性能可靠 缺点:只能用于不多于8台变频器的系统。 PLC和变频器通讯接线图 三菱PLC控制台达变频器案例分析 在不外接控制器(如PLC)的情况下,直接操作变频器有三种方式: ①操作面板上的按键; ②操作接线端子连接的部件(如按钮和电位器); ③复合操作(如操作面板设置频率,操作接线端子连接的按钮进行启/停控制)。为了操作方便和充分利用变频器,也可以采用PLC来控制变频器。 PLC控制变频器有三种基本方式: ①以开关量方式控制; ②以模拟量方式控制; ③以RS485通信方式控制。 PLC以开关量方式控制变频器的硬件连接 变频器有很多开关量端子,如正转、反转和多档转速控制端子等,不使用PLC时,只要给这些端子接上开关就能对变频器进行正转、反转和多档转速控制。当使用PLC控制变频器时,若PLC是以开关量方式对变频进行控制,需要将PLC的开关量输出端子与变频器的开关量输入端子连接起来,为了检测变频器某些状态,同时可以将变频器的开关量输出端子与PLC的开关量输入端子连接起来。 PLC以开关量方式控制变频器的硬件连接如下图所示。当PLC内部程序运行使Y001端子内部硬触点闭合时,相当于变频器的STF端子外部开关闭合,STF端子输入为ON,变频器启动电动机正转,调节10、2、5端子所接电位器可以改变端子2的输入电压,从而改变变频器输出电源的频率,进而改变电动机的转速。如果变频器内部出现异常时,A、C端子之间的内部触点闭合,相当于PLC的X001端子外部开关闭合,X001端子输入为ON。 PLC以模拟量方式控制变频器的硬件连接 变频器有一些电压和电流模拟量输入端子,改变这些端子的电压或电流输入值可以改变电动机的转速,如果将这些端子与PLC的模拟量输出端子连接,就可以利用PLC控制变频器来调节电动机的转速。模拟量是一种连续变化的量,利用模拟量控制功能可以使电动机的转速连续变化(无级变速)。 PLC以模拟量方式控制变频器的硬件连接如下图所示,由于三菱FX2N-32MR型PLC无模拟量输出功能,需要给它连接模拟量输出模块(如FX2N-4DA),再将模拟量输出模块的输出端子与变频器的模拟量输入端子连接。当变频器的STF端子外部开关闭合时,该端子输入为ON,变频器启动电动机正转,PLC内部程序运行时产生的数字量数据通过连接电缆送到模拟量输出模块(DA模块),由其转换成0~5V或0~10V范围内的电压(模拟量)送到变频器2、5端子,控制变频器输出电源的频率,进而控制电动机的转速,如果DA模块输出到变频器2、5端子的电压发生变化,变频器输出电源频率也会变化,电动机转速就会变化。 PLC在以模拟量方式控制变频器的模拟量输入端子时,也可同时用开关量方式控制变频器的开关量输入端子。 PLC以RS485通信方式控制变频器的硬件连接 PLC以开关量方式控制变频器时,需要占用较多的输出端子去连接变频器相应功能的输入端子,才能对变频器进行正转、反转和停止等控制;PLC以模拟量方式控制变频器时,需要使用DA模块才能对变频器进行频率调速控制。如果PLC以RS485通信方式控制变频器,只需一根RS485通信电缆(内含5根芯线),直接将各种控制和调频命令送给变频器,变频器根据PLC通过RS485通信电缆送来的指令就能执行相应的功能控制。 RS485通信是目前工业控制广泛采用的一种通信方式,具有较强的抗干扰能力,其通信距离可达几十米至上千米。采用RS485通信不但可以将两台设备连接起来进行通信,还可以将多台设备(最多可并联32台设备)连接起来构成分布式系统,进行相互通信。 1.变频器的RS485通信口 三菱FR500系列变频器有一个用于连接操作面板的PU口,该接口可用作RS485通信口,在使用RS485方式与其他设备通信时,需要将操作面板插头(RJ45插头)从PU口拔出,再将RS485通信电缆的一端插入PU口,通信电缆另一端连接PLC或其他设备。三菱FR500系列变频器PU口外形及各引脚功能说明如下图所示。 三菱FR500系列变频器只有一个RS485通信口(PU口),面板操作和RS485通信不能同时进行,而三菱FR700系列变频器除了有一个PU接口外,还单独配备了一个RS485通信口(接线排),专用于进行RS485通信。三菱FR700系列变频器RS485通信口外形及各功能说明如下图所示,通信口的每个功能端子都有2个,一个接上一台RS485通信设备,另一个端子接下一台RS485通信设备,若无下一台设备,应将终端电阻开关拨至“100Ω”侧。 2.PLC的RS485通信口 三菱FX PLC一般不带RS485通信口,如果要与变频器进行RS485通信,须给PLC安装FX2N-485BD通信板。485BD通信板的外形和端子如下图(a)所示,通信板的安装方法如下图(b)所示。 (a)外形 (b)安装方法 3.变频器与PLC的RS485通信连接 (1)单台变频器与PLC的RS485通信连接 单台变频器与PLC的RS485通信连接如下图所示,两者在连接时,一台设备的发送端子(+\-)应分别与另一台设备的接收端子(+\-)连接,接收端子(+\-)应分别与另一台设备的发送端子(+\-)连接。 (2)多台变频器与PLC的RS485通信连接 多台变频器与PLC的RS485通信连接如下图所示,它可以实现一台PLC控制多台变频器的运行。 PLC控制变频器驱动电动机正反转的电路、程序及参数设置 1.PLC与变频器的硬件连接线路图 PLC以开关量方式控制变频器驱动电动机正反转的线路图如下图所示。 2.变频器的参数设置 在使用PLC控制变频器时,需要对变频器进行有关参数设置,具体见下表。 3.编写PLC控制程序 变频器有关参数设置好后,还要用编程软件编写相应的PLC控制程序并下载给PLC。PLC控制变频器驱动电动机正反转的PLC程序如下图所示。 PLC控制变频器驱动电动机多档转速运行的电路、程序及参数设置 变频器可以连续调速,也可以分档调速,FR-500系列变频器有RH(高速)、RM(中速)和RL(低速)三个控制端子,通过这三个端子的组合输入,可以实现7档转速控制。如果将PLC的输出端子与变频器这些端子连接,就可以用PLC控制变频器来驱动电动机多档转速运行。 1.PLC与变频器的硬件连接线路图 PLC以开关量方式控制变频器驱动电动机多档转速运行的线路图如下图所示。 2.编写PLC控制程序 PLC以开关量方式控制变频器驱动电动机多档转速运行的PLC程序如下图。

    11-25 35浏览
  • MCU之间通信的主要方式

    单片机通信,高效、简单、易扩展是关键

    08-09 106浏览
  • 嵌入式高手对技术的理解

    嵌入式产品干货!

    08-02 153浏览
  • RS232、RS485和RS422基础知识

    一、RS232基础知识 计算机与计算机或计算机与终端之间的数据传送可以采用串行通讯和并行通讯二种方式。由于串行通讯方式具有使用线路少、成本低,特别是在远程传输时,避免了多条线路特性的不一致而被广泛采用。 在串行通讯时,要求通讯双方都采用一个标准接口,使不同的设备可以方便地连接起来进行通讯。RS-232-C接口(又称EIA RS-232-C)是目前最常用的一种串行通讯接口。 RS-232-C是美国电子工业协会EIA(Electronic Industry Association)制定的一种串行物理接口标准。RS是英文“推荐标准”的缩写,232为标识号,C表示修改次数,代表RS232的最新一次修改(1969),在这之前,有RS232B、RS232A。它是在1970 年由美国电子工业协会(EIA)联合贝尔系统、调制解调器厂家及计算机终端生产厂家共同制定的用于串行通讯的标准。它的全名是“数据终端设备(DTE)和数据通讯设备。(DCE)之间串行二进制数据交换接口技术标准”。 1、电气特性 EIA-RS-232C对电器特性、逻辑电平和各种信号线功能都作了规定。 在TxD和RxD上:逻辑1(MARK)=-3V~-15V ,逻辑0(SPACE)=+3~+15V  在RTS、CTS、DSR、DTR和DCD等控制线上: 信号有效(接通,ON状态,正电压)=+3V~+15V 信号无效(断开,OFF状态,负电压)=-3V~-15V 根据设备供电电源的不同,+-5、+-10、+-12和+-15这样的电平都是可能的。 2、连接器的机械特性 由于RS-232C并未定义连接器的物理特性,因此,出现了DB-25、DB-15和DB-9各种类型的连接器,其引脚的定义也各不相同。最近,8管脚的RJ-45型连接器变得越来越普遍,尽管它的管脚分配相差很大。EIA/TIA 561标准规定了一种管脚分配的方法,但是由Dave Yost发明的被广泛使用在Unix计算机上的Yost串连设备配线标准 ("Yost Serial Device Wiring Standard")以及其他很多设备都没有采用上述任一种连线标准。下表中列出的是被较多使用的RS-232中的信号和管脚分配: 信号的标注是从DTE设备的角度出发的,TD、DTR和RTS信号是由DTE产生的,RD、DSR、CTS、DCD和RI信号是由DCE产生的。 PC 机的RS-232 口为9 芯针插座。一些设备与PC 机连接的RS-232 接口,因为不使用对方的传送控制信号,只需三条接口线,即“发送数据TXD”、“接收数据RXD”和“信号地GND”。 双向接口能够只需要3根线制作是因为RS-232的所有信号都共享一个公共接地。非平衡电路使得RS-232非常的容易受两设备间基点电压偏移的影响。对于信号的上升期和下降期,RS-232也只有相对较差的控制能力,很容易发生串话的问题。RS-232被推荐在短距离(15m以内)间通信。由于非对称电路的关系,RS-232接口电缆通常不是由双绞线制作的。 3、传输电缆 RS-232-C标准规定的数据传输速率为每秒50、75、 100、150、300、600、1200、2400、4800、9600、19200波特,驱动器允许有2500pF的电容负载,通信距离将受此电容限制。 例如,采用150pF/m的通信电缆时,最大通信距离为15m;若每米电缆的电容量减小,通信距离可以增加。传输距离短的另一原因是RS-232属单端信号传送,存在共地噪声和不能抑制共模干扰等问题,因此一般用于20m以内的通信。 由RS-232C标准规定在码元畸变小于4%的情况下,传输电缆长度应为50 英尺,其实这个4%的码元畸变是很保守的,在实际应用中,约有99%的用户是按码元畸变10-20%的范围工作的,所以实际使用中最大距离会远超过50英尺,美国DEC公司曾规定允许码元畸变为10%而得出下面实验结果。其中1 号电缆为屏蔽电缆,型号为DECP.NO.9107723 内有三对双绞线,每对由22# AWG 组成,其外覆以屏蔽网。2 号电缆为不带屏蔽的电缆。型号为DECP.NO.9105856-04是22#AWG 的四芯电缆。 4、链路层 在RS-232标准中,字符是以一系列位元来一个接一个的传输。最长用的编码格式是异步起停asynchronous start-stop格式,它使用一个起始位后面紧跟7或8 个数据比特,这个可能是奇偶位,然后是两个停止位。所以发送一个字符需要10比特,带来的一个好的效果是使全部的传输速率,发送信号的速率以10分划。 串行通信在软件设置里需要做多项设置,最常见的设置包括波特率、奇偶校验和停止位。 波特率是指从一设备发到另一设备的波特率,即每秒钟多少比特bits per second (bit/s)。典型的波特率是300、1200、2400、9600、19200等bit/s。一般通信两端设备都要设为相同的波特率,但有些设备也可以设置为自动检测波特率。 奇偶校验Parity是用来验证数据的正确性。奇偶校验一般不用,如果使用,那么既可以做奇校验也可以做偶校验。奇偶校验是通过修改每一发送字节(也可以限制发送的字节)来工作的。如果不作奇偶校验,那么数据是不会被改变的。在偶校验中,因为奇偶校验位会被相应的置1或0(一般是最高位或最低位),所以数据会被改变以使得所有传送的数位(含字符的各数位和校验位)中“1”的个数为偶数;在奇校验中,所有传送的数位(含字符的各数位和校验位)中“1”的个数为奇数。奇偶校验可以用于接受方检查传输是否发送生错误——如果某一字节中“1”的个数发生了错误,那么这个字节在传输中一定有错误发生。如果奇偶校验是正确的,那么要么没有发生错误要么发生了偶数个的错误。 停止位是在每个字节传输之后发送的,它用来帮助接受信号方硬件重同步。 在串行通信软件设置中D/P/S是常规的符号表示。8/N/1(非常普遍)表明8bit数据,没有奇偶校验,1bit停止位。数据位可以设置为7、8或者9,奇偶校验位可以设置为无(N)、奇(O)或者偶(E),奇偶校验位可以使用数据中的比特位,所以8/E/1就表示一共8位数据位,其中一位用来做奇偶校验位。停止位可以是1、1.5或者2位的(1.5是用在波特率为60wpm的电传打字机上的)。 5、传输控制 当需要发送握手信号或数据完整性检测时需要制定其他设置。公用的组合有RTS/CTS,DTR/DSR或者XON/XOFF(实际中不使用连接器管脚而在数据流内插入特殊字符) 接受方把XON/XOFF信号发给发送方来控制发送方何时发送数据,这些信号是与发送数据的传输方向相反的。XON信号告诉发送方接受方准备好接受更多的数据,XOFF信号告诉发送方停止发送数据直到知道接受方再次准备好。XON/XOFF一般不赞成使用,推荐用RTS/CTS控制流来代替它们。 XON/XOFF是一种工作在终端间的带内方法,但是必须两端都支持这个协议,而且在突然启动的时候会有混淆的可能。 XON/XOFF可以工作于3线的接口。RTS/CTS最初是设计为电传打字机和调制解调器半双工协作通信的,每次它只能一方调制解调器发送数据。终端必须发送请求发送信号然后等到调制解调器回应清除发送信号。尽管RTS/CTS是通过硬件达到握手,但它有自己的优势。 6、RS-232标准的不足 经过许多年来RS-232 器件以及通信技术的改进,RS-232 的通信距离已经大大增加。由于RS-232 接口标准出现较早,难免有不足之处,主要有以下四点: (1) 接口的信号电平值较高,易损坏接口电路的芯片,又因为与TTL 电平不兼容故需使用电平转换电路方能与TTL 电路连接。 (2) 传输速率较低,在异步传输时,波特率为20Kbps。现在由于采用新的UART 芯片16C550 等,波特率达到115.2Kbps。 (3) 接口使用一根信号线和一根信号返回线而构成共地的传输形式, 这种共地传输容易产生共模干扰,所以抗噪声干扰性弱。 (4) 传输距离有限,最大传输距离标准值为50 米,实际上也只能用在15米左右。 二、RS485基础知识 针对RS-232串口标准的局限性,人们又提出了RS-422,RS-485接口标准。RS-485/422采用平衡发送和差分接收方式实现通信:发送端将串行口的TTL电平信号转换成差分信号A、B两路输出,经过线缆传输之后在接收端将差分信号还原成TTL电平信号。由于传输线通常使用双绞线,又是差分传输,所以又极强的抗共模干扰的能力,总线收发器灵敏度很高,可以检测到低至200mV电压。故传输信号在千米之外都是可以恢复。 1、RS-485 的电气特性 驱动器能输出±7V的共模电压 接收器的输入电阻RIN≥12kΩ 输入端的电容≤50pF 在节点数为32个,配置了120Ω的终端电阻的情况下,驱动器至少还能输出电压1.5V(终端电阻的大小与所用双绞线的参数有关) 发送端:逻辑"1"以两线间的电压差为+(2 至6) V 表示;逻辑"0"以两线间的电压差为-(2 至6)V 表示。 接收器的输入灵敏度为200mV(即(V+)-(V-)≥0.2V,表示信号"0";(V+)-(V-)≤-0.2V,表示信号"1") 2、传输速率与传输距离 RS-485 的数据最高传输速率为10Mbps,最大的通信距离约为1219M,传输速率与传输距离成反比,在10Kb/S的传输速率下,才可以达到最大的通信距离。 但是由于RS-485 常常要与PC 机的RS-232口通信,所以实际上一般最高115.2Kbps。又由于太高的速率会使RS-485 传输距离减小,所以往往为9600bps 左右或以下。 3、网络拓扑 RS-485 接口是采用平衡驱动器和差分接收器的组合,抗共模干能力增强,即抗噪声干扰性好。RS-485采用半双工工作方式,支持多点数据通信。 RS-485总线网络拓扑一般采用终端匹配的总线型结构。即采用一条总线将各个节点串接起来,不支持环形或星型网络。如果需要使用星型结构,就必须使用485中继器或者485集线器才可以。RS-485/422总线一般最大支持32个节点,如果使用特制的485芯片,可以达到128个或者256个节点,最大的可以支持到400个节点。 4、连接器 RS-485 的国际标准并没有规定RS485 的接口连接器标准、所以采用接线端子或者DB-9、DB-25 等连接器都可以。 三、RS422基础知识 RS-422 的电气性能与RS-485近似一样。主要的区别在于: (1)RS-485 有2 根信号线:发送和接收都是A 和B。由于RS-485 的收与发是共用两根线,所以不能够同时收和发(半双工)。 (2)RS-422 有4 根信号线:两根发送(Y、Z)、两根接收(A、B)。由于RS-422 的收与发是分开的,所以可以同时收和发(全双工)。 (3)支持多机通信的RS-422将Y-A 短接作为RS-485 的A、将RS-422 的Z-B 短接作为RS-485 的B可以这样简单转换为RS-485。 很多人往往都误认为RS-422串行接口是RS-485串行接口的全双工版本,实际上,它们在电器特性上存在着不少差异,共模电压范围和接收器输入电阻不同使得该两个标准适用于不同的应用领域。RS-485串行接口的驱动器可用于RS-422串行接口的应用中,因为RS-485串行接口满足所有的RS-422串行接口性能参数,反之则不能成立。对于RS-485串行接口的驱动器,共模电压的输出范围是-7V和+12V之间;对于RS-422串行接口的驱动器,该项性能指标仅有±7V。RS-422串行接口接收器的最小输入电阻是4KΩ;而RS-485串行接口接收器的最小输入电阻则是12KΩ。 串口与握手基础知识 一、串口基础知识 串口是计算机上一种非常通用设备通信的协议(不要与通用串行总线Universal Serial Bus或者USB混淆)。大多数计算机包含两个基于RS232的串口。串口同时也是仪器仪表设备通用的通信协议;很多GPIB兼容的设备也带有RS-232口。同时,串口通信协议也可以用于获取远程采集设备的数据。 串口通信的概念非常简单,串口按位(bit)发送和接收字节。尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。它很简单并且能够实现远距离通信。比如IEEE488定义并行通行状态时,规定设备线总常不得超过20米,并且任意两个设备间的长度不得超过2米;而对于串口而言,长度可达1200米。 典型地,串口用于ASCII码字符的传输。通信使用3根线完成:(1)地线,(2)发送,(3)接收。由于串口通信是异步的,端口能够在一根线上发送数据同时在另一根线上接收数据。其他线用于握手,但是不是必须的。串口通信最重要的参数是波特率、数据位、停止位和奇偶校验。对于两个进行通行的端口,这些参数必须匹配: 1、波特率 这是一个衡量通信速度的参数。它表示每秒钟传送的bit的个数。例如300波特表示每秒钟发送300个bit。当我们提到时钟周期时,我们就是指波特率例如如果协议需要4800波特率,那么时钟是4800Hz。这意味着串口通信在数据线上的采样率为4800Hz。通常电话线的波特率为14400,28800和36600。波特率可以远远大于这些值,但是波特率和距离成反比。高波特率常常用于放置的很近的仪器间的通信,典型的例子就是GPIB设备的通信。 2、数据位 这是衡量通信中实际数据位的参数。当计算机发送一个信息包,实际的数据不会是8位的,标准的值是5、7和8位。如何设置取决于你想传送的信息。比如,标准的ASCII码是0~127(7位)。扩展的ASCII码是0~255(8位)。如果数据使用简单的文本(标准 ASCII码),那么每个数据包使用7位数据。每个包是指一个字节,包括开始/停止位,数据位和奇偶校验位。由于实际数据位取决于通信协议的选取,术语“包”指任何通信的情况。 3、停止位 用于表示单个包的最后一位。典型的值为1,1.5和2位。由于数据是在传输线上定时的,并且每一个设备有其自己的时钟,很可能在通信中两台设备间出现了小小的不同步。因此停止位不仅仅是表示传输的结束,并且提供计算机校正时钟同步的机会。适用于停止位的位数越多,不同时钟同步的容忍程度越大,但是数据传输率同时也越慢。 4、奇偶校验位 在串口通信中一种简单的检错方式。有四种检错方式:偶、奇、高和低。当然没有校验位也是可以的。对于偶和奇校验的情况,串口会设置校验位(数据位后面的一位),用一个值确保传输的数据有偶个或者奇个逻辑高位。例如,如果数据是011,那么对于偶校验,校验位为0,保证逻辑高的位数是偶数个。如果是奇校验,校验位位1,这样就有3个逻辑高位。高位和低位不真正的检查数据,简单置位逻辑高或者逻辑低校验。这样使得接收设备能够知道一个位的状态,有机会判断是否有噪声干扰了通信或者是否传输和接收数据是否不同步。 二、握手基础知识 RS-232通行方式允许简单连接三线:Tx、Rx和地线。但是对于数据传输,双方必须对数据定时采用使用相同的波特率。尽管这种方法对于大多数应用已经足够,但是对于接收方过载的情况这种使用受到限制。这时需要串口的握手功能。在这一部分,我们讨论三种最常用的RS-232握手形式:软件握手、硬件握手和Xmodem。 1、软件握手 我们讨论的第一种握手是软件握手。通常用在实际数据是控制字符的情况,类似于GPIB使用命令字符串的方式。必须的线仍然是三根:Tx、Rx和地线,因为控制字符在传输线上和普通字符没有区别,函数SetXModem允许用户使能或者禁止用户使用两个控制字符XON和OXFF。这些字符在通信中由接收方发送,使发送方暂停。 例如:假设发送方以高波特率发送数据。在传输中,接收方发现由于CPU忙于其他工作,输入buffer已经满了。为了暂时停止传输,接收方发送XOFF,典型的值是十进制19,即十六进制13,直到输入buffer空了。一旦接收方准备好接收,它发送XON,典型的值是十进制17,即十六进制11,继续通信。输入buffer半满时,LabWindows发送XOFF。此外,如果XOFF传输被打断,LabWindows会在buffer达到75%和90%时发送XOFF。显然,发送方必须遵循此守则以保证传输继续。 2、硬件握手 第二种是使用硬件线握手。和Tx和Rx线一样,RTS/CTS和DTR/DSR一起工作,一个作为输出,另一个作为输入。第一组线是RTS (Request to Send)和CTS(Clear to Send)。当接收方准备好接收数据,它置高RTS线表示它准备好了,如果发送方也就绪,它置高CTS,表示它即将发送数据。另一组线是DTR(Data Terminal Ready)和DSR(Data Set Ready)。这些现主要用于Modem通信。使得串口和Modem通信他们的状态。例如:当Modem已经准备好接收来自PC的数据,它置高DTR线,表示和电话线的连接已经建立。读取DSR线置高,PC机开始发送数据。一个简单的规则是DTR/DSR用于表示系统通信就绪,而RTS/CTS用于单个数据包的传输。 在LabWindows,函数SetCTSMode使能或者禁止使用硬件握手。如果CTS模式使能,LabWindows使用如下规则:当PC发送数据:RS-232库必须检测CTS线高后才能发送数据。 当PC接收数据: 如果端口打开,且输入队列有空接收数据,库函数置高RTS和DTR。 如果输入队列90%满,库函数置低RTS,但使DTR维持高电平。 如果端口队列近乎空了,库函数置高RTS,但使DRT维持高电平。 如果端口关闭,库函数置低RTS和DTR。 3、XModem握手 最后讨论的握手叫做XModem文件传输协议。这个协议在Modem通信中非常通用。尽管它通常使用在Modem通信中,XModem协议能够直接在其他遵循这个协议的设备通信中使用。在LabWindows中,实际的XModem应用对用户隐藏了。只要PC和其他设备使用XModem协议,在文件传输中就使用LabWindows的XModem函数。函数是XModemConfig,XModemSend和XModemReceive。 XModem使用介于如下参数的协议:start_of_data、end_of_data、neg_ack、wait_delay、 start_delay、max_tries、packet_size。这些参数需要通信双方认定,标准的XModem有一个标准的定义:然而,可以通过 XModemConfig函数修改,以满足具体需要。这些参数的使用方法由接收方发送的字符neg_ack确定。这通知发送方其准备接收数据。它开始尝试发送,有一个超时参数start_delay;当超时的尝试超过max_ties次数,或者收到接收方发送的start_of_data,发送方停止尝试。如果从发送方收到start_of_data,接收方将读取后继信息数据包。包中含有包的数目、包数目的补码作为错误校验、packet_size字节大小的实际数据包,和进一步错误检查的求和校验值。在读取数据后,接收方会调用wait_delay,然后想发送方发送响应。如果发送方没有收到响应,它会重新发送数据包,直到收到响应或者超过重发次数的最大值max_tries。如果一直没有收到响应,发送方通知用户传输数据失败。 由于数据必须以pack_size个字节按包发送,当最后一个数据包发送时,如果数据不够放满一个数据包,后面会填充ASCII码NULL(0)字节。这导致接收的数据比原数据多。在XModem情况下一定不要使用XON/XOFF,因为XModem发送方发出包的数目很可能增加到XON/OFF控制字符的值,从而导致通信故障。

    07-18 149浏览
  • PLC与变频器的三种连接方法

    关注公众号“PLC发烧友”,一起学习共同进步!

    07-12 125浏览
  • I2C总线是一种同步、双向、半双工的两线式串行接口总线

    I2C总线是一种同步、双向、半双工的两线式串行接口总线。这里,半双工的含义是指在任意给定的时刻,只有一个方向上是可以通信的。 I2C总线最早由Philips半导体公司于20世纪80年代研发面市。I2C最初的设计目标是为微处理器/微控制器系统与电视机外围芯片之间的连接提供简单的方法。 I2C总线由两条总线组成:串行时钟线SCL和串行数据线SDA。SCL线——负责产生同步时钟脉冲。SDA线——负责在设备间传输串行数据。I2C总线是共享的总线系统,因此可以将多个I2C设备连接到该系统上。连接到I2C总线上的设备既可以用作主设备,也可以用作从设备。主设备负责控制通信,通过对数据传输进行初始化/终止化,来发送数据并产生所需的同步时钟脉冲。从设备则是等待来自主设备的命令,并响应命令接收。主设备和从设备都可以作为发送设备或接收设备。无论主设备是作为发送设备还是接收设备,同步时钟信号都只能由主设备产生。在相同的总线上,I2C支持多个主设备的同时存在。图1-1显示了I2C总线上主设备和从设备的连接关系。当总线空闲时,SDA 和SCL 都处于高电平状态,当主机要和某个从机通讯时,会先发送一个开始条件,然后发送从机地址和读写控制位,接下来传输数据(主机发送或者接收数据),数据传输结束时主机会发送停止条件。传输的每个字节为8 位,高位在前,低位在后。 开始条件:SCL 为高电平时,主机将SDA 拉低,表示数据传输即将开始。 从机地址:主机发送的第一个字节为从机地址,高7 位为地址,最低位为R/W 读写控制位,1 表示读操作,0 表示写操作。 一般从机地址有7 位地址模式和10 位地址模式两种,如果是10 位地址模式,第一个字节的头7 位是11110XX 的组合,其中最后两位(XX)是10 位地址的两个最高位,第二个字节为10 位从机地址的剩下8 位,如下图所示: 应答信号:每传输完成一个字节的数据,接收方就需要回复一个ACK(acknowledge)。写数据时由从机发送ACK,读数据时由主机发送ACK。当主机读到最后一个字节数据时,可发送NACK(Notacknowledge)然后跟停止条件。 数据:从机地址发送完后可能会发送一些指令,依从机而定,然后开始传输数据,由主机或者从机发送,每个数据为8 位,数据的字节数没有限制。 重复开始条件:在一次通信过程中,主机可能需要和不同的从机传输数据或者需要切换读写操作时,主机可以再发送一个开始条件。 停止条件:在SDA 为低电平时,主机将SCL 拉高并保持高电平,然后在将SDA 拉高,表示传输结束。 免责声明:本文转自网络,版权归原作者所有,如涉及作品版权问题,请及时与我们联系,谢谢!

    06-26 187浏览
  • 为什么需要这么多接口?

    在硬件设计中存在多种接口类型,是因为不同接口有不同的特性和应用场景,以满足不同系统的需求。

    06-20 198浏览
  • ARM嵌入式最小系统设计的一般方法

    引言 嵌入式系统是以实际应用为核心,对功能、可靠性、成本、体积、功耗有严格要求的专业计算机系统,随着嵌入式系统相关技术的迅速发展,嵌入式系统功能越来越强,应用接口更加丰富,根据实际应用的需要设计出特定...

    06-14 223浏览
  • CAN、I2S、I2C、SPI总线区别

    一文带你搞懂CAN、I2S、I2C、SPI总线

    05-24 207浏览
正在努力加载更多...
广告