2.2 系统软件工作流程
系统程序划分为主机程序和点播终端两大部分。主机程序主要实现3个功能:管理硬盘,提取簇链;播放节目,点播控制;响应请求,串口中断。管理硬盘的方式主要是通过自定义的DMA控制模块对硬盘的控制寄存器进行操作,驱动硬盘后访问FAT32文件系统下的相应扇区,追朔簇链,将簇链提取出来写入到Flash ROM中,为播放做准备。点播端程序则主要负责生成指令包。本系统软件工作流程如图5所示。
本系统要处理多路视频数据,并且视频信号数据量大,在点播过程中系统必须集中大部分处理器时间来处理各路视频信号,而视频文件的文件名和簇链结构必须通过相对低速的PIO操作来获得。为了解决簇链读取速度的瓶颈,本文设计了适合本系统应用的数据结构来优化对数据的管理,加快读取速度。定义的数据结构有:
客户端的状态和播放进度也由专门的结构体来记录和管理。定义的数据结构有:
3 结束语
SOPC=NiosⅡ软核+FPGA这个创新的概念为嵌入式设计带来的极大的便利和灵活性。利用强大的SOPC开发平台和丰富的IP资源,可大量缩短系统设计周期,而且系统的改进也变得十分方便。本文提出的通过把用户自定义的硬盘读写模块整合到SOPC平台上,与NiosⅡ无缝接合,成功实现了多路视频数据的并发点播。