Setting TJA1463 to normal mode on S32K1SIC

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

Setting TJA1463 to normal mode on S32K1SIC

ソリューションへジャンプ
1,292件の閲覧回数
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,274件の閲覧回数
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,192件の閲覧回数
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,230件の閲覧回数
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,285件の閲覧回数
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,275件の閲覧回数
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,262件の閲覧回数
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 件の賞賛
返信