Aurora为可裁剪轻量级链路协议,具有低开销、可拓展的吞吐量和高灵活的数据接口,使用资源少特点,数据通路数和数据率可定制,在点对点串行传输可以代替并行传输,减少布线难度,也可应用于ASIC占用更少的资源,提供更高的性能。

Aurora的帧接口(本地连接)

一种Aurora协议 NFC流量控制 方法 aurora协议的帧格式和流格式_数据

一、数据传输模块

对于单个字长的数据TX_EOF_N和TX_SOF_N可同时有效

1、TX发送模块

in:TX_SRC_RDY_N

out:TX_DST_RDY_N

两者在同周期被拉低时,数据才能被采样,并且TX_SRC_RDY_N拉低时候采样才有效

进行握手,本地的数据才能发送到aurora路中

Example1:简单的正常发送

sof_n拉蒂开始传输第一个数据,eof_n拉低传输最后一个数据,同周期rem表明最后一周期的传输字节数

一种Aurora协议 NFC流量控制 方法 aurora协议的帧格式和流格式_字节数_02

Example2:传输中暂停发送

通过控制TX_SRC_RDY_N信号拉高,来实现暂停,期间发送空闲码给aurora链路层

一种Aurora协议 NFC流量控制 方法 aurora协议的帧格式和流格式_fpga开发_03

 Example3:传输3n-1个字节,前两个数据为n字节,最后一个为n-1,使用rem实现最后一拍传n-1

一种Aurora协议 NFC流量控制 方法 aurora协议的帧格式和流格式_数据接口_04

 2、RX接收模块

少了dst_rdy_n信号

Example1:传输中暂停接收,RX_SOF_N和RX_SRC_RDY_N拉低,说明第一个数据已经准备好接收

                    通过控制RX_SRC_RDY_N信号拉高,来实现暂停

一种Aurora协议 NFC流量控制 方法 aurora协议的帧格式和流格式_字节数_05

二、帧传输的UFC(流量控制)

        Aurora 8b/10b 协议包括用户流量控制(ufc) ,允许通道合作伙伴使用单独的带内通道发送控制信息。用户无需等待正在进行的帧的结束,就可以向核心的通道合作伙伴发送短的 ufc 消息,UFC消息与常规帧数据共享通道,但具有更高的优先级

1、发送UFC信息:发送模块到aurora

发送UFC相关信号

UFC_TX_REQ_N   out:拉低UFC_TX_REQ_N  请求向通道合作伙伴发送一条 ufc 消息。持续直到 UFC_TX_ACK_N 被拉低。不要拉高这个信号,除非整个 ufc 消息已经准备好被发送; ufc 消息一旦启动就不能被中断。

UFC_TX_ACK_N   in:当 Aurora 8b/10b 核准备读取 ufc 消息的内容时拉低UFC_TX_ACK_N                                          在拉低信号之后的周期中,tx _ d 端口上的数据将被视为 ufc 数据。Tx _                                          d 数据继续用于填充 ufc 消息,直到足够多的周期过去才能发送完整的消                                          息。UFC 循环中未使用的字节被丢弃。

UFC_TX_MS[0:2]   out:指定将要发送的 ufc 消息的大小。大小编码是一个介于0和7之间的值

UFC消息可以携带2到16个数据字节的偶数。用户应用程序通过在 UFC_TX_MS 端口上驱动一个大小代码来指定消息的长度。

UFC_TX_REQ_N   被拉低UFC_TX_MS才有效

一种Aurora协议 NFC流量控制 方法 aurora协议的帧格式和流格式_数据接口_06

 UFC和数据切换模型

TX_DST_RDY_N回应信号,用来控制TX_D数据线上的为数据还是UFC信息

拉低时:数据放到TX_D

拉高时:UFC信息放到TX_D

注意:通过计算ufc信息长度/数据位宽=传输ufc信息需要的周期数。直到所有数据被获取,才能启动 ufc 消息。与常规数据不同,ufc 消息在 UFC_TX_ACK_N 被断言后不能被中断。

一种Aurora协议 NFC流量控制 方法 aurora协议的帧格式和流格式_数据_07

Example A:传输单周期UFC信号,UFC_TX_MS=1,即4byte数据,被放在2byte接口上,那么需要2cycle

①传输单周期UFC信号,UFC_TX_REQ_N 和UFC_TX_ACK_N   握手后的下一周期数据放到TX_D数据通道

②UFC_TX_MS规定UFC的字节数只有当UFC_TX_REQ_N 被拉低时,UFC_TX_MS有效

③UFC_TX_ACK_N 被断言两个周期。Aurora 8b/10b 核使用数据流中的这个间隙来传输 ufc 报头和消息数据。X为报头,UFC为信息数据(被拉低后的第一个周期为UFC信息)

一种Aurora协议 NFC流量控制 方法 aurora协议的帧格式和流格式_数据接口_08

 Example B:传输多周期UFC信号,用2byte接口传16byte的ufc信息

一种Aurora协议 NFC流量控制 方法 aurora协议的帧格式和流格式_数据_09

 2、接收UFC信息

UFC_RX LocalLink 接口上的信号只有在UFC_RX_SRC_RDY_N拉低时才有效。

 ExampleA

在4byte数据接口,接收单周期UFC信息,靠UFC_RX_SOF_N、UFC_RX_EOF_N、UFC_RX_SRC_RDY_N,三个信号控制接收数据

一种Aurora协议 NFC流量控制 方法 aurora协议的帧格式和流格式_数据_10

 ExampleB

在4byte接口上传输8byte的UFC信息,需要2cycle

一种Aurora协议 NFC流量控制 方法 aurora协议的帧格式和流格式_fpga开发_11