TI_DSP_SRIO - useful_Q&A.

http://e2e.ti.com/support/dsp/c6000_multi-core_dsps/f/639/t/123812.aspx  

 Q:

1).- In the two SRIO examples found in the pdk_C6678_1_0_0_11 there is no use of the Response packet Ftype 13. Could you tell me, please, why you didn't use the response packet even when it is required by the standard? ( I understand that SRIO requires response for some of the implemented FType in you examples).

2).- Where is possible to find an example of Doorbell use?

A:

1).  Just to be clear, not all SRIO packet types require responses.  For example NWRITE and SWRITE have no responses.  The example may only use these types of packets, but you can easily change the packet type to NWRITE_R or NREAD, which will use response packets.  Not sure if I missed you point or not.  The other thing to mention is that responses are sent by the SRIO peripheral hardware automatically.  The CPU doesn't have to get involved at all, there is no way to create a type 13 packet using the LSU or TXU blocks.

2).  Not sure if the doorbell is included in the example or not, but you can easily use the LSU to send a doorbell in one of two ways: You can simply create an outgoing doorbell, by writing the ftype, ttype, and doorbell info fields of the LSU registers; or you can have the LSU automatically send a doorbell after a data packet transmission by writing the doorbell info field and the int_req bit of the LSU.  It will then send the data packet followed by a doorbell packet.

Q:

1).-  How to see the feedback that the transfer has been performed without errors?  If I don't have the possibility for seeing the response Ftype 13, should be a way to see for each case that requires response that the data transferring has been performed.

2). - Are there registers for seeing this information?

3). - How to see it for the case of NWRITE_R or NREAD?

4). - How to see for the case of message type (FType 11)?

5).- In case of transmit error, the application must retransmit or the SRIO will perform it automatically?

6).- In case that the SRIO will perform the retransmition automatically and not the application, could you tell me, please, how is defined retries quantity?

A:

1) . Please refer to “http://focus.ti.com/lit/ug/sprugw1/sprugw1.pdf” section 2.3.2, pg 2-29 and 2-30.  You can determine the transaction completion by looking at:  LCB and LTID in the LSU register 6 in conjunction with RIO_LSU_STAT_REG0-5 (offset 0DE8h - 0DFCh) will give you the completion code for your transaction.

2) .Yes listed above.

3). Depends how you implement it, but you can poll these registers, or count interrupts.

4) .Any type 11 message that returns an error or if there was an error programming the TX descriptor that prevents the message from being sent, will be sent to a garbage queue.  There are various causes, just do a search for garbage in section 2.3.3.2 of the user's guide.

5). Lets clarify on this one, are you talking physical layer errors like CRC, or are you talking about logical layer error completion codes in the LSU?  Physical layer errors are handled automatically by hardware and retransmitted, logical errors will have to be resubmitted by the software.

6) .There are port status registers that indicate a physical layer Retry occurred, but not a running count.

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值