Setting TJA1463 to normal mode on S32K1SIC

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

Setting TJA1463 to normal mode on S32K1SIC

跳至解决方案
1,297 次查看
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 项奖励
回复
1 解答
1,279 次查看
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 项奖励
回复
5 回复数
1,197 次查看
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 项奖励
回复
1,235 次查看
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 项奖励
回复
1,290 次查看
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 项奖励
回复
1,280 次查看
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 项奖励
回复
1,267 次查看
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 项奖励
回复