CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Delphi >  VCL组件开发及应用

关于RS-232串行通信的开发,大家给出出主意

楼主crazyz(乘风)2005-11-01 13:19:39 在 Delphi / VCL组件开发及应用 提问

具体情况:此软件为万用表pc端软件,以前是用VB编的通过RS-232C接口标准来访问Com口,万用表也是联在Com上,现我要改为用delphi的并且同时支持com口和USB口,现在手头上拿到的资料有VB的可执行文件,万用表USB的驱动程序,万用表我的问题:  
   
  1.要完成此软件还需要哪些资料?  
  2.用delphi做基于RS-232的开发,可用到的控件有哪些?如果直接调用操作系统的函数,和RS-232相关有哪些函数?  
  3.关于USB接口的开发,我在USB驱动程序中发现有一个CCPORT.SYS这样的文件,在这个文件中有一些函数,好像是对接口操作,不知,这种函数能不能像Dll一样调用!  
   
  请不啬赐教,多谢了! 问题点数:100、回复次数:4Top

1 楼lovendII(流氓都做了城管)回复于 2005-11-01 13:56:51 得分 0

有关RS232和RS485接口的问答    
   
  什么是RS-232-C接口?采用RS-232-C接口有何特点?传输电缆长度如何考虑?    
   
  答:   计算机与计算机或计算机与终端之间的数据传送可以采用串行通讯和并行通讯二种方式。由于串行通讯方式具有使用线路少、成本低,特别是在远程传输时,避免了多条线路特性的不一致而被广泛采用。   在串行通讯时,要求通讯双方都采用一个标准接口,使不同   的设备可以方便地连接起来进行通讯。   RS-232-C接口(又称   EIA   RS-232-C)是目前最常用的一种串行通讯接口。它是在1970年由美国电子工业协会(EIA)联合贝尔系统、   调制解调器厂家及计算机终端生产厂家共同制定的用于串行通讯的标   准。它的全名是“数据终端设备(DTE)和数据通讯设备(DCE)之间   串行二进制数据交换接口技术标准”该标准规定采用一个25个脚的   DB25连接器,对连接器的每个引脚的信号内容加以规定,还对各种信   号的电平加以规定。    
   
  (1)接口的信号内容   实际上RS-232-C的25条引线中有许多是很少使用的,在计算机与终端通讯中一般只使用3-9条引线。RS-232-C最常用的9条引线的信号内容见附表1所示    
   
  (2)接口的电气特性   在RS-232-C中任何一条信号线的电压均为负逻辑关系。即:逻   辑“1”,-5—   -15V;逻辑“0”   +5—   +15V   。噪声容限为2V。即   要求接收器能识别低至+3V的信号作为逻辑“0”,高到-3V的信号   作为逻辑“1”   附表1  
   
  引脚序号  
    信号名称  
    符号  
    流向  
    功能  
     
  2  
    发送数据  
    TXD  
    DTE→DCE  
    DTE发送串行数据  
     
  3  
    接收数据  
    RXD  
    DTE←DCE  
    DTE接收串行数据  
     
  4  
    请求发送  
    RTS  
    DTE→DCE  
    DTE请求DCE将线路切换到发送方式  
     
   
  5  
    允许发送  
    CTS  
    DTE←DCE  
    DCE告诉DTE线路已接通可以发送数据  
     
  6  
    数据设备准备好  
    DSR  
    DTE←DCE  
    DCE准备好  
     
  7  
    信号地  
            信号公共地  
     
  8  
    载波检测  
    DCD  
    DTE←DCE  
    表示DCE接收到远程载波  
     
  20  
    数据终端准备好  
    DTR  
    DTE→DCE  
    DTE准备好  
     
  22  
    振铃指示  
    RI  
    DTE←DCE  
    表示DCE与线路接通,出现振铃  
     
   
       
   
  (3)   接口的物理结构   RS-232-C接口连接器一般使用型号为DB-25的25芯插头座,通常插头在DCE端,插座在DTE端.   一些设备与PC机连接的RS-232-C接口,因为不使用对方的传送控制信号,只需三条接口线,即“发送数据”、“接收数据”和“信号地”。所以采用DB-9的9芯插头座,传输线采用屏蔽双绞线。    
   
  (4)传输电缆长度   由RS-232C标准规定在码元畸变小于4%的情况下,传输电缆长度应为50英尺,其实这个4%的码元畸变是很保守的,在实际应用中,约有99%的用户是按码元畸变10-20%的范围工作的,所以实际使用中最大距离会远超过50英尺,美国DEC公司曾规定允许码元畸变为10%而得出附表2   的实验结果。其中1号电缆为屏蔽电缆,型号为DECP.NO.9107723   内有三对双绞线,每对由22#   AWG   组成,其外覆以屏蔽网。2号电缆为不带屏蔽的电缆。型号为DECP.NO.9105856-04是22#AWG的四芯电缆。   附表2   DEC   公司的实验结果    
   
   
  波特率  
    1   号电缆传输距离(英尺)  
    2   号电缆传输距离(英尺)  
     
  110  
    5000  
    3000  
     
  300  
    5000  
    3000  
     
  1200  
    3000  
    3000  
     
  2400  
    1000  
    500  
     
  4800  
    1000  
    250  
     
  9600  
    250  
    250  
     
   
       
  2.   什么是RS-485接口?它比RS-232-C接口相比有何特点?  
   
  答:   由于RS-232-C接口标准出现较早,难免有不足之处,主要有以下四点:    
   
  (1)   接口的信号电平值较高,易损坏接口电路的芯片,又因为与TTL   电平不兼容故需使用电平转换电路方能与TTL电路连接。    
   
  (2)   传输速率较低,在异步传输时,波特率为20Kbps。    
   
  (3)   接口使用一根信号线和一根信号返回线而构成共地的传输形式,   这种共地传输容易产生共模干扰,所以抗噪声干扰性弱。    
   
  (4)   传输距离有限,最大传输距离标准值为50英尺,实际上也只能   用在50米左右。    
   
  针对RS-232-C的不足,于是就不断出现了一些新的接口标准,RS-485就是其中之一,它具有以下特点:    
   
  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(针)。  
   
  3.   采用RS485接口时,传输电缆的长度如何考虑?    
   
  答:   在使用RS485接口时,对于特定的传输线经,从发生器到负载其数据信号传输所允许的最大电缆长度是数据信号速率的函数,这个   长度数据主要是受信号失真及噪声等影响所限制。下图所示的最大电缆长度与信号速率的关系曲线是使用24AWG铜芯双绞电话电缆(线   径为0.51mm),线间旁路电容为52.5PF/M,终端负载电阻为100欧   时所得出。(曲线引自GB11014-89附录A)。由图中可知,当数据信   号速率降低到90Kbit/S以下时,假定最大允许的信号损失为6dBV时,   则电缆长度被限制在1200M。实际上,图中的曲线是很保守的,在实   用时是完全可以取得比它大的电缆长度。   当使用不同线径的电缆。则取得的最大电缆长度是不相同的。例   如:当数据信号速率为600Kbit/S时,采用24AWG电缆,由图可知最   大电缆长度是200m,若采用19AWG电缆(线径为0。91mm)则电缆长   度将可以大于200m;   若采用28AWG   电缆(线径为0。32mm)则电缆   长度只能小于200m。  
   
       
  Top

