cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Highlighted
Visitor
Visitor
441 Views
Registered: ‎09-30-2014

ZC702 CAN issue

Hello,

I have a ZC702 eval board and I'm trying to test CAN on the maximum speed (sending packets without any delay) and write all data to SD card under Linux (created via petalinux + linux-xlnx 3.17)
I use can_utils (http://www.wiki.xilinx.com/Linux+CAN+driver) to work with CAN. I configure CAN to 500 Kbit/s and run candump to create log file. Using default candump (which creates text file) many packets are lost. I changed source code for write data to binary file and after that CAN begin to halt. After this halt all registers are like after inteface reset. I noticed that ISR register before the halt set '1' in Receive FIFO Watermark Full Interrupt bit and then '1' in RX FIFO Overflow Interrupt bit (in the log file the sequence of ISR CAN register is like 0x6000 -> 0x6080  -> 0x6090 -> 0x7090 -> 0x70d0  -> (halt) -> 0x6000). After halt ifconfig shows:

root@petacan:/mnt# ifconfig can0
can0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
          UP RUNNING NOARP  MTU:16  Metric:1
          RX packets:907006 errors:1 dropped:0 overruns:0 frame:1
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:10
          RX bytes:7256048 (6.9 MiB)  TX bytes:0 (0.0 B)
          Interrupt:60

Standalone application works good with this kit.
So, why does CAN halt? What is possible to do to fix that problem?

0 Kudos
0 Replies