嵌入式操作系统在实时图像处理系统中的应用.doc
《嵌入式操作系统在实时图像处理系统中的应用.doc》由会员分享,可在线阅读,更多相关《嵌入式操作系统在实时图像处理系统中的应用.doc(20页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 课程设计报告课程名称: 嵌入式系统课程设计 专业班级: 自动化XXX班 学号:XX 学生: 王XX 指导教师: XXX 完成时间: 2014年 6月 3 日 报告成绩:评阅意见: 评阅教师 日期 2014.6.3 芙蓉学院教学工作部制 目 录1.设计要求错误!未定义书签。2.设计的作用目的13.设计方案14.硬件设计14.1 Virtuoso 4. 2 的特点介绍14.2事实图像处理系统的嵌入式系统软件的实现24.3主处理器模块44.3.1单DSP上进行的实验44.3.2用两片DSP进行调试45.软件设计55.1 系统的结构框架55.1.1视频图像采集模块75.1.2视频图像输出模块85.1
2、.3报警模块95.2系统软件功能设计106.系统仿真与调试127.心得体会15参考文献1618 / 20嵌入式操作系统在实时图像处理系统中的应用1.设计要求 随着电子信息技术的迅猛发展,视频监控、视频图像的采集和处理得到了广泛的应用。传统的图像采集系统由于技术的限制,使用的都是低速的 A/D 转换器,由于芯片和总线结构本身的限制,采集速度一直难以提高。嵌入式系统具有体积小、功耗低、处理速度快、软硬件可裁剪、可扩展性强等优点。为视频图像的采集与处理提供了基础。 由于对实时性能的苛求, 图像信息处理系统大多采用监控软件的方式来保证应用软件的正常运行。要求并行处理系统能适应不同算法的并行处理结构,
3、因此系统控制软件必须具有任务调度、资源分配、进程管理等功能以与支持系统计算能力的扩展。2.设计的作用目的 数字图像采集与处理系统包括图像的采集、处理、存储、传输和显示几个方面。系统以 ARM 处理器为基础,并根据需求扩展必要的外围设备,利用嵌入式 Linux操作系统进行实时多任务管理,通过应用程序对摄像头进行操作并实现图像处理功能。系统资源的分配是静态的, 数据流是固定的, 没有资源管理、任务调度和并发处理的功能。但是, 需要处理的数据量变得越来越大, 而处理的时间却要求越来越短, 采用多DSP 并行的方式就不可避免。嵌入式操作系统具有实时多任务微核, 有着强大的任务管理和资源管理能力。3.设
4、计方案以多片ADSP21060 构成的图像处理系统为硬件平台, 借助Vir tuoso 4. 2 提供的微核构造了一个嵌入式系统软件, 介绍了系统中任务调度、资源管理、并发处理、中断响应、数据通信等实现方式。4.硬件设计4.1 Virtuoso 4. 2 的特点介绍1) 提供了专为DSP 优化的可扩展专用核。该专用核采用独特的分层方式和模块化的设计, 对强实时的多任务处理和高速中断提供了有力的支持。 2) 采用了多芯分布式应用的先进VSP 编程模式。Virtuoso负责全部通讯工作, 开发者可以很透明地将数据对象和任务从一个处理器移到另一个处理器。处理器拓扑结构的改变并不影响应用程序的确定行为
5、, 这种独特的设计使对多处理器系统的编程就象对单处理器一样简单。系统还提供了硬件抽象层, 允许开发者对于算法进行口对口连接, 为可移植性提供了良好保障, 开发者可轻松地将系统升级到更高端的DSP 系统。 3) 具有集成开发环境可以简化并加速应用程序的开发。4.2 实时图像处理系统的嵌入式系统软件的实现 虽然Virtuoso 4. 2 提供了多任务调度方法和用于并发性同步和互斥的系统核对象, 但是嵌入式系统软件中任务划分和并发机制、资源的有效管理、中断处理以与数据通信都需要研究和实现。1) 任务的划分和并发机制嵌入式微核为多任务创建运行环境, 担负着任务管理、任务控制、任务间的通信、任务的同步与
6、互斥等功能, 而嵌入式系统软件是系统功能实现的关键。如何基于嵌入式微核, 更好地将系统应用划分成一个个的并行是系统协调工作、嵌入式微核充分发挥作用、简化设计复杂性的基础。划分任务的好坏直接影响到了系统性能的好坏和执行效率的高低。因此, 任务的划分和并发机制是系统设计的重点。决定系统中任务划分和并行性的最主要的因素是系统中所实现功能间的异步关系。这就需要从数据流的分析入手, 对系统的功能进行划分, 根据数据流图中数据的变换, 分别确定并行和顺序执行的变换, 从而构造不同的任务。通过对图像处理系统的分析, 可以从系统的部功能上把它分为消息处理、系统监控、系统自检和图像处理等任务。在这里图像处理任务
7、是系统的主要任务而且是一个周期性任务。系统监控、系统自检用于处理系统部事件, 根据系统的命令来执行, 属于异步任务。而消息处理完成的是用户接口控制, 必须拥有高的优先级使接口输入和响应时间容易控制。图像处理又可以根据不同的算法逻辑分成不同的图像处理子任务, 分配给不同的优先级。从系统的I/ O 功能上分为控制信息I/ O 和图像数据I/ O。考虑到系统的执行效率和各个处理器的利用率, 可以通过Virtuoso 的集成开发环境对各处理器的任务进行负载分析, 使处理器的利用达到均衡。 对于图像处理子任务, 在并行方式上属任务级的, 这样就存在2 种基本的并行结构: 流水线结构和并发结构, 也可以2
8、 种结构混合使用。对于并发结构, 子任务的并发处理可以通过多个不同的处理器DSP 运行同一算法完成图像不同区域的操作, 也可以把算法设计成并行算法在不同处理器结点上进行运行。为了防止其他任务干扰图像处理算法的并行运行, 可以通过图像数据的互斥来保证, 所有处理器上的任务完成以后, 向系统发出完成消息, 通知系统可以对图像进行其他操作, 从而达到了多处理器间任务的同步。而对于流水线结构, 不同的DSP 承担不同的任务, 任务可以是不同的算法, 也可以是同一算法的不同阶段。由于图像数据I/ O 任务与图像处理任务在操作上有时间的先后顺序, 因此利用这个特点可以通过流水线结构把任务的执行时间重叠起来
9、。2)数据通信和中断处理 图像信息处理系统中数据通信主要包括: 图像数据传输、消息传输、用户接口交互信息等。图像数据量大, 在系统中传递频繁, 因此要对图像数据传输进行有效管理。针对设计的图像信息处理硬件系统中DSP 采用的是ADSP21060, 按照该芯片的特点, 决定系统的图像数据利用ADSP21060 的LINKPORT, 通过点对点的高速DMA 方式实现传输, 而且不同的图像处理算法需要处理的图像区域不同,根据需求对图像进行区域传输减小了图像传输的数据量。尽管ADSP21060 的LINKPORT 的数据传输率高, 但由于图像信息处理系统中, 图像数据通信频繁, 不可避免地要影响系统的
10、效率。因此, 通过图像处理任务在各处理器上有效分配来减少图像传输的可能, 同时还要把图像传输作为单独的任务同其他任务并行起来。用户接口交互信息由专门的消息处理任务完成。消息传输包括系统消息的传递和透明的进程之间同步状态信息的传递。处理在中断服务中完成。中断处理部分还包含对其他硬件的中断服务。因此必须对其进行分级管理, 才能满足不同实时性要求。硬件请求、系统消息、进程的状态信息都拥有自己的优先级来表示它的紧迫度。中断服务中对硬件中断和消息传递进行鉴别, 对不同优先级的请求采用不同的响应策略。3) 资源管理和系统监控 结合DSP 的特点资源管理使用静态分配和动态管理相结合的方法。系统的地址空间是通
11、过静态分配来实现的, 系统控制软件代码段、应用程序代码段、公共数据段、应用程序数据段、堆栈等都是事先通过连接描述文件分配好的, 在使用时可以通过存管理API 接口在堆栈区进行存储操作。对于各个任务的共享资源, 例如: 共享总线、LINKPORT 口、存储器等硬件资源的占用, 则是根据各个任务的需要, 进行动态分配、使用和释放的。为了确保程序运行在一个工作正常的硬件平台和可靠的软件系统上, 还为系统设计了状态监视功能, 它包括系统自检和系统的运行状态。其实现方法就是对于不同的硬件和任务定义工作状态字, 系统中存在独立的系统监控进程, 有较低的优先级, 通过定时调度使其在不影响主要任务的情况下得到
12、运行, 从而能够监视系统的工作状态并与时报告。4.3主处理器模块根据上述的思想和方法构造了基于Virtuoso 微核的嵌入式系统软件, 并在多片ADSP21060 组成的硬件系统上进行实验, 以研究该系统软件的功能和效果。4.3.1.单DSP 上进行的实验 将基于多尺度对比度图像融合方法与性能评价的算法( 以下简称为校正算法) 作为一个任务在系统中实现, 系统中还存在其他任务: 消息处理、图像数据输入、结果图像输出和IDLE 任务。系统消息处理拥有最高的优先级, 以保证消息的实时响应;图像数据I/ O 和校正算法具有略低的优先级, IDLE 任务优先级最低。DSP 负载情况见图1。其中, 横轴
13、代表时间( ms) ; 纵轴代表DSP 负载的百分比。各任务运行时间见表1, 可以看出Virtuoso 微核开销很小, 但是校正算法耗费了大量的处理器时间。表1 图像处理系统各子任务运行时间4.3.2.用2 片DSP 进行调试为了提高效率决定对校正算法进行并行处理, 使用2 片DSP, 对图像进行分块, 并行的进行校正。并上方曲线代表处理器Node1 上的负载情况, 下方是处理器Node2 的负载情况, 横轴代表时间( ms) ; 纵轴代表DSP 负载的百分比。处理器Node1 上运行系统消息处理、图像I/ O 和校正算法; 处理器Node2 上只运行校正算法。可以看出, 2 片DSP的负载不
14、均衡。处理器Node2 可以再增加任务, 因此在其上加入跟踪算法 5 。得到所示的均衡负载情况。但是通过任务运行时间( 见表2) , 看出由于校正任务和跟踪任务执行有时间上的先后, 所以系统的总时间仍旧较长。 表2 在不同DSP 片数各子任务的运行时间ms5软件设计5.1系统的结构框架系统以TM320DM642为核心,由视频采集模块、存储模块、视频输出模块、报警模块、J T A G 模块、电源模块等组成,系统的硬件结构图如图4 所示。视频采集模块主要完成实时视频数据采集,存储模块包括SDRAM和FLASH两种存储体,其中,SDRAM主要用来储存视频数据,FLASH存储系统的程序固化程序和系统的
15、相关配数据,视频输出模块将处理结果实时显示,报警模块实现实时报警显示功能。图1 系统结构图 TM320DM642 图像处理模块DM642是系统的核心,它采用 (Veloci TI)体系结构,在600MHz时钟频率下每个指令周期可并行8条32位指令,器,8 个独立并行计算功能单元。采用两级缓存结构,6 4位的EDMA控制器可以在没有CPU参与的情况下,完成映射存储空间中的数据搬移,极提高了系统的并行性能。大容量的二级缓存和EDMA通道是DM642的高性能体现之一,合理的管理和使用,将大幅度提高程序运行的性能5。D M 6 4 2 还具备了丰富的外围接口,主要包括3 个可配置的视频端口(VP0、V
16、P1、VP2),能提供和通用的视频编、解码器等数据流的无缝接口,支持CCIR601,ITU-BT.656、BT.1120、SMPTE125M、SMPTE260MSMPTE274M和S M P T E 2 9 6 M 等多个视频标准;6 4 b i t 的外部存接口(EMIF)可以寻址字节的外部存储空间,可以无缝连接SDRAM、SRAM等存储器,方便外部存储器的扩展;I2C总线端口使DM642容易控制外围器件;16位通用输入输出端口(GPIO)等。以DM642为核心的图像处理模块包括系统的外部时钟电路、JTAG。该模块的主要功能为:CPU将EDMA搬运过来数字视频信息先进行中值滤波、图像分割等预
17、处理,然后经过道路检测、车标识别、跟踪、测距等算法后,将处理结果送实时输出模块给用户提供直观的视频信息,同时目标值也通过G P I O送往报警模块,实现报警和显示功能。5.1.1 视频图像采集模块视频采集模块由CCD摄像头和视频解码芯片TVP5150构成,实现视频数据的采集A/D转换等相关功能。由于DM642的3 个视频口均可以分为A 和B 两个通道,每个通道均可被配置为视频输入或输出口,DM642最多可支持6 路视频输入或输出。为方便系统的扩展和升级, 本系统设计了4 路视频信号采集通道,DM642的视频口的具体配置为:Vport0、Vport1配置为视频输入,Vport2配置为视频输出,其
18、中Vport0、Vport1的A、B通道均被配置为视频输入模式。该模块采用的视频解码芯片TVP5150,具有高性能低能耗、集成度高、适应性强等特点。可自动识别N T S C /PAL/SECAM等制式的模拟视频信号,按照YCbCr4:2:2格式转化成数字信号,以8位嵌同步信号的ITU-R BT.656格式输出。时钟频率为14.318MHz。其硬件连接如图2所示。图2 TVP5150 与DM642 的连接为实现四路视频采集,DM642的VP0、VP1的A、B通道分别连接一片TVP5150。在文中列举的这一路视频通道,TVP5150的视频输出口YOUT07与 DM642VPORT口的VPOD29相
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式 操作系统 实时 图像 处理 系统 中的 应用
限制150内