基于μCOS-II的视频压缩系统的设计

基于μC Π
OS 2II 的视频压缩系统的设计靳玉杰,许昌如,胡昌桂
(武汉理工大学,湖北省武汉市430063)
【摘 要】 μC ΠOS 2II 是一种免费且源代码公开的实时嵌入式操作系统,文中介绍了在视频压缩系统中如何使用μC ΠOS 2II 进行系统开发,并针对移植到T MS320C5402所遇到问题的解决方法进行了介绍。所设计的视频压缩系统直接连接在摄像头的输出端,先将模拟视频图像信号进行数字化,并利用数字信号处理器(DSP )进行图像压缩,再将压缩后的图像数据利用RS 2485总线传送到计算机,构成数字视频监控系统。
关键词:μC ΠOS 2II ,视频压缩,数字信号处理器,实时操作系统
中图分类号:T N941
收稿日期:2003206225
0 引 言
随着多媒体技术的发展,视频监控系统得到越来越多的应用,但目前常用的监控系统是将摄像头输出的模拟信号直接送往录像机,这样需要大量的同轴电缆。我们设计的视频压缩系统直接连接在摄像头的输出端,先将模拟视频图像信号进行数字化,并利用数字信号处理器(DSP )进行图像压缩,再将压缩后的图像数据利用RS 2485总线传送到计算机,构成数字视频监控系统。
T MS320C5402是TI 公司生产的新一代定点DSP 芯片,时钟频率为100MH z ,具有功耗低、运行速度快等优点,在数字信号处理中得到广泛应用。T MS320C5402(以下简称C5402)采用增强型哈佛结构的总线系统,片内有8条数据或地址总线,指令按流水线方式执行,能在单周期内完成读2个操作数和写1个操作数。我们设计的视频压缩系统就采用了C5402来进行视频信号的压缩。
微服务开发1 μC ΠOS 2II 嵌入式操作系统
μC ΠOS 2II 是由J.J.Labrosse 编写的实时嵌入式内
核,是一个占先式的内核,免费并且源代码公开,经过
多年的实际应用,充分显示出其正确性。μC ΠOS 2II 把任务分为各不相同的优先级,已经准备就绪的高优先级的任务可以剥夺正在运行的低优先级任务对CPU
的使用权。由于各个任务的优先级不同,所以它不支
持时间片轮转法。μC ΠOS 2II 可以处理多达64个任务,
但系统保留8个,应用程序最多可以有56个任务。μC ΠOS 2II 通过使用信号量提供了各个任务访问共享资
源的方法,一个任务只有得到信号量才能访问共享资
源。把μC ΠOS 2II 应用在视频压缩系统中,使得系统比通常的前后台系统的工作更加稳定,同时也使系统的实时性得到保证。
2 μC ΠOS 2II 针对C5402的移植
μC ΠOS 2II 的大多数代码是用移植性很强的C 语言编写的,只有与处理器硬件相关的部分代码是用汇编语言编写,所以它的移植性很强,改写少量代码就能移植到大多数的8位、16位、32位微处理器和DSP 上运行。
移植μ
C ΠOS 2II 到C5402主要包括以下几个内容:1)OS -CPU.H 文件
在OS -CPU.H 中定义了与处理器相关的常量、宏和数据类型。
C 语言中的short 、int 和long 等数据类型,它们的位数与编译器相关,所以不可移植,μC ΠOS 2II 也没有采
用。μC ΠOS 2II 使用的是可以移植的无符号和有符号数。C5402的堆栈宽度是16位的,需要根据C5402的堆栈宽度定义任务堆栈数据类型OS -STK 为16位。
μC ΠOS 2II 在进入代码临界区时必须关闭中断,退出后再打开中断。因此,在OS -CPU.H 中定义了宏OS -E NTER -CRITI A L ()和OS -EXIT -CRITI A L (),用来关闭和打开中断。
μC ΠOS 2II 需要用户用OS -STK -G ROWTH 指定在压栈时堆栈的增长方向,C5402的增长方向是递减的,所以定义OS -STK -G ROWTH 为1。
线路保护系统进行任务切换是通过OSSched ()调用OS -T ASK -SW ()实现的。由于μC ΠOS 2II 在中断返回时总要进行任务的切换,因此,只需要利用OS -T ASK -SW ()函数进入中断,在C5402中利用软中断指令实现这个
94・第30卷第1期2004年1月                 电子工程师 E LECTRONIC E NGI NEER                 V ol.30N o.1 Jan.2004
函数即可。
2)OS -CPU-C.C 文件
在这个文件中,要求用户编写6个C 函数:OST a 2skStInit ()、OST askCreateH ook ()、OST askDelH ook ()、OS 2T askS wH ook ()、OST askStateH ook ()、OST imeT ickH ook ()。只有OST askStInit ()是必须的,其他函数是为用户
扩展功能的方便而设,可以不使用。
堆栈初始化函数OST askStInit ()用于系统创建任
务时建立并初始化任务的堆栈。μC ΠOS 2II 中,所有处于就绪态的任务的堆栈就像刚刚发生过一次中断一
样,在堆栈中保存着所有需要的寄存器。OST askStInit ()函数返回新的堆栈栈顶并由系统将它保存在任务控制块OS -TC B 中,这样,在任务切换时,可以迅速到新任务的堆栈栈顶,并把任务的寄存器从堆栈恢复。
3)OS -CPU-A.AS M 文件在这个文件中,用户要编写4个汇编语言函数:OSStartHighRdy ()、OSCtxS w ()、OSIntCtxS w ()、OST ick 2ISR ()。
OSStartHighRdy ()的功能是使优先级最高的就绪任务运行,它只在多任务启动时由OSStart ()调用。它的实现过程是:首先从OS -TC B 得到任务堆栈指针,然后进行寄存器的恢复,最后执行从中断返回指令,开始执行最高优先级的就绪任务。
任务切换函数OSCtxS w ()由软中断向量地址指向它的起始处。如果任务调用了某个函数,此函数的执行结果使得更高优先级的任务处于就绪状态,就会引起任务的调度,在函数的最后会调用OSSched ()。OS 2Sched ()将最高优先级的就绪任务的地址装载到OS 2TC BHighRdy 中,再通过软中断调用OSCtxS w ()。OS 2CtxS w ()首先把当前任务的寄存器保存,将当前任务的堆栈指针保存到任务的OS -TC B 中,然后得到需要恢复的任务的堆栈指针,并将所有寄存器内容恢复,最后执行中断返回指令,执行新的任务。
中断任务切换函数OSIntCtxS w ()执行中断中所进行的任务切换。由于它是在中断处理程序中执行的,在进入中断处理时已经把寄存器压栈了,所以不用再保存寄存器。同时,由于在中断中由OSIntExit ()调用OSIntCtxS w (),因此堆栈中比OSCtxS w ()切换多了2次压栈操作。为此,必须做相应处理,进行堆栈指针的调整,以使所有被挂起的任务的堆栈一样。氢气压缩机 高压
OST ickISR ()是系统时钟中断服务程序,用来实现时间的延迟和期满功能。它的执行流程是:保存寄存器→调用OSIntEnter ()或直接将OSIntNesting 加1→调用OST imeT ick ()→调用OSIntExit ()→恢复寄存器→中断返回。3 系统软硬件设计
电动开瓶器
本压缩卡的主要功能是对监控现场的全电视信号
进行实时采样,然后利用J PEG 算法对图像数据进行编码压缩,通过RS 2485总线将压缩的图像数据传送给主机。系统结构如图1所示
灯管支架
图1 视频压缩系统结构
根据系统的性能指标和技术要求,可以对系统的
任务分为图像采集、图像压缩、图像传输、主机接口等。各个任务的状态有等待、就绪、运行及中断4种。状态的任务转换关系如图2所示
图2 任务转换图
处于就绪态的任务已经准备好运行,但由于其优
先级比正在运行的优先级低,只能等待。处于运行态的任务掌握了CPU 的控制权,其优先级比所有处
于就绪态的任务的优先级高。当发生中断时,进入中断处理程序。在中断返回时,如果由于中断等原因使得一个优先级比当前任务更高的任务进入就绪态,则高优先级任务进入运行态而被中断的任务转入就绪态,否则返回被中断的那个任务。如果任务需要等待一段时间或某一事件的发生,其丧失对CPU 的使用权而转为等待态,等待的时间可以设定,若等待时间到或在等待时间内收到事件发生的消息,任务转入就绪态。
a )任务的调度。μC ΠOS 2II 的任务调度是按照优先
级进行的,要求各个任务的优先级不能相同。μC ΠOS 2II 保留了优先级为0、1、2、3、OS -LOWEST -PRI O 23、OS -LOWEST -PRI O 22、OS -LOWEST -PRI O 21以及OS -LOW 2EST -PRI O 等8个任务。优先级号越低,任务的优先级
越高。系统上电或复位后,DSP 在接收到主机的命令
之前按照缺省模式进行图像采集和图像编码,在接收到主机命令后按照命令要求进行图像的采集和编码,因此,应把主机接口的优先级定为最高。同时,由于图像压缩任务的执行时间较长,其优先级也应该比较高。
摄像头识别
05・・图像处理与显示技术・            电子工程师                  2004年1月
b )任务间的通信。在本系统中,各个任务之间都
有数据需要交换,我们采用了消息机制进行任务间的通信。图像采集任务要向图像压缩任务发送消息,图像压缩任务要向图像传输任务发送消息,同时,主机接口任务要向其他各个任务发送消息,控制整个系统的工作。
c )整个系统的工作情况。系统启动时,建立所有的任务并进行初始化,各任务都处于就绪态。主机接口任务由于优先级最高,处于运行态,接收主机发过来的数据采集参数,若主机没有参数传送,其转为等待态,其余各个任务也因为没有得到消息也都转为等待态。不论什么时候,若主机给采集系统发消息而使采集参数改变,都可以使各个任务转为就绪态而重新开始。
当场开始信号到来时,在场开始信号中断中给图像采集任务发送消息而使其进入运行态,开始图像的采集。图像采集完毕后,图像采集任务向图像压缩任务发送消息并传送数据,自身转入等待态。
图像压缩任务执行图像压缩的J PEG 算法,图像压缩任务完成后,向图像传输任务发送消息并传送数
据,自身进入等待态。
图像传输任务将压缩后的数据通过RS 2485接口上传。上传完成后,所有任务进入就绪态,开始下一周期的运行。
μC ΠOS 2II 总是建立一个空闲任务,当没有其他任务进入就绪态或运行态时运行。
4 结束语
通过在C5402上使用μC ΠOS 2II 实时内核,提高了视频压缩系统的实时性,同时使系统的可靠性提高。但使用实时内核也有一定的缺点,会增加系统的存储空间和CPU 时间的消耗,但这些问题可以通过合理选用芯片和对内核进行适当的裁减得到弥补。
参 考 文 献
[1]Labrosse J J.μC ΠOS 2II :源码公开的实时嵌入式操作系统.邵
贝贝,译.北京:中国电力出版社,2001
[2]Labrosse J J.嵌入式系统构件.袁勤勇,等译.北京:机械
工业出版社,2002
Design of Video Frequency Collection Compressing System
B ased on μ
C ΠOS 2II
Jin Yujie ,Xu Changru ,H u Changgui
(Wuhan University of T echnology ,Wuhan 430063,China )
【Abstract 】 μC ΠOS 2II is a free real time operating system with open s ource code.The article introduces how
to port μC ΠOS -II to T MS320C5402and how to us it to develop video frequency com pressing system.It presents the s olutions and the operation process.
K eyw ords :μC ΠOS -II ,video frequency com pression ,DSP ,RT OS (上接第16页)
A V erification System for P ackage Assembly Function of IPOA
G ao Jun 1
,Liu Xiao
2
(1.ZTE C orporation ,Nanjing R&D Center ,Nanjing 210012,China ;2.Nanjing University of P osts and T elecommunications ,Nanjing 210013,China )
【Abstract 】 A RT L (register trans fer level )functional verification system for package assembly function in IPOA application is illustrated in this paper.This verification system can automatically generate AT M cells as stimu 2lus and check the response of a design under verification (DUV ).This system can im prove the efficiency of verifica 2tion and save the time for simulation.On the same time ,the stimulus generated by this system im plement an ex 2haustive examination on a DUV with very high code coverage.
K eyw ords :verification system ,verification ,simulation ,IPOA (IP over AT M ),RT L (Register Trans fer Level )
15・第30卷第1期          靳玉杰,等:基于μC ΠOS 2II 的视频压缩系统的设计     ・图像处理与显示
技术・

本文发布于:2024-09-22 23:27:22,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/2/262205.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:任务   系统   进行   图像   中断   堆栈   运行   采集
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议