APP下载

异步FIFO在HINOC协议中的应用

2016-12-27赵冰茹

科学与财富 2016年29期

赵冰茹

摘 要:HINOC是我国为了利用同轴电缆带外信号提供高速接入服务的而自主发开的协议。HINOC协议栈中的MAC层与PHY层之间需要大量的数据交换,特别是HINOC2.0协议中,峰值传输速度将达到1Gbps以上。文中提出了一种将异步FIFO应用在这两个模块之间的应用方式,可以解决大规模数据快速传输以及MAC层与PHY层硬件频率不一致的问题。

关键词:HINOC;HMAC;HIPHY;异步FIFO

随着我国光纤通信技术的日趋成熟,骨干网络光纤化已经完成,其带宽已经可以满足业务需求,而被称为“最后一英里”的接入网带宽成为用户家庭上网速率的瓶颈。HINOC标准从2005年开始准备,在2016年3月终于发布了正式的HINOC2.0标准。目前国家对“三网融合”大力推进,利用同轴电缆解决接入的技术由于多方面的优点逐渐被更多公司和组织所接收,已经有多家公司的HINOC芯片完成了实验室测试,准备进行规模测试阶段。

1 HINOC标准中的协议栈模型

HINOC标准中定义了对应网络OSI模型的物理层(PHY层)传输模式和媒质接入控制层(MAC层)协议。协议栈自下而上依次分为物理层(PHY层), MAC层和高层。PHY层定义的信号传输模式包括帧结构、信道编码以及调制技术。MAC层实现HINOC网络中的媒质接入控制和业务适配功能,分为公共部分子层(CPS)和汇聚子层(CS)。为了更好得适应外部应用环境,一般设计中采用MAC层与嵌入式CPU的主频同步,而PHY层硬件则可以根据当前的数据流量对频率进行自适应调整。两者之间数据传输速度可高达1Gbps,针对于其数据通路的设计,本文中提出了一种采用异步FIFO解决的方法,可以非常有效地解决MAC与PHY之间大量异步数据传输以及两者之间频率不一致的问题。

2 异步FIFO的说明

FIFO是英文First In First Out的缩写,是一种先进先出的数据缓存器。它与普通存储器的区别是没有外部读写地址线,只能顺序地写入数据,顺序地读出数据。其数据地址由内部读写指针自动加1完成,而不是像普通存储器那样可以由地址线决定读取或写入某个指定的地址。外部需要有空满标识来指示当前是否可以对FIFO进行读出或写入。因为它的控制线比较少,所以可以方便地将其运用在异步传输模块,进行两个不同时钟域间模块的数据传输。图1中是异步FIFO的结构图。

从图中可以看到,异步FIFO主要由以下几个部分组成:

双端口存储器,用于存储数据,读写支持不同时钟。

写地址产生器/满控制标志位产生器,这部分处于写时钟域。

读地址产生器/空控制标志位产生器,这部分处于读时钟域。

异步FIFO需要用到的端口信号包括:

读时钟:读操作所遵循的时钟,在每个时钟上升沿到来时读数据。

写时钟:写操作所遵循的时钟,在每个时钟上升沿到来时写数据。

读指针:指向下一个读出地址。读完后自动加1。

写指针:指向下一个要写入的地址的,写完自动加1。

满标志:FIFO已满或将要满时由FIFO的状态电路送出的一个信号,以阻止FIFO的写操作,继续向FIFO中写数据将造成溢出(overflow)。

空标志:FIFO已空或将要空时由FIFO的状态电路送出的一个信号,以阻止FIFO的读操作,继续从FIFO中读出数据将造成无效数据的读出(underflow)。

3 异步FIFO在HINOC中的应用

由于HINOC协议中MAC协处理器和PHY层信号处理器之间需要大量的数据传输,MAC层数据发送端根据接收到的MAP帧,解析出重传标志以及分配的信道长度;数据发送端需要设计一个深度足够的FIFO来缓存数据,以保证MAC层与PHY层的数据交互不出现断帧。

在FIFO的设计中,最重要的两个参数就是FIFO的数据位宽和存储深度。按照HINOC2.0协议中的要求,MAC数据帧的最大程度小于4600B,但是在实际传输中,由于受到信道干扰,多结点资源平衡调度等方面因素的影响,一般会将过大的数据帧进行切片,以防止过大的帧传输失败导致大量数据重传的问题。为了进一步提高异步FIFO的传输效率,本结构中将异步FIFO的数据宽度设计为32bit,FIFO深度设计为512个字。采用四个这样独立的异步FIFO进行MAC层与PHY层的数据交换,可以满足设计的需求。

参考文献

[1]冯振威.基于嵌入式平台的HINOC MAC驱动程序的设计[D]西安电子科技大学.

[2]国家新闻出版广电总局.NGB宽带接入系统 HINOC2.0物理层和媒体接入控制层技术规范,2016-3.

[3]欧阳峰,崔竞飞,赵玉萍.HINOC同轴电缆接入系统技术方案[J].广播与电视技术,2011,(10):34-38.