基于ARM9的交通违章抓拍系统的开发
1 引言
智能交通系统( 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.
构建嵌入式软件平台需要准备以下工作: 制作内核、
- ARM7和ARM9双核平台的技术分析(02-27)
- 基于WinCE的液位遥测系统软件设计(04-13)
- 基于ARM920T的嵌入式电力参数检测系统设计(02-14)
- 基于ARM9的道路交通数据采集系统设计(03-12)
- 基于ARM9的电梯缓冲器复位时间测试仪的设计(06-05)
- 基于嵌入式ARM9的USB设计与实现(07-16)