1系统主体框架
本系统主要由分机、主机、计算机3个部分组成,如图1所示。(1)分机用于给主机发送报警信息,一般安装在高速公路各个分站点,用于给管理控制中心发送报警信息;(2)主机用于接收分机所发送的报警信息并将报警信息传送给计算机,一般安装在高速公路管理控制中心,便于工作人员能及时对报警信息进行妥善处理;(3)计算机用于接收主机所发送的信息。当主机接收到分机所发送的报警信息后,主机将报警信息利用串口传输给计算机,计算机上的高速公路管理软件平台将信息进行处理,并在电子地图上显示报警信息来自的位置和时间,并记录、保存报警信息。高速公路管理系统可以划分为硬件部分和软件部分。硬件部分主要包括单片机微处理器、GSM无线通信模块、串口通信模块等。软件部分主要包括程序开发工具、程序仿真调试软件以及算法设计。
2系统硬件设计
2.1系统硬件结构系统的整体硬件结构图如图2所示。高速公路管理系统主控制芯片采用STC12C5A32S2单片机。STC12C5A32S2单片机是宏晶科技公司生产的单时钟/机器周期(1T)的单片机,是高速/低功耗/超强抗干扰的新一代8051单片机,指令代码完全兼容传统8051,但速度比传统的8501快8~12倍。内部集成MAX810专用复位电路,2路PWM,8路高速10位A/D(250k/s,即25万次/秒),对于强干扰场合下的电机控制有很大的优势。STC12C5A32S2单片机中包含中央处理器(CPU)、程序存储器(Flash)、数据存储器(SRAM)、定时/计数器、UART串口、串口2、I/O接口、高速A/D转换、SPI接口、PCA、看门狗及片内R/C振荡器和外部晶体振荡电路等模块。STC12C5A32S2系列单片机几乎包含了数据采集和控制中所需的所有单元模块,可称得上一个片上系统。2.2GSM模块本系统所用到的GSM模块是移动通信领域最新推出的一款高性能模块。本系统采用德国西门子工业GSM模块TC35I,可以实现上位机控制GSM模块打电话、接电话、挂电话、发送信息、接收信息等,本GSM模块板载单片机,可以利用单片机来实现打电话、接电话、挂电话、发送信息、接收信息;不仅如此,利用单片机可以对接收到的信息进行解析,并根据信息内容进行相关操作,例如打开与关闭电器等,从而实现远程控制。
3系统软件开发环境
系统软件的功能是通过控制STC12C5A60S2单片机与GSM模块、计算机进行通信。系统软件开发主要包括3个步骤:源程序的编写、源程序的调试、源程序的烧写。这3个部分分别基于不同的软件开发平台完成。3.1基于Keil的程序编写本系统软件程序是使用KeilC51软件编写、运行。KeilC51是美国KeilSoftware公司开发的51系列兼容单片机C语言软件开发系统。与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部分组合在一起。在进行单片机程序编写前,必须先建立工程,选择芯片型号。在程序编写完成后,需把程序编译一遍,观察是否报错。一般软件报错会有提示,可根据提示找到错误的地方进行修改,直到编译通过。3.2单片机仿真调试器程序调试在使用Keil软件编写完程序后,可以使用单片机仿真调试器对程序进行调试。单片机仿真调试器可以代替单片机的外围电路。在使用单片机仿真调试器调试程序时,可单步运行程序,查看单片机各个寄存器里面值的变化;也可在程序中设置断点,利用断点可以使程序在运行到断点设置的地方后停下来,更加方便地调试程序。3.3STC-ISP程序下载程序经过调试没有错误、运行成功后可将程序下载到单片机存储器中运行。STC-ISP是一款单片机下载编程烧录软件,利用单片机与计算机的串口将程序下载到单片机程序存储器中。在使用STC-ISP软件下载程序前,要先选择正确的电脑串口连接端口(COM口),然后选择单片机型号,最后设置好波特率即可。在下载程序时应注意,先点击程序下载按钮后,再给单片机上电。
4系统软件设计与实现
软件设计分为3个部分:主机软件设计、分机软件设计、计算机的综合软件管理平台设计。4.1主机软件流程图主机软件流程图如图3所示。系统初始化主要包括串口初始化和GSM模块初始化。在单片机初始化完成后应先删除GSM模块内所有信息,防止无用的信息占满存储空间,使新信息无法及时得到响应。在单片机读取信息并将信息成功发送给计算机后,要马上删掉信息,这也是为了防止无用的信息占满存储空间。4.2分机软件流程图分机程序流程图如图4所示。单片机初始化完成后,只需删除GSM模块里面的第一条信息,因为分机上GSM的存储空间只用来接收主机在成功接收到分机后返回的信息,并且主机只会给分机返回一条信息,所以只需在发送信息前删除第一条信息即可。分机报警信息是通过按键发送出去的,分机上设置有16个按键,包括3个事件类型按键、12个事件名称按键、1个发送键。按不同的按键组合可发生不同的警报信息。4.3综合软件管理平台流程图综合软件管理平台流程图如图5所示。在软件初始化完成后,软件会一直检测计算机串口是否接收到新信息。如果检测到计算机接收到新的信息,综合软件管理平台会立刻分析读取到的信息,并在电子地图上显示报警信息的地点和时间,同时有报警音乐响起。在工作人员处理完信息后,这条信息会保存在指定的地方,以方便下次查看。
5实验结果及分析
本文采用的实验平台是Windows7,用VisualStudio编程实现。综合软件管理平台在使用前需要选择串口号,在串口选择的下拉菜单中选择与单片机相连的串口,这样计算机与单片机才能进行通讯。在测试过程中,分机发送信息约3~7秒左右后,就能在计算机上显示出结果。在综合软件管理平台中圆形代表站点号,三角形、正方形、五边形分别代表一级、二级、三级响应,六边形代表事件名称。如图6所示,计算机收到2条信息,1号站一级响应和3号站二级响应。将鼠标移动到3号站点区域会显示出3号站点的详细信息,包括日期、事件、事件类型以及事件名称。图6中,显示了综合软件管理平台在多任务的环境下所有任务运行相互独立。当有多个分站同时报警时,计算机按照接收信息的时间先后顺序将报警信息显示出来。计算机在显示多个站点的报警信息时,如果工作人员只处理其中的一条信息,那么计算机的报警音乐不会停止并且其它站点点亮的图标也不会熄灭,直到所有信息处理完成后,计算机的报警音乐才会停止,所有站点的图标都会熄灭。通过图6一号站点所显示的信息,也可以很清楚地得知一号站点报警事件的具体情况。点击界面上的“查看报告文件”按钮可以将各个站点发送的报警详细信息记录在Excel文档中不同的站点记录在不同的Excel文档中,Excel文档名称用站点号命名;点击“生成全部警告”按钮可以将所有站点发送的警报详细信息记录在Excel文档中,Excel文档名称为“all”;点击“最近10条警报”按钮可以直接在软件界面上显示最近10条的警报信息。点击“关闭串口”按钮,则计算机不会接收任何分站发送的警报信息。
6结束语
本文设计并实现一种智能的基于GSM的高速公路管理系统。它具有功能强大、功耗低、使用简单等特点,使高速公路上各个站点的突发情况得到迅速的响应。本系统能在无人值守的情况下,24小时自动实时接收所有报警信息,通过电脑显示突发事件发生的位置、突发事件的类型,发出声光报警,同时通过计算机记录整个高速公路所有的报警信息,方便管理人员查阅、分析。
作者:晏素芬 庄文玮 沈俊飞 单位:江西省计算技术研究所 东华理工大学