Error in recovery from BUSOFF

Back to bugtracker overview.

Information:
Type :: BUG
Status :: OPENED
Assigned to ::

Description:
In can_bsp.v there is an error:

present:
assign error_status = extended_mode? ((rx_err_cnt >= error_warning_limit) | (tx_err_cnt >= error_warning_limit)) :
((rx_err_cnt >= 9'd96) | (tx_err_cnt >= 9'd96));

must be:
assign error_status = extended_mode? ((rx_err_cnt >= error_warning_limit) | (tx_err_cnt >= error_warning_limit) | node_bus_off) : ((rx_err_cnt >= 9'd96) | (tx_err_cnt >= 9'd96) | node_bus_off);

It affects on recovery from BUSOFF: in BUSOFF, when error status bit is cleared (by counting down tx_err_cnt to value=95), error warning interrupt is generated, but clear of error status bit in accordance to SJA1000 datasheet must be done after recovery from BUSOFF, not in BUSOFF.

Comments:
No comments yet...

Post a comment:
Login to post comments!

Back to bugtracker overview.

© copyright 1999-2010 OpenCores.org, equivalent to ORSoC AB, all rights reserved. OpenCores®, registered trademark.