当前位置:首页 > 嵌入式 > 嵌入式教程
[导读]视频采集中DMA控制的流横式接口设计

摘要 研究一种基于片上可编程系统(SoPC)技术的视频数据传输方案。该方案自定制了一个四口SDRAM控制器,并将其中的两口设计成符合流模式传输规范的接口,作为一个SoPC外设挂在AValon总线上,方便重复使用。另外,采用DMA控制以流传输模式进行数据搬运,不仅可解放CPU,而且速度快、控制灵活,解决了视频处理中数据路径的优化问题。
关键词 SoPC 流模式 SDRAM控制器 帧缓冲 DMA控制


引 言
    随着计算机技术、多媒体技术以及通信技术的发展,数字视频技术得到了越来越广泛的应用。在数字视频技术的研究中,视频数据传输是一个技术关键。本文针对视频数据流数据量大、实时性要求高的特点,采用流模式传输,将视频采集数据通过DMA从存储资源紧张的片内缓存区搬运至片外SDRAM帧缓冲区,实现图像的高速传输。
    利用SoPC(System on Programmable Chip)片上可编程系统技术,将处理器、多口SDRAM控制器、DMAC、I2C接口等模块集成到一块FPGA上,实现视频图像的采集、存储、传输和显示。采用自定制组件的办法,将多口sDRAM控制器封装成符合流模式规范的一个外设挂在Avalon总线上,非常方便DMAC进行数据的搬运,并大大提高了系统的性能。


1 流模式传输规范
    流模式传输是Altera Nios II嵌入式系统中的一种高级Avalon总线传输方式。这种传输模式在流模式主外设和流模式从外设之间建立一个开放的信道,以提供连续的数据传输。这个信道使得只要存在有效数据就能进行数据的流动,主设备不需要不断地对从外设的状态寄存器进行访问。这样使得主从端口之间的数据吞吐量达到最大,同时也避免了从外设的数据上溢或下溢。流传输模式最适合DMA传输。一个只包含流控制信号和一个计数器的*基金项目:深圳市科技计划资助项目(200708)。DMA控制器就可以用来在一个从外设和一个存储器之间连续地传输数据。

                

    本设计采用流传输模式的从端口读传输和从端口写传输的方法。从端口读传输中,除了要设计接收主端口发出的clk信号、address信号、read信号、chipselect信号和readdata信号之外,从外设还需要设置dataavailable信号有效来表示它能够接收读传输。从端口读传输接口信号及其时序如图1所示,由从外设发出的dataavailable有效时启动流模式读传输,数据通过DMA的搬运,开始连续不断地由从外设流向主端口直至传输完成,传输的停止或中断也由从外设来决定。同样的道理,在写传输中,要设计接收主端口发出的clk信号、address信号、write信号等基本从端口写传输信号之外,从外设则需要设置ready-fordata信号有效来表示它能够接收写传输,图2为从端口写传输接口信号及其时序。此外,读传输和写传输中的endofpacket信号取决于用户设计。[!--empirenews.page--]

                

2 SoPC系统结构
    如图3所示,SoPC系统以32位Nios II处理器为核心,将所有的接口模块集成到一块FPGA内。其中,多口SDRAM控制器作为一个自定制外设与其他通用外设(DMA控制器、SRAM控制器、Flash接口等)一同挂在Avalon总线上,并与图像采集模块、VGA显示控制模块以及12C通信模块等一起构成SoPC视频采集系统。本设计中,片外SDRAM容量较大,作为视频数据源缓冲区以及显示缓冲区;片外SRAM速度快但资源有限,可用于视频处理缓冲区。从SDRAM(数据源)到SRAM(处理缓冲区)以及从SRAM(处理缓冲区)到SDRAM(显示缓冲区)的传输,则由DMAC采用流模式的方法来实现数据的搬运。

                      
3 流模式接口的设计
    (1)四口SDRAM控制器
    本系统采用片外SDRAM作为帧缓冲区,而对SDRAM使用的关键在于其控制接口的设计。在SoPCBuilder集成开发软件中,可直接使用系统元件库提供的单口SDRAM控制器,但是该控制器IP核无法满足采集、传输和显示同时进行的要求。因此,自定制了一个四口SDRAM控制器。如图4所示,该四口SDRAM控制器中的2个端口用于流模式的读和写,另外2个端口一个作为图像数据源输入,还有一个作为VGA显示输出。

                                 

    由于数据采集、VGA监控、流模式传输数据流速度与SDRAM控制器存取不匹配,因此,对于这四口中的任何一个口,都用FIFO来对数据进行缓冲,以协调数据的同步而不至于错位。而每个FIFO都有个水位检测器,当水位到半满时根据仲裁电路判断的优先级启用SDRAM读写命令,以100 MHz(系统时钟频率50 MHz)的频率根据用户给定的地址信号进行批量数据的存取,从而满足了四口并用的要求。该SDRAM控制器的内部结构如图5所示。

                           [!--empirenews.page--]

    (2)数据流的传输
    用DMA来搬运数据不仅速度非常快,而且整个操作不需要CPU的干预,可把CPU从繁重的数据传送中解放出来。DMA控制器将数据从源地址空间传输到目的地址空间,数据源或目的地可以是Avalon从外设(一个固定地址),也可以是存储器的一段地址范围。对DMA控制器的使用,需要Nios II处理器对源地址和目的地址进行初始化配置,同时也要预先给定传输长度以及传输模式等。本系统使用了Altera公司提供的HAL DMA设备驱动程序。该驱动程序把DMA传输抽象成两种数据通道:数据发送通道和数据接收通道,如图6所示。

                                        

    如此,便可通过Nios II用软件控制DMA以流模式进行数据传输,具体搬运的数据路径如图7所示。其中缓冲区1是采集数据的源缓冲区。缓冲区2是传输后显示缓冲区,缓冲区3是处理缓冲区。对视频的处理不是本文讨论的范围,故这里只将原图像传回。

                           

    (3)流模式接口的硬件设计
    对流模式接口的硬件设计实际上就是把上述四口SDRAM控制器封装成一个Avalon自定制组件,且这个组件的其中两端口满足流模式读写规范。根据Avalon总线流模式传输规范,该自定制外设需要设置dataavailable、readyfordata信号有效表示已经准备好流模式传输,同时接收主设备发出clk、read/write、chipse-lect等信号,并根据这些信号对上述FIFO进行数据的存取。以下给出了该接口的部分Verilog HDL代码(u9、u10为FIFO的端口信号连接情况):


    (4)数据路径的软件控制
    作为自定义的组件,除了硬件接口以外,还需要编写驱动层软件(固件)。SoPC Builder生成的外设信息都保存在system.h文件里,固件的编写主要是基于这个文件信息。

    [!--empirenews.page--]
    对数据路径的控制是通过Nios II软件配置DMA控制器来实现的。这种软硬件协同设计的办法,既兼顾了传输的速度又兼顾了数据路径的灵活性。对数据传输的设置,首先需要在SoPC Builder中设定DMA控制器的read_master和write_master,也就是数据搬运的源和目的地。具体设置如图8所示。

                     

    除此之外,还要在软件上具体设置DMA传输的源地址、目的地址、传输长度以及传输模式等。这里给出部分调用HAL DMA驱动的软件代码:


