首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 单元电路介绍 > 其它电路
Camera Link接口的异步FIFO设计与实现
来源:本站整理  作者:佚名  2011-05-27 07:47:43



      FIFO(First In First Out)是一种常用于数据缓存的电路器件,可应用于高速数据采集、多处理器接口和视频信号的时序控制等领域。在Camera Link接口中,需要将28 bit的TTL/CMOS信号同时送给Camera Link接口芯片,其中28 bit信号包括24 bit数据信号和4 bit控制信号(帧有效FVAL信号和行有效LVAL信号等)。而进入FPGA中的只有数据信号,所以,异步FIFO要有在控制图像数据时序的同时,生成FVAL和LVAL同步控制信号的功能。在这种情况下,目前常用的FIFO器件很难满足系统的要求。文中采用Verilog HDL语言设计了一种异步FIFO,它不仅提供数据缓冲,而且能够匹配Camera Link接口标准。
1 异步FIFO设计
     异步FIFO由FIFO主控模块(包含存储单元)、读地址及空标志产生模块、写地址及满标志产生模块、异步比较模块4部分组成,结构图如图1所示。整个FIFO分为2个独立的时钟域,即读时钟域和写时钟域,FIFO的存储介质为一块双口RAM,可以同时进行读写操作。在写时钟域部分,由写地址及满标志模块产生写地址和写满标志信号,写时钟信号和写使能信号由系统数据生成模块给出,写入的数据由主控模块存储在双端口RAM中;在读时钟域部分,由读地址及空标志模块产生读地址和读空标志信号,读时钟信号由系统时钟通过分频器得到,读使能使用视频同步信号中的行同步LVAL信号,读出数据由主控制模块从双端口RAM中读出并连同视频同步信号一起发送到Camera Link接口。由异步比较模块对读、写地址进行比较,并产生将满(nfull_n)、将空(nempty_n)信号。


2 设计的难点
    对于通用的FIFO,不能直接应用到Camera Link接口中,也不能通过简单修改现成的FIFO模块而得到,这是因为异步FIFO的设计存在以下难点:
     (1)亚稳态问题:在信号传输中,每种触发器都有时序要求,并在工作过程中存在数据的建立时间和保持时间。对于使用上升沿触发的触发器来说,建立时间(Setup Time)是在时钟上升沿到来之前,触发器数据保持稳定的最小时间;而保持时间(Hold Time)是在时钟上升沿到来之后,触发器数据还应该保持的最小时间。在时钟上升沿前后的这个窗口内数据应该保持不变,否则会使触发器工作在一个不确定的状态,即亚稳态。如图2所示。当触发器处于亚稳态,且处于亚稳态的时间超过了一个时钟周期时,这种不确定的状态将会影响到下一级的触发器,最终导致连锁反应,从而使整个系统功能失常。

    (2)FIFO空、满标志产生逻辑:一个好的FIFO设计的基本要求是:写满不溢出;读空又不多读。传统的异步FIFO把读写地址信号同步后再进行比较以产生空满标志,由于读写地址的每一位都需要两级同步电路,大量使用寄存器必然要占用很大的面积。这种方法不适合设计大容量的FIFO。当读、写指针相等也就是指向同一个内存位置时,FIFO可能处于满或空两种状态,必须区分FIFO是处于空状态还是满状态。
     (3)Camera Link接口的匹配:由于异步FIFO在控制数据时序的同时,还要产生视频同步控制信号,并按照控制信号的时序将数据读出。设计中,只用到Camera Link接口中的帧有效信号FVAL和行有效信号LVAL,当FVAL和LVAL信号为高时,才能将数据读出,为低时,数据不能读出。所以双重的时序控制很难稳定,Camera Link接口的匹配也很难达到要求。
3 问题的解决
    (1)高速的格雷码指针:对于亚稳态问题,采用高速的格雷码指针来解决。设计中读、写地址采用格雷码,用两组寄存器作为格雷码指针。一组二进制计数器,而另一组用来存放二进制码到格雷码转换(Binary-to-Gray)的值。图3是高速格雷码计数器的示意图。加法器的附加条件分别是读(或写)使能和空(或满)标志。当读(或写)使能有效(高电平)且FIFO存储器处在非空(或非满)状态时就对二进制序列加一,否则二进制序列加零(保持不变);然后通过Binary-to-Gray电路将二进制bnext转换为格雷码gnext,这个转换电路是由n个二输入异或门组成,在下一个时钟沿gnext被存到格雷码指针中。

[1] [2] [3]  下一页

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)
Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:141,875.00000 毫秒