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.

[参考译文] AM3359:AM335x

Guru**** 2339410 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1511164/am3359-am335x

器件型号:AM3359

工具/软件:

大家好、支持部门、我对 PRUSS-ICSS 和 EtherCAT 有一些问题。

一个问题导致无法从 TwinCAT 和 SOEM (Etherlab)主站读取 ESC 寄存器0x111。

首先、工作计数器不会递增。

此外、0x111寄存器的值指出"端口 A:环路开路、无链路"、尽管端口 A 上有链路(ESC 寄存器0x110、位4被置位:物理 Lin 端口 A = TRUE)、并且主器件能够读取和写入 EEPROM 内容。

  1. 为什么只有该寄存器才会出现问题?
  2. PRU 固件从哪里读取循环状态(INTC、IEP、PHY 中断等)?

 

下面是 TwenCAT Wireshark 捕获和屏幕截图的削减部分、显示了寄存器0x110和0x111的读取结果。

提前感谢。

 

 

编号     时间          源               目标          协议长度信息

  6774 5.353183      Beckhoff:01    :00:00 4a:0f:cf:6B:94:51    ECAT    64    3个 cms、'APRD':len 10、'APRD':len 1、'APRD':len 1

 

帧6774:64字节(512位)、在接口\Device\NPF_{46EE3852-6093-4537-B28A-DFC9177281AF}上捕获了64字节(512位)、ID 为0

以太网 II、src:Beckhoff:01:00:00 (01:01:05:01:00:00)、dst:4A:0f:CF:6B:94:51 (4a:0f:CF:6B:94:51)

EtherCAT 帧标头

EtherCAT 数据报:3个 CMD、"APRD":len 10、"APRD":len 1、"APRD":len 1

   EtherCAT 数据报:cmd:'APRD'(1)、Len:10、ADP 0x1、ADO 0x0、Cnt 1

       标头

           CMD       :1 (自动递增物理读取)

           索引:0xcb

           从器件地址:0x0001

           偏移地址:0x0000

           长度    : 10 (0xA)-无往返-更多内容如下...

               ... 0.000 0000 1010 =长度:10.

               .00 0…… ... ... =保留:有效(0)

               .0... ... ... ... =往返:帧未循环

               1... ... ... ... =最后一个指示符:接下来将有更多 EtherCAT 数据报

           中断:0x0000

       ESC 修订版(0x0):0x90

       ESC 类型(0x1):0x01

       ESC 构建版本(0x2):0x04f3

       ESC FMMU Cnt (0x4):0x08

       ESC SM Cnt (0x5):0x08

       ESC 端口(0x6):0x08

       ESC DPRAM (0x7):0x0F

       ESC 特性(0x8):0x008c、直流支持、直流64位支持、CRC 外部检测

       工作电话:1.

   EtherCAT 数据报:cmd:"APRD"(1)、Len:1、ADP 0x1、ADO 0x102、Cnt 1

       标头

           CMD       :1 (自动递增物理读取)

           索引:0x00

           从器件地址:0x0001

           偏移地址:0x0102

           长度    : 1 (0x1)-无往返行程-更多内容如下...

               ... 0000 0000 0001 =长度:1.

               .00 0…… ... ... =保留:有效(0)

               .0... ... ... ... =往返:帧未循环

               1... ... ... ... =最后一个指示符:接下来将有更多 EtherCAT 数据报

           中断:0x0000

       ESC Ctrl (0x102):0x00

           ... 0000 = FIFO 大小:0x0

           ... 0…… =低电平 E 总线抖动:禁用

       工作电话:1.

   EtherCAT 数据报:cmd:"APRD"(1)、Len:1、ADP 0x1、ADO 0x111、Cnt 0

       标头

           CMD       :1 (自动递增物理读取)

           索引:0x00

           从器件地址:0x0001

           偏移地址:0x0111

           长度    :1 (0x1)-无往返-最后一个子命令

               ... 0000 0000 0001 =长度:1.

               .00 0…… ... ... =保留:有效(0)

               .0... ... ... ... =往返:帧未循环

               0…… ... ... ... =最后一个指示符:最后一个 EtherCAT 数据报

           中断:0x0000

       工作 Cnt:0