一机多用422接口数据上传Word文档下载推荐.docx
- 文档编号:20081284
- 上传时间:2023-01-16
- 格式:DOCX
- 页数:42
- 大小:316.79KB
一机多用422接口数据上传Word文档下载推荐.docx
《一机多用422接口数据上传Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《一机多用422接口数据上传Word文档下载推荐.docx(42页珍藏版)》请在冰豆网上搜索。
2.2.1RS—232C标准[2]4
2.2.2RS—422/485标准[2]9
2.2串口通讯的实施13
2.3.1Windows下串行通信的几种方法[3]13
2.3.2串口通信实现方式14
第三章多机通信硬件的实现16
3.1基本接线方法16
3.1.1近距离串口通讯基本接线方法17
3.1.2远距离串口通讯基本接线方法18
3.2多机通讯的基本接线方法19
第四章多机通信的软件实现21
4.1MSComm控件21
4.1.1MSComm控件处理通信的方式21
4.1.2MSComm控件的常用属性22
4.1.3MSComm控件错误消息23
4.2多机通讯协议的工作方式24
4.3多机通讯的软件编程实现25
4.3.1使用AppWizard创建项目25
4.3.2加入串口通信功能25
4.3.3设置界面26
4.3.4简介几种程序主体类26
第五章系统测试30
5.1多机通讯系统测试30
5.2系统硬件错误排除30
结论31
致谢32
参考文献33
附录一34
附录二46
前言
随着计算机系统的应用和微机网络的发展,通信功能越来越显的重要。
这里所说的通信是只计算机与外界的信息交换。
因此,通信既包括计算机与外部设备之间,也包括计算机和计算机之间的信息交换。
由于串行通信是在一根传输线上一位一位的传送信息,所用的传输线少,并且可以借助现成的电话网进行信息传送,因此,特别适合于远距离传输。
对于那些与计算机相距不远的人机交换设备和串行存储的外部设备如终端、打印机、逻辑分析仪、磁盘等,采用串行方式交换数据也很普遍。
所以串行接口是目前微机应用系统常用的接口,在各种数据的传输中起到了重要的作用。
另外,目前在个人计算机上,Windows是现代操作系统的一个工业标准,所以选择一个合适的Windows应用程序开发工具,无疑是重要的,所以MicrosoftVisualC++6.0作为微软公司推出的支持32位操作系统的开发工具,提供了丰富的Microsoft的最新技术集成,其可视化的C++编程模式,是Windows系列平台上理想的开发工具[2]。
综上所述,本设计就是为适应时代要求,以VC++6.0作为开发平台,通过计算机COM口硬件接口设备,实现计算机间的串行通信功能。
由于时间以及个人能力有限,本设计中不免存在一些错误和缺点,恳请各位老师,和同学批评指正,共同学习!
第一章系统简介
1.1系统目的及功能
1.1.1系统目的
本次毕业设计(一机多用422接口数据上传)目的主要是:
利用实验室现有条件,模仿工业现场多点数据上传过程,学习串行接口以及数据终端之间数据传输得基本技术,初步了解软硬件集成的方式。
基于工业现场多点数据上传的模型,设计主从式数据采集系统,一台主机与数台设备通过RS422/485串行接口相连,完成长距离数据传输,实验室模拟定时收集现场数据的过程。
1.1.2系统功能
在多台计算机之间建立串行接口的连接,实现多台计算机之间串行通信的任务,使每个独立的计算机建立互联,按照自定义的串口通信协议以呼叫应答的方式进行上位机与下位机、下位机与下位机之间的对话。
可传输的内容包括:
1.十六进制文件
2.文本文件
3.计算机间的聊天内容
4.十六进制文件与文本文件相互转换
可完成的功能有:
1、十六进制转换
2、自动发送
3、清空发送框和接收框
4、数据的图形显示
5、发送允许
6、接收允许
1.2设计思路
首先实现双机串口通信,然后在双机通信的程序中加入桢结构程序部分,为每台计算机定义一个地址,通过发送的数据串中的第一位来确定是那一台机器的地址,然后实现消息的发送与接受,而其他计算机不响应。
最后通过422接口实现多机通信。
第二章串口通讯的基本知识
2.1简介
计算机与计算机、计算机与终端之间的数据传送有串行通讯和并行通讯两种方式。
并行口与串行口的主要区别是交换信息的方式不同:
并行口能同时通过8条数据线传输信息,一次传输一个字节;
而串行口只能用一条信号线传输一位数据,每次传输一个字节的一位。
并行口可以同时传输更多的信息,速度明显高于串行口;
但串行口可以用于比并行口更远距离的数据传输。
由于串行通讯方式具有使用线路少、成本低的优点,特别是在远距离通讯时避免了多条线路特性的不一致,而被广泛采用。
在串行通讯时,要求通讯双方都采用一个标准接口,使不同的设备可以方便地连接起来进行通讯。
串行通讯接口是指设备之间的接口,在设计中我们选用的实现串行通讯功能的是COM口,即计算机必备的串行设备通信接口(COM1—COM4)。
2.2串行通讯接口标准
2.2.1RS—232C标准[2]
RS—232C是用二进制方式进行数据交换的数据通信设备(DCE)与数据终端设备(DTE)之间的接口技术标准,采用单端接收器和单端发送器,每条信息只用一根信号线来传送,是一种共地的传输形式。
RS—232C接口(又称EIARS—232C)是目前最常用的一种串行通讯接口。
它是1970年由美国电子工业协会(EIA)联合贝尔系统、调制解调器厂家以及计算机终端生产厂家共同制定的用于串行通讯的标准。
它的全名是“数据终端设备(DTE)和数据通讯设备(DCE)之间串行二进制数据交换接口技术标准”,该标准规定采用一个25个脚的DB—25连接器,对连接器的每个引脚的信号内容加以规定,还对各种信号的电平加以规定。
从外观上看,一个完整的RS—232C接口可以说就是一个25针的D型插头座。
由于有些调制解调器配备了两个信道,所以定义了主要的和辅助的两个通信信道,其中辅助信道的速率较低,两个信道的传输方向相反。
在表2.1中列出了各引脚信号的定义。
9针串口(DB9)
25针串口(DB25)
针号
功能说明
缩写
1
数据载波检测
DCD
8
2
接收数据
RXD
3
发送数据
TXD
4
数据终端准备
DTR
20
5
信号地
GND
7
6
数据设备准备好
DSR
数据准备好
请求发送
RTS
清除发送
CTS
9
振铃指示
DELL
22
表2.1RS—232C接口引脚信号的定义
辅助说明:
将信号分为3类:
传送信号(RXD,TXD)、联络信号(DCD,DTR,DSR,RTS,CTS,RI)和信号地(SG)
1.DataCarrierDetector(DCD)载波检测
2.ReceivedData(RXD)数据接收
3.TransmittedData(TXD)数据发送
4.DataTerminalReady(DTR)数据终端准备好
5.Ground(SG)地
6.DataSetReady(DSR)数据设备准备好
7.RequesttoSend(RTS)请求发送
8.CleartoSend(CTS)允许发送
9.RingIndicator(RI)振铃指示
RS—232C接口连接器一般使用型号为DB—25的25芯插头座,通常插头在DCE端,插座在DTE端.一些设备与PC机的RS—232C接口连接,因为不使用对方的传送控制信号,只需要三条接口线,即“发送数据”、“接收数据”和“信号地”。
所以采用DB—9的9芯插头座,传输线采用屏蔽双绞线。
RS—232C原是基于公用电话网的一种串行通信标准,由RS—232C标准规定在码元畸变小于4%的情况下,传输电缆长度为15米(50英尺),其实这个4%的码元畸变是很保守的,在实际应用中,约99%的用户是按码元畸变10%—20%的范围来工作的,所以实际使用中最大距离远超过15米,美国DEC公司规定允许码元畸变为10%,从而得出表2.2的实验结果。
其中1号电缆为屏蔽电缆,型号为DECP.NO.9107723,内有三对双绞线,由22#AWG组成,其外覆盖屏蔽网。
2号电缆为不带屏蔽的电缆,型号为DECP.NO.9105856-04,是22#AWG的四芯电缆。
波特率
一号电缆传输距离(英尺)
二号电缆传输距离(英尺)
110
5000
3000
300
1200
3000
2400
1000
500
4800
250
9600
表2.2DEC公司的实验结果
在RS—232C中任何一条信号线的电压均为负逻辑关系,即逻辑“1”表示-5V—-15V,逻辑“0”表示+5V—+15V。
而噪声容限为2V,即要求接收器能识别低至+3V的信号作为逻辑“0”,高至-3V的信号作为逻辑“1”。
当发送器输出为“1”时,电平应在-5V—-15V之间;
输出为“0”时,电平应在+5V—+15V之间。
接收器输入电平在-3V—-15V之间被认为收到的是“1”,在+3V—+15V之间被认为收到的是“0”。
当线路上不传送数据(即空闲)时,发送器输出为“1”。
RS—232C的逻辑电平以公共地为对称,其逻辑“0”电平规定在+3V—+25V之间,逻辑“1”电平则在-3V—-25V之间,因而它不仅要使用带有正负极性的双电源,而且与传统的TTL等数字电路的逻辑电平不兼容,两者之间必须使用电平转换器。
表2.3列出了RS—232C标准的主要电气特性参数。
常用的电平转换器件有以MC1488与MC1489为代表的集成电路。
MC1488实质上是由3个与非门和1个反相器组成的,通过它们可以将4路TTL电平转换为RS—232C电平,它需要
表2.3RS—232C标准的主要电气特性参数
项目
参数指标
带3kΩ—7kΩ负载时驱动器的输出电平
逻辑0为+3V—+25V,逻辑1为-3V—-25V
不带负载时驱动器的输出电平
-25V—+25V
驱动器通断时的输出阻抗
>
300Ω
输出短路电流
<
0.5A
驱动器转换速率
30v/us
接收器输入阻抗
3kΩ—7kΩ
接收器输入电压
输入开路时接收器的输出逻辑
输入经300Ω接地时接收器的输出逻辑
+3V输入时接收器的输出逻辑
-3V输入时接收器的输出逻辑
最大负载电容
2500pF
不能识别的过渡区
-3V—+3V
±
15V或者±
12V双路电源,适用于数据发送。
而MC1489实质上是4个带控制门的反相器,可以将4路RS—232C电平转换成TTL电平,它只使用单一的5V电源,适用于数据接收,其控制端通常接一个滤波电容到地,如果将它们连接到电源正极,则可以改变输入信号的门限特性。
由于MC1488/1489是功能单一的发送/接收器,所以双向数据传输中各端都应该同时使用这两个器件,此外又必须同时具备正负两组电源,因而在很多应用场合下就显得不很方便。
为此推出了只使用单一电源,而且具有发送/接收双重功能电路的RS—232C收发器。
这种器件的内部集成了一个充电泵电压变换器,它能够将+5V电压或者更低的电源电压变换为RS—232C所需要的±
10V以上的电压。
因此在使用者看来,RS—232C电平就几乎与TTL电平“兼容”了。
电平转换的基本原理是,一般先将源信号电平转换成TTL电平,再由TTL电平转换成目标电平。
在电源电压为5V的电路中,TTL的逻辑低电平“0”应不大于0.8V,逻辑高电平“1”应不小于2V。
这种单一+5V供电的RS—232C收发芯片有美国的美信等公司生产的产品,其产品与型号繁多,它们之间的差别主要在于芯片内部集成的发送器与接收器数量不同,以及有无节能功能的自动掉电或者称为睡眠模式等。
此外,其中有一些芯片需要外接0.1uF—10uF电容器;
而有一些芯片则在内部集成了电容,因而不需要再使用或者可以少连接外接电容。
图2.1描述了MAX232芯片引脚、内部功能框图以及外接电容等信息。
从框图我们可以看到,芯片内部除了有两个发送驱动器与两个接收器用于RS—232C与TTL之间的电平转换外,还有两个电源变换电路,一个升压泵可以将电压由+5V提高到+10V,而另一个变换器则将+10V电压转换成-10V,即仅需+5V电源外加5只外接电容即可工作。
对于外接电容,MAX232要求C1—C5全部为1.0uF。
电路主要连线方式:
RS—232C电平从MAX232的引脚13,8输入,转换后的TTL电平由MAX232的引脚12,9输出;
TTL电平从MAX232的引脚10,11输入,转换后的RS-232C电平由MAX232的引脚7,14输出
图2.1MAX232示意图
RS—232C所使用的电缆通常均有每英尺40pF—50pF的分布电容,该标准规定最大电容量为2500pF,所以其数据传输速率的上限只有20kb/s。
由于它采用非平衡传输方式,所以接地问题就显得特别重要,当传输电缆两端存在较大的地电位差时,它将与信号叠加在一起,从而使逻辑0与1之间的实际过渡区变窄,结果有可能造成逻辑电平的误判而使得数据传输出现错误。
2.2.2RS—422/485标准[2]
由于RS—232C接口标准出现较早,难免有不足之处,主要有以下四点:
1.接口的信号电平值较高,易损坏接口电路的芯片,又因为与TTL电平不兼容故需要使用电平转换电路方能与TTL电路连接。
2.传输速率较低,在异步传输时,波特率为20kb/s。
3.接口使用一根信号线和一根信号返回线而构成共地的传输形式,这种共地传输容易产生共模干扰,所以抗噪声干扰性弱。
4.传输距离有限,最大传输距离标准值为50英尺,实际上也只能用在50米左右。
为了扩展应用范围,EIA在RS—422的基础上制定了RS—485标准,它克服了RS—232C的这些缺点,增加了多点、双向通信能力,通常在要求通信距离为几十米至上千米时,广泛采用RS—485收发器。
RS—485收发器采用平衡发送和差分接收,即在发送端,驱动器将TTL电平信号转换成为差分信号输出;
在接收端,接收器将差分信号变成TTL电平,因此具有抑制共模干扰的能力。
加上接收器具有较高的灵敏度,能检测低至200mV的电压,故数据传输可达千米以外。
RS—485器件不仅传输距离远,通信可靠,而且使用单一的+5V或者+3V电源,逻辑电平也与传统数字逻辑TTL电平兼容,此外对传输介质物理层也没有任何严格的要求,只需将普通双绞线捆绑在一起即可以简便的组成网络。
RS—485标准器件的数据传输速率目前有32Mb/s、20Mb/s、12Mb/s、10Mb/s、2.5Mb/s、数百kb/s等各种规格。
下面介绍RS—485的一些物理特性,RS—485共模输出电压在-7V—+12V之间,RS—485接收器最小输入阻抗为12KΩ,最大数据传输速率为10Mb/s。
当波特率为1200kb/s时,最大传输距离理论上可达到15千米。
平衡双绞线的长度与传输速率成反比,在100kb/s速率以下,才可能使用规定最长的电缆长度。
RS—485需要两个终接电阻,接在传输总线的两端,其阻值要求等于传输电缆的特性阻抗。
在短距离传输时可以不需要终接电阻,即一般在300米以内不需要终接电阻。
表2.4描述了RS-485的有关电气参数。
表2.4RS—432C/RS—485接口电路特性比较
规定
RS—232C
RS—485
工作方式
单端
差分
节点数
1收1发
1发32收
最大传输电缆长度
50英尺
400英尺
最大传输速率
20Kb/S
10Mb/s
最大驱动输出电压
+/-25V
-7V—+12V
驱动器输出信号电平(负载最小值)
+/-5V~+/-15V
+/-1.5V
驱动器输出信号电平(空载最大值)
+/-6V
驱动器负载阻抗(Ω)
3K~7K
54
摆率(最大值)
30V/μs
N/A
接收器输入电压范围
+/-15V
-7V~+12V
接收器输入门限
+/-3V
+/-200mV
接收器输入电阻(Ω)
≥12K
驱动器共模电压
-1V~+3V
接收器共模电压
由该表我们可知RS—485的电气特性,其逻辑“1”表示两线间的电压差为+2V—+6V,逻辑“0”表示两线间的电压差为-2V—-6V。
接口信号电平比RS—232C降低了,所以不易损坏接口电路的芯片,并且该电平与TTL电平可兼容,也就方便了与TTL电路的连接。
采用RS—485接口时,所使用的传输电缆的长度是有规定的。
在使用RS—485接口时,对于特定的传输线经,从发生器到负载其数据信号传输所允许的最大电缆长度,是数据信号速率的函数,这个长度数据主要是受信号失真及噪声等参数影响所限制的。
当数据信号速率降低到90Kb/s以下时,假定最大允许的信号损失为6dBV,则电缆长度被限制在1200m。
实际上,在实用时是完全可以取得比它大的电缆长度的。
使用不同传输线径的电缆,取得的最大电缆长度也是不相同的。
关于RS—485的多点通讯功能是这样描述的,RS—485总线上任何时候只能有一个发送器在发送,属于半双工方式,主从只能有一个发。
全双工方式主站总可以发送,从站只能有一个发送。
MAX485是一种典型的RS—485标准器件,它是可以用于RS—485标准通信的小功率收发器,使用单一+5V电源,内含一个发送驱动器和一个接收器。
图2.2给出了其引脚图及其典型的应用连接图,由图可见只需要用双绞线分别将A、B同名端相连并接上终端匹配电阻即可以实现通信。
在表2.5中描述了引脚的排列与功能。
图2.2MAX485引脚图及应用接线图
下面介绍这种器件作为驱动器与接收器的逻辑功能,如表2.6中所描述的,表中的“x”表示不确定状态,可以忽略不予考虑。
MAX485的主要特性指标:
1.半双工方式
2.最高速率2.5Mb/s
3.使能端控制为高阻态
4.接收输入阻抗12kΩ
5.静态电流500/300uA
6.节点数32个
表2.5MAX485引脚排列与功能
引脚
引脚命名
引脚功能
1
RO
接收器输出端,当A比B大200mV时RO为高电平;
当A比B小200mV时RO为低电平
RE
接收器输出使能端,当RE为低电平时RO输出有效;
当RE为高电平时RO输出端挂起呈高电阻状态
DE
驱动器输出端,当DE为高电平时,驱动器的输出端有效,此时器件作线驱动器;
如果DE为低电平则这些输出端挂起呈高阻状态,此时若RE为低电平则器件用作线接收器
DI
驱动器输入
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 多用 422 接口 数据 上传