首页 | 收藏本站 | 免费注册|申请VIP会员|固定排名|广告服务
中国电气自动化网首页
PLC | 电  机 | 变 频 器 | 人机界面 | 运动伺服 | 控制传动 | 自动化软件
DCS | 传感器 | 通信网络 | 现场总线 | 数据采集 | 电气开关 | 数传测控
电源 | 嵌入式 | 仪器仪表 | 低压电器 | 机器视觉 | 工业安全 | 工控机
模具 | 电线电缆 | 电子元件 | 成套设备 | 液压气动 | 制 冷
机床 | 电力能源 | 机械设备 | 石油化工 | 矿业冶金 | 水工业
物流 | 轨道交通 | 汽车电子 | 工程机械 | 输 配 电 | 电 梯
产品 企业 供求 新闻
下载 视频 招聘 期刊 会展 培训 库存 论坛 访谈 维修  
热词:嵌入式 传感器 电源 主板 工控机 PLC 人机界面 变频器

您现在的位置:中国电气自动化网首页 >> 文库首页>>详细信息

基于Modem的单片机与PC机远程数据传输设计 
(发布日期:2008-4-9 11:30:25) 来源:http://www.szmodem.com/news-id-65.asp
 
    1、系统总体结构及原理
  本系统的结构采用中央控制型星型结构及自动拨号连接方式,中央管理PC机通过公共电话网络或程控交换机与多个现场单片机连通。现场单片机完成对各物理参量的数据采集,进行数字滤波、数据处理、比值告警、现场显示及对现场设备进行控制等,并定时或随机地向中央管理PC机报告过程情况。中央管理PC机定时或随机地汇集各测试点的信息,进行数据处理、显示打印、声光报警,并负责全局的综合控制、管理调度和策划指挥等任务。中央PC机可通过电话网依次自动拨号呼叫下属各现场单片机,单片机收到呼叫并建立联接后发送数据到中央管理PC机,各现场单片机之间则不能进行呼叫联络。由于单片机应用系统的安装数量和分布范围不同,与中心站的距离一般为几公里到几十公里,在单片机与PC机之间需要传送的数据量不是很大的情况下,采用调制解调器通过电话线路进行通信较为适用。下位单片机以其所在单位的电话号码作为其唯一的地址,并由单片机控制电话的使用,可以实现无人值守自动通信。每当电话响铃一定次数后仍无人接听,则单片机自动接入线路,通过不同标志来判断是主机呼叫还是人打电话。若是主机呼叫,表示中心站要求通信,单片机将保持与上位PC机连接,将各种测量数据发送出去并接收主机发来的命令;若是人打电话,则断开连接继续进行数据采集,并接通模拟响铃电路,提醒人们接听。
  2、Modem通信接口硬件设计
  由于89C51单片机串口的电平为TTL电平,必须先转换为RS-232电平才能与Modem通信。一般采用MAX232芯片实现单片机和Modem的连接,进行电平转换。   
  单片机虽然有串行输入、输出口,但不具有RTS、CTS、DTR、DSR等标准接口握手信号线。考虑到单片机与上位机的通信量并不大,所以在连接时采用简单的“三线式”,即只通过TXD、RXD和地线GND进行连接,其他信号在对Modem初始化时发送AT命令将其忽略。如果单片机和上位机之间的通信量很大,并且需要精确、可靠的控制时,可以在89C51与MAX232之间再扩展一个8250。
   3、关键技术及实现
  3.1、对Modem控制及初始化
  要使Modem正常通信,必须对Modem进行初始化,必须用到HAYES-AT命令集。AT命令是一套控制Modem拨号、应答、链接等操作的约定。对Modem(包括上、下位机)的初始化,可以写在主程序里,这样每次启动应用程序时都会重新对Modem进行初始化,也可以把初始化程序写进Modem非易失存储器里,这样就不用每次都对Modem进行初始化。在这里,利用上位机VB程序对串口操作的方便性,把初始化命令配置固化到Modem里面。利用VB的MSComm控件的OUTPUT属性发送AT命令到Modem对其进行初始化。若对与单片机相连的Modem进行初始化,可以先后发送以下命令:
  (1)发送“AT&D0&S0&R1”,设置为忽略DTR,DSR,CTS信号。
  (2)发送“ATE0X0S0=2”,将Modem设置为不回应所收到的指令以及返回结果码的类型,S0=2表示在响铃2次之后Modem自动摘机并试图连接。
  (3)发送“AT&C1”,设置载波侦测信号随线上实际状态变化。
  (4)发送“ATV0”,设置以数字方式返回结果码。
  (5)最后发送“AT&W”,将以上配置存放到非易失存储器中。
  以上每个AT命令之后必须加上CR(也就是键盘上的ENTER键)字符,否则Modem将不认识此命令。与PC机相连接的Modem初始化与上面大致一样,区别在于不用忽略DTR、DSR、CTS和设置成字符串返回结果码,这样对调试程序比较方便。
  3.2、下位机的通信实现
  上位机Modem(与PC机相连)拨号后,等待下位机Modem(与单片机相连)送来的载波信号;下位机Modem检测到铃声(响了预定的次数)后便自动摘机,然后与上位机进行载波连接。双方如果在预定时间没有检测到载波信号,Modem则自动释放线路,同时返回NOCARRIER结果码;一旦载波建立成功,Modem返回CONNECT结果码,表明双方连接成功,可进行数据通信。下位机通信程序必须对串行口进行正确的设置,使跟上位机的通信方式和波特率保持一致;通过测试单片机串行口的RI标志位,判断是否有串口数据的有效输入来完成检测PC机的呼叫任务。如果串口接收到数据“32H”(结果代码2)则开始计时,并继续查询串口,若15秒内串口接收到数据“31H”(结果代码1),表示载波建立成功,保持单片机与PC机连接,开始与PC机进行通信。数据传送完成后,再发送“+++”序列,使调制解调器从联机状态返回到命令状态,延时一段时间后发送“ATH0”命令挂机,一次数据通信结束。若第一次响铃15秒后还未接收到结果代码1,则表示载波无效,上次响铃为人打电话或者是联接出现错误,单片机不与PC机连接而继续运行现场检测程序。
  3.3、基于VB的调制解调器编程
  VB6.0的MSComm通信控件提供了一系列标准通信命令的接口,它允许建立串口连接,可以连接到其他通信设备(如Modem)、还可以发送命令、进行数据交换以及监视和响应在通信过程中可能发生的各种错误和事件,从而可以用它创建全双工的、事件驱动的、高效实用的通信程序。对MSComm通信控件属性了解后,就可以进行通信软件的编制。首先要在程序的初始化阶段对通信参数进行设置,主要是初始化串口和Modem(前面已经介绍),包括选择通信端口、设置串口波特率、打开串口等。在主控PC机中建立一个电话号码集,按照N个下属下位机的采集序号依次将它们的电话号码编号。在定时通讯时按照软件记录器记录的采集序号,通过查表指令获得相应的电话号码,再调用自动拨号程序进行呼叫联络;若呼叫成功,则通信链路建立,可以与现场下位机进行通信。
  鉴于传输过程中会产生数据的丢失,可采用求和校验法保证串行通讯数据的准确性。发送方将所传数据累加求和,仅保留和的最低位字节作为校验字符放在传送数据串的末尾,发往对方。对方将接收到的数据累加,取和的最低位字节与校验字符相比较,若相等,则向发送方送正确通知码,否则发错误通知码,通知发送方重传数据,直至接收正确为止。由于分布式远程测控系统有大量的采集及控制数据要进行传递,因此可在中央PC中利用VB6.0建立动态数据库,用以存放现场采集的数据,上/下限报警值等,该数据库按照N个下属现场单片机的约定序号,依次分区,在各种通讯处理中根据不同序号分别从相应数据库区中读/写数据。
