微波EDA网,见证研发工程师的成长!
首页 > 应用设计 > 工业电子 > 消防指示灯智能监控系统三端口网关设计

消防指示灯智能监控系统三端口网关设计

时间:12-28 来源:互联网 点击:
1.2 串口扩展

串口扩展的方式有:(1)硬件的扩展方式。使用市面上对串口进行扩展的芯片( 有SP2338DP,GM8123 系列)。

在这里对于帧的格式是不可编程的。(2)软件模拟法。可根据串行通信的传送格式, 利用定时器和主机的I/O 口来模拟串行通信的时序, 以达到扩展串口的目的。接收过程中需要检测起始位, 这可以使用查询方式或中断方式进行处理。接收和发送过程中, 对定时的处理既可以使用查询方式也可以使用定时器中断方式。而这种方法需要占用大量的CPU 时间, 只能用于功能简单的应用中, 并不适合中继网关这类功能复杂的设备。

综合考虑成本和性能等因素, 本设计使用STC12 单片机的同步串行口(SPI) 和另一个带有串口的单片机STC11F04E( 以下简称为STC11) 来扩展串口, 其原理如图3 所示。其中TX、RX 分别是串口的数据发送信号和数据接收引脚。RE 用于控制MAX485 的接收或发送状态。

图中下部分给出了光电隔离型RS-485 接口原理。3 个RS-485 接口使用相同的原理, 但3 个接口中MAX485芯片的工作电源是各自独立的。

图3 中,SCK、MISO、MOSI 分别是SPI 接口的时钟信号、主站输入信号、主站输出信号。定义STC12 的SPI 接口工作在从站方式,STC11 作为SPI 主站。由于STC11 单片机没有SPI 功能, 必须用软件模拟SPI 主站功能, 这里仅将STC11 作为字节数据传输的中转站, 不进行信息帧的校验、存储和转换。监控计算机发出指令经STC11 的串口接收, 通过SPI 发送至STC12 进行处理。STC11 再通过SPI 接收返回信息, 然后通过串口发送至监控计算机。设计中,STC12 通过在SPI_TX 引脚的输出下降沿,告知STC11 启动模拟SPI 主站功能, 从STC12 的SPI 接口寄存器中读取一个字节数据。



图3 用SPI 扩展串口的电路构造。

图4 为单片机采用查询方式的程序流程图。RI、TI分别是串口接收标志和发送标志。TX_FLG =0 表示STC11 处于接收状态,TX_FLG=1 表示发送状态。子程序SPI_BYTE 实现模拟SPI 主站功能。



图4 扩展串口的STC11 单片机流程图。

1.3 环形总线主站软件结构

在第二级环路通信中, 中继网关作为环路主站, 由STC12 单片机的串口1 和串口2 构成的两个RS-485 端口实现。3 个通信端口分别设有独立的接收(RX) 缓冲区、发送(TX) 缓冲区以及专用标志寄存器。

实现环路通信主站的软件结构如图5 所示。正常工作时, 两个串口一个作为发送方, 另一个作接收方。比较接收方的接收数据与发送方的发送数据, 若相等则环路总线是通的;否则,总线出现断路故障,用标志位LP_BRK=1表示。

注: 串口工作周期包括串口发送过程和等待下位机接收过程和该串口接收三部分。



图5 环形总线主站通信流程图。

在 环路总线完好的情况下, 在线的灯具总是既连接在串口1 上, 也连接在串口2 上。在环路断线状态下, 对每个灯具, 从串口2( 或串口1) 发送命令, 若接收到正确应答数据, 则记录该灯具连接在该端口上, 用标志位ON_COM2 =1 ( 或ON_COM1 =1) 表示; 若应答信息超时或返回信息不正确, 则重发相同命令数据至多3 次, 仍然收不到正确应答信号, 则判断该灯具没有连接在该发送端口上, 用ON_COM2=0( 或ON_COM1=0) 表示。这样, 根据每个灯具所连接串口的不同, 可以判断环路断线所在位置。

当环路断开时, 两个串口都作为命令发送方, 整个环路分为两个单总线结构, 提高了网络传输可靠性。

基于两级RS485 总线环形通信网路的应急灯智能监控系统, 设计了三端口通信网关, 实现了监控计算机与大量智能应急灯之间命令和状态信息交换, 监控计算机管理整个系统, 网关负责传递发送至智能应急灯的信息, 同时也将从灯具接收到的信息反馈至监控计算机。

此外也可不通过监控计算机直接控制该环路中的智能应急标志灯。经调试, 所预设功能完全实现。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top