TI中文支持网
TI专业的中文技术问题搜集分享网站

有关门铃和数据的发送

大家好 问一下假设DSP1 通过LSU给DSP2 发数 同时也发门铃

例如这样:
cfg.Address.RapidIOAddress.LSB = SRIOBuffer;
cfg.Address.DSPAddress = SRIOBuffer;
cfg.ByteCount = BUFFER_SIZE * 4;
cfg.ID.Port = SRIO_Port0;
cfg.ID.Dest = DEVICE_ID1_16BIT;
cfg.ID.Size = SRIO_ID_16Bit;
cfg.PacketType = SRIO_NWrite;
cfg.DoorBell.Enable = TRUE;
cfg.DoorBell.Info = SRIO_DoorBell_Message_NWrite_Finished;

// 等待 LSU 可用
while(SRIOLSUFullCheck(LSU) != 0);

// 传输数据
SRIODirectIOTransfer(LSU, &cfg);

那么DSP2收到门铃中断 能否作为DSP2收数完成的标志???

也就是说在上面这种情况下 门铃和数据是一起到达 还是先后到达?

skysteed:

For FType != 10

“0”→没有门铃信息,需要在包的最后发出

“1”→门铃信息有效

如果不需要响应,在发送最后一个片段后发送门铃

如果需要响应,则在接收到所有响应之后,在没有错误的情况下生成一个带有Drbll_Info的门铃

如果需要响应,如果收到错误的响应,门铃将不会产生。

看手册 门铃应该在包的最后发出

但是 上面提到的响应什么意思?是DSP1 给DSP2发完数据 DSP2给DSP1自动回相应数据接收完成+没有错误的信息么?

Shine:

回复 skysteed:

是的,doorbell的response一般是DONE ,DSP2收到DSP1的数据后的回应。具体可以看一下SRIO协议。
www.rapidio.org/…/spec_interconnect.pdf

skysteed:

回复 Shine:

 哦 谢谢 明白了 就是说

Drbll_val如果设为1 dsp2在接收到所有响应之后,在没有错误的情况下 必然生成一个带有Drbll_Info的门铃中断

赞(0)
未经允许不得转载:TI中文支持网 » 有关门铃和数据的发送
分享到: 更多 (0)