http://www.szmodem.com
 
深圳市隆星科技有限公司
所在区域: 广东.深圳 邮编: 518055
公司地址: 深圳市南山区西丽新光路新源工业区24栋四楼 联系人:陈志 先生 (产品经理)
办公电话: 0755-33201582 传真: 空
移动电话: 电邮: 登录查看或通过本网留言
公司主页: http://www.szmodem.com
通过中国电气自动化网在线联系该用户:
关于:
需求意向:
* 验证码: 点击可刷新
 
用户: 密码:  
如果您还不是中国电气自动化网(www.ea-china.com)的注册用户,立刻免费注册

   企业新闻 更多
· 皮尔磁:安全是新能源时代的通行证...
· 皮尔磁:工业自动化网络架构的“新...
· 皮尔磁:CE认证新规:用户不可不...
· 皮尔磁:探索工业安全技术:PSS...
· 皮尔磁:数据空间引领工业4.0新...
· 皮尔磁:全新培训课程夯实工业信息...
· 皮尔磁:安全回路配置的高效利器...
· 皮尔磁2025年度新闻发布会:从...
  产品新闻 更多
· 皮尔磁:模块化安全继电器功能升级...
· 皮尔磁:安全光幕的“人货区分”功...
· 皮尔磁:卷出新高度,安全开关都开...
· 皮尔磁:如何驾驭氢能这把“双刃剑...
· 皮尔磁:工业安全新“势力”——安...
· 皮尔磁标准解读:EN ISO 1...
· 皮尔磁标准解读:新版本ISO 1...
· 皮尔磁:安全与可持续发展双轨并行...

广告服务 | 关于我们 | 网站地图 | 分类索引 | 服务条款 | VIP会员服务 |《电气自动化企业大全》| 版权声明

客服专线:0898-68552405     媒体合作QQ:910167442
中国电子商务服务联盟成员单位 琼ICP备17003754号
中国电气自动化网 版权所有 © Copyright By Electric Automation of China