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.

AM57x CAN controller feature for MilCAN-B support

Team,

Can the AM572x Sitara DCAN controller support MilCAN-B?
I understand that part of the MilCAN-B recommendation is handle by the SW and we seem that we have Third party that provide MilCAN stack:
https://e2e.ti.com/support/dsp/davinci_digital_media_processors/f/716/p/198314/804508#804508

But from the CAN controller there are some specific requirements to be met. The specific interest is the following requirement from the MilCAN specification:
3.2.10 Link Layer Flow Control – Compulsory
The ‘overload’ frame of the ISO11898 CAN standard should never be invoked by the LLC
sub-layer of a device’s CAN controller. CAN controllers should be selected such that they
can accommodate the maximum level of bus activity.

Can the DCAN controller be setup to support this?

Thanks in advance,

Anthony

 

  • Hi Anthony,

    I will ask the factory team to comment. They will respond here.
  • AnBer,

    I believe the MILCAN requirements are supported by the DCAN peripheral. I did not see it spiked out in our documentation. Researching this feature found that:

    "MilCAN is a software-based higher layer protocol that uses CAN and does not need any special hardware. It is an open protocol (which you can download from www.milcan.org/.../downloads.html ) and you can implement it on most systems with a CAN controller. One main hardware requirement is to be able to stop automatic retransmission of a failed CAN message, either by hardware (supported by the CAN controller) or software (manually stopping the pending TX message following an error)."

    Section 23.3.15.3 of http://www.ti.com/lit/ug/spruh73o/spruh73o.pdf

    "When a transmission failed (lost arbitration or error) bit NewDat remains set. To restart the transmission, the application has to set TxRqst again."

    Also, SW can configure an interrupt upon Error which could be used to disable further transmission. Note that an ECC DED will also trigger the PER and will stop transmission (23.3.12.1 Behavior on Parity Error).

    I hope this helps.

    Lali