Labview串口通信开发实例(值得拥有).pdf

所需积分/C币:31 2019-11-14 3.66MB pdf
评分

实用的labview技术讲解,典型的串口的案例,典型的实例分析,贴合实际工作的用例讲解,接触你在工作中遇到的部分难题
2位。由于数据是在传输线上定时的,并且每一个设备有其自己 的时钟,很可能在通信中两台设备间出现了小小的不同步。因此 停止位不仅仅是表示传输的结束,并且提供计算机校正时钟同步 的机会。适用于停止位的位数越多,不同时钟同步的容忍程度越 大,但是数据传输率同时也越慢 d,奇偶校验位:在串口通信中种简单的检错方式。有四科检 错方式:偶、奇、高和低。当然没有校验位也是可以的。对于偶 和奇校验的情况,串口会设置校验位(数据位后面的一位),用 一个值确保传输的数据有偶个或者奇个逻辑高位。例如,如果数 据是011,那么对于偶校验,校验位为0,保证逻辑高的位数是 偶数个。如果是奇校验,校验位位1,这样就有3个逻辑高位。 高位和低位不真正的检査数据,简单置位逻辑高或者逻辑低校 验。这样使得接收设备能够知道一个位的状态,有机会判断是否 有噪声干扰了通信或者是否传输和接收数据是否不同步。 2,什么是RS232? RS-232(ANSI/EIA232标准)是 IBM-PC及其兼容机上的串行连 接标准。可用于许多用途,比如连接鼠标、打印机或者 Modem, 同时也可以接工业仪器仪表。用于驱动和连线的改进,实际应用 中RS-232的传输长度或者速度常常超过标准的值。RS232只限 于PC串口和设备问点对点的通信。RS-232串口通信最远距离是 50英尺。 DB-9针连接头 1 2(RXD)3(TXD)45(GND)/ 6789/ 从计算机连出的线的截面。 RS-232针脚的功能: 数据: TXD(pin3):串口数据输出 RXD(pin2):串口数据输入 握手: RTS(pjin⑦):发送数据请求 CTS(pin8):清除发送 DSR(pin6):数据发送就绪 DCD(pin1):数据载波检测 DTR(pin4):数据终端就绪 地线: GND(pin5):地线 其他 RI(pin9);铃声指示 什么是RS-4222 RS-422( EIA RS-422- A Standard)是 Apple的 Macintosh计算 机的串口连接标准。RS-422使用差分信号,RS232使用非平衡 参考地的信号。差分传输使用两根线发送和接收信号,对比 RS-232,它能更好的抗噪声和有更远的传输距离。在工业环境中 更好的抗噪性和更远的传输距离是一个很大的优点。 4,什么是RS-485? RS-485(EIA-485标准)是RS-422的改进,因为它增加了设备的 个数,从10个增加到32个,同时定义了在最大设备个数情况卜 的电气特性,以保证足够的信号电压。有了多个设备的能力,你 可以使用一个单个RS-422口建立设备网络。出色抗噪和多设备 能力,在工业应用中建立连向PC机的分布式设备网络、其他数 据收集控制器、皿MI或者其他操作时,串行连接会选择RS-485。 RS-485是RS422的超集,因此所有的RS-422设备可以被RS485 控制。RS-485可以用超过4000英尺的线进行串行通行。 DB-9引脚连接 12345 \6789/ 从计算机连出的线的截面。 RS-485和RS-422的引脚的功能 *E: TXD+ (pin 8), TXD-(pin 9), RXD+(pin 1), RXD-(pin 5) fE: RTS+(pin 3), RTS-(pin 7), CTS+(pin 2), CtS-(pin 6) 地线:GND(pin1) 5,什么是握手? RS232通行方式允许简单连接三线:Tx、Rx和地线。但是对于 数据传输,双方必须对数据定时采用使用相同的波特率。尽管这 种方法对于大多数应用已经足够,但是对于接收方过载的情况这 种使用受到限制。这时需要串口的握手功能。在这一部分,我们 寸论三种最常用的RS-232握手形式:软件握手、硬件握手和 Xm modem。 a,软件握于:我们讨论的第一种握手是软件握手。通常用在实 际数据是控制字符的情况,类似于GPIB使用命令字符串的方式。 必须的线仍然是三根:Tx,Rx和地线,因为控制字符在传输线上 和普通字符没有区别,函数SetⅪodem允许用户使能或者禁止用 户使用两个控制字符X0N和OXFF。这些字符在通信中由接收方发 送,使发送方暂停。 例如:假设发送方以高波特率发送数据。在传输中,接收方发现 由于CPU忙于其他工作,输入 buffer已经满了。为了暂时停止 传输,接收方发送XOF,典型的值是十进制19,即十六进制13, 直到输入 buffer空了。·旦接收方准备好接收,它发送ⅹ0N,典 型的值是十进制17,即十六进制11,继续通信。输入 buffer半 满时, Labwindows发送XOF。此外,如果XOFF传输被打断 LabWindows会在 buffer达到75%和90%时发送XOFF。显然, 发送方必须遵循此守则以保证传输继续。 b,硬件握手:第二种是使用硬件线握手。和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。 C,Ⅺ Modem握手:最后讨论的握手叫做Ⅻodem文件传输协议。这 个协议在 Modem通信中非常通用。尽管它通常使用在 Modem通信 中, XModem协议能够直接在其他遵循这个协议的设备通信中使 用。在 Labwindows中,实际的Ⅻ Modem应用对用户隐臧了。只要 PC和其他设备使用 XModem协议,在文件传输中就使用 Labwindows的 XModem函数。函数是 XModemConfig, XModem Send 和 XModemReceive XModem使用介于如下参数的协议: start of data、 end of data、 neg ack、 wait delay、 start delay、 max tries、 packet size。 这些参数需要通信双方认定,标准的 XModem有一个标准的定义: 然而,可以通过Ⅺ ModemConfig函数修改,以满足具体需要。这 些参数的使用方法由接收方发送的字符 neg ack确定。这通知发 送方其准备接收数据。它开始尝试发送,有·个超时参数 start delay;当超时的尝试超过 max ties次数,或者收到接收 方发送的 start of data,发送方停止尝试。如果从发送方收到 start of data,接收方将读取后继信息数据包。包中含有包的 数目、包数目的补码作为错误校验、 packet size字节大小的实 际数据包,和进一步错误检査的求和校验值。在读取数据后,接 收方会调用 wait delay,然后想发送方发送响应。如果发送方没 有收到响应,它会重新发送数据包,直到收到响应或者超过重发 次数的最大值 max tries。如果直没有收到响应,发送方通知 用户传输数据失败。 由于数据必须以 pack size个字节按包发送,当最后一个数据包 发送时,如果数据不够放满一个数据包,后面会填充 ASCLL码 NULL(0)字节。这导致接收的数据比原数据多。在Ⅺodem情况 下一定不要使用X0N/XOFF,因为Ⅺ Modem发送方发出包的数目很 可能增加到XON/OFF控制字符的值,从而导致通信故障。 Rs-232,Rs-422和Rs-485串口通讯接口的快速比较 问题 RS-232,RS-422以及RS-485串口的基本区别是什么? 解答 下面的表格比较了:工作方式,驱动器和接收器的总数,电缆的最大长度及最大传输速率。RS-232是大多数计算 机通用的接口,比如coM1和COM2。注意,大多数计算机的接cOM1以及cOM2并不是 RS-422/RS-485。然而,RS-422是苹果 Macintosh计算机的标准接口。RS-485是基于RS422的一 种改进,在⊥业中更普遍。所有NI的RS-485板卡都支持Rs-422标准 项目 RS232 Rs-422 Rs485 工作方式 单端 差分。 差分 单线上的昭动器和接1个驱动猎 1个驱动器 32个驱动器 收器的总数(R451个接收器 10个接收器 32个换收器 闷络一次一个驱动器 有效) 电最长长度 50莫尺(250p400荚尺 4030只 最大传轴速率(对20Kb(特定情况下1Mg 10 Mites R42R48540葵可以更高 尺4000英尺 问题;串行通讯的基本架构是什么? 解答:串口通讯架构 每一个异步串行系统的核心都是一个UART(通用异步接收机/发送机)。UART不仅控制传输的数据,相应的电 平,同时也控制邐讯的速度。UART能够存储足够的信息,所以保证了在电脑忙得时候,数据流也能连续传输。这 对于同时处理大量任冬的操作系统非常有帮助。下面附图是理串行通讯的示意。我们大部分的串行卡都有一个输 入输出的FIFo(查看日录了解详细信息)。FIFo的数据可以通过串行驱动获取。串行驱动会自动地把FIFo的 数据传输剑软件的缓存,这个缓存是可以在应用软件由用户配置的(比如,在 LabyIEW您可以使用 Serial port Init vi来设置缓存去大小)。读接口的数据实际上包含从软件缓存读的过程。 确认硬件操作的回路测试 有三种方式确认串口的操作: LabVIEw,超级终端和 Labwindows/cvI。这三种方式进行回路测试是把口 的发送和接受引脚短接。第一步描述短接引脚的过程。 Labview的处理写在下面,而超级终端和 Labwindows/cvI的过程在本文后面的链接里。对于 LabVIEw建议使用如下步骤: a,连接一根电缵到串口。最常用的R5-232电缆是9针或者25针(DB-9或者DB-25)。在电缆端把2、3 引脚短接。这会把计算机发送数据的线连接到接收数据的线。一旦短接,BD-9的上一排变成【12=345】。 对于RS=485端口,电压是差分的。因此,你必须短接TXD+和RXD+、TXD和RXD-(对于DB-9电缆,连 接pin4到pin8和pin5到pin9:对于模块化接口,连接pin2到pin6和pin3到pin7;对于 Combicon 接头,连接pin1到pin5和pin2到pin4.)确保你的软件配置为4线模式。 在 Lab vEv中应用串∏ 第一部分使用LabⅥEW系统Ⅵ 、串口Ⅵ介绍

...展开详情
立即下载 最低0.43元/次 学生认证VIP会员7折
举报 举报 收藏 收藏
分享
img
superma1982

关注 私信 TA的资源

上传资源赚积分,得勋章
相关内容推荐