ARM9的交通违章抓拍系统的开发

ARM9的交通违章抓拍系统的开发

智能交通系统(ITS)将先进的信息技术、数据通讯传输技术、电子控制技术、计算机处理技术等应用于交通运输行业,从而实现各种运输方式发展规划的现代化、决策的科学化和管理的智能化。数码电子警察是现在应用比较广泛的一种智能交通产品,利用数码相机技术和相应的车辆检测与控制技术, 自动抓拍闯红灯的车辆。数字化、网络化、小型化和智能化已经成为当前电子警察的主要发展趋势。目前国内的产品多以Windows操作系统和x86 硬件体系为核心构建, 有成本高、体积大、稳定性欠缺的不足之处。

以Linux 操作系统和RAM7 或RAM9 系列芯片为核心构建嵌入式系统是目前最流行的嵌入式开发策略。Linux 是典型的嵌入式操作系统, 发展最快, 应用最广泛。Linux 是开源的、免费的,从技术和经济的角度来看都是最佳选择。S3C2410 是韩国三星( Samsung) 公司设计的32 位RISC 嵌入式处理器。该处理器为手持设备和一般性应用提供了一个高性价比、低功耗、高性能的解决方案。该芯片基于ARM920T 内核, 采用五级流水线和哈佛结构, 提供1.1MIPS/MHz 的性能。arm920T 具有全性能的内存管理单元MMU(Memory Management Unit) 、独立的16KB 指令和数据Cache 以及高速AMBA 总线接口。为了减少应用系统设计的成本, S3C2410 集成了众多的常用资源, 例如: LCD 控制器、NAND Flash 控制器、SDRAM控制器、系统片选逻辑以及一些常用的通讯接口等资源。

本文针对交通违章抓拍系统的特点,以S3C2410 为核心合理设计硬件电路, 并提供必须的USB 接口、串口、网络接口和JTAG 口; 充分考虑抓拍的实时性和准确性, 采用裁减的实用的Linux2.6.12 内核,制作根文件系统, 开发应用程序, 构建软硬件协作的嵌入式系统。

2 硬件设计

图1 硬件总体结构图

2.1 基于S3C2410 的电路设计

电路设计如图2 所示。

通讯接口部分包括USB 接口、以太网接口、串口。其中串口为常见的接口形式。这里主要说明USB 接口和以太网接口。

S3C2410 集成了USB 控制器, 支持两路USB Host 和一路USB Device.与USB Rev1.1 兼容, 支持低速和全速USB 设备。

本系统中设计两路USB, 都作为Host 使用。USB 接口接线图如图3 所示。

网络接口芯片选用台湾DAVICOM 公司的DM9000,DM9000 是带有通用处理器接口的单片快速以太网MAC 控制器, 并带有10/100M物理层接口, 内部集成4K 字SRAM, 接口支持8 位、16 位、32 位处理器。接口设计电路设计如图4 所示。

图4 Ethernet接口电路设计

2.2 检测电路设计

通常从交通指挥灯信号机中输出的红灯信号是220V/50Hz 的工频交流电, 需要设计一个整流滤波电路将从信号机输出的交通指挥灯信号变换为TTL 电平。交通指挥灯信号检测部分采用一个光隔隔离内外电路, 从交通指挥灯信号机输入至检测板的是220V/50Hz 的交流电, 通过二级管全波整流后, 得到大约200V 的直流信号,再经过电阻分压, 接着使用100uF 的电容平波, 获得5V 左右的直流电,加到4N25 光隔输入端, 输出经过一个反向器获得5VTTL 电平输出,转换电路如图5 所示。

本系统采用环形线圈检测系统,环形线圈检测系统目前国内外使用最广泛的车辆检测系统, 它由3 部分组成: 埋设在路面下的环形线圈传感器、信号检测处理单元(包括检测信号放大单元、数据处理单元和通信接口) 及馈线。检测单元、环形线圈与馈线线路共同组成一个LC 调谐电路。此电路中的电感主要决定于环形线圈的匝数,环形线圈是此电路的电感元件; 电容则决定于检测单元中的电容的大小。当电流通过环形线圈时, 在其周围形成一个电磁场, 当车辆行至线圈上方时, 在金属车体中感应出涡流电流,涡流电流产生与环路耦合、但方向相反电磁场, 即互感, 使环形线圈电感量随之降低, 因而引起电路谐振频率的上升。只要检测到此频率随时间变化的信号, 就可检测出是否有车辆通过。振荡电路设计如图6 所示。

3 软件平台的构建和应用程序的开发

3.1 构建软件平台

系统的引导过程包括以下步骤:

( 1) 处理器重新启动以后, 执行ROM启动代码。

( 2)ROM启动代码初始化CPU、内存控制器以及片上设备,然后配置存储映射。随后执行bootloader.

