基于ARM的红外光汽车速度管理系统研究

发布者:快乐球球最新更新时间:2015-08-26 来源: eechina关键字:ARM  红外光  汽车速度管理 手机看文章 扫描二维码
随时随地手机看文章
1 引 言  

车辆在公路上应以与路况相符的速度行驶,太快了易出事故, 太慢了将成为后续车辆的绊脚石。但是,常有个别司机不按规定的速度行驶而违章,导致事故频生。交管部门为了取证纠违, 目前多采用雷达测速系统(利用多普勒效应)对违章车辆进行测速取证,予以处罚。 

可近期市场上出现了一种叫做“电子狗”的反雷达测速装置,此装置在接近雷达测速区时,能提前捕捉到雷达测速的信息而报警,使违章车辆逃脱处罚,事故隐患犹存。因此,研究一套既能准确测定汽车速度, 又不会被“电子狗”所发现的可靠测速、管理系统就尤为必要。 

本文研究的以红外光传感器、ARM 为核心部件的新型测速系统测速时不会被“电子狗”所发现,不仅能识别汽车速度V 的大小,还能测出其速度超过上限速度(Vmax)的量值(+△V)或低于下限速度(Vmin)的量值(—△V)等信息,据该信息酌情驱动取证系统(打印、照相)工作,能有效提高交通管制的力度。 

2 系统工作原理 

系统由调制式红外光传感器、飞利浦公司的LPC2294 ARM 嵌入式处理器,带触摸屏的彩色液晶显示器以及报警摄像等系统构成,如图1 所示。图1 中M、N 两点是路旁一侧护栏上的两点,分别安装着可发射38KHz 的红外发光管,一直向外发射调制式红外光。调制式红外光被另一侧护栏上相应的两点M’、N’处安放的光电接收器接收,共同组成一个光控测速区。当有车辆通过光控测速区时,M 点发出的光线首先被阻断,第一个光电探测器M-M’将光信号转换为电信号送入信号调理电路,经过放大、整形,送至ARM 处理器。ARM接到此触发信号,打开内部计数器开始计数,时间t 的值相应不断增加。当汽车达到N 点时,第二个光电探测器N-N’将光信号转换为电信号经信号调理电路送至ARM 处理器使计数器停止计数,t 的值就确定了。由M、N 两点间的距离L 除以t 便得到速度V。如果计算得到的V 值在设定的安全速度范围之内,显示屏则显示当前安全速度值,摄像、报警电路就不工作;如果V 值超出设定范围之外,则计算速度偏移量△V =Vmax—V,同时显示该车辆超速行驶,并让摄像、报警电路启动工作。同理,若车辆以V


3 系统硬件设计 

3.1 光电发射接收系统 

光电发射接收系统原理如图2 所示。振荡器产生频率为38KHz 的信号, 驱动红外发光管发光。光电接收器则接收红外发光管射出的光脉冲,接收到的光脉冲信号经调节电位器连接到检测器的输入端。将接收到的调制式光脉冲信号送入放大器进行放大,经阈值检测后变成与同步振荡器同步输出的逻辑电平脉冲,再通过脉冲同步解调,得到与车辆运动状态相关的光电信号,并经缓冲输出。 

 
3.2 信号接收与定时器工作 

如图3 所示,在没有车辆经过光控测速区时,M’、N’两点一直能接收到38KHz 的调制红外光,均输出高电平,暂稳态电路均处在稳态。门G 的输出为逻辑1,UL 始终为高电平。当有车辆通过光控测速区时,M 点发出的光线首先被阻断,UM 由高电平先变为低电平,暂稳态电路1 被触发而进入暂稳态,如图4 中的t1 时刻之后所示。此时,UM’为低电平,G 门触发,输出UL 为低电平。ARM 系统的CAP1.0 捕获到UL 由高电平变低电平,发生下降沿捕获,自动装载T1TC 的值传输到捕获寄存器T1CR,并产生中断,进入中断服务子程序,读取T1CR 的值而保存。


