基于DSP/BIOS大空间网络型火灾探测系统设计

时间:2012-05-23来源:网络

系统软件设计流程如图4所示。首先对DSP/BIOS模块进行静态配置,包括设置内、外部存储器的映射空间,创建多任务线程及所需堆栈,配置TI网络开发包NDK的启动环境,分配旗语、邮箱通信机制的存储位置及大小等。其中创建的多任务线程包括系统控制任务、视频输入任务、算法处理任务、图像JPEG压缩任务、网络初始化任务、串口通信任务。在应用程序进入DSE/BIOS线程调度器之前,处理器需要完成3个模块的初始化:(1)芯片板级间的初始化,包括CSL、RAM、Cache及EDMA的设置。(2)RF5模块的初始化,包括通道模块,SCOM模块及ICC模块。一个任务可以创建多个通道,每个通道可以包含多个内核,每个内核只能包含一种标准算法。(3)视频捕获(FVID)通道的建立与启动。

d.jpg


应用程序的Main()函数在完成系统初始化任务后退出,程序控制权正式交给DSP/BIOS任务线程调度器,根据优先级和RF5中的任务切换准则调度各任务线程。为保证网络传输的实时性,应将网络初始化任务的优先级配置成高于其他任务的优先级。处于同一优先级的任务之间利用同步通信机制SCOM模块进行信息传递,同时基于RF5的SCOM通信机制内部,制定了任务调用及切换规则,这样就避免了多个任务同时访问一个队列指针的情况。
3.1 视频输入任务
系统主线程已经创建且打开了视频捕获通道,并初始化了FVID对象。该任务首先启动SCOM消息队列,从捕获通道的缓冲区获取一帧图片,然后利用SCOM队列指针将视频数据传输至算法处理任务。此时,该任务处于阻塞状态,等待算法处理任务接收完成的返回消息,系统切换至算法处理任务,直到接收到返回消息,视频输入任务才处于等待状态,等待下一个循环重新采集视频。每一个任务都不断地处于等待消息与处理数据的状态中。
3.2 算法处理任务
该任务分别创建了火焰检测通道对象FIRE_CHAN_Obj与烟雾检测通道对象SMOCK_CHAN_Obj。每一个核对像都要在被初始化以后再调用注册函数CHAN_regCell(),通过这种方式可以将每一个核对象注册到相应的任务通道中。最后,线程调用函数CHAN_open()为每个指定的通道(chanNum)传递核对像,这样通道通过调用核对像来执行检测算法。烟雾检测算法流程如图5所示。

e.jpg

1 2 3 4

关键词: 探测 系统 设计 火灾 网络型 DSP BIOS 空间 基于

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版