Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Issue with DC SYNC on SBC #893

Open
fahd099 opened this issue Mar 7, 2025 · 2 comments
Open

Issue with DC SYNC on SBC #893

fahd099 opened this issue Mar 7, 2025 · 2 comments

Comments

@fahd099
Copy link

fahd099 commented Mar 7, 2025

Hello,

I am not able to get the DC Sync to work on the LattePanda board using SOEM and the red_test example.
I am using exactly the same code (red_test) for both a desktop PC and the LattePanda. The desktop PC works fine and i am able to get a stable DC SYNC0 pulse. However, on the LattePanda it never works and the DC cycle time is very jittery. Both the Desktop PC and the LattePanda are running Ubuntu OS (The LattePanda is using the real time kernel, I tried with the non real time kernel and it gave me the same behavior). I am connecting to only one DC slave on the ECAT bus and using the same cables. I setup a 1khz EtherCAT cycle time.

Note that on the Slave firmware side:

  • The ESC register 0x0981 (DC SYNC ACTIVATION)
    • == 0x07 on the working Desktop PC (all good)
    • == 0x00 on the LattePanda.
  • The ESC register 0x1C32 and 0x1C33:
  • == 0x02 and 0x03 on the working Desktop PC
  • == 0x00 and 0x00 on the LattePanda.

