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.

LAUNCHXL-F28069M: eCan on F28069M

Part Number: LAUNCHXL-F28069M
Other Parts Discussed in Thread: C2000WARE

Respected Sir

I am facing the same issue with eCAN back to back code. I am using 2 boards (LAUNCHXL-F28069M) and two computers. My one node is transmitting and the other node is intended for receiving the data. In the receiver code I have mask the transmitting lines and also disabled the self test mode. Still I am not getting the output. I have tried many times on the trial and error basis but all in vain. I have read the many documents related to eCAN and also read many threads related to this issue on TI community and observed that no one got the solution for this. I read the thread of Nolan Snell in which he told that his issue got resolved. My problem is same, can I ask what changes he made or can you share the code for the same. I am working on this code since last one month but still facing the issue. I have stuck here. I request TI to help me out. It would be the great help in my system development.

Regards

Nisha Gosavi

  • Have you tried the examples in my app.note SPRA876? They are tested examples. All you need to do is to compile/link for 28069
  • hello sir,

    where I can find app.note SPRA876. Can you please share the link

    Nisha
  • Here is the link: http://www.ti.com/lit/an/spra876b/spra876b.pdf What you are attempting to do is very straightforward. Please read through the app.note for how to connect the nodes (and also the debugging tips). You can run the Transmit code on one node and Receive code on another. Remember to reconfigure the bit-timing parameters for 28069, which runs at 90 MHz. See the C2000Ware example for reference.

  • Hello Sir

    I have downloaded those files and trying to build the project but I am facing some errors of common include and header include files.
    I want to ask that in which directory I should put those projects ?

    Nisha
  • As explained in my app.note, the examples were written for 28335. What you need to do is to unzip the examples in C:\ti\c2000\C2000Ware_1_00_05_00\device_support\f2833x\examples. You then need to create your new project directory under C:\ti\c2000\C2000Ware_1_00_05_00\device_support\f2806x\examples\c28. Once you create the new project directory, copy the C source file from C:\ti\c2000\C2000Ware_1_00_05_00\device_support\f2833x\examples. Compile and link the project. You should be good to go. You will need to do this for two projects: CAN_TXLOOP & CAN_RXLOOP.

  • Respected Sir,
    I did the same and the code for CAN_TXLOOP_A is now working properly. I the CAN_TXLOOP_A code only CAN_A is used. But when I am running the code containing both CAN_A and CAN_B at that time I am facing compiler errors. The reason behind that is registers and mailboxes for CAN_B module are not defined. I have tried to define them according to the definition of CAN_A inF28069_eCAN.c file. But the errors are still exist. In short my code is not accepting CAN_B module. What should I do ?

    Nisha
  • Nisha,

                The app.note examples were written for 28335, which has two CAN modules (eCAN-A & eCAN-B). You are attempting to run the examples on 28069, which has only one CAN and hence the errors. (CAN_TXLOOP_A

    uses only CAN-A, but CAN_RXLOOP uses both CAN-A & CAN-B). From my understanding, what you are trying to do is to have two Launchpads talk to each other. What you could do is this:

    On the transmitter, run CAN_TXLOOP_A – You mentioned you already got this working.

    On the receiver side also, run CAN_TXLOOP_A. However, comment out the following line inside the while loop: (in fact, you could delete all the lines inside the while loop)

     

    ECanaShadow.CANTRS.bit.TRS25 = 1;     // Set TRS for mailbox under test    

     

    This will ensure that the receiver does not attempt to transmit. Remember, all that is needed for successful transmission is for at least one node to simply ACK the transmitted message. Any node configured for the correct bit-rate will do that for you. I have explained all this in my app.note.

  • I am closing this thread since there has been no response.
  • I haven't tried it sir because I was busy on another module. I will definitely try this today and let you know what is exactly happening.

    Nisha
  • Respected sir,

    I also want to add the time stamping feature of eCAN module. As mention in the document : www.ti.com/.../spra876b.pdf the code CAN_TRPRTSTP_A set the time stamping. I have also read the time stamping in technical reference of eCAN. I am not getting the following points:
    a) what the time stamping exactly means and why to use it
    b) where you have set the time stamping register in that code (CAN_TRPRTSTP_A)
    c) what are the changes and where to see those changes after debugging.
    d) CAN_TRPRTSTP_A is only transmitting, what if I want to receive the data on another board.
    I tried it by setting 0-15 as Tx mailbox and 16-31 as Rx mailbox. Also I have comment out the transmitting section on receiver side still not working.

    Regards,
    Nisha
  • Nisha,
    Before we go into time-stamping, did you get two CAN nodes to talk to each other? It is important to get this basic setup working before we get into time-stamping.

    For time-stamping, could you please open a new thread, since it is a different topic?
  • Ok sir I will open a new thread.

    Nisha
  • Respected Sir,

    my two f28069M boards are now communicating properly using CAN.
    Thank you sir!

    Thanks & Regards,
    Nisha Gosavi
  • Nisha,

       Glad to know your problem got resolved. Please do share what the issue was, for the benefit of others.