<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>S32KのトピックS32K146 CAN FD send state is always BUSY</title>
    <link>https://community.nxp.com/t5/S32K/S32K146-CAN-FD-send-state-is-always-BUSY/m-p/1671722#M24113</link>
    <description>&lt;P class=""&gt;&lt;SPAN class=""&gt;When running CANFD demo, the BUSY state is always returned when sending data. &lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;Hardware: S32K146 + TJA1145FD &lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;PE configuration:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="jiaguangcheng_0-1687160789298.png" style="width: 400px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/228265iA1789719EDC1DE6D/image-size/medium?v=v2&amp;amp;px=400" role="button" title="jiaguangcheng_0-1687160789298.png" alt="jiaguangcheng_0-1687160789298.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;codes:&lt;SPAN&gt;The software code is based on TJA1145 demo and S32K146 can_pal_s32k146 demo&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;void Hwi_test()&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;unsigned char ret = 1;&lt;BR /&gt;//HWI_TJA1145_Init();&lt;BR /&gt;ret = StartupOperation();&lt;BR /&gt;//AddTaskToScheduler(CHANGE_TO_NORMAL);&lt;BR /&gt;unsigned int count = 0;&lt;BR /&gt;TJA1145FD_Transceiver_Status_Reg_t trcvStatus;&lt;BR /&gt;TJA1145FD_CAN_Control_Reg_t cc;&lt;BR /&gt;&lt;BR /&gt;(void) TJA1145FD_getTransceiverStatus(&amp;amp;trcvStatus.TJA1145FD_CTS, &amp;amp;trcvStatus.TJA1145FD_CPNERR, &amp;amp;trcvStatus.TJA1145FD_CPNS, &amp;amp;trcvStatus.TJA1145FD_COSCS, &amp;amp;trcvStatus.TJA1145FD_CBSS, &amp;amp;trcvStatus.TJA1145FD_VCS, &amp;amp;trcvStatus.TJA1145FD_CFS);&lt;BR /&gt;if (TJA1145FD_getCANControl(&amp;amp;cc.TJA1145FD_CFDC, &amp;amp;cc.TJA1145FD_PNCOK, &amp;amp;cc.TJA1145FD_CPNC, &amp;amp;cc.TJA1145FD_CMC)!= NXP_UJA11XX_SUCCESS) {&lt;BR /&gt;ret = E_NOT_OK;&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;CAN_Init(&amp;amp;CAN0_pal1_instance, &amp;amp;CAN0_pal1_Config0);&lt;/P&gt;&lt;P&gt;/* Set information about the data to be sent&lt;BR /&gt;* - Standard message ID&lt;BR /&gt;* - Bit rate switch enabled to use a different bitrate for the data segment&lt;BR /&gt;* - Flexible data rate enabled&lt;BR /&gt;* - Use zeros for FD padding&lt;BR /&gt;*/&lt;BR /&gt;can_buff_config_t buffCfg = {&lt;BR /&gt;.enableFD = true,&lt;BR /&gt;.enableBRS = true,&lt;BR /&gt;.fdPadding = 0U,&lt;BR /&gt;.idType = CAN_MSG_ID_STD,&lt;BR /&gt;.isRemote = false&lt;BR /&gt;};&lt;/P&gt;&lt;P&gt;/* Configure RX buffer with index RX_MAILBOX */&lt;BR /&gt;CAN_ConfigRxBuff(&amp;amp;CAN0_pal1_instance, 0, &amp;amp;buffCfg, 0x45);&lt;BR /&gt;/* Configure TX buffer with index TX_MAILBOX*/&lt;BR /&gt;CAN_ConfigTxBuff(&amp;amp;CAN0_pal1_instance, 1, &amp;amp;buffCfg);&lt;/P&gt;&lt;P&gt;/* Prepare message to be sent */&lt;BR /&gt;can_message_t message = {&lt;BR /&gt;.cs = 0U,&lt;BR /&gt;.id = 0x42,&lt;BR /&gt;.data[0] = 0x55,&lt;BR /&gt;.length = 8U&lt;BR /&gt;};&lt;BR /&gt;&lt;BR /&gt;// extern void TJA1145_main(void);&lt;BR /&gt;// TJA1145_main();&lt;/P&gt;&lt;P&gt;/* Send the information via CAN */&lt;BR /&gt;CAN_Send(&amp;amp;CAN0_pal1_instance, 1, &amp;amp;message);&lt;/P&gt;&lt;P&gt;while(1)&lt;BR /&gt;{&lt;BR /&gt;/* Define receive buffer */&lt;BR /&gt;can_message_t recvMsg;&lt;/P&gt;&lt;P&gt;/* Start receiving data in RX_MAILBOX. */&lt;BR /&gt;// CAN_Receive(&amp;amp;CAN0_pal1_instance, 0, &amp;amp;recvMsg);&lt;/P&gt;&lt;P&gt;/* Wait until the previous FlexCAN receive is completed */&lt;BR /&gt;while(CAN_GetTransferStatus(&amp;amp;CAN0_pal1_instance, 1) != STATUS_BUSY)&lt;BR /&gt;{&lt;BR /&gt;CAN_Send(&amp;amp;CAN0_pal1_instance, 0, &amp;amp;message);&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;// FLEXCAN0_transmit_msg();&lt;BR /&gt;// message.data[0] += 1;}&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;Question: &lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;1. Why are you always BUSY? What are the reasons and recommended directions for troubleshooting? &lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;Note: The CAN0 TX port of the S32K146 remains high at all times.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="jiaguangcheng_1-1687161390965.png" style="width: 400px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/228270i09D6248F66250732/image-size/medium?v=v2&amp;amp;px=400" role="button" title="jiaguangcheng_1-1687161390965.png" alt="jiaguangcheng_1-1687161390965.png" /&gt;&lt;/span&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="jiaguangcheng_2-1687161416786.png" style="width: 400px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/228271i3186033384A6A48C/image-size/medium?v=v2&amp;amp;px=400" role="button" title="jiaguangcheng_2-1687161416786.png" alt="jiaguangcheng_2-1687161416786.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;2.&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;Is the TX status of CAN0 affected by TJA1145? &lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;Note: The initialization status of TJA1145 is as follows:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="jiaguangcheng_3-1687161459061.png" style="width: 400px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/228272i4E599124793AA752/image-size/medium?v=v2&amp;amp;px=400" role="button" title="jiaguangcheng_3-1687161459061.png" alt="jiaguangcheng_3-1687161459061.png" /&gt;&lt;/span&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="jiaguangcheng_4-1687161486268.png" style="width: 400px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/228273i28212E70B1F4F320/image-size/medium?v=v2&amp;amp;px=400" role="button" title="jiaguangcheng_4-1687161486268.png" alt="jiaguangcheng_4-1687161486268.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Thanks a lot.&lt;/SPAN&gt;&lt;/P&gt;</description>
    <pubDate>Mon, 19 Jun 2023 08:00:11 GMT</pubDate>
    <dc:creator>cjgyf</dc:creator>
    <dc:date>2023-06-19T08:00:11Z</dc:date>
    <item>
      <title>S32K146 CAN FD send state is always BUSY</title>
      <link>https://community.nxp.com/t5/S32K/S32K146-CAN-FD-send-state-is-always-BUSY/m-p/1671722#M24113</link>
      <description>&lt;P class=""&gt;&lt;SPAN class=""&gt;When running CANFD demo, the BUSY state is always returned when sending data. &lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;Hardware: S32K146 + TJA1145FD &lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;PE configuration:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="jiaguangcheng_0-1687160789298.png" style="width: 400px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/228265iA1789719EDC1DE6D/image-size/medium?v=v2&amp;amp;px=400" role="button" title="jiaguangcheng_0-1687160789298.png" alt="jiaguangcheng_0-1687160789298.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;codes:&lt;SPAN&gt;The software code is based on TJA1145 demo and S32K146 can_pal_s32k146 demo&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;void Hwi_test()&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;unsigned char ret = 1;&lt;BR /&gt;//HWI_TJA1145_Init();&lt;BR /&gt;ret = StartupOperation();&lt;BR /&gt;//AddTaskToScheduler(CHANGE_TO_NORMAL);&lt;BR /&gt;unsigned int count = 0;&lt;BR /&gt;TJA1145FD_Transceiver_Status_Reg_t trcvStatus;&lt;BR /&gt;TJA1145FD_CAN_Control_Reg_t cc;&lt;BR /&gt;&lt;BR /&gt;(void) TJA1145FD_getTransceiverStatus(&amp;amp;trcvStatus.TJA1145FD_CTS, &amp;amp;trcvStatus.TJA1145FD_CPNERR, &amp;amp;trcvStatus.TJA1145FD_CPNS, &amp;amp;trcvStatus.TJA1145FD_COSCS, &amp;amp;trcvStatus.TJA1145FD_CBSS, &amp;amp;trcvStatus.TJA1145FD_VCS, &amp;amp;trcvStatus.TJA1145FD_CFS);&lt;BR /&gt;if (TJA1145FD_getCANControl(&amp;amp;cc.TJA1145FD_CFDC, &amp;amp;cc.TJA1145FD_PNCOK, &amp;amp;cc.TJA1145FD_CPNC, &amp;amp;cc.TJA1145FD_CMC)!= NXP_UJA11XX_SUCCESS) {&lt;BR /&gt;ret = E_NOT_OK;&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;CAN_Init(&amp;amp;CAN0_pal1_instance, &amp;amp;CAN0_pal1_Config0);&lt;/P&gt;&lt;P&gt;/* Set information about the data to be sent&lt;BR /&gt;* - Standard message ID&lt;BR /&gt;* - Bit rate switch enabled to use a different bitrate for the data segment&lt;BR /&gt;* - Flexible data rate enabled&lt;BR /&gt;* - Use zeros for FD padding&lt;BR /&gt;*/&lt;BR /&gt;can_buff_config_t buffCfg = {&lt;BR /&gt;.enableFD = true,&lt;BR /&gt;.enableBRS = true,&lt;BR /&gt;.fdPadding = 0U,&lt;BR /&gt;.idType = CAN_MSG_ID_STD,&lt;BR /&gt;.isRemote = false&lt;BR /&gt;};&lt;/P&gt;&lt;P&gt;/* Configure RX buffer with index RX_MAILBOX */&lt;BR /&gt;CAN_ConfigRxBuff(&amp;amp;CAN0_pal1_instance, 0, &amp;amp;buffCfg, 0x45);&lt;BR /&gt;/* Configure TX buffer with index TX_MAILBOX*/&lt;BR /&gt;CAN_ConfigTxBuff(&amp;amp;CAN0_pal1_instance, 1, &amp;amp;buffCfg);&lt;/P&gt;&lt;P&gt;/* Prepare message to be sent */&lt;BR /&gt;can_message_t message = {&lt;BR /&gt;.cs = 0U,&lt;BR /&gt;.id = 0x42,&lt;BR /&gt;.data[0] = 0x55,&lt;BR /&gt;.length = 8U&lt;BR /&gt;};&lt;BR /&gt;&lt;BR /&gt;// extern void TJA1145_main(void);&lt;BR /&gt;// TJA1145_main();&lt;/P&gt;&lt;P&gt;/* Send the information via CAN */&lt;BR /&gt;CAN_Send(&amp;amp;CAN0_pal1_instance, 1, &amp;amp;message);&lt;/P&gt;&lt;P&gt;while(1)&lt;BR /&gt;{&lt;BR /&gt;/* Define receive buffer */&lt;BR /&gt;can_message_t recvMsg;&lt;/P&gt;&lt;P&gt;/* Start receiving data in RX_MAILBOX. */&lt;BR /&gt;// CAN_Receive(&amp;amp;CAN0_pal1_instance, 0, &amp;amp;recvMsg);&lt;/P&gt;&lt;P&gt;/* Wait until the previous FlexCAN receive is completed */&lt;BR /&gt;while(CAN_GetTransferStatus(&amp;amp;CAN0_pal1_instance, 1) != STATUS_BUSY)&lt;BR /&gt;{&lt;BR /&gt;CAN_Send(&amp;amp;CAN0_pal1_instance, 0, &amp;amp;message);&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;// FLEXCAN0_transmit_msg();&lt;BR /&gt;// message.data[0] += 1;}&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;Question: &lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;1. Why are you always BUSY? What are the reasons and recommended directions for troubleshooting? &lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;Note: The CAN0 TX port of the S32K146 remains high at all times.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="jiaguangcheng_1-1687161390965.png" style="width: 400px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/228270i09D6248F66250732/image-size/medium?v=v2&amp;amp;px=400" role="button" title="jiaguangcheng_1-1687161390965.png" alt="jiaguangcheng_1-1687161390965.png" /&gt;&lt;/span&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="jiaguangcheng_2-1687161416786.png" style="width: 400px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/228271i3186033384A6A48C/image-size/medium?v=v2&amp;amp;px=400" role="button" title="jiaguangcheng_2-1687161416786.png" alt="jiaguangcheng_2-1687161416786.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;2.&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;Is the TX status of CAN0 affected by TJA1145? &lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;Note: The initialization status of TJA1145 is as follows:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="jiaguangcheng_3-1687161459061.png" style="width: 400px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/228272i4E599124793AA752/image-size/medium?v=v2&amp;amp;px=400" role="button" title="jiaguangcheng_3-1687161459061.png" alt="jiaguangcheng_3-1687161459061.png" /&gt;&lt;/span&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="jiaguangcheng_4-1687161486268.png" style="width: 400px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/228273i28212E70B1F4F320/image-size/medium?v=v2&amp;amp;px=400" role="button" title="jiaguangcheng_4-1687161486268.png" alt="jiaguangcheng_4-1687161486268.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Thanks a lot.&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 19 Jun 2023 08:00:11 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/S32K146-CAN-FD-send-state-is-always-BUSY/m-p/1671722#M24113</guid>
      <dc:creator>cjgyf</dc:creator>
      <dc:date>2023-06-19T08:00:11Z</dc:date>
    </item>
    <item>
      <title>Re: S32K146 CAN FD send state is always BUSY</title>
      <link>https://community.nxp.com/t5/S32K/S32K146-CAN-FD-send-state-is-always-BUSY/m-p/1671908#M24131</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;yes, you need to have CAN transceiver active so FlexCAN sees CAN bus idle and can be synchronized in it and able to transmit/receive message. FlexCAN ESR1 shows SYNC &amp;amp; IDLE bits cleared.&amp;nbsp;&lt;BR /&gt;Initialize TJA1145 properly so you will be able to communicate with other node connected.&lt;/P&gt;
&lt;P&gt;BR, Petr&lt;/P&gt;</description>
      <pubDate>Mon, 19 Jun 2023 10:33:01 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/S32K146-CAN-FD-send-state-is-always-BUSY/m-p/1671908#M24131</guid>
      <dc:creator>PetrS</dc:creator>
      <dc:date>2023-06-19T10:33:01Z</dc:date>
    </item>
  </channel>
</rss>