Thus I ended up with the bDcSyncActive = False on the slave side when using the LattePanda (not good) :(((

Attached the wireshark on both boards.
WIRESHARK_LOG_ECAT.zip

On the LattePanda, I noticed that the delta DCtime on each iteration of the SOEM cyclic thread (ecatthread) does not make sense (too much big variation). However it does look fine (is around the 1msec cycle time) for the Desktop PC.

Thanks for your help.

@fahd099
Copy link
Author

fahd099 commented Mar 7, 2025

This is the DCTime delta on the Desktop PC:

Processdata cycle    36 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime          999 ,dt          100 
Processdata cycle    71 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime          998 ,dt           69 
Processdata cycle   124 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime          999 ,dt           39 
Processdata cycle   158 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime          999 ,dt           26 
Processdata cycle   193 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime         1000 ,dt           19 
Processdata cycle   229 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime         1000 ,dt           12 
Processdata cycle   264 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime          999 ,dt            8 
Processdata cycle   299 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime          998 ,dt            3 
Processdata cycle   333 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime          998 ,dt            1 
Processdata cycle   368 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime         1001 ,dt            0 
Processdata cycle   403 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime         1000 ,dt            0 
Processdata cycle   438 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime          999 ,dt           -1 
Processdata cycle   473 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime         1000 ,dt           -1 
Processdata cycle   508 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime          998 ,dt           -2 
Processdata cycle   543 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime         1000 ,dt           -2 
Processdata cycle   578 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime          998 ,dt           -2 
Processdata cycle   613 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime          998 ,dt           -2 
Processdata cycle   647 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime         1000 ,dt           -2 
Processdata cycle   682 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime         1002 ,dt            0 
Processdata cycle   717 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime         1001 ,dt           -2 
Processdata cycle   752 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime          999 ,dt           -2 
Processdata cycle   787 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime         1000 ,dt           -2 
Processdata cycle   828 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime         1000 ,dt           -1 
Processdata cycle   863 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime          999 ,dt           -1 
Processdata cycle   916 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime          994 ,dt           -3 
Processdata cycle   951 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime         1001 ,dt           -2 
Processdata cycle   986 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime         1000 ,dt           -2 
Processdata cycle  1021 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime          998 ,dt           -1 
Processdata cycle  1056 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime         1000 ,dt           -1 
Processdata cycle  1091 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime          999 ,dt           -1 
Processdata cycle  1144 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime          999 ,dt           -1 
Processdata cycle  1192 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime         1000 ,dt           -2 
Processdata cycle  1228 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime          999 ,dt           -2 
Processdata cycle  1263 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime         1000 ,dt           -1 
Processdata cycle  1298 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime          999 ,dt           -1 
Processdata cycle  1333 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime          999 ,dt            1 
Processdata cycle  1368 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime         1002 ,dt            0 
Processdata cycle  1408 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime          999 ,dt            0 
Processdata cycle  1448 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime         1002 ,dt            1 
Processdata cycle  1483 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime          999 ,dt           -4 
Processdata cycle  1518 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime          996 ,dt           -2 
Processdata cycle  1553 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime         1000 ,dt           -2 
Processdata cycle  1587 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime          999 ,dt           -1 
Processdata cycle  1637 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime          999 ,dt            0 
Processdata cycle  1673 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime          999 ,dt            0 
Processdata cycle  1708 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime          999 ,dt            0 
Processdata cycle  1742 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime          999 ,dt            0 
Processdata cycle  1777 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime          997 ,dt            0 
Processdata cycle  1812 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime         1001 ,dt            1 
Processdata cycle  1853 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime         1000 ,dt            0 
Processdata cycle  1888 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime          999 ,dt            0 
Processdata cycle  1923 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime          999 ,dt            1 
Processdata cycle  1958 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime          999 ,dt            0 
Processdata cycle  1993 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime          999 ,dt            0 
Processdata cycle  2028 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime         1000 ,dt            0 
Processdata cycle  2063 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime          997 ,dt            0 
Processdata cycle  2097 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime         1003 ,dt            3 
Processdata cycle  2131 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime          996 ,dt            0 
Processdata cycle  2184 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime          999 ,dt            0 
Processdata cycle  2219 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime         1000 ,dt           -2 

@fahd099
Copy link
Author

fahd099 commented Mar 7, 2025

This is the LattePanda delta DCtime :

Processdata cycle    50 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime          621 ,dt         -383 
Processdata cycle   101 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime          620 ,dt         -308 
Processdata cycle   151 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime          618 ,dt         -268 
Processdata cycle   202 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime          619 ,dt         -238 
Processdata cycle   253 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime         1234 ,dt           33 
Processdata cycle   305 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime         1228 ,dt           47 
Processdata cycle   355 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime         1189 ,dt          169 
Processdata cycle   406 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime          654 ,dt         -168 
Processdata cycle   456 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime         1096 ,dt          175 
Processdata cycle   507 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime         1107 ,dt          184 
Processdata cycle   556 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime         1102 ,dt          178 
Processdata cycle   606 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime          655 ,dt         -159 
Processdata cycle   655 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime          644 ,dt         -173 
Processdata cycle   704 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime         1234 ,dt           74 
Processdata cycle   754 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime         1245 ,dt           48 
Processdata cycle   805 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime         1245 ,dt           71 
Processdata cycle   856 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime          636 ,dt         -184 
Processdata cycle   906 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime         1245 ,dt           63 
Processdata cycle   957 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime         1250 ,dt           51 
Processdata cycle  1007 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime         1243 ,dt           73 
Processdata cycle  1056 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime          642 ,dt         -178 
Processdata cycle  1107 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime          620 ,dt         -201 
Processdata cycle  1158 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime         1237 ,dt           62 
Processdata cycle  1210 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime          652 ,dt         -171 
Processdata cycle  1260 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime         1236 ,dt           70 
Processdata cycle  1311 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime         1244 ,dt           70 
Processdata cycle  1360 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime         1104 ,dt          178 
Processdata cycle  1410 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime          621 ,dt         -206 
Processdata cycle  1461 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime         1237 ,dt           62 
Processdata cycle  1510 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime         1243 ,dt           74 
Processdata cycle  1560 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime          635 ,dt         -181 
Processdata cycle  1611 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime         1115 ,dt          179 
Processdata cycle  1660 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime          642 ,dt         -178 
Processdata cycle  1711 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime         1242 ,dt           69 
Processdata cycle  1762 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime         1181 ,dt          181 
Processdata cycle  1813 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime          634 ,dt         -188 
Processdata cycle  1864 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime         1235 ,dt           56 
Processdata cycle  1914 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime         1237 ,dt           61 
Processdata cycle  1964 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime          650 ,dt         -177 
Processdata cycle  2013 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime          651 ,dt         -173 
Processdata cycle  2061 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime          651 ,dt         -174 
Processdata cycle  2111 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime         1236 ,dt           57 
Processdata cycle  2162 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime         1237 ,dt           75 
Processdata cycle  2214 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime         1238 ,dt           63 
Processdata cycle  2263 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime          617 ,dt         -207 
Processdata cycle  2313 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime          657 ,dt         -175 
Processdata cycle  2364 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime          655 ,dt         -164 
Processdata cycle  2413 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime          643 ,dt         -176 
Processdata cycle  2464 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime         1192 ,dt          186 
Processdata cycle  2515 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime          645 ,dt         -168 
Processdata cycle  2564 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime         1083 ,dt          179 
Processdata cycle  2615 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime          634 ,dt         -182 
Processdata cycle  2665 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime          641 ,dt         -173 
Processdata cycle  2716 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime         1237 ,dt           64 
Processdata cycle  2766 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime         1255 ,dt           54 
Processdata cycle  2816 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime         1241 ,dt           57 
Processdata cycle  2867 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime         1243 ,dt           69 
Processdata cycle  2917 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime         1245 ,dt           45 
Processdata cycle  2965 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime         1198 ,dt          180 
Processdata cycle  3016 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime         1182 ,dt          173 
Processdata cycle  3066 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime          619 ,dt         -208 
Processdata cycle  3117 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime         1239 ,dt           56 
Processdata cycle  3169 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime         1235 ,dt           66 
Processdata cycle  3219 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime         1244 ,dt           60 
Processdata cycle  3269 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime          629 ,dt         -196 
Processdata cycle  3321 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime          626 ,dt         -200 
Processdata cycle  3373 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime          653 ,dt         -163 
Processdata cycle  3424 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime         1922 ,dt          -44 
Processdata cycle  3479 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime         1082 ,dt          187 
Processdata cycle  3529 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime          650 ,dt         -167 
Processdata cycle  3578 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime          635 ,dt         -177 
Processdata cycle  3629 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime          645 ,dt         -169 
Processdata cycle  3678 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime         1240 ,dt           64 
Processdata cycle  3729 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime          629 ,dt         -187 
Processdata cycle  3780 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime          651 ,dt         -167 
Processdata cycle  3831 , Wck   3 , sdo_stat (1) - State 8 , [No error], ErrCnt(0) , DCtime         1922 ,dt          329 

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant