Setting TJA1463 to normal mode on S32K1SIC

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Setting TJA1463 to normal mode on S32K1SIC

Jump to solution
787 Views
KelvinSmith
Contributor III

I am trying to use the CAN bus on the S32K1SIC. I have been working with the LibUAVCAN demo and a FlexCAN demo (and other bits of sample code), but I have not been able to ever transmit or receive any data. Today I found that that pins 10 and 11 of PORTE control the STB_N pin on the TJA1463s (the transceivers). That allows me to put the transceivers into standby mode, but they have to be in normal mode to transfer data. To do that I have to also control the EN pin (enable). I don't know what pins correspond to those on the S32K146 processor on the S32K1SIC board.

0 Kudos
1 Solution
769 Views
Robin_Shen
NXP TechSupport
NXP TechSupport

Hi KelvinSmith,

Do you test the libuavcanV1_demo? That example seems that for UCANS32K146(not for UCANS32K1SIC). That example clear CAN0_STB(PTE11) and CAN1_STB(PTE10) in canfd.cpp. You may need to set CAN0_STB(PTE11) and CAN1_STB(PTE10) and CAN0_EN(PTA10) to high voltage:

        PORTA->PCR[10] |= PORT_PCR_MUX(1); /* MUX to GPIO */
        PTA->PDDR |= 1 << 10;              /* Set direction as output */
        PTA->PSOR |= 1 << 10;              /* Set the pin HIGH */

        PORTE->PCR[11] |= PORT_PCR_MUX(1); /* MUX to GPIO */
        PTE->PDDR |= 1 << 11;              /* Set direction as output */
        PTE->PSOR |= 1 << 11;              /* Set the pin HIGH */

        PORTE->PCR[10] |= PORT_PCR_MUX(1); /* Same as above */
        PTE->PDDR |= 1 << 10;
        PTE->PSOR |= 1 << 10;

Please make sure the voltage are high for those pins.

PTE10 PTE11 PTA10.png


Best Regards,
Robin
-------------------------------------------------------------------------------
Note:
- If this post answers your question, please click the "Mark Correct" button. Thank you!

- We are following threads for 7 weeks after the last post, later replies are ignored
Please open a new thread and refer to the closed one, if you have a related question at a later point in time.
-------------------------------------------------------------------------------

View solution in original post

0 Kudos
5 Replies
687 Views
KelvinSmith
Contributor III

I have been able to resolve this issue for can bus 1, but not canbus 0. The solution was to get both the enable and standby pins set high to the transceiver. For some reason I have not managed this for canbus 0 yet, but we are getting by on bus 1.

0 Kudos
725 Views
KelvinSmith
Contributor III

I am marking this as resolved, because I have verified according to the pins that the transceivers are in normal mode, and I have the documentation on them that I was looking for. Unfortunately I still cannot send or receive data, but that is really a separate issue.

 

0 Kudos
780 Views
KelvinSmith
Contributor III

I located the schematic for the S32K1SIC board and found that the CAN0 enable pin is 10 on PORTA and the CAN1 enable pin is 2 on PORTE. Unfortunately setting these pins did not solve my problem with receiving CAN data.

0 Kudos
770 Views
Robin_Shen
NXP TechSupport
NXP TechSupport

Hi KelvinSmith,

Do you test the libuavcanV1_demo? That example seems that for UCANS32K146(not for UCANS32K1SIC). That example clear CAN0_STB(PTE11) and CAN1_STB(PTE10) in canfd.cpp. You may need to set CAN0_STB(PTE11) and CAN1_STB(PTE10) and CAN0_EN(PTA10) to high voltage:

        PORTA->PCR[10] |= PORT_PCR_MUX(1); /* MUX to GPIO */
        PTA->PDDR |= 1 << 10;              /* Set direction as output */
        PTA->PSOR |= 1 << 10;              /* Set the pin HIGH */

        PORTE->PCR[11] |= PORT_PCR_MUX(1); /* MUX to GPIO */
        PTE->PDDR |= 1 << 11;              /* Set direction as output */
        PTE->PSOR |= 1 << 11;              /* Set the pin HIGH */

        PORTE->PCR[10] |= PORT_PCR_MUX(1); /* Same as above */
        PTE->PDDR |= 1 << 10;
        PTE->PSOR |= 1 << 10;

Please make sure the voltage are high for those pins.

PTE10 PTE11 PTA10.png


Best Regards,
Robin
-------------------------------------------------------------------------------
Note:
- If this post answers your question, please click the "Mark Correct" button. Thank you!

- We are following threads for 7 weeks after the last post, later replies are ignored
Please open a new thread and refer to the closed one, if you have a related question at a later point in time.
-------------------------------------------------------------------------------

0 Kudos
757 Views
KelvinSmith
Contributor III

Thanks, I did find that information and had tried it. Unfortunately this, nor anything else, has solved this issue. We continue to be unable to receive or transmit data over the CAN bus on the S32K1SIC board. Right now we're putting it on the back burner.

0 Kudos