围栏报警系统设计论文

时间:2022-04-02 11:37:15

导语:围栏报警系统设计论文一文来源于网友上传,不代表本站观点,若需要原创文章可咨询客服老师,欢迎参考。

围栏报警系统设计论文

1整体系统框架

本系统的整体结构框图是各个模块之间通过串口UART进行通信,固定在栅栏周围,最后与计算机相连接,利用上位机软件进行控制,既实时监测每个模块的状态,是否发生报警。

2硬件设计

围栏报警系统是由各个模块共同构成的,本节将具体介绍模块的内部结构。

2.1加速度传感器ADXL344

ADXL344是一款完整的3轴、数字输出加速度测量系统,可选择的测量范围有±2g、±8g、±16g。本设计主要利用ADXL344中的寄存器THRESH_ACT,该寄存器保存活动检测的阈值,当活动事件的幅度值(X、Y、Z轴)大于阈值就会触发活动事件Activity的置位(Activity中断已使能)。以及寄存器THRESH_INACT、TIME_INACT,用于设置静止时的阈值。设置寄存器INT_MAP的值分配相应的中断到INT1或INT2引脚,由单片机中断引脚INT0/INT1控制ADXL344产生的中断,从而判断是否发生报警。

2.2ADXL344通信接口电路

加速度传感器ADXL344既能实现I2C通信也能实现SPI通信,本文单片机C8051F020与ADXL344之间通过串口SPI进行通信,实现了单片机控制及读写加速度传感器。且将加速度传感器的中断引脚INT1/INT2分别与单片机INT0/INT1引脚相连接。

3程序设计

本程序设计主要是实现这两方面的通信,第一、C8051F020与ADXL344之间的SPI通信;第二、模块与模块之间的通信即串口UART0与串口UART1之间数据的相互转发。主要包括四大模块:主程序模块、ADXL344配置模块、SPI通信模块、中断模块。主程序模块包括了初始化和状态查询并发送两部分。ADXL344配置模块主要是对加速度传感器芯片配置。SPI通信模块包括SPI写模块和读模块。中断模块包括串口UART0中断、UART1中断、SPI中断、INT0中断。程序开始初始化直到主函数While(1)循环中进行状态查询,若加速度传感器ADXL344振动值大于活动阈值视为有效触动触发活动中断即单片机外部INT0中断触发(本设计将ADXL344所有的中断分配到单片机INT0引脚上),将报警数据处理后通过串口UART0或UART1回传。若判断UART0接收中断触发,将通过该串口完成对所有模块中ADXL344的数据配置,该模块配置完成后通过UART1下发配置命令到下一级模块(下一级模块通过UART0接收),并且UART0回传该模块的配置状态和通信状态,报警数据将通过该串口回传给前一级模块(前一级模块通过UART1接收)。若判断UART1接收中断触发,也将对所有模块中的ADXL344进行数据配置,该模块配置完成后通过UART0下发配置命令到下一级模块(下一级模块通过UART1接收),并且UART1回传该模块的配置状态和通信状态,报警数据将通过该串口回传给前一级模块(前一级模块通过UART0接收)。其实UART0与UART1接受中断数据处理下发和回传是互逆的过程。

4实验数据

通过串口助手给每个模块下发的配置命令及回传数据。模块中串口0和1的传输速率为57600bps。模块部分配置命令如,有效触动命令为:下发命令(3字节):0xEE+0x00+0x00;上传命令(4字节):0xEF+0x00+0x00+0x00。下发命令中0xEE为有效触动命令下发格式,后两字节为模块编号,例如下发0xEE0000,则将对所有模块有效触动进行监测,若下发0xEE0001,只对编号为1的模块的有效触动进行监测。上传命令中0xEF为有效触动命令回传格式,第二、三字节为模块编号,最后一个字节为有效触动次数,若模块没有被振动则回传触动次数为0,如EF000100;若将编号为1的模块振动一次,回传触动次数为1,如EF000101。最后,通过编写上位机应用界面,将报警位置在该界面中进行实时的显示。

5结束语

本文设计的围栏报警系统,极大地降低了生产成本,提升了可靠性,简单而快捷地开发了围栏报警系统,对于实际应用具有重要的意义。

作者:马龙李万苹黎伟单位:西安石油大学