( 3) bootloader 将内核从闪存解压到RAM中, 然后跳到内核的第一条指令处执行。

( 4) 内核初始化各种硬件设备, 挂载根文件系统, 然后执行init 进程。

( 5) Init 进程装载运行时共享库, 读取配置文件/etc/inittab,执行脚本/etc/rc.d/rcS.

构建嵌入式软件平台需要准备以下工作:制作内核、创建根文件系统和生成启动代码bootloader.

3.1.1 制作Linux 内核

采用Linux2.6.12 的内核。在Linux2.6 中, 引入了很多非常有利于嵌入式应用的功能。这些新功能包括实时性能的增强、更方便的移植性、对大容量内存的支持、支持微控制器和I/O系统的改进等。2.6.12 提供了针对S3C2410 的配置, 使用命令make s3c2410_defconfig, 然后配置内核使用命令make menuconfig,配置体系结构( System Type) , 选择S3C2410 Implementation,配置处理器类型, 选择arm9T, 接着配置通用选项, 支持网络、SYSVIPC 机制、支持ELF 文件格式, 选择根文件系统为JFFS2, 然后再配置网络, 选择网络设备支持, 选择串口支持、选择文件系统与网络文件系统,配置USB 设备选项, 由于数码相机是USB 设备, 我们使用libusb0.1.10 版本的驱动支持, 所以需要修改内核源码usb.c 文件,不把数码相机作为USB 存储设备。编译内核映像使用命令make zImage, 建立模块使用命令make modules.

3.1.2 创建根文件系统

根文件系统是所有Unix 系统不可或缺的组件, 顶层目录/bin、/dev、/etc、/lib、/proc、/sbin 和/usr 是必须的。有几项工作非常重要,首先是建立安装GNU C 链接库, glibc 套件包括若干链接库,比如数学链接库libm- 2.2.3.so, 共享c 链接库libc- 2.2.3.so.

除了链接库文件,还要复制动态链接库及其符号连接。再就是建立设备文件, 按照Unix 的传统, 任何对象都可视为文件, 所有设备节点都放在/dev 目录下, 包括zero、random、tty0、tty1、ttyS0、tty、console、mem、null, 另外还需要建立必要的符号连接:

fd- >/proc/self/fd, stdin- >fd/0, stdout- >fd/1, stderr- >fd/2.然后选择主要的系统命令, BusyBox 无疑是最方便的套件, 成功安装后, /bin 目录下会出现二进制文件busybox, 对需要的命令建立对BusyBox 的符号连接。

为根文件系统选择文件系统是很重要的工作。JFFS2 文件系统的特点是可被写入、具有永久性、断电可靠性而且可以压缩。JFFS2 会为垃圾回收功能维护空间,提供断电可靠性和损耗平衡这两个对flash 系统非常重要的特性。由于抓拍系统工作在开放式的环境中, 稳定性、可靠性是首先要考虑的,所以选择JFFS2.用mkfs.jffs2 工具程序建立文件系统的映像: mkfs.

jffs2- r rootfs/- o images/rootfs- jffs2.image.

3.1.3 Bootloader 代码。

Bootloader 主要负责加载内核, 尽管它在系统启动期间执行的时间很短, 但是非常重要的系统组件, 对嵌入式系统来说是一件特别的工作。Bootloader 是严重依赖于硬件而实现的, 目前以arm为基础的系统还没有标准的Bootloader, 针对本系统的硬件特性, 在ppcboot 的基础上加以修改,生成适合本系统的启动代码。

3.2 应用程序的开发

程序主要实现以下功能:现场红灯和线圈信号的采集; 控制相机拍照、保存参数、传输照片和删除照片; 处理按键信息并送数码管显示; 通过以太网远程下载照片, 也可以用U 盘本地下载照片。应用程序的总体结构如图7 所示。

系统软件的设计主要是控制相机的USB 通讯模块的编写、网络传输模块的编写、信号采集模块的编写和串口通讯模块的编写。其中USB 通讯模块是关键, 需要严格遵守数码相机的通讯协议; 网络传输采用客户机服务器方式, 本机作为客户机, 工控中心设置为服务器。检测信号模块主要是读取并口信息, 并口的操作使用端口I/O, 简单、操作性强,并且可以清楚

转载于:https://www.cnblogs.com/dyllove98/p/3174515.html

基于三星ARM9(S3C2410)的交通违章抓拍系统的开发相关推荐

  1. [YOLOv7]基于YOLO&Deepsort的交通车流量统计系统(源码&部署教程)

    1.图片识别 2.视频识别 3.Deepsort目标追踪 (1)获取原始视频帧 (2)利用目标检测器对视频帧中的目标进行检测 (3)将检测到的目标的框中的特征提取出来,该特征包括表观特征(方便特征对比 ...

  2. 【交通标志识别】基于matlab GUI BP神经网络交通标志识别系统(含语音报警)【含Matlab源码 2240期】

    ⛄一.BP神经网络交通标志识别简介 道路交通标志用以禁止.警告.指示和限制道路使用者有秩序地使用道路, 保障出行安全.若能自动识别道路交通标志, 则将极大减少道路交通事故的发生.但是由于道路交通错综复 ...

  3. 基于asp.net328驾校考试车管所违章查询系统

    本车辆违章管理系统使用Visual studio.net2010作为系统开发环境,并采用ASP.NET技术,使用C#语言,以SQL Server为后台数据库.随着中国的发展,国家的经济实现得到提高,拥 ...

  4. Java+spring 基于ssm的车辆违章处理系统#毕业设计

    *文末获取源码 开发环境 项目编号:Java+spring ssm407车辆违章处理系统#毕业设计 开发语言:Java 开发工具:IDEA /Eclipse 数据库:MYSQL5.7 应用服务:Tom ...

  5. (附源码)Springboot小程序交通违法举报系统 毕业设计 242045

    Springboot小程序交通违法举报系统 摘 要 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,交 ...

  6. (附源码)小程序 交通违法举报系统 毕业设计 242045

    Springboot小程序交通违法举报系统 摘 要 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,交 ...

  7. java计算机毕业设计基于微信小程序的校园外卖订餐系统APP

    项目介绍 网络技术的快速发展给各行各业带来了很大的突破,也给各行各业提供了一种新的管理模块和校园订餐模块,对于校园订餐小程序将是又一个传统管理到智能化信息管理的改革,对于传统的校园订餐管理,所包括的信 ...

  8. java计算机毕业设计基于安卓Android/微信小程序的自来水收费系统APP

    项目介绍 网络的广泛应用给生活带来了十分的便利.所以把自来水收费管理与现在网络相结合,利用java技术建设自来水收费系统app,实现自来水收费的信息化.则对于进一步提高自来水收费管理发展,丰富自来水收 ...

  9. 基于微信小程序的家校通系统-JAVA【数据库设计、源码、开题报告】

    第一章 绪 论 1.1选题背景 随着网络时代的到来,互联网的优势和普及时刻影响并改变着人们的生活方式.在信息技术迅速发展的今天,计算机技术已经遍及全球,使社会发生了巨大的变革. 为了不受时间和地点的限 ...

最新文章

  1. 动态主机配置协议服务器不能提供,计算机网络基础课程—动态主机配置协议(Dhcp)...
  2. MT6575 充电流程
  3. JSON字符串转为指定实体类对象
  4. 2011年全国软件大赛模拟题及参考答案(Java高职组)
  5. python股票自动买卖视频教程_十分钟学会用Python交易股票
  6. 使用Travis-CI的SpringBoot应用程序的CI / CD
  7. 阿里巴巴1682亿背后的“企业级”高效持续交付
  8. html 文件域变滑块,小巧的jQuery区域范围滑块插件noUiSlider
  9. iPhone6s用户感动!升级ios13还能再战两年
  10. 用 VR 检查代码,码农们的必备神器!
  11. SonicWall:速度修复这些严重的 SMA 100 漏洞
  12. C# 中using的几个用途
  13. 纯HTML个人清新网站源码
  14. 基于无人机的目标检测平台——数据中转(安卓App)
  15. android仿京东跑马灯,RecyclerView实现跑马灯效果
  16. Jenkins 打包项目出错汇总(持续)
  17. jquery中的mouseover、mouseout 和 mouseenter 、 mouseleave的区别
  18. 第十二届noc网络机器人赛项成绩_2017年第15届中小学NOC活动全国决赛机器人超市购物赛项获奖结果...
  19. Tomcat过时了?别多想,很多公司还是在用的。这份Tomcat架构详解,真的颠覆你的认知
  20. 【超分辨率】(DRN)Closed-loop Matters: Dual Regression Networks for Single Image Super-Resolution

热门文章

  1. Windows下使用gFortran,VScode+MinGW
  2. java基础知识-----转
  3. css 中划线,原价样式
  4. 《海贼王》--喜欢的理由
  5. Cesium测量工具,距离测量、面积测量、高度测量
  6. 《牡丹亭》中的情与理
  7. 基于sklearn进行蝴蝶花分类案例(Python机器学习笔记)
  8. 高中数学相关的专业术语
  9. 传奇开服方法教程:传奇开服在哪些网站打广告?传奇发布站打广告技巧
  10. 最新“3D版”DALL·E爆火,超快速度生成3D点云模型,OpenAI向谷歌新领域发起挑战丨开源...