您的位置:首页 » 技术交流 » 行业期刊 » 2012第1期 » 正文

双单片机在路灯监控终端通信系统中的应用

放大字体  缩小字体 发布日期:2012-06-28  来源: 大连市路灯管理处(116021)  作者:辛 军  浏览次数:2567

    三、双单片机之间的数据通讯原理双单片机之间的数据通信方法有很多,比较常用的方法是利用单片机本身具有的异步串行输入/输出接口RXD/TXD,通过软件设置和编程,自动实现单片机之间的数据传输。例如采用AT89系列单片机,它的芯片脚10端为串行数据输入端口RXD,脚11端为串行数据输出端口TXD,采用全双工异步串行通讯时,双单片机之间通信采取交叉式连接,即单片机1的输出接口TXD与单片机2的输入接口RXD连接,单片机1的输入接口RXD与单片机2的输出接口TXD连接,这样仅2根线就可实现双单片机通讯的硬件连接。双单片机之间的数据通讯是通过软件编程实现的。通过软件设置通讯协议、确定工作方式和通信波特率等,通过编制特定的通讯中断处理程序,自动完成数据传输功能,基本原理介绍如下:

    1、选择工作方式,确定通讯协议AT89系列单片机的数据串行接口设置四种工作方式,可有8位、10位和11位帧格式。可以通过设置单片机内部SCON控制寄存器来实现。由两个单片机组成的系统进行数据通讯时,一般选择方式1的工作方式,这是标准的全双工异步通讯方式,通过TXD端发送数据,通过RXD端接收数据。该方式通讯协议的数据格式为每帧10位,其中包括8个数据位(低位在前,高位在后),1个起始位(低电平有效)和1个停止位(高电平有效)。数据帧格式如图4所示。要实现双单片机之间正常的数据通讯,每个单片机必须设置相同的工作方式,相同的数据帧格式和相同的传输波特率。



    2、方式1的数据发送原理数据发送是由单片机的CPU向数据寄存器SBUF写入一字节数据开始的,这时发送数据的单片机按照数据格式和事先确定的波特率,首先将起始位送出TXD端,这是一个由+5V向0V跳变的低电平信号,见图4所示,起始位的作用是通知接收数据的单片机作好接收数据准备,以此保证单片机之间的数据发送和接收保持同步。经过一个起始位的时间后,发送数据的单片机按照事先设定的波特率,向TXD端口串行送出8位数据(D0-D7),之后送出停止位,同时产生发送数据中断标志,进入中断处理程序,如果需要继续发送数据,则通过中断处理继续向数据寄存器SBUF写入数据,开始下一帧数据的发送。停止位是一个+5V信号,标志一帧数据发送结束。同起始位作用一样,用于单片机之间发送和接收数据能保持同步。

    需要明确的是,从数据格式和发送原理可以看出,当一帧数据发送完毕,或者没有数据发送时,单片机数据发送端口TXD总是保持高电平状态,即处于有效停止位信号状态。

    3、方式1的数据接收原理当单片机处于允许接收数据的状态下,接受数据的操作是从检测到RXD端口输入电平发生负跳变开始的,即接受到发送数据的单片机发出的起始位信号。如果接收到起始位信号有效,则开始接收本帧数据的其余部分,当接收到的数据逐位进入RXD端口,并接收到有效的停止位信号后,一帧数据接收完成,同时产生接收数据中断标志,进入数据接收中断处理程序,此时接收到的数据是在单片机内部数据寄存器SBUF中,可通过中断处理程序读取和判读数据信息。同时单片机RXD端口继续监视外部负跳变信号,等待接受下一帧数据。

    同样需要明确的是,从数据格式和接收原理可以看出,当一帧数据接收完毕,或者没有数据可接收时,单片机接收数据端口RXD总是保持高电平状态,即处于有效停止位信号状态。

    4、通讯处理程序单片机完成数据通讯是通过软件实现的,即通过编制通讯程序自动实现数据通讯。通讯程序包括初始化程序、中断处理程序以及错误处理程序等等。初始化程序完成单片机工作状态初始设置,如确定通讯协议、设定工作方式、设置波特率、确定中断程序入口地址,建立发送和接收数据的缓冲区等。中断处理程序又分为发送数据中断处理程序和接收数据中断处理程序。发送数据中断处理程序完成整个数据的发送,即通过中断处理程序,不断将数据缓冲区中需要发送的数据按字节写入数据寄存器SBUF,直到数据缓冲区数据发送完为止。接收数据中断处理程序完成对整个数据接收,即通过中断处理程序,将每次输入到数据寄存器SBUF中的数据字节读出并存放在数据缓冲区,全部数据接收完毕后,还要针对接收的数据内容进行分析和判读,根据判读结果完成相应的功能操作以及回传相应的数据信息等。错误处理程序完成对数据传输过程出现的错误进行处理和纠正。

    四、单片机与控制中心数据通讯原理监控终端设备中的单片机1除具有与单片机2实现双机通讯功能外,更重要的功能是通过数传机与控制中心的计算机进行无线数据通讯。这样,由控制中心计算机和若干个监控终端的单片机(单片机1)以及数传机组成一个典型的多计算机无线网络通讯系统。为保证通讯网络正常通讯,一般将控制中心计算机设定为主机,而将全部终端设备的单片机1设定为从机,在这种主/从式多计算机无线通讯网络中,监控终端与控制中心数据通讯具有如下特点。

    1、与控制中心通讯时,所有监控终端的单片机1均按方式3工作模式设置,通讯协议中的数据格式由11位组成,包括1位起始位,8位数据位,1位可编程控制位和1位停止位,如图5所示。其中D8是可编程控制位,是AT89系列单片机具有的特点,利用这个可编程控制位作为多机通讯控制的标志,可以为方便实现主/从式多机通讯提供便利条件。




    2、单片机1与数传机的数据传输需要经过电平转换电路。因为单片机使用的是标准TTL电平,数传机使用的是标准RS-232电平,因此为保证数据正常传输必须进行电平转换,如图2所示。

    3、控制中心主机与监控终端从机每一次通讯都是由控制中心主机发起,所有监控终端的从机(单片机1)只能被动接收控制中心主机数据,一般情况下不允许主动与主机通讯。因此监控终端从机一般总是处于监听状态,即处于随时监听和准备接收主机命令或数据的状态。

    4、控制中心主机对监控终端从机通讯采取广播方式,即控制中心发出的指令或数据,所有监控终端从机都能同时收到,而只有被呼叫的监控终端从机才能完成控制中心指定的操作命令。

    5、控制中心主机为能够正确识别每一台终端设备,事先对每一台终端设备建立一个唯一的地址编码,通过发送地址码寻找相应的终端设备。因此控制中心主机与监控终端通讯的数据帧包括地址帧和命令帧两部分,地址帧的标志为帧数据格式中的D8=1,命令帧的标志为帧数据格式中的D8=0.地址帧用于呼叫和确定所要寻找的终端设备,数据帧是对终端设备下达的操作命令或其它数据信息。

    6、单片机1与控制中心主机实现多机主从式通讯,是充分利用了AT89系列单片机(或MCS51系列)具有的2个特点,一是串行口工作模式3数据帧格式中的可编程控制位D9,当D9=1时表示当前帧内的数据是地址码信息,若D9=0则表示当前帧内数据为数据帧或命令帧;二是控制寄存器SCON中的多机通讯标志位SM2,无论哪一台从机,只要使其SM2=1,就只能接收主机的地址帧而无法接受数据帧,当SM2=0时,才能接收主机发来的数据帧。

    控制中心主机与监控终端从机的具体通讯过程简述如下:

    (1)当控制中心主机要对某台监控终端通讯时(如A终端),如发送“检测命令”,这时控制中心主机首先发送A终端的地址帧数据,帧格式中D8位设置为“1”,这时的数据位就是A终端的地址编码。

    (2)此时所有监控终端的单片机1上电经初始化后均处于方式3工作模式,并将控制寄存器SCON中的多机通讯控制位SM2设置为“1”.

    (3)将控制中心主机开始对监控终端通讯时,首先发出地址帧数据(D8=1),这个地址帧数据将被所有终端设备接收到。


    (4)所有监控终端的单片机1接收到控制中心主机发送的数据后,此时SM2设置为1,而且接收到数据帧D8=1,表明接收到的数据帧是地址码数据,单片机1响应中断,并进入中断处理程序,判读接收到的地址码是否与本机地址一致。此时只有A终端的地址码与接收到的地址码相一致,这时A终端的单片机1将SM2位置为“0”,为其后接收命令帧数据作好准备。对于地址码不相符的其它所有监控终端(未被控制中心主机呼叫的终端设备),其单片机1继续保持SM2=1状态不变,即对控制中心主机随后发送的命令帧数据不予接收。SM2、D8状态与单片机1执行操作关系见表1所示。

    (5)当控制中心主机确认A终端设备而且确认通讯状态正常后,随后发出命令帧数据,此时帧格式中D8=0,同样也是被所有终端设备接收到。

    此时除A终端设备外,其它非被呼叫的终端单片机1的SM2仍为“1”状态,而此时命令帧数据的D8位是“0”,所以除A终端设备外,其它所有终端设备的单片机1都不进入中断处理,即对接下来的命令帧数据不予接收。只有被确认的A终端单片机1的SM2已经设置为“0”,而接收到的命令帧数据D8=0,A终端的单片机1进入中断处理程序,继续完成其后的全部命令字节数据的接收,并对接收到的命令数据进行判读。

    (6)A终端的单片机1接收到控制中心的命令数据后,改变通讯工作模式为方式1,并建立与单片机2的通讯链路,将控制中心命令转发给单片机2.

    (7)单片机2执行完控制命令后,将执行命令的状态结果回传给单片机1.到此,双单片机之间完成了一次双向数据通讯。

    (8)单片机1通过与单片机2通讯完成控制中心的指令操作后,单片机1再次改变工作模式为方式3,并断开与单片机2的数据通讯链路,重新建立与数传机的数据通讯链路。将SM2重置为“1”,重新进入监听状态,等待控制中心主机下达的“回传数据信息”的命令。

    (9)当控制中心主机对A终端下达回传数据信息命令,A终端经确认后,将单片机2的执行命令的状态数据,发送给控制中心主机。到此,A终端与控制中心主机完成了一次数据通讯的全过程。此后重新进入监听状态,等待与控制中心进行下一次通讯。

    在控制中心与监控终端实际通讯过程中,为了避免干扰,保证数据传输的准确性和可靠性,通讯协议设计中包括许多比较烦琐的协议和特殊约定,使得通讯软件和通讯过程相对比较复杂,因这些内容不在本文讨论范围之内,故不再赘述。

    最后需要说明的是,本文介绍的双单片机监控终端通讯系统,是以VHF/UHF频段专用网和数字电台组成的无线监控系统为技术样本,对于采用GMS或GPRS公网的系统,其基本原理相似,可以借鉴。
 
关键词: 灯光监控
 
技术交流搜索 | | 打印 | 关闭
更多


 免责声明:
1 、本网转载作品目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。
2 、凡来源注明“中国道路照明网”的所有作品,版权均属中国道路照明网,转载使用本作品请注明来源。否则本网有权追究其相关法律责任。
3 、如涉及作品内容、版权和其它问题,请在30个工作日内与本网联系,我们将在第一时间处理!
* 有关版权事宜请联系: 0519-85529633


 
推荐图文
推荐技术交流
点击排行
关于我们 | 帮助中心 | 联系我们 | 给我留言 | 诚聘英才 | 广告服务 | 网站地图
版权所有 @ 中国市政工程协会道路照明专业委员会 城市道路照明技术情报总站 本站网络实名:中国道路照明网
中国道路照明网常州采编中心 电话:0519-85529633
地址:常州市新北区衡山路6号218室 电话:0519-88162193
备案序号:京ICP备11025568号-1 .