随后,当汽车达到N 点时——即在t2 时刻,暂稳态电路2 被触发,UN’变为高电平,经过非门变为低电平UN’’。此时G 门输出由低电平变为高电平,ARM 的CAP1.0 捕获到UL由低电平变高电平,发生上升沿捕获,自动装载T1TC 的值到捕获寄存器T1CR,并产生中断,进入中断服务子程序。计算两次捕获寄存器T1CR 的差值N 及计数器的工作频率f,得到车辆通过两测试点M 点和N 点的时间差t2-t1。[page]

3.3 ARM 核心板及触摸显示系统 

系统核心板采用DEVICEARM2200 工控板, 其内嵌飞利浦公司的LPC2294ARM7TDMI-S 嵌入式处理器,最高频率60MHz,并带有8M PSRAM 存储器和16M NANDFlash,性能完全满足高速车速测量系统的要求。由于其较小的封装、极低的功耗,可使用电池供电,因此十分适合于野外无外接电源的情况下工作。 

电路连接如图 5 所示:显示屏选用320×240 彩色液晶屏,将液晶控制器S1D13503 的AB0 至AB16 与LPC2294 的地址总线A1 至A17 相连,以16 位总线方式操作;S1D13503的数据总线DB0 至DB7 接LPC2294 的外部存储器数据线D0 至D7, DB8 至DB15 接VDD,实现与LPC2294 的8 位数据总线连接;其硬件配置由两片高速CMOS 静态存储器IS61C1024对S1D13503 的VD0 至VD15 来完成。四线电阻式触摸屏可检测到触摸信号并通过触摸屏控制器FM7843 将模拟信号转换为位置坐标数据,传递给LPC2294 进行处理。 


4 系统软件设计 

4.1 uclinux 系统移植 

虽然当前 uclinux 已经支持无MMU 的ARM 体系结构,但由于具体使用的ARM 处理器芯片存储系统不同、片内的外设不同、中断系统也不同,因此需添加或修改LPC2294 芯片相关的具体代码。包括:添加芯片型号、启动代码和描述机型的数据结构;修改中断系统相关代码并在include/asm-armnommu/arch-lpc/目录下添加irq.h、irq.c 和irqs.h 文件,实现系统中断;在include/asm-armnommu/arch-lpc/目录下添加dma.h、memory.h、processor.h 等头文件,并在hardware.h 文件中定义包括时钟、串口、中断控制器等寄存器地址;在include/asm-armnommu/arch-lpc/目录下创建文件time.h、timex.h 及serial.h 实现时钟串口驱动的移植;修改arch/armnommu/config 目录下的config.in 文件设定菜单配置以及修改mach-lpc/makefile、linux-2.4.x/makefile 和arch/armnommu/makefile 等文件。

4.2 设备驱动程序设计 

由于uclinux 2.4.x内核为非抢占式,进程时间片为10ms,本身实时性并不高。但由于本系统中只有一个高实时性任务----车辆通过信号的捕获,因此,可通过TIMER1设备驱动程序操作LPC2294上的定时器实现CAP1.0脚信号的双边沿捕获。TIMER1设备驱动由驱动程序初始化函数、清除函数、设备信息结构体,open、release、read、ioctl等方法以及中断服务程序等构成。uclinux系统在加载内核模块时首先会执行初始化函数timer1_init( ),通过调用result = register_chrdev (MAJOR_NR, DEVICE_NAME , &timer1_fops)注册字符设备;并依据返回值result判断设备注册是否成功;在内核卸载模块时,执行清除函数timer1_cleanup( ),通过调用unregister_chrdev(MAJOR_NR, DEVICE_NAME)注消字符设备。设备信息结构体用来描述该设备的open、release、read等操作方法:其中,在系统和应用程序首次使用此定时器时,首先执行timer1_open(struct inode *inode, struct file *filp) 方法调用request_irq(IRQ_timer1, timer1_irq_handle, SA_INTERRUPT, "my" DEVICE_NAME, NULL)函数进行中断响应函数注册,配置定时器T1IR、T1PR、T1TC、T1TCR等寄存器完成定时器初始化,使用中断开关函数local_irq_save()和local_irq_restore()来控制临界区;最终由uclinux系统接收硬件中断并调用中断服务程序;当系统和应用程序不再使用该定时器时调用timer1_release(struct inode *inode, struct file *filp)进行关闭和释放。中断服务程序timer1_irq_handle(int irq,void *dev_id,struct pt_regs *regs)完成清除中断源、定时器计数器复位以及通过uclinux提供的宏inl(T1CR)读取捕获寄存器中计数器的值并调用系统函数copy_to_usr()将数据从内核空间拷贝至用户空间。最后,将设备驱动程序timer1. c复制到linux-2.4.x/driver/char目录下,在timer1.c中加入函数timer1_init()完成设备的注册。在mem.c文件中添加timer1_init()外部函数说明,在chr_dev_init()函数添加timer1_init()调用,编译得到新内核。 

4.3 MiniGUI 移植 

目前,嵌入式Linux 平台下常见的 GUI 系统有: MicroWindows、QT/Embedded、XWindows、OpenGUI、MiniGUI 等多种选择。从易用性、跨平台性以及开发成本等多方面因素考虑,本文采用飞漫公司的MiniGUI 实现GUI 人机交互图形界面的开发。为方便调试,采用VMware 软件在windows 系统下建立linux 平台的宿主机,进入linux 环境,从www.minigui.com 上下载函数库源代码包libminigui-str-1.6.2.tar.gz 和资源文件包minigui-res-str-1.6.tar.gz 并展开。 

MiniGUI 为实现其跨平台特性,采用GAL(图形抽象层)和IAL(输入抽象层)将MiniGUI上层和操作系统隔离开。因此,首先创建lcdgal.c 文件,参考native 图形引擎数据结构和Framebuffer 驱动程序按照GAL 接口编写接口函数;然后将液晶驱动程序lcddriver.clcddriver.h 及LPC2294 的头文件lpc2294.h 放在libminigui 下的/src/gal/native 目录下并修改Makefile.am 文件。在libminigui 的/src/ial 目录下添加ialinput.h 和 ialinput.c 编写IAL 接口函数,并添加触摸屏控制器驱动程序fm7843.c、fm7843.h 到/src/ial 目录,同时修改Makefile.am文件。加入MINIGUI 扩展库libmgext 支持,以Threads 模式交叉编译并将得到的MiniGUI静态链接库与交叉编译后的用户应用程序进行链接,生成可在目标板上运行的目标文件,最后在移植好的uclinux 系统上安装运行MiniGUI 所需的资源文件。 

4.4 用户界面设计 

用户界面主要包括一个主窗体用来显示速度信息以及一个为车辆速度报警而设定的对话框。以MniniGUIMain( int argc, const char* argv[ ] ) 为入口,定义显示区域,使用CreateThreadForMainWindow( )函数创建了两个并发的线程,定义线程的入口函数地址并返回线程标识符;在主线程中配置完成对timer1 的初始化操作,通过hMainWnd =CreateMainWindow( &Createinfo ) 创建主窗体并配置Createinfo 的各项属性, 调用ShowWindows( hMainWnd, SW_SHOWNORMAL )函数显示窗体作为用户主界面,最终进入消息循环。监视线程和主线程同时启动,此后,监视线程在后台对车速信息数据进行实时监控,并通过SendMessage( )向主线程发送相应的消息。消息的处理与超速报警判定可在主窗体窗口过程函数SpeedWinProc( )中实现。主窗体中的SET和About 下拉菜单通过CreatMenu( )和CreatePopupMenu( )函数实现,分别用于弹出速度设定对话框和系统说明对话框。将菜单句柄赋给主窗体的hMenu 属性并在窗体过程函数中加入对应菜单的处理代码,当菜单被管理者点击时,该窗体会收到相应的MSG_COMMAND 消息,系统根据消息执行相应菜单下的速度设定处理程序或系统说明显示程序。在速度设定对话框中,按钮使用普通“确定/OK”按钮CTRL_BUTTON,两个静态框CTRL_STATIC 分别标识两个单行编辑框CTRL_SLEDIT的功能:“上限速度设定”和“下限速度设定”。两个编辑框用来接收管理者输入的上限速度和下限速度。编辑框内的速度设定值通过MSG_GETTEXT 消息由CTRL_COOLBAR 控件实现的数字按钮输入。各控件的创建通过以控件类名调用Createwindow 函数实现。 

5 结论 

调制式红外光汽车速度识别系统,不仅能准确测出汽车车速状况,其测速信息还能避开“电子狗”式的反测速装置捕捉,使违章车辆难以逃避处罚,对提高交通管制的质量、消除事故隐患、保证人民群众的生命财产安全具有重要作用,并可用于其他测速场合,应用前景非常广阔。由于感应头仅对38 kHz 的调制红外光敏感, 其他红外光对其几乎无作用, 因此,系统具有较强的抗干扰能力。系统采用了ARM 嵌入式处理器、uclinux 操作系统以及触摸屏,不但人机交互性好,而且升级和扩展能力强,工作稳定,具有较大的应用前景。
关键字:ARM  红外光  汽车速度管理 引用地址:基于ARM的红外光汽车速度管理系统研究

上一篇:客车网络控制中的CAN/CAN网桥设计方案
下一篇:基于ARM单片机的汽车电动助力转向系统的研究

推荐阅读最新更新时间:2024-03-16 14:30

低调行事的ARM到底有多牛?
 有一家公司一直保持着低调和神秘,但这并不妨碍它拥有极高的市占率和让人艳羡的利润率。它是英国最顶尖的科技公司之一,也曾被《福布斯》评为世界五大最具创新力公司之一,可是直到去年孙正义以320亿美元的价格(43%的溢价)收购了这家公司,它的名字才开始出现在人们的视线中。下面就随半导体小编一起来了解一下两个内容吧。 低调行事的ARM到底有多牛? 它就是半导体知识产权提供商ARM,或者说它是一家不生产芯片的芯片商,而大家耳熟能详的芯片商一般是英特尔、AMD、三星、高通等公司。 自ARM公司1990年成立至今,基于ARM架构的芯片全球出货量累计达950亿,覆盖了全球80%的人口,去年出货量为167亿;世界上超过95%的智能手机采用A
[半导体设计/制造]
产业复苏在即,MCU期待蛰伏后的新活力
高交会电子展系列技术会议之一的MCU技术创新与应用大会2009近日完美谢幕,超过500名业界精英齐聚一堂,和iSuppli、 恩智浦、ARM、意法半导体、中国软件行业协会、康佳、金凯博、盛扬,以及海尔集成电路的专家一起,分享了MCU最新产品、技术及发展趋势。 随着全球经济复苏和电子设备需求的回升,中国MCU市场有望将在2010年复苏,本次研讨会上,iSuppli行业分析师孔晓明在他题为“中国MCU市场发展趋势”的演讲中,就与大家分享了这一观点,他乐观预测:整个半导体发展形势在今年非常恶劣。从1999年开始到2013年,对半导体产业有两个低谷,第一个低谷是2001年互联网泡沫,但是在2001年大家可以看到中国整个的半导
[单片机]
ARM基础知识教程六
简介:ARM基础知识- ARM映像文件 1.ELF格式文件的结构 1.1映像文件组成部分 **一个映像文件有一个或多个域组成 **每个域包含一个或多个输出段 **每个输出段包含一个或多个输入段 **各输入段中包含了目标文件中的代码和数据 输入段中包含了四类内容:代码、已经初始化的数据、未经初始化的存储区域、内容初始化成0的存储区域。每个输入段有相应的属性,可以为只读的(RO)、可读写的(RW)以及初始化成0的(ZI)。ARM连接器根据个输入段的属性将这些输入段分组,再组成不同的输出段及域。 一个输出段中包含了一系列的具有相同的RO、RW和ZI属性的输入段。输出段的属性与其中包含的输入段的属性相同。在一个输出段的内
[单片机]
ARM单片机的复位电路介绍
无论在移动电话,高端手持仪器还是嵌入式系统,32 位单片机ARM 占据越来越多的份额,ARM 已成为事实的高端产品工业标准.由于ARM 高速,低功耗低,工作电压导致其噪声容限低,这是对数字电路极限的挑战,对电源的纹波,瞬态响应性能,时钟源的稳定度,电源监控可靠性等诸多方面也提出了更高的要求.ARM 监控技术是复杂并且非常重要的分立元件实现的监控电路,受温度,湿度,压力等外界的影响大而且对不同元件影响,不一致较大板面积,过多过长的引脚容易引入射频干扰,功耗大也是很多应用难以接受.而集成电路能很好的解决此类问题.目前也有不少微处理器中集成监控电路,处于制造成本和工艺技术原因,此类监控电路大多数是用低电压CMOS 工艺实现的.比起用高电
[单片机]
<font color='red'>ARM</font>单片机的复位电路介绍
ARM入门笔记(5)
模拟量输入 A/D转换实验 一.目的 通过A/D转换,能够正确读取外部模拟输入通道的电压值。 二.实验程序和参数设置 1 连接器选项设置和启动代码都与上个实验相同 2 C语言的代码 #i nclude AT91SAM7S64.h #i nclude Board.h volatile unsigned int EXT_AD_Val ; //定义A/D转换结果值 int main(void) {unsigned char i; *AT91C_ADC_CR = AT91C_CKGR_MOSCEN; //ADC的软件复位,即清除ADC的所有寄存器 *AT91C_PMC_SCER = AT91C_CKGR_MOSCEN;
[单片机]
IAR Embedded Workbench for Arm 9.40版本通过集成PACBTI来提升代码安全性
IAR Embedded Workbench 9.40版本引入了与指针验证和分支目标识别(PACBTI)扩展的无缝兼容性,保护嵌入式应用程序免受各种安全攻击。 瑞典乌普萨拉–2023年6月7日-嵌入式软件和服务的全球领导者IAR发布了备受欢迎的IAR Embedded Workbench for Arm v9.40版本,最新版本引入了针对代码安全的 增强功能: 添加了针对Armv8.1-M专用的指针验证和分支目标识别(PACBTI)扩展。 通过PACBTI,用户应用程序可以通过加密签名来增强防护,有效防止攻击者控制整个系统。新版本还提供了更强大、更智能的IDE Build Actions,可为软件工程师带来更好的开发体验。
[嵌入式]
ARM9系统在无线发射台智能化监控系统中的应用
  1.概述   广西广播电视信息网络股份有限公司按照“有人留守,无人值班”的设计思路开发了一套无线发射台远程网络监控管理系统,对广西1 6座边远广播电视无线发射台进行远程集中监控管理。原监控系统采用下位机和上位机监控的模式,下位机采用以8位单片机为处理核心的单片机系统,这种系统具有集成度低外围扩展电路多、系统主频低、实时响应性慢的缺点,同时单片机与计算机交互需要许多专用的软硬件,不同厂家的发射机甚至同一厂家的不同类别、不同功率等级的发射机对应不同程序,使系统备件增加,而且在需要更新升级的时候只能奔赴发射台现场,这对于有着程序多样性的各类发射机采集控制器来说显得十分繁琐,给维护管理带来极大的不便。随着大规模集成电路和嵌入式技术的
[单片机]
ARM年度技术论坛 盛况空前圆满落幕
      精采专题课程及丰富技术展示 获得与会者的广大回响   在各界的期待与支持下,“ ARM Connected Community Technical Symposium - 2006 ARM 年度技术论”,已于 11 月 30 日假新竹烟波饭店圆满落幕。连续六年 在新竹举办的 ARM 年度技术论坛,今年刷新历年与会纪录,吸引超过 500 位半导体设 计产业人士共襄盛举。       ARM 营运长 Tudor Brown 率领十多位全球各地的顶尖技术人员,以 Solutions through Partnership 为主题,为与会者带来全新商业观念及完整设计流程资 讯,获得与会者的热烈参与。
[焦点新闻]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved