datasheet

基于TMS320DM270的长途客车无线视频监控系统

2008-05-23来源: 电子产品世界关键字:DSP  模块  ARM  长途客运  内核  视频监控系统  无线网络  ioctl  函数指

  随着公路交通的不断发展,长途客运车也随之不断增长,方便人们出行的同时,交通事故不断发生,盗窃、抢劫也时有发生。

  为了能使汽车安全的行驶,乘客放心的乘坐,开发研究一套良好的长途客运车无线视频监控系统就显得尤其的重要。

  近年来传统的模拟视频监控技术正在逐步向数字化、网络化、智能化发展,将监控技术与网络技术,特别是无线网络技术完美结合,是数字监控领域的新方向。本文介绍的长途客运车无线视频监控系统是整合嵌入式技术、CDMA无线网络通讯技术、MPEG-4数字视频压缩技术和GPS定位技术为一体的视频终端。

  系统简介

  整个无线视频监控系统由车载终端(包括TMS320DM270CPU模块、视频输入模块、CDMA模块、GPS模块等)、通信网络和监控中心组成,其系统结构如图1所示。

  车载终端被放置在长途客车内,用来采集车内图像并利用MPEG-4技术对图像进行压缩,使图像分辨率达到CIF格式,帧率在1-8帧/秒可调。同时GPS模块实时接收全球定位卫星发射的信号,得到当前车辆位置和速度。最后CPU将压缩后的视频流与GPS数据通过CDMA无线通信网络和Internet网络发送到监控中心,从而在监控中心可以看到车内情形,以及在电子地图上显示客车的方位与速度。

  车载终端硬件设计

  车载终端的设计是根据系统的总体要求,将硬件电路划分为独立的硬件功能模块(TMS320DM270 CPU模块、视频输入模块、CDMA模块、GPS模块等),并给出各个硬件模块的功能定义以及他们之间的关系。车载终端的结构框图如图2所示。

  

  TMS320DM270 CPU模块

  TMS320DM270是TI公司推出的一款双核多媒体处理器。它内部集成了两个处理器:ARM7TDMI RISC处理器;TMS320C5409 DSP,并带有两个协处理器——图像加速器(iMX)和可变步长编解码器(VLCD)。

  DM270还集成了SDRAM控制器、CCD可编程控制器、预览引擎(Preview engine)、专用的硬件3A模块可以消除主处理器的某些任务负担,如:白平衡、自动曝光和自动调焦。除此之外,还有USB、UART、SPI、外围存储接口等功能。

  视频输入模块

  视频输入模块主要由镜头模块和模拟前端电路组成。模拟前端的作用是将图像传感器输出的模拟信号钳位放大,并完成A/D转换,这里采用的是TVP5150。TVP5150是TI的一款高质量数字视频解码器,可以很方便将模拟视频信号转换成数字视频信号。TVP5150由一组内部寄存器初始化并控制,因此在系统复位上电时DM270要通过I2C对TVP5150进行初始化。

  CDMA模块和网络模块

  作为监控调度系统,首先要考虑监控覆盖范围、实时性、车辆容量、刷新速率等要求,选择合适的无线数据链路。由于长途客车的行驶范围比较大,所以本系统选择无线网络覆盖范围较大的CDMA网络。

  CDMA是码分多址的英文缩写(Code Division Multiple Access),它是在数字技术的分支——扩频通信技术上发展起来的一种移动通信技术。本系统采用Q2358C RJ45接口模块作为CDMA接入设备,它内嵌TCP/IP协议栈,支持高达153.6Kb/s的数据吞吐率,适合窄带宽视频传输,有相当高的稳定性。由于系统采用了先进的MPEG-4编码技术,所以完全可以适应CDMA的传输速率。

  网络模块也是本系统中一个重要的组成环节,采用的是AX88796网卡芯片。它负责将CPU处理后的数据(MPEG-4视频数据、GPS数据)通过RJ45接口发送给CDMA模块,CDMA模块再根据目的地址把数据送给监控中心。

  GPS模块

  GPS(Global Positioning System)是一套由美国国防部历时20年,耗资200亿美元,于1994年建成的卫星定位系统,其基本原理是利用绕着地球的24颗卫星所发射的信号,再加以几何上的计算,来得到接收者的位置。本系统采用的是Motorola UART接口的一款GPS模块,定位误差小于25米,测量速度范围是515米/秒。该模块将接收的卫星数据转换为规定的数据格式,其中包括经度、维度、高度、速度等。CPU从串口读取这些数据,确定车辆的位置与速度。

  FLASH和SDRAM模块

  本系统设计2M的NORFLASH用来存储程序,NORFLASH的2M空间被划分为四部分,分别存放Bootloader、参数、内核和文件系统。16M的SDRAM用于系统软件的运行以及各种数据(MPEG-4视频数据、GPS数据)的存取。

  基于DM270的软件设计分为两部分:ARM端设计、DSP端设计。DSP端的软件设计主要是图像算法的设计,本系统采用的是MPEG-4算法,同时把DSP作为嵌入式uClinux的外部设备,并编写DSP的驱动程序,注册进内核;ARM端运行uClinux操作系统,处理非成像功能,用来控制整个系统的各个模块。系统软件层次结构如图3所示。

  uClinux内核移植

  uClinux是Linux的一个分支,源代码开放,并且被广泛的移植到多种CPU平台上。uClinux内核是由Linux内核根据所要运行的CPU裁减、修改而来的,因此它保持了原有Linux操作系统的主要优点,如稳定性好,出色的文件系统支持功能,完善的应用程序和驱动程序开发环境,以及Linux原有的完整的TCP/IP协议包。这样,当越来越多的嵌入式系统需要提供网络支持功能时,uClinux便成了首选的操作系统。

  uClinux的移植工作主要包括内核的修改、裁减与编译。

  首先是开发环境的建立。主要由目标系统硬件开发板和宿主PC机构成。先在宿主PC机上安装标准Linux发行版Red-Hat Linux和交叉编译工具arm-elf-tools-20030314.sh,再从网络上获得免费的uClinux内核源代码uClinux-dist-20041215.tar.gz,并在宿主PC机上执行tar zxvf uClinux-dist-20041215.tar.gz对其解压。

  其次是内核的修改。修改的文件主要有:

  1)uClinux-dist/linux-2.4.x/arch/armnommu/boot/compressed/head.S,启动文件。

  2)uClinux-dist/linux-2.4.x/arch/armnommu/boot/Makefile,启动配置文件,主要修改的是ZTEXTADDR(自解压代码的起始地址)和ZRELADDR(内核解压后代码输出起始地址)。

  3)uClinux-dist/linux-2.4.x/arch/armnommu/config.in,修改DRAM_BASE、DRAM_SIZE、FLASH_MEM_BASE和FLASH_SIZE,主要为确定SDRAM、FLASH的起始地址和大小。

  4)uClinux-dist/linux-2.4.x/arch/armnommu/Makefile,修改TEXTADDR来配置内核的起始地址。

  5)uClinux-dist/linux-2.4.x/drivers,修改并添加所需的驱动程序。

  6)uClinux-dist/linux-2.4.x/drivers/block/blkmem.c,ROM文件系统的定位修改。

  7)uClinux-dist/vendors/TI/dm270,修改硬件配置文件。

  8)uClinux-dist/linux-2.4.x/Makefile,选择CPU体系机构(ARCH?:=?armnommu)和交叉编译器(CROSS_COMPILE?=?arm-elf-)。

  对内核修改完毕后,在uClinux-dist目录下执行make menuconfig。在弹出的对话框中对内核进行配置和裁减。

  最后就是编译内核。依次执行make dep(编译相关依赖文件),make clean(在编译内核之前把内核清理干净),make(最终的编译命令),此时在images目录下生成了image.ram和image.rom文件,iamge.rom便是要烧写到FLASH中的内核映像文件。

  驱动程序设计

  设备驱动程序是内核的一部分,是操作系统内核和机器硬件之间的接口。Linux操作系统将所有的设备看作具体的文件,对与用户而言,可以通过设备驱动程序所提供的一组入口点(open()、close()、read()、write()、ioctl()等)来完成对设备文件的访问和控制。在Linux系统里,设备驱动程序提供的这组入口点是由结构

  

  向系统注册设备,登记驱动程序所提供的入口点。当应用程序对设备操作时,会根据file_operations结构中的函数指针找到相应的操作函数并进行调用。图3中的驱动程序都是按照上述来完成的。

  

  应用程序设计

  在应用程序中设计了两个进程:GPS进程和视频进程,应用程序流程图如图4所示。

  

  GPS进程,首先设置车载终端的IP地址,初始化GPS模块,然后通过Linux Socket编程和服务器建立链接,等待服务器命令,如果10秒钟内没有收到命令,则通过CDMA发送GPS数据到服务器。

  视频进程,首先注册信号量SIGUSR1,其次是对视频相关硬件(DSP、TVP5150、CCDC、Preview engine)的初始化,初始化的具体实现是在各个驱动程序中完成的,然后利用Linux Socket编程和服务器建立链接,最后启动MPEG-4编码器。当视频进程成收到SIGUSR1信号后,便通过CDMA传送编码好的视频数据。

  整个程序运行过程中时刻存在着ARM与DSP之间的通讯。

  在视频编码开始前,DSP的引导由ARM来控制,首先ARM将DSP挂起在复位状态,随后向DSP下载MPEG-4编码程序,最后唤醒DSP开始编码。DSP的引导顺序如图5所示。

  

  在视频编码过程中,ARM与DSP通过HPIB进行通信。ARM管理着DSP数据空间的数据输入输出。在DSP数据空间定义了一段内存空间作为命令寄存器,然后通过HPI访问这些寄存器,这就是ARM与DSP之间的一个通讯接口,ARM和DSP都可以异步地向对方发出命令,不存在主从关系。为了建立这种双向通讯,系统设计了两组寄存器,一组用于ARM(命令由DSP发出),另一组用于DSP(命令由ARM发出)。在编码过程中就是利用这组寄存器以及HPI中断完成了图像数据的读取、编码和发送。DSP的HPI中断过程如图6所示。DSP通过写寄存器并发出HPI中断,向ARM发送命令。ARM在HPI中断服务程序中判断命令类型并执行,其中一种命令是DPS向ARM请求原始图像数据进行编码;另一种命令是DPS请求ARM发送压缩后的MPEG-4视频数据,在这个命令中会向视频进程发出SIGUSR1信号。ARM执行完命令之后发出HPI通知DSP。

  

  结语

  本系统把无线视频监控技术和GPS定位系统相结合,同单一的GPS定位系统相比有明显的优势。在实际测试中,实现了视频和GPS的同步传输。视频传输速度可达8帧/秒,图像分辨率达到CIF格式。同时通过对GPS数据的解析,可准确的确定客车的位置和速度。随着MPEG-4算法的优化,无线网络的不断发展以及3G的推出,传输效果将会更加的理想。虽然该系统是为长途客运车而设计,但它的整个解决方案可用于其它需要远程监控的行业,比如可广泛应用于军事、交通、油田、煤矿以及手持娱乐设备等。

关键字:DSP  模块  ARM  长途客运  内核  视频监控系统  无线网络  ioctl  函数指

编辑:孙树宾 引用地址:http://www.eeworld.com.cn/afdz/2008/0523/article_680.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:采用视频的无线激光定位设备的设计
下一篇:UHF RFID标签电路设计

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

汽车音频工程师的DSP开发方法论

当“汽车”与“电子”这两个词开始出双入对,就注定了DSP成为乘客的命运,毕竟哪里有电子,哪里就大概率有数字信号,而哪里有数字信号,哪里就是DSP的舞台。如今,DSP已经广泛应用于汽车的各个功能。比如在发动机上,DSP可获取并分析各气缸内压力数据,然后输出控制信号,使发动机处在最佳点火时刻和空燃比的状态;在底盘上,DSP可获取ABS系统数据,进而保证车辆的稳定性;在安全气囊上,DSP可以实现对点火电流的反馈控制,使安全气囊在准确的时间点展开;在新能源汽车上,DSP可对电池进行管理…… 随着汽车电子的发展,DSP在汽车上的应用场景越来越多。而汽车上有一个较为传统的应用场景,也随着DSP技术的发展而不断进化,那就是影音娱乐
发表于 2019-03-26
汽车音频工程师的DSP开发方法论

物联网处理的最佳选择:DSP +CPU

一般认为,在需要数字信号处理时(在调制解调器的物理层、智能扬声器的麦克风波束形成或跟踪设备的地理定位时)要使用DSP。如果需要数字控制(运行协议栈或管理音频编解码器或GNSS的控制方面 ),则要使用MCU。由于典型的物联网设备需要这两种功能,因此必须使用两个或更多内核。对于对续航时间要求不高的高利润设备,这也许不是什么大问题,但对许多物联网应用而言这可能是一个严重缺点。对于这类应用,经优化的复合处理器可以更经济高效地满足这两种需求,并延长设备续航时间。我们对此进行了非常详细的分析;我们认为这样的解决方案不仅可行,而且在各种物联网应用中具有很强的竞争力。想想共享单车或共享踏板车。这些设备显然需要跟踪,因此嵌入式设备必须能够
发表于 2019-03-14

BISTel全新AI系统连接MindSphere,加快客户智能制造之旅

深圳和上海,2019年1月18日BISTel是智能制造的自适应智能(AI)解决方案的领先供应商,它已加入MindSphere合作伙伴计划,西门子的工业物联网解决方案和技术提供商合作伙伴计划。预计BISTel应用程序将在MindSphere平台Q1 2019上提供.BISTel将通过宣布推动中国智能制造业增长的新型人工智能产品,讨论该公告的重要性以及如何帮助其扩展在中国的业务。 1月18日在深圳和1月21日在上海举行的两场新闻发布会上,BISTel高级管理人员将宣布重大投资和扩展计划,以帮助中国发展其智能制造市场或工业4.0。 BISTel的高级数据分析平台eDatalzyer®及其设备实时健康监测和预测维护
发表于 2019-03-05

