当前位置:首页 > 消费电子 > 消费电子
[导读]本文针对特定的用户环境,提出采用Altera的SOPC(片上可编程系统)解决方案,利用NiosⅡ软核处理器和FPGA(现场可编程门阵列)配置灵活、IP资源丰富、硬件设计和软件编程方便的特点,通过扩展IDE(集成开发环境)接口,以硬盘作为存储媒介,实现多路VOD系统的设计方案。该系统体积小、成本相对低廉,体现了嵌入式电子产品的优势。与传统的VOD系统相比,使用范围更具针对性,装配更灵活,升级扩展更方便,具有很广阔的前景。

0 引言

VOD(视频点播)技术为人们提供了一种交互式的信息获取方式,并随着技术的完善不断扩展着其应用范围和影响力。传统的VOD系统主要是以服务器作为视频的信息源,通过局域网进行点播,适合服务于住宅小区或公营机构。而对于缺乏网络支持、移动性较强的环境,如公共交通工具,传统的VOD系统显然难以实现。

本文针对特定的用户环境,提出采用Altera的SOPC(片上可编程系统)解决方案,利用NiosⅡ软核处理器和FPGA(现场可编程门阵列)配置灵活、IP资源丰富、硬件设计和软件编程方便的特点,通过扩展IDE(集成开发环境)接口,以硬盘作为存储媒介,实现多路VOD系统的设计方案。该系统体积小、成本相对低廉,体现了嵌入式电子产品的优势。与传统的VOD系统相比,使用范围更具针对性,装配更灵活,升级扩展更方便,具有很广阔的前景。

1 系统功能划分

该系统从功能上可划分为系统控制核心、多路视频数据读取单元、视频解码模块和用户点播终端4个部分。

1.1 系统控制核心

系统以NiosⅡ软核为控制核心,主要负责硬盘初始化、提取视频节目簇链、生成节目列表、人机交互控制等工作。上电后,NiosⅡ控制器先初始化硬盘的传输模式和读写状态,然后读取主引导记录,寻址到基本分区的操作系统引导记录区,计算保留扇区和FAT(文件分配表)大小,分别得到FAT和根目录的入口。对目录树上的文件进行分析后,提取出视频文件的文件名、文件首簇,根据首簇指针再次查找FAT,追溯出文件的簇链,最后烧写到Flash存储器中。完成以上工作后,初始化中断,对用户端进行轮询,等待用户请求,分析用户指令包,作出相应响应。

1.2 多路视频数据读取

为实现海量视频数据的存取,该系统需外扩展硬盘作为存储介质。通过用户自定义的硬盘DMA(直接存储器存取)控制模块实现对硬盘数据的读写,功能包括为上层程序提供控制硬盘和多路数据输出的接口,产生硬盘DMA操作状态机信号。数据从硬盘读出后,以乒乓操作的方式交替存储在两片SRAM中,内存中的数据按照对应的输出端口并行排列。同时,根据用户终端提出的点播需求,数据往点播端口扇出。

1.3 视频解码

本系统采用外扩展的视频解码板作为硬解码模块。解码芯片是LSI LOGIC公司CL680视频CDMPEG 1音频/视频解码器。该芯片以CL480/484架构为基础,用于MPEG-1音频/视频解码,整合数字NTSC/PAL编码功能和加强KTV功能。

1.4 用户点播终端

为解决多用户终端远距离通信的问题,系统采用RS-485收发器作为主机与用户点播终端的连接桥梁。RS-485收发器采用平衡发送和差分接收,具有抑制共模干扰的能力,加上接收器的高灵敏度,能检测低达200 mV的电压,极大地提高信号传播的可靠性。

主机与终端间的通信方式采用类似令牌总线的通信协议。主机不断发出查询包,收到查询包的客户端被赋予发送控制命令的权限,客户端可选择发送命令或直接丢弃查询包,这样就避免了多个客户端同时向总线发送数据、导致通信失败的情况。

系统采用MB90092视频字符叠加模块,在用户终端屏幕中叠加功能菜单,建立友好的用户操作界面,用户可通过控制面板进行点播操作。

2 系统设计

2.1 系统硬件结构

系统硬件结构如图1所示。

为实现对硬盘的控制及两片内存的乒乓控制,系统使用了定制的DMA控制模块,通过SOPC Builder软件,以用户逻辑形式挂到Avalon总线上。

2.1.1 DMA控制模块

DMA控制模块框图如图2所示。

