高速信号SRio总结,逻辑层和传输层。第七天

传输速率和时钟:1x、2x、4x的通信方式,支持速度1.25G/2.5G/3.125G/5.0G和6.25G,分别支持125M和156.25M时钟

主要用途:最主要的优势是系统内互联可靠,增加了带宽和传输的总线速度。

Ip包装:RapidIo分为三层。物理层、传输层和逻辑层。逻辑层主要定义整体协议和数据包格式,包括端点启动和完成事务所必须的信息。传输层提供数据包的路由信息。物理层描述设备及接口细节,比如传输机制,流控制,电器特性和低级错误。(待整合理解)

交互方式:逻辑层主要利用axi往ip写入数据,物理层通过输出的差分串行接口serdes,经过gtx bank与外界进行交互。

 

一、ip介绍对于一个ip核的使用,最主要的是必须要了解他的时钟和复位。

    对于接口介绍,主要有数据传输通道(标志位通道),信息报通道、维护包通道,调试通道以及调试信息窗口。框图如下

 

                                            

 

主要对IO口进行操作所以需要了解io都有哪些管教,并且了解包括包格式,doorbell等信息。其中主要对input信息进行构造,而对output进行监测。

Srio传输总共分三层,逻辑层(logic),传输层(t),物理层(PHY)

一、逻辑层:

         1.1 第一步,知道发什么,怎么发。

           主要了解包格式和接口类型,以及该怎么操作用户接口。

          Io主要会有发送treq,发送应答tresp。接收,接收应答。并且分condentIo和initator io。Condent Io,用一个axi_stream处理发送和接收,即四个部分都在一起,而initiator/target 把事务分开,分别发送搭配。并且消息事务既能再i/o上发送也可以再消息端口发送。并且每个通道都有发送和接受缓冲,按我的理解就是内部fifo。一般也就是先进先出,且必须有数据包被接受,下一个数据才能更新缓冲区。如果有多个数据没有发送,会按照优先级和类型,发出响应后并积极发出请求,还是按照设置优先级发送。(有时候温度原因会造成某几包后未发送。)

          并且srio建议支持最低八个字节的传输,当小于8个字节时,需要按照设置size和addr相配合的方式发送   。

                               

 

上图中0-6对应1-7个字节。以0字节为例,写的是一个字节,如果地址位7,就在最高的一个字节,如果为0,就在最后一个字节。之所有有这个,是因为位传输的关系。所以尽量还是保证八字节。

 

       1.2 怎么该怎么配置自己的发送和接受模式。(寄存器)维护包和csr忽略。

        

                                   

 

      1.3 怎么知道自己成功了。

         Link_initialized /port_error已发送至少 15 个状态控制符号,并且 已接收到 8 个无错误状态控制符号。(主要通过control和status 来了解。)

      1.4怎么知道自己有没有错。

         表示端口收到不可恢复的错误并处于错误状态。此信号反映物理层配置 中端口 n 错误和状态 CSR 中的端口错误位的值。并通过debug监测。

传输层:

重传、乱序传输。

       首先srio禁止乱序包,但允许乱序传输。也就是说,每一包数据过来都会按优先级定义。Srio通过ackId和优先级来决定发送数据的先后。也就是如果优先级太低,会通过提升ackId的方式来确认当前数据集的优先级。

而重传就是如果两个包,a包被接收,会自动不断提升b的优先级来发送b。

 

                                                    

 

乱序传输、相当于通过缓存设置多通道,先发的给优先级级别高。但是如果第一个通道没有第一个优先级数据,会将核心倒带将下一包c数据与当前ackId1关联先发出去,之后再发高优先级B并与ackId2对齐,保证数据一致。

                                   

 

第三种是严重堵塞,重新定义优先级传输。根据事务类型和优先级而重设发送顺序,也就是发送通道。并且不同缓存空间也有不同优先级。

                  

 

 

物理层:

初始化‘通道数、功能、重置等功能。具体不了解

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章