STM32F4学习笔记1——如何使用DSP库

配置 1、 安装DSP库文件 2、 配置编译环境, 上述添加是在project→options→C/C++→Define中添加,并且分割用逗号,即__FPU_PRESENT=1,__FPU_USED=1,ARM_MATH_CM4,__CC_ARM3、 在需要调用DSP函数的文件中加上#include "arm_math.h" 4、 需要在project中添加用到的.c文件,看你用的是哪个函数,就添加哪个.c文件。.c文件目录为 XXX\Drivers\CMSIS\DSP_Lib\Source
发表于 2019-02-19
STM32F4学习笔记1——如何使用DSP库

STM32F4xx FPU/DSP使用注意事项

__CC_ARM。以使用sin,cos 运算举例,需要调用arm_sin_f32()以及arm_cos_f32(),这两个函数定义在arm_sin_f32.c 和arm_cos_f32.c中,需要在工程中加入这两个c 文件。* 在 ST 库文件包中的文件目录如下:\stm32f4_dsp_stdperiph_lib\STM32F4xx_DSP_StdPeriph_Lib_V1.1.0\Libraries\CMSIS\DSP_Lib\Source\FastMathFunctions* 在keil 安装目录下的文件目录如下:\Keil\ARM\CMSIS\DSP_Lib\Source\FastMathFunctions当用到更多数学运算, 如开根号
发表于 2019-02-15
STM32F4xx FPU/DSP使用注意事项

毫米波传感器轻松实现细微运动检测和人数统计智能化

算法用于同时对多个对象进行区分和跟踪。此算法会在一段时间内监控点云的移动历史,从而测量场景中移动物体的大小、精确定位这些物体的位置并跟踪物体在一段时间内的移动和位置历史。借助该算法,更高级别的应用可以确定在环境中移动的人员的确切位置和行进方向。表 2. 人数统计参考设计的性能规格。图 6. IWR1642 上的软件中所实现的处理链的方框图(在人数统计参考设计中提供)。这些算法是在 IWR1642 上的软件中运行的示例处理链中实现的。图 6 展示了该处理链,在板载 C674x DSP 以及 Arm® Cortex-R4F 微控制器上运行的数字信号处理 (DSP) 代码实现了该处理链。该处理链的实现和上述算法包括可调整参数,因此可对软件
发表于 2019-01-09
毫米波传感器轻松实现细微运动检测和人数统计智能化

小广播

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 视频监控 智能卡 防盗报警 智能管理 处理器 传感器 其他技术 综合资讯 安防论坛

北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

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