2 楼aiirii(ari-http://spaces.msn.com/members/aiirii/)回复于 2005-11-01 14:22:34 得分 0

>>1.要完成此软件还需要哪些资料?  
  万用表pc端软件   的开发说明和通信协议  
   
   
  >>2.用delphi做基于RS-232的开发,  
  我自己的经验,用   mscomm   最好用  
   
   
  >>3.关于USB接口的开发  
  一般是虚拟一个串口的,和用com口通信那部分的代码是一样的Top

3 楼crazyz(乘风)回复于 2005-11-07 19:50:10 得分 0

to    
    aiirii(ari-淘金坑)   :要虚拟一个串口啊?能不能说具体点,怎么才能虚拟出一个串口?按这样说是不是直接用一个usb转com口的转换设备就不用编程了Top

4 楼aiirii(ari-http://spaces.msn.com/members/aiirii/)回复于 2005-11-07 20:33:42 得分 0

不能说具体点,怎么才能虚拟出一个串口?  
   
  是驱动程序自己虚拟出来的,不用你操心  
   
  用一个usb转com口的转换设备?  
  不同的概念,和这里讨论的不同。  
   
  但你的usb部分,不用编程的可能性很大Top

相关问题

  • 串行通信和GPS
  • 串行通信控件
  • java串行端口通信
  • 串行通信控件
  • 串行通信问题:怎样串行传输结束?
  • 用vc编写串行通信程序...
  • 给我出出主意
  • 请大家出出主意
  • 大家来出出主意
  • 大家帮忙出主意?

关键词

  • 接口
  • 信号
  • 数据
  • 函数
  • 通讯
  • 逻辑
  • 连接器
  • 终端
  • 电缆
  • 串行

得分解答快速导航

  • 帖主:crazyz

相关链接

  • Delphi类图书
  • Delphi类源码下载
  • Delphi控件下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo