采用红外光传感器与ARM的汽车速度管理系统的设计

发布者:BlissfulAura最新更新时间:2020-08-21 来源: elecfans关键字:红外光传感器  ARM  汽车速度管理系统 手机看文章 扫描二维码
随时随地手机看文章

近来汽车市场出现了一种叫“电子狗”的反雷达测速装置,这种装置在接近雷达测速区时,能够提前捕捉到雷达测速的信息并发出报警,使违章车辆逃脱处罚,事故隐患非常严重。本文分析的以红外光传感器、ARM 为核心部件的新型测速系统测速时不会被“电子狗”所发现,不仅能识别汽车速度V 的大小,还能测出其速度超过上限速度(Vmax)的量值(+△V)或低于下限速度(Vmin)的量值(—△V)等信息,据该信息酌情驱动取证系统工作,能够有效地提高交通管制的力度。


1 系统工作原理

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


采用红外光传感器与ARM的汽车速度管理系统的设计

2 系统硬件设计

2.1 光电发射接收系统

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

采用红外光传感器与ARM的汽车速度管理系统的设计

2.2 信号接收与定时器工作

如图3 所示,在没有车辆经过光控测速区时,M’、N’两点一直能接收到38KHz 的调制红外光,均输出高电平,暂稳态电路均处在稳态。门G 的输出为逻辑1,UL 始终为高电平。当有车辆通过光控测速区时,M 点发出的光线首先被阻断,UM 由高电平先变为低电平,暂稳态电路1 被触发而进入暂稳态,如图4 中的t1 时刻之后所示。

采用红外光传感器与ARM的汽车速度管理系统的设计

采用红外光传感器与ARM的汽车速度管理系统的设计

2.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 进行处理。

采用红外光传感器与ARM的汽车速度管理系统的设计

3 系统软件设计

3.1 uclinux 系统移植

虽然当前 uclinux 已经支持无MMU 的ARM 体系结构,但由于具体使用的ARM 处理器芯片存储系统不同、片内的外设不同、中断系统也不同,因此需添加或修改LPC2294 芯片相关的具体代码。


3.2 设备驱动程序设计

由于uclinux 2.4.x内核为非抢占式,进程时间片为10ms,本身实时性并不高。设备信息结构体用来描述该设备的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()调用,编译得到新内核。


3.3 MiniGUI 移植

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 所需的资源文件。


3.4 用户界面设计

用户界面主要包括一个主窗体用来显示速度信息以及一个为车辆速度报警而设定的对话框。以MniniGUIMain( int argc, const char* argv[ ] ) 为入口,定义显示区域,使用CreateThreadForMainWindow( )函数创建了两个并发的线程,定义线程的入口函数地址并返回线程标识符;在主线程中配置完成对timer1 的初始化操作,通过hMainWnd =CreateMainWindow( &Createinfo ) 创建主窗体并配置Createinfo 的各项属性, 调用ShowWindows( hMainWnd, SW_SHOWNORMAL )函数显示窗体作为用户主界面,最终进入消息循环。监视线程和主线程同时启动,此后,监视线程在后台对车速信息数据进行实时监控,并通过SendMessage( )向主线程发送相应的消息。消息的处理与超速报警判定可在主窗体窗口过程函数SpeedWinProc( )中实现。


4 结语

调制式红外光汽车速度识别系统,不仅能准确测出汽车车速状况,其测速信息还能避开“电子狗”式的反测速装置捕捉,对提高交通管制的质量、消除事故隐患、保证人民群众的生命财产安全具有重要作用,并可用于其他测速场合,应用前景好。系统采用ARM 嵌入式处理器、uclinux 操作系统以及触摸屏,不但人机交互性好,而且升级与扩展能力强,工作稳定,具有强大的应用前景。

关键字:红外光传感器  ARM  汽车速度管理系统 引用地址:采用红外光传感器与ARM的汽车速度管理系统的设计

上一篇:基于S3C2440与EP2S15芯片实现靶场破片测速系统的设计
下一篇:采用嵌入式ARM处理器设计便携式脑卒中康复仪

推荐阅读最新更新时间:2024-11-17 06:25

购并ARM之后 软银依计划进一步发展物联网事业
软银(SoftBank)在2016年7月宣布购并ARM(ARM),引发市场震荡。而SoftBank在2017年2月8~9日于东京召开技术会议,Pepper World 2017,技术上相关的ARM全球市场策略主席Ian Ferguson获邀参加,日经科技网站(Nikkei Tech-On)特别进行访问,询问加入SoftBank旗下的差异,以及未来发展方向。 由于SoftBank社长孙正义对外表示,购并ARM的目的是发展物联网(Internet of things)事业,Ian Ferguson的说法也相同,锁定未来全球1兆个芯片的时代,ARM的技术在那时代将发挥重大作用。 而这次ARM会派员参加机器人Pepper的相关会议
[物联网]
Ubuntu9.10在ARM上建立NFS服务
前言,我参照别人的做法,也是网上普遍做的方法,在linux下构建nfs服务。 具体而言:在ubuntu9.10构建nfs服务器端,在ARM上构建客户端,这样便于开发。 先引用别人的做法: 1、进行NFS服务器端与客户端的安装: sudo apt-get install nfs-kernel-server nfs-common portmap 安装客户端的作用是可以在本机进行NFS服务的测试。 2、配置portmap 两种方法任选一种就可以: (1):sudo gedit /etc/default/portmap 注释掉 -i 127.0.0.1 (2)sudo dpkg-reconfigure portmap 运行后选择 否
[单片机]
ARM开发(8)基于STM32的窗口看门狗
一 窗口看门狗原理: 1.1 本实验实现STM32的窗口看门狗 1.2 实验思路:理解STM32窗口看门狗原理,根据其原理写驱动。 1.3 开发环境 : MDK5 库函数版本开发 JLINK仿真 二 实验步骤: 2.1 wwdg.h代码: #ifndef __WWDG_H #define __WWDG_H #include sys.h void WWDG_Init(u8 tr,u8 wr,u32 fprer);//初始化WWDG void WWDG_Set_Counter(u8 cnt); //设置WWDG的计数器 void WWDG_NVIC_Init(void); //中断 #endif 2.2 ww
[单片机]
ARM体系的嵌入式系统BSP的程序设计
  arm公司在32位RISC的CPU开发领域不断取得突破,其结构已经从V3发展到V6。   BSP(Board Support Package)板级支持包介于主板硬件和操作系统之间,其功能与PC机上的BIOS相类似,主要完成硬件初始化并切换到相应的操作系统。BSP是相对于操作系统而言的,不同的操作系统对应于不同定义形式的BSP,例如VxWorks的BSP和Linux的BSP相对于某一CPU来说,尽管实现的功能一样,可是写法和接口定义是完全不同的。另外,仔细研究所用的芯片资料也十分重要,例如尽管arm在内核上兼容,但每家芯片都有自己的特色。所以这就要求BSP程序员对硬件、软件和操作系统都要有一定的了解。   本文介绍基
[嵌入式]
ARM学习笔记(三)时钟分频器设置
主程序里: ChangeClockDivider(key, 12); //key=14 cal_cpu_bus_clk(); 找到函数: //************************ *************************** void ChangeClockDivider(int hdivn_val,int pdivn_val) { int hdivn=2, pdivn=0; // hdivn_val (FCLK:HCLK)ratio hdivn // 11 1:1 (0) // 12 1:2 (1) // 13 1:
[单片机]
英国宣布对英伟达收购Arm交易展开24周全面调查
11月17日消息,英国政府周二宣布,将就英伟达斥资400亿美元收购英国芯片设计公司Arm的交易展开全面调查。 英国数字和文化大臣纳丁·多里斯(Nadine Dorries)已经下令对英伟达收购Arm的交易进行“第二阶段”调查。这项调查将由英国竞争和市场管理局(CMA)进行,时间约为24周,主要涉及与这笔交易相关的反垄断担忧和国家安全问题。CMA表示,在完成最初的“第一阶段”调查后,该部门对这笔交易感到严重担忧。 世界各地的监管机构正在对这笔收购案进行审查,英伟达在8月份表示,这笔交易现在不太可能在最初预计的2022年3月最后期限之前完成。 英伟达发言人周二表示:“我们计划解决CMA对这笔交易对竞争影响的担忧,我们将继续
[半导体设计/制造]
arm汇编adrl(以及ldr与adr的区别)
看《嵌入式linux应用开发》第六章实例中看到个句: adrl r2,men_cfg_val 最初对adr1相当不解,后来发现,那个不是数字1,而是字母l(认真看头部,有点区别的) 这里记录下ADRL的用法: 功能:将相对于程序或相对于寄存器的地址载入寄存器中。 与 ADR 指令相似。ADRL 生成两个数据处理指令,因此它比 ADR 加载的地址范围要宽。 语法 ADRL{cond} Rd,label 其中: cond:是一个可选的条件代码。Rd:是要加载的寄存器。label:是相对于程序或寄存器的表达式。 上面给出的范围是相对于位于当前指令地址后的、距离当前指令四个字节(在 Thumb 代码中)或两个字(
[单片机]
AI 大模型迈向多模态,助力具身智能与机器人实现创新
你听过莫拉维克悖论 (Moravec's paradox) 吗?该悖论指出,对于人工智能 (AI) 系统而言,高级推理只需非常少的计算能力,而实现人类习以为常的感知运动技能却需要耗费巨大的计算资源。实质上, 与人类本能可以完成的基本感官任务相比,复杂的逻辑任务对 AI 而言更加容易。这一悖论凸显了现阶段的 AI 与人类认知能力之间的差异。 人本来就是多模态的。我们每个人就像一个智能终端,通常需要去学校上课接受学识熏陶(训练),但训练与学习的目的和结果是我们有能力自主工作和生活,而不需要总是依赖外部的指令和控制。 我们通过视觉、语言、声音、触觉、味觉和嗅觉等多种感官模式来了解周围的世界,进而审时度势,进行分析、推理
[嵌入式]
AI 大模型迈向多模态,助力具身智能与机器人实现创新
小广播
设计资源 培训 开发板 精华推荐

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

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

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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