基于ARM9的道路交通数据采集系统设计
时间:03-12
来源:中电网
点击:
2.2.3 采集数据的预处理
节点数据的预处理,其主要功能将各类检测器采集的异样数据进行过滤,去掉非法、无效的数据,对故障数据进行恢复,将有效、合法的数据按照标准进行格式化处理,并将其封装、利用TCP/IP协议,通过通信网络发送到测控中心指定的数据通道或数据库,提供给交通信息处理与分析子系统。采集得到的数据经预处理后的实时检测交通数据效果更好,更符合实际情况的需要,并有效地节省了计算机存储的工作量。
2.2.4 控制执行
系统设计为分布式客户/服务器体系结构的网络系统,一方面,节点采集的数据与上级监控中心共享数据库通过光缆收集控制器预处理过的图像和数据信息,在监控中心通过相应的数学模型进行预测、诱导和控制的控制参数一起作为本地节点的控制输入参数,另一方面,要求把本节点的数据传送到数据库和监控中心。一旦通信系统发生阻塞或故障,该节点也能根据当地实时检测到的交通流量和历史数据的数学模型进行基于该路口的局域最优控制。发生事故和其他特殊情况时,还可以通过手动实现路口的控制。
2.2.5 网络通信
节点控制机将各种检测器采集的交通流信息用来控制该节点的交通,同时又要经处理机进行预处理,利用通信接口,通过TCP/IP协议,保证采集到的数据安全性、可靠性、有效性传输到控制中心,用于整个交通系统协调控制和管理。
3 实现技术
3.1 硬件平台
节点处理机要执行繁重的通讯和算法处理,对处理器的通讯和运算速度有很高的要求,传统的单片机处理器性能有限无法满足节点的要求。因此采用SAMSUNG公司的处理器S3C2410平台,它具有灵活的特性和强大的性能,在嵌入式系统中得到了广泛的应用。该处理器内部集成了ARM公司ARM920T处理器核的32位微控制器,资源丰富,带独立的16 kB的指令Cache和16 kB数据Cache、LCD控制器、RAM控制器、NAND闪存控制器、3路UART、4路DMA、4路带PWM的Timer、并行I/O口、8路10位ADC、TouchSereen接口、I2C接口、I2S接口、2个USB接口控制器、2路SPI,主频最高可达203 MHz。在处理器丰富资源的基础上,还进行了相关的配置和扩展,平台配置了16 MB 16位的FLASH和64 MB 32位的SDRAM。通过以太网控制器芯片CS8900A扩展了一个网口,另外引出了一个HOST USB接口。硬件平台如图4所示。
16 MB 16位的FLASH用来存储Linux内核和应用程序,64MB 32位的SDRAM在系统运行的时候存储Linux的内核和应用程序。
以太网控制器通过以太网接口芯片CS8900A,用于接入Internet,加入光纤接口就可以实现光纤通讯。
RS 232和AD接口分别用于接入液晶控制器、交通灯控制器、交通指示牌控制器和检测设备。
液晶控制器用来设定或者修改智能路口控制器控制参数,而且还可以通过手动直接控制交通灯。
USB接口上外接一个带USB口的摄像头,将采集到的视频图像数据放入输入缓冲区中。然后,或者保存成文件的形式,或者运行移植到平台上的图像处理程序,对缓冲的图像数据直接进行相关处理,再保存并打成UDP包。最后,通过网络接口将图像发送到Internet上。
交通灯的控制是直接控制,接收系统的参数设定,比如路口数、红绿灯时间等,并控制交通灯。交通指示牌是用来提供交通信息的大屏幕,S3C2410接收来自监控中心的交通信息,并将这些信息送到交通指示牌控制器,显示在大屏幕上,用来诱导交通。检测设备在目前交通控制中的各种检测设备不但种类繁多,而且新产品不断涌现,预留了包括串口在内的多种接口方式。
3.2 系统软件
系统操作系统采用Linux操作系统,Linux内核是一种源码开放的操作系统,采用模块化的设计。在此只保留了必需的功能模块,删除了冗余的功能模块,并对内核重新编译,从而使系统运行所需的硬件资源显著减少。最重要的一点是,Linux自诞生之日起就与网络密不可分,Linux系统内核集成了大量的网络应用程序,支持全部的标准因特网协议和几乎所有的联网技术,这使Linux很适合基于网络的应用开发,用户编写的程序代码可以直接建立在这些网络应用程序的基础之上,从而大大缩短开发周期。因此将其应用于智能交通路口控制器的设计,具有代码量小、运行消耗系统资源少、可靠性高、开发周期短等优点,适应了智能交通路口控制器对于操作系统的要求。加载流程如图5所示。
3.3 应用软件
应用软件主要有协议软件、数据采集模块、通信处理模块、用户接口管理等。这里主要介绍视频采集(包含在数据采集模块中)和通信处理的实现。
3.3.1 视频采集
利用LINUX中视频设备的内核驱动程序video4linux,它为USB摄像头、TV卡和视频捕捉卡等视频设备的应用程序的编程提供了一系列的接口函数。
程序的编写包括驱动和视频流采集的应用程序两部分。先将驱动模块静态编译,再使用Insmode动态加载其驱动模块程序。然后采用MMAP()内存映射方式,实现对单帧和连续帧的采集。
节点数据的预处理,其主要功能将各类检测器采集的异样数据进行过滤,去掉非法、无效的数据,对故障数据进行恢复,将有效、合法的数据按照标准进行格式化处理,并将其封装、利用TCP/IP协议,通过通信网络发送到测控中心指定的数据通道或数据库,提供给交通信息处理与分析子系统。采集得到的数据经预处理后的实时检测交通数据效果更好,更符合实际情况的需要,并有效地节省了计算机存储的工作量。
2.2.4 控制执行
系统设计为分布式客户/服务器体系结构的网络系统,一方面,节点采集的数据与上级监控中心共享数据库通过光缆收集控制器预处理过的图像和数据信息,在监控中心通过相应的数学模型进行预测、诱导和控制的控制参数一起作为本地节点的控制输入参数,另一方面,要求把本节点的数据传送到数据库和监控中心。一旦通信系统发生阻塞或故障,该节点也能根据当地实时检测到的交通流量和历史数据的数学模型进行基于该路口的局域最优控制。发生事故和其他特殊情况时,还可以通过手动实现路口的控制。
2.2.5 网络通信
节点控制机将各种检测器采集的交通流信息用来控制该节点的交通,同时又要经处理机进行预处理,利用通信接口,通过TCP/IP协议,保证采集到的数据安全性、可靠性、有效性传输到控制中心,用于整个交通系统协调控制和管理。
3 实现技术
3.1 硬件平台
节点处理机要执行繁重的通讯和算法处理,对处理器的通讯和运算速度有很高的要求,传统的单片机处理器性能有限无法满足节点的要求。因此采用SAMSUNG公司的处理器S3C2410平台,它具有灵活的特性和强大的性能,在嵌入式系统中得到了广泛的应用。该处理器内部集成了ARM公司ARM920T处理器核的32位微控制器,资源丰富,带独立的16 kB的指令Cache和16 kB数据Cache、LCD控制器、RAM控制器、NAND闪存控制器、3路UART、4路DMA、4路带PWM的Timer、并行I/O口、8路10位ADC、TouchSereen接口、I2C接口、I2S接口、2个USB接口控制器、2路SPI,主频最高可达203 MHz。在处理器丰富资源的基础上,还进行了相关的配置和扩展,平台配置了16 MB 16位的FLASH和64 MB 32位的SDRAM。通过以太网控制器芯片CS8900A扩展了一个网口,另外引出了一个HOST USB接口。硬件平台如图4所示。
16 MB 16位的FLASH用来存储Linux内核和应用程序,64MB 32位的SDRAM在系统运行的时候存储Linux的内核和应用程序。
以太网控制器通过以太网接口芯片CS8900A,用于接入Internet,加入光纤接口就可以实现光纤通讯。
RS 232和AD接口分别用于接入液晶控制器、交通灯控制器、交通指示牌控制器和检测设备。
液晶控制器用来设定或者修改智能路口控制器控制参数,而且还可以通过手动直接控制交通灯。
USB接口上外接一个带USB口的摄像头,将采集到的视频图像数据放入输入缓冲区中。然后,或者保存成文件的形式,或者运行移植到平台上的图像处理程序,对缓冲的图像数据直接进行相关处理,再保存并打成UDP包。最后,通过网络接口将图像发送到Internet上。
交通灯的控制是直接控制,接收系统的参数设定,比如路口数、红绿灯时间等,并控制交通灯。交通指示牌是用来提供交通信息的大屏幕,S3C2410接收来自监控中心的交通信息,并将这些信息送到交通指示牌控制器,显示在大屏幕上,用来诱导交通。检测设备在目前交通控制中的各种检测设备不但种类繁多,而且新产品不断涌现,预留了包括串口在内的多种接口方式。
3.2 系统软件
系统操作系统采用Linux操作系统,Linux内核是一种源码开放的操作系统,采用模块化的设计。在此只保留了必需的功能模块,删除了冗余的功能模块,并对内核重新编译,从而使系统运行所需的硬件资源显著减少。最重要的一点是,Linux自诞生之日起就与网络密不可分,Linux系统内核集成了大量的网络应用程序,支持全部的标准因特网协议和几乎所有的联网技术,这使Linux很适合基于网络的应用开发,用户编写的程序代码可以直接建立在这些网络应用程序的基础之上,从而大大缩短开发周期。因此将其应用于智能交通路口控制器的设计,具有代码量小、运行消耗系统资源少、可靠性高、开发周期短等优点,适应了智能交通路口控制器对于操作系统的要求。加载流程如图5所示。
3.3 应用软件
应用软件主要有协议软件、数据采集模块、通信处理模块、用户接口管理等。这里主要介绍视频采集(包含在数据采集模块中)和通信处理的实现。
3.3.1 视频采集
利用LINUX中视频设备的内核驱动程序video4linux,它为USB摄像头、TV卡和视频捕捉卡等视频设备的应用程序的编程提供了一系列的接口函数。
程序的编写包括驱动和视频流采集的应用程序两部分。先将驱动模块静态编译,再使用Insmode动态加载其驱动模块程序。然后采用MMAP()内存映射方式,实现对单帧和连续帧的采集。
- 嵌入式TCP/IP协议栈在单片机上的实现(09-09)
- 计算机近距离无线数据采集系统设计(05-10)
- 基于DSP和ADS8364的高速数据采集处理系统(05-21)
- 嵌入式系统便携式数据采集装置设计(06-19)
- 基于AD7864和DSP的4路数据采集系统(07-16)
- 基于ARM的高速数据采集卡(08-07)