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.

F28M35H52C1 CAN module sent ACK bit

Hi Champs,

Now customer are using F28M35 CAN module. Due to CAN data frame, there is a Acknowledge-slot bit and Acknowledge-delimiter bit. However, i check the datasheet which didn't mentioned CAN module will set Ack bit to transmitter or not. I check the CANMessageGet/CANMessageSet function which didn't mention acknowledge part also. I guess in CAN module, it will automatically set ACK bit after we receive date successfully. I think CAN message handler will set ACK bit. Could you please tell me am I right ? If CAN module won't sent ACK bit automatically, should customer sent it by manually?  thanks for your reply in advance. 

Also, i check BOSCH CAN SPEC v2.0 which mention active error/passive error. I check on internet which shows when node(receiver) detects error then will sent out error frame.  Could you please tell me how node(receiver) detect error and will CAN module sent out error frame automatically ? Or customer need to handle by manually? Thank you. 

  • Lisa,

                ACKnowledging a dataframe is done automatically by the CAN hardware. Software does not have to do anything. The CAN module on the chip takes care of this protocol requirement automatically. Every CAN node on the network will do this automatically.

     

    Likewise, generation of error-frames is also done automatically. No S/W involvement. Every CAN node monitors for specific error conditions (again defined by the CAN protocol) and will automatically generate an error frame when it detects an error condition. From a user perspective, what is important to know is what type of errors are detected (and why they occur in the first place), not so much how they are detected.

  • Hi Haressh,
    Thanks for reply. Now user face a problem which error counter increase and greater than 255. Node enter bus off mode... I will check BOSCH SPEC to figure how error counter be increased. thank you.
  • Lisa,

    The error counters increment/decrement based on a complex set of protocol rules. In a properly designed network, a bus-off condition should seldom occur. By "properly designed", I am referring to bit-timing, electrical interface part and shielding of the overall design. Problems in one or more of these areas could result in excessive error frames leading to a bus-off situation.

  • Hi Hareesh,
    Thanks for your reply. We just check bit timing. In our example code, CAN module clock input is M3SSCLK which is 75Mhz. Am i right ? If they used 75Mhz for CAN module.... i think this is quite faster than normal. i think normal situation which CAN module clock is 8Mhz. I will ask them to change to external oscillator to see how it goes. thank you
  • Hi Hareesh,

    Sorry, i don't know CAN very well. Need to consult with you.

    I checked datasheet which mentioned message handler will generate RX interrupt automatically. Could you please tell me if F28M35 receive error frame, will it trigger Rx interrupt ? thanks for your reply. 

  • Lisa,

    Error frame will not (should not) trigger RX interrupt. When there is an error-frame on the bus, the transmitting node would sense the error condition and re-transmit the frame.