4 系统测试
    (1)流模式接口仿真
    用Quartus II自带的Signaltap II逻辑分析仪对自定制的流模式接口信号进行观察,图9为相关信号波形。经过分析,此波形与流模式的传输规范吻合。

              

    (2)系统测试
    整个SOPC系统在Altera DEl的Cyclone II FPGA上实现。采用友晶科技公司的摄像头进行图像数据源输入,用VGA显示终端进行输出观察,用DEl设计平台和该SoPC视频采集系统对某一场景进行拍摄截图。结果表明,该流模式接口工作流畅。


5 总 结
    本设计采用以Nios II为核心的SoPC系统实现了视频采集信号的流模式传输,并将其做成一个自定义外设,非常方便重复利用。另外,利用了DMAC硬件实现传输,且数据采集、存储和显示全硬件实现,速度非常快;同时,可以将SRAM作为图像处理缓冲区,将处理后的图像读回,这样就搭建了一个图像处理的硬件系统。当需要实现某种视频处理的算法时,只需要修改图像处理模块,再放进系统中就可以实现。

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

电源系统设计包括设计参数之间的许多权衡,例如尺寸、成本、效率和负载瞬态性能。为了设计功率级,必须建立各种特性,例如瞬态容限、纹波电压和负载特性。

关键字: 降压转换器 电源设计 控制

引领供应链数字化转型新潮流 上海2024年5月16日 /美通社/ -- 5月14日,"第七届亚太智慧供应链与物流创新博览会"在上海顺利举办,作为中国和亚太区最大规模,最有影响力的顶流供应链物流盛会,...

关键字: 数字化 软件 供应链管理 控制

上海2024年5月13日 /美通社/ -- CONNECT 2 是更加用户友好的声卡,仅需轻点几下,它就能为人声和乐器的录制增添异彩。触控面板触感舒适、控制精准、一目了然。所有输入输出信号均可独立静音。自动设置功能通过内...

关键字: NEC 声卡 控制 软件

功率器件是一种专门用于控制、调节和放大电能的电子元件,主要用于处理大功率电信号或驱动高功率负载,如电机、变压器、照明设备等。

关键字: 功率器件 控制 放大电能

Micro热插拔技术作为现代电子设备中常见的一种接口设计,其便捷性和灵活性得到了广泛应用。然而,关于Micro热插拔是否需要断电的问题,一直存在争议。本文将详细探讨Micro热插拔的原理、优缺点,以及在不同情况下是否需要...

关键字: Micro热插拔技术 现代电子设备 接口设计

机器人是一种集成了机械、电子、控制、传感、人工智能等多学科先进技术的自动化装备,能够模仿或替代人类进行各种任务的设备。

关键字: 人工智能 电子 控制

伺服电机是一种高精度、高性能的电机,广泛应用于各种自动化控制系统中。控制伺服电机是实现自动化控制的关键环节,不同的控制方式具有不同的特点和适用场景。本文将介绍几种常见的伺服电机控制方式及其特点,并分析在实际应用中应注意的...

关键字: 伺服电机 控制 自动化

大连2023年9月20日 /美通社/ -- 日前,国际独立第三方检测、检验和认证机构德国莱茵TÜV大中华区(以下简称"TÜV莱茵")受...

关键字: 控制 医疗服务 HEALTH 信息安全

 上海2023年9月7日 /美通社/ -- 近期,“国家卫生健康委国际交流与合作中心·因美纳公共卫生教育奖学金”项目(下称,“公共卫生教育奖学金”)完成首批奖学金颁发。该项目是由国家卫生健康委国际...

关键字: BSP 控制 组网 网络建设

北京2023年8月31日 /美通社/ -- 8月30日,由中共河曲县委、河曲县人民政府主办,中共河曲县委宣传部、河曲县文化和旅游局、保利乐享文娱科技(北京)有限公司承办的"河清盛世,曲著华章"2023...

关键字: 3D建模 BSP DMA MAPPING
关闭
关闭