微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > MCU和DSP > 基于单片机MSP430行驶车辆检测器的设计

基于单片机MSP430行驶车辆检测器的设计

时间:11-04 来源:互联网 点击:
3 系统软件设计

3.1  软件程序设计

系统软件采用模块化结构程序设计方法设计,充分发挥了MSP430 单片机丰富的片内外围模块的特点,使仪器的硬件电路大大简化。全部程序采用C 语言编写,易于调试和维护,且具有运行速度快、执行效率高、便于移植。

系统软件由主程序,3个初始化子程序,10个功能子程序组成。3个初始化子程序分别是:单片机时钟初始化子程序、单片机I/O端口初始化子程序、定时器A 初始化子程序。10 个功能子程序分别是:初次测基频子程序、车辆检测子程序、电压不足报警子程序、判键子程序、查键子程序、延时子程序、动态刷新基频子程序、P2.5口中断子程序、定时中断处理子程序和信号输出子程序。主程序流程图如图3 所示。

主程序中设置了一个定时器,在无车通过的情况下,开机后定时时间到触发定时中断服务程序,多次读取当前P2.5端口中断计数值后取平均值,从而获取当前频率值。并将此频率值设置为基准频率,并将第一次测频标志置位,此标志只有在系统复位时才能被清零。此后,通过判键子程序、查键子程序确定此时系统工作的灵敏度值、工作方式和输出方式。

由于车型、车体、车速的不同,会对检测的准确性带来一定的影响。同时耦合电路的振荡频率随温度、湿度等外界素变化比较大,如果设置一个固定的基准值可能会造成误判而影响设计的可靠性和准确性。因此,本文在不影响检测速度的前提下,在判断车辆是否进入时,采用限幅滤波与均值滤波进行当前频率的采集,其程序流程图如图4所示。

限幅滤波可以克服输入中窜入尖脉冲干扰,其基本思想是将获得的多个当前频率值与当前基准频率值分别进行比较,根据经验设定允许的最大偏差,如果当前频率值和当前基准频率值的差值超过了允许的最大偏差,则认为本次采样值中窜入了干扰,则抛弃干扰值,再将余下的多个当前频率值取平均值。

将采集到的频率值与当前基准频率进行比较,其差值如果大于当前基准频率与灵敏度值的乘积,则认为有车辆进入,再进行相关信号的输出。如果判断无车辆进入,则将当前采集到的频率值与当前基准频率加权平均后作为下一次测量的基准频率,从而实现基准频率的刷新。



4  结束语

本车辆检测器具有电路简单、精度高、体积小、响应时间短、性能稳定等特点,已在浙江某公路卡口使用,效果良好。该检测器具有通用性,通过一定的功能扩展可用来测量诸如车流量,车队长度,占有率等一系列的智能交通控制系统中交通参数,具有很高的实用价值。

本文作者创新点:运用新型的高速低功耗MSP430单片机大大提高了对行驶车辆检测的速度,一次检测最快可在1.5ms内完成,应用软件动态刷新基准以及限幅滤波与均值滤波等抗干扰方法提高了检测的可靠性和准确性。

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

网站地图

Top