DMA控制模块主要功能是控制硬盘进行多路视频数据的并发传输。为保证视频质量,需考虑到数据读写速度的提高。本系统采用按照ATA/ATAPI-6协议编写的DMA模块,控制置硬盘以Ultra-DMA方式传输数据,可实现最大传输速率为66 Mbit/s,满足多路MPEG-1视频码流的并发传输。除了解决传输速率问题,该系统涉及到同时处理多路数据的读写,因此引入相应的功能子模块,以乒乓操作的方式控制两片SRAM的读写,并对多路数据的存储分区进行地址管理。

模块的主要子模块有DMA控制器、DMA状态机、switch和SRAM控制器。

DMA控制器作为Avalon总线与硬盘的接口,主要功能是接收上层程序的控制命令,再对硬盘的控制寄存器进行读写,在NiosⅡ程序的控制下将硬盘的传送模式设置为Ultra-DMA模式进行数据传输。

DMA状态机模块是根据T13小组发布ATA(ATA/ATAPI-6)文档为设计标准,用Verilog HDL(硬件描述语言)实现的有限状态机。在控制终端的设置下传输方式转为Ultra-DMA模式后,硬盘向控制器发出DMA请求,此时DMA状态机启动。主机端向硬盘发送响应信号,握于成功,解除DMA STOP状态,同时使IDE_HDMARDY有效表示主控端已准备好。接着,数据流从硬盘流出,并发出一双沿锁存信号,SRAM控制器在该信号控制下将数据锁存入内存。直到DMA请求结束,STOP信号生效,DMA传输结束。整个过程遵守ATAPI-6协议,使用Verilog HDL描述出硬盘DMA传输过程的时序。

Switch和SRAM控制器模块主要负责在DMA传输过程中在两片SRAM间调度数据,从而实现数据的乒乓存取。Switch模块用于完成两块RAM之间的切换及数据的分区存储。它工作于两个状态:以Flag为标志位,Flag为0时做写RAMl的操作;Flag为1时做写RAM2的操作。在DMA方式下,一次DMA读取硬盘一个扇区刚好写满一片RAM,Switch模块挂起数据写入,等待中断。当另一片RAM中的数据被全部读出后中断发生,此时Switch模块交换两片内存的读写端口地址。

2.1.2 RAM分区读写

由于系统要提供多路视频的播放,因此,在进行DMA传输的过程中需实现各路视频数据的分区读写。在写内存时,采用双时钟控制机制。若要实现32路VOD系统,将一片512 k的RAM分为32个单元,每个单元长度为16 k,定义RAM的地址为:wraddress2=wraddressl+wraddress

wraddressl为每个内存分区的基地址,它的取值分别是0 k,16 k,32 k,48 k,…,496 k,另外是一个偏移地址wraddress。内存分区方式如图3所示。

定义时钟C0为写内存分区时钟,C1为写内存偏移时钟,C0的频率为写C1的32倍。当偏移地址为某一值时,权值地址的取值会从0 k~496 k遍历一次,即每一内存单元读写周期,写入每个分区的一个单元。

同样,对内存中的数据也要分区读出并送往相应端口。该模块使用一种内存地址的计数方法:将地址线的长度设置为10位,再将低5位的地址和高5位的地址互换,目的是从高5位开始计数,计数满了进位到低5位。高5位表示分区地址,低5位为分区的偏移地址,地址从第6位开始累加,刚好遍历32个分区,完成高5位的依次累加后,进位到低5位的分区偏移地址,表示开始读下一轮分区的第2个内存单元。如此类推。根据计算出的地址可实现对各分区的数据依次读取。地址算法示意图如图4所示。

2.1.3 移位输出模块

该模块主要实现的功能是:在分路时钟的控制下,将从内存中读出的多路数据移位输出。该模块定义了一组长度为16位的移位寄存器。数据I/O读写的时间和速度由video_clock确定,video_clock的频率是12.5 MHz,负责控制SRAM_R控制器,移位输出模块和视频解码板的同步。模块中还设置了一个累加计数器div3,工作频率与video_clock相同。当SRAM_R控制器依次将各路视频文件读人一个寄存器后,每一个时钟下降沿到来时移出1位,直至全部移出。若加大时钟频率和缓冲内存空间,可以增加移位寄存器的数目,从而增加视频输出端口的数量,实现系统点播路数的增加。

2.2 系统软件工作流程

系统程序划分为主机程序和点播终端两大部分。主机程序主要实现3个功能:管理硬盘,提取簇链;播放节目,点播控制;响应请求,串口中断。管理硬盘的方式主要是通过自定义的DMA控制模块对硬盘的控制寄存器进行操作,驱动硬盘后访问FAT32文件系统下的相应扇区,追朔簇链,将簇链提取出来写入到Flash ROM中,为播放做准备。点播端程序则主要负责生成指令包。本系统软件工作流程如图5所示。

本系统要处理多路视频数据,并且视频信号数据量大,在点播过程中系统必须集中大部分处理器时间来处理各路视频信号,而视频文件的文件名和簇链结构必须通过相对低速的PIO操作来获得。为了解决簇链读取速度的瓶颈,本文设计了适合本系统应用的数据结构来优化对数据的管理,加快读取速度。定义的数据结构有:

客户端的状态和播放进度也由专门的结构体来记录和管理。定义的数据结构有:

3 结束语

SOPC=NiosⅡ软核+FPGA这个创新的概念为嵌入式设计带来的极大的便利和灵活性。利用强大的SOPC开发平台和丰富的IP资源,可大量缩短系统设计周期,而且系统的改进也变得十分方便。本文提出的通过把用户自定义的硬盘读写模块整合到SOPC平台上,与NiosⅡ无缝接合,成功实现了多路视频数据的并发点播。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

经过几十年发展,嵌入式技术已经用在了我们生活中的方方面面,但是嵌入式始终都带有小众,专业性强的属性,让很多非嵌入式领域的同学望而却步。近十几年的发展,物联网覆盖了越来越多领域,包括了家居,商业,工业,农业等领域,不仅吸引...

关键字: 嵌入式 物联网 技术

随着IT技术飞速发展,互联网已经进入了“物联网”时代。物联网中需要的大量设备不在依赖人与人之间的交互产生联系,更多通过协议、通信、程序设计等方式连接到一处。即 “物联网”的目的则是让所有的物品都具有计算机的智能但并不以通...

关键字: 嵌入式 物联网 计算机

三星宣布,其最新的LPDDR5X内存已通过验证,可在骁龙(Snapdragon)移动平台上使用,该内存速度可达到当前业界最快的8.5 千兆比特每秒(Gbps)。通过优化应用处理器和存储器之间的高速信号环境,三星超过了自身...

关键字: GBPS 三星 内存 LPDDR5

(全球TMT2022年10月18日讯)三星宣布,其最新的LPDDR5X内存已通过验证,可在骁龙(Snapdragon)移动平台上使用,该内存速度可达到当前业界最快的8.5 千兆比特每秒(Gbps)。通过优化应用处理器和...

关键字: GBPS 三星 亚马逊 内存

最近看到APP上,给我推送了很多类似的回答,借此机会,也想着重新审视一下自己的学习历程,以及结合自身和大牛,分享一些学习经验,希望对大家有所启发和帮助。

关键字: APP 嵌入式 C语言

在三星 Tech Day 2022 活动上,三星电子总裁兼内存业务负责人 Jung-bae Lee 表示,三星 40 多年来共生产了 1 万亿 GB 内存,仅在过去三年中就产生了大约一半。

关键字: 三星 内存 储存芯片

万物智联时代,嵌入式技术及其应用的形态将更加丰富和多元,同时也将日益呈现深度物理融合、混合架构共存、群体智能协同、网络安全攸关等诸多新的计算特性。显然,经典的嵌入式系统体系结构、软硬件技术和开发方法都已很难应对新趋势下的...

关键字: 嵌入式 物联网 计算机

物联网是新一代信息技术的重要组成部分,是互联网与嵌入式系统发展到高级阶段的融合。通用计算机经历了从智慧平台到互联网的独立发展道路;嵌入式系统则经历了智慧物联到局域智慧物联的独立发展道路。

关键字: 嵌入式 物联网 计算机

今天,小编将在这篇文章中为大家带来工控主板的有关报道,通过阅读这篇文章,大家可以对工控主板具备清晰的认识,主要内容如下。

关键字: 工控主板 嵌入式 主板

随着工业4.0、医疗电子、智能家居、物流管理和电力控制等快速的发展和推进,嵌入式系统利用自身的技术特点,逐渐成为众多行业的标配产品。嵌入式系统具有可控制、可编程、成本低等,它在未来的工业和生活中有着广阔的应用前景。在现在...

关键字: 嵌入式 物联网 人工智能

消费电子

96033 篇文章

关注

发布文章

编辑精选

技术子站

关闭