This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TMS320C6678: SRIO Digital Loopback测试存在误码

Part Number: TMS320C6678

硬件:tms320c6678 evm开发板

软件:ccs8.0

问题:下载运行keystone1中srio例程,控制台打印下列信息并且程序异常退出。

STREAM from 0x820a4000 to 0x11802200, 32768 bytes, 72687 cycles, 3606 Mbps, completion code = 0

data mismatch at unit 8001, 0xcfffdf3f (at 0x820a4000) != 0xffffffff (at 0x11802200)

STREAM from 0x820b4000 to 0x c000c00, 8 bytes, 1055 cycles, 60 Mbps, completion code = 0

STREAM from 0x820c4000 to 0x c000d00, 16 bytes, 1081 cycles, 118 Mbps, completion code = 0

STREAM from 0xb9f73e7e to 0x c000e00, 32 bytes, 1148 cycles, 222 Mbps, completion code = 0

data mismatch at unit 0, 0x148 (at 0xb9f73e7e) != 0x1480000 (at 0xc000e00)

External exception happened. MEXPFLAG[3]=0x4000.

  Event 110: MDMAERREVT XMC VBUSM error event

  MDMA write status error detected

  XID (Transaction ID)= 7

  Addressing error

NRP=0xc054698, NTSR=0x1400f, IRP=0x20b01120, ITSR=0x1, TSCH= 0x0, TSCL= 0x1d2df95

 B3=0xc04ff00, A4=0x10, B4= 0x20, B14= 0x8254c8, B15= 0x8230b0

Exception happened at a place can not safely return!

此外,我们也在尝试修改该例程以让evm板与一块fpga k7板通过srio通信,dsp端发送swrite包,fpga端通过chipscope抓取信号。通过fpga端抓取显示,第一包数据均准确无误,但第二包数据无法抓到,dsp端程序卡在KeyStone_SRIO_wait_LSU_completion()函数中。我打开了dsp端程序中SRIO_2DSP_Test()中打印错误信息函数,显示第二次发送时,错误信息如下

[C66xx_0] JTAG ID= 0x1009e02f. This is C6678/TCI6608 device, version variant = 1.

DEVSTAT= 0x00000001. little endian, No boot or EMIF16(NOR FLASH) or UART boot, PLL configuration implies the input clock for core is 50MHz.

SmartReflex VID= 63, required core voltage= 1.104V.

Die ID= 0x14007012, 0x04045c7d, 0x00000000, 0x15f80001

Device speed grade = 1000MHz.

Enable Exception handling...

SRIO test between two DSPs start............................................

Initialize DSP main clock = 100.00MHz/1x10 = 1000MHz

Initialize DDR speed = 66.67MHzx/1x20 = 1333.333MTS

SRIO path configuration 1xLaneA_1xLaneB_1xLaneC_1xLaneD

Input port 0 next expected ackID value: 0x0

Output port 0 unacknowledged ackID: 0x0

Output port 0 next transmitted ackID value: 0x1

SWRITE from 0x10802200 to 0x1080a200, 128 bytes, completion code = 0

SRIO path configuration 1xLaneA_1xLaneB_1xLaneC_1xLaneD

Input port 0 next expected ackID value: 0x0

Output port 0 unacknowledged ackID: 0x0

Output port 0 next transmitted ackID value: 0x1

The output port 0 has encountered (and possibly recovered from) a transmission error. This bit is set when bit 16 is set.

Port 0 OK condition. The input and output ports are initialized, and the port is exchanging error-free control symbols with the attached device.

The port 0 received a packet-not-accepted acknowledge control symbol.

Type of information logged: 2 (0 - packet, 1 - control symbol)

captured error bit in the Port Error Detect Register: 11

control symbol or Bytes 0 to 3 of the packet header that correspond to the error: 0x1c400f14

Bytes 4 to 7 of the packet header that corresponds to the error: 0x0

Bytes 8 to 11 of the packet header that corresponds to the error: 0x0

Bytes 12 to 15 of the packet header that corresponds to the error: 0x0

SWRITE from 0x10802200 to 0x1080a200, 128 bytes, completion code = 1

SRIO path configuration 1xLaneA_1xLaneB_1xLaneC_1xLaneD

Input port 0 next expected ackID value: 0x0

Output port 0 unacknowledged ackID: 0x0

Output port 0 next transmitted ackID value: 0x1

The output port 0 has encountered (and possibly recovered from) a transmission error. This bit is set when bit 16 is set.

Port 0 OK condition. The input and output ports are initialized, and the port is exchanging error-free control symbols with the attached device.

The port 0 received a packet-not-accepted acknowledge control symbol.

Type of information logged: 2 (0 - packet, 1 - control symbol)

captured error bit in the Port Error Detect Register: 11

control symbol or Bytes 0 to 3 of the packet header that correspond to the error: 0x1c400f14

Bytes 4 to 7 of the packet header that corresponds to the error: 0x0

Bytes 8 to 11 of the packet header that corresponds to the error: 0x0

Bytes 12 to 15 of the packet header that corresponds to the error: 0x0

SWRITE from 0x10802200 to 0x1080a200, 128 bytes, completion code = 1

SRIO path configuration 1xLaneA_1xLaneB_1xLaneC_1xLaneD

Input port 0 next expected ackID value: 0x0

Output port 0 unacknowledged ackID: 0x0

Output port 0 next transmitted ackID value: 0x1

The output port 0 has encountered (and possibly recovered from) a transmission error. This bit is set when bit 16 is set.

Port 0 OK condition. The input and output ports are initialized, and the port is exchanging error-free control symbols with the attached device.

The port 0 received a packet-not-accepted acknowledge control symbol.

Type of information logged: 2 (0 - packet, 1 - control symbol)

captured error bit in the Port Error Detect Register: 11

control symbol or Bytes 0 to 3 of the packet header that correspond to the error: 0x1c400f14

Bytes 4 to 7 of the packet header that corresponds to the error: 0x0

Bytes 8 to 11 of the packet header that corresponds to the error: 0x0

Bytes 12 to 15 of the packet header that corresponds to the error: 0x0

SWRITE from 0x10802200 to 0x1080a200, 128 bytes, completion code = 1

SRIO test complete.

请问内部自回环出现误码有可能是哪方面的原因,以及SRIO发送数据是如何计算误码率的呢

  • 请问跑的例程里的哪个模式? 如果用的是TI EVM板,没有对程序做过修改的话,应该不会有问题。

    另外,编写keystone1这个软件包的工程师已经离职,我们对这个软件包的技术支持有限,请悉知。

  • 你好,我使用的模式为digital loopbach 模式,但是使用evm板我把mmc拆下来了,dsp能正常运行和启动,请问这会对srio,有影响吗

  • 请问在把mmc拆下来之前,SRIO能跑通吗?

  • 拆下来之前没有做SRIO相关的测试,现在在我们是通过一个amc转接器飞线与fpga相连接,通信速率是1.25g,在fpga端可以抓到连接已经建立,并且第一包数据FPGA可以抓到,但是DPS因为误码率太高,请问mmc有哪些功能与srio有关呢?

  • SRIO协议对信号的传输质量要求很高,SRIO是高速信号,不建议自己做飞线,可能信号完整性不能保证。

  • 那请问一下mmc对srio传输有什么相关吗,去掉会产生什么影响吗

  • 其他例程能够运行吗?

  • 可以的,spi,时钟芯片都可以完美运行

  • 这个问题最好再另外一块EVM板试一下,因为不知道卸载mmc时是否对板子硬件有所损坏。STK里的例程都是在EVM板上验证过的,如果对代码没有改动的话,可以在EVM板上直接跑的。

x 出现错误。请重试或与管理员联系。