UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Visitor rfontana
Visitor
148 Views
Registered: ‎02-21-2019

No communication on a can bus in XCAN_MODE_NORMAL

Dear forum users,

I am trying to use the Xilinx® LogiCORE™ IP CAN on a Kintex board to programm an Elmo motor which is controlled by  a CAN server. I have implemented our CAN client software based on the provided interrupt example. While in LOOPBACK_MODE everything is working, as soon as I connect our board to a real can bus and I select the NORMAL_MODE, I am not able to establish any communication on the bus. What is happening is that as soon as I use XCan_Send and XCan_WriteReg to write the words into the registers (a 2 data bytes long can frame), the code starts to get continuously events (BUS off) and errors (BIT error) based on the triggered interrupts. With an oscilloscope I see that we are always trying to retransmitt the message (this is an IP feature) and moreover the SRs (status registers) say we are in "normal_mode" but "no communication is happening on the can bus". The expected send callback handler is never called and the server is not supposed to send any CAN msg as it is only a server. Now I wonder how can I check if I made any trivial mistake on the SW. Maybe you have tips how to debug all this based on your experience. Who has already implemented a similar scenario ? 

As last info I say that I wonder if the macros XCan_CreateIdValue(0) and  XCan_CreateDlcValue(2) may be the cause of the problem.

Regards

Riccardo 

0 Kudos