<?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>Processor Expert Software中的主题 SPI Communication Issue with DSPI_MasterTransferBlocking on MK10DN512VLK10</title>
    <link>https://community.nxp.com/t5/Processor-Expert-Software/SPI-Communication-Issue-with-DSPI-MasterTransferBlocking-on/m-p/2032084#M5902</link>
    <description>&lt;P&gt;Hello ,&lt;/P&gt;&lt;P&gt;I am working on SPI communication between an&amp;nbsp;&lt;SPAN&gt;MK10DN512VLK10 IPMC&lt;/SPAN&gt;&amp;nbsp;(SPI master) and an Artix FPGA (SPI slave). The project uses the SDK SDK_2_2_0_MK10DN512VLK10&amp;nbsp;and DSPI driver.&lt;/P&gt;&lt;P&gt;Configuration details:&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;STRONG&gt;DSPI_MASTER_BASEADDR&lt;/STRONG&gt;&amp;nbsp;:-&amp;nbsp; SPI1&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;STRONG&gt;DSPI_MASTER_PCS_FOR_INIT&lt;/STRONG&gt; :-&amp;nbsp; kDSPI_Pcs0&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;STRONG&gt;DSPI_MASTER_PCS_FOR_TRANSFER&lt;/STRONG&gt;&amp;nbsp;:- kDSPI_MasterPcs0&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;STRONG&gt;CPOL&lt;/STRONG&gt; :- kDSPI_ClockPolarityActiveLow&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;STRONG&gt;CPHA&lt;/STRONG&gt; :- kDSPI_ClockPhaseSecondEdge&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;STRONG&gt;Bit order &lt;/STRONG&gt;:- kDSPI_MsbFirst&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;STRONG&gt;PCS&lt;/STRONG&gt; :- ActiveLow&lt;/SPAN&gt;&lt;/P&gt;&lt;H3&gt;Issue Summary:&lt;/H3&gt;&lt;P&gt;When transferring a single byte of data using DSPI_MasterTransferBlocking, the communication works perfectly. However, when transferring two or more bytes of data, the communication fails. The SPI slave (FPGA) does not receive the correct data, and the master side reads all ones in the received data.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Code Snippet:&lt;/STRONG&gt;&lt;/P&gt;&lt;DIV&gt;&lt;DIV&gt;&lt;P&gt;&lt;SPAN&gt;void&lt;/SPAN&gt; &lt;SPAN&gt;IPMC_Write_Artix&lt;/SPAN&gt;&lt;SPAN&gt;()&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;masterTestData[0] = 0xA5;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;masterTestData[1] = 0xA5;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;/* Start master transfer, send data to slave */&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;masterXfer.&lt;/SPAN&gt;&lt;SPAN&gt;txData&lt;/SPAN&gt;&lt;SPAN&gt; = masterTestData;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;masterXfer.&lt;/SPAN&gt;&lt;SPAN&gt;rxData&lt;/SPAN&gt;&lt;SPAN&gt; = NULL;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;masterXfer.&lt;/SPAN&gt;&lt;SPAN&gt;dataSize&lt;/SPAN&gt;&lt;SPAN&gt; = 2;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;masterXfer.&lt;/SPAN&gt;&lt;SPAN&gt;configFlags&lt;/SPAN&gt;&lt;SPAN&gt; = &lt;/SPAN&gt;&lt;SPAN&gt;kDSPI_MasterCtar1&lt;/SPAN&gt;&lt;SPAN&gt; | EXAMPLE_DSPI_MASTER_PCS_FOR_TRANSFER | &lt;/SPAN&gt;&lt;SPAN&gt;kDSPI_MasterPcsContinuous&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;/* Perform SPI blocking transfer */&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Status = DSPI_MasterTransferBlocking(EXAMPLE_DSPI_MASTER_BASEADDR, &amp;amp;masterXfer);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;if&lt;/SPAN&gt;&lt;SPAN&gt; (Status == &lt;/SPAN&gt;&lt;SPAN&gt;kStatus_Success&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;PRINTF(&lt;/SPAN&gt;&lt;SPAN&gt;"Successfully send data from master.\r\n"&lt;/SPAN&gt;&lt;SPAN&gt;);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;else&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;PRINTF(&lt;/SPAN&gt;&lt;SPAN&gt;"Error send data from master: %d\r\n"&lt;/SPAN&gt;&lt;SPAN&gt;, Status);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;P&gt;Please help on this&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;Jagdish Gorain&lt;/P&gt;</description>
    <pubDate>Wed, 22 Jan 2025 07:16:01 GMT</pubDate>
    <dc:creator>Jagdish837</dc:creator>
    <dc:date>2025-01-22T07:16:01Z</dc:date>
    <item>
      <title>SPI Communication Issue with DSPI_MasterTransferBlocking on MK10DN512VLK10</title>
      <link>https://community.nxp.com/t5/Processor-Expert-Software/SPI-Communication-Issue-with-DSPI-MasterTransferBlocking-on/m-p/2032084#M5902</link>
      <description>&lt;P&gt;Hello ,&lt;/P&gt;&lt;P&gt;I am working on SPI communication between an&amp;nbsp;&lt;SPAN&gt;MK10DN512VLK10 IPMC&lt;/SPAN&gt;&amp;nbsp;(SPI master) and an Artix FPGA (SPI slave). The project uses the SDK SDK_2_2_0_MK10DN512VLK10&amp;nbsp;and DSPI driver.&lt;/P&gt;&lt;P&gt;Configuration details:&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;STRONG&gt;DSPI_MASTER_BASEADDR&lt;/STRONG&gt;&amp;nbsp;:-&amp;nbsp; SPI1&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;STRONG&gt;DSPI_MASTER_PCS_FOR_INIT&lt;/STRONG&gt; :-&amp;nbsp; kDSPI_Pcs0&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;STRONG&gt;DSPI_MASTER_PCS_FOR_TRANSFER&lt;/STRONG&gt;&amp;nbsp;:- kDSPI_MasterPcs0&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;STRONG&gt;CPOL&lt;/STRONG&gt; :- kDSPI_ClockPolarityActiveLow&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;STRONG&gt;CPHA&lt;/STRONG&gt; :- kDSPI_ClockPhaseSecondEdge&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;STRONG&gt;Bit order &lt;/STRONG&gt;:- kDSPI_MsbFirst&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;STRONG&gt;PCS&lt;/STRONG&gt; :- ActiveLow&lt;/SPAN&gt;&lt;/P&gt;&lt;H3&gt;Issue Summary:&lt;/H3&gt;&lt;P&gt;When transferring a single byte of data using DSPI_MasterTransferBlocking, the communication works perfectly. However, when transferring two or more bytes of data, the communication fails. The SPI slave (FPGA) does not receive the correct data, and the master side reads all ones in the received data.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Code Snippet:&lt;/STRONG&gt;&lt;/P&gt;&lt;DIV&gt;&lt;DIV&gt;&lt;P&gt;&lt;SPAN&gt;void&lt;/SPAN&gt; &lt;SPAN&gt;IPMC_Write_Artix&lt;/SPAN&gt;&lt;SPAN&gt;()&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;masterTestData[0] = 0xA5;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;masterTestData[1] = 0xA5;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;/* Start master transfer, send data to slave */&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;masterXfer.&lt;/SPAN&gt;&lt;SPAN&gt;txData&lt;/SPAN&gt;&lt;SPAN&gt; = masterTestData;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;masterXfer.&lt;/SPAN&gt;&lt;SPAN&gt;rxData&lt;/SPAN&gt;&lt;SPAN&gt; = NULL;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;masterXfer.&lt;/SPAN&gt;&lt;SPAN&gt;dataSize&lt;/SPAN&gt;&lt;SPAN&gt; = 2;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;masterXfer.&lt;/SPAN&gt;&lt;SPAN&gt;configFlags&lt;/SPAN&gt;&lt;SPAN&gt; = &lt;/SPAN&gt;&lt;SPAN&gt;kDSPI_MasterCtar1&lt;/SPAN&gt;&lt;SPAN&gt; | EXAMPLE_DSPI_MASTER_PCS_FOR_TRANSFER | &lt;/SPAN&gt;&lt;SPAN&gt;kDSPI_MasterPcsContinuous&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;/* Perform SPI blocking transfer */&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Status = DSPI_MasterTransferBlocking(EXAMPLE_DSPI_MASTER_BASEADDR, &amp;amp;masterXfer);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;if&lt;/SPAN&gt;&lt;SPAN&gt; (Status == &lt;/SPAN&gt;&lt;SPAN&gt;kStatus_Success&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;PRINTF(&lt;/SPAN&gt;&lt;SPAN&gt;"Successfully send data from master.\r\n"&lt;/SPAN&gt;&lt;SPAN&gt;);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;else&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;PRINTF(&lt;/SPAN&gt;&lt;SPAN&gt;"Error send data from master: %d\r\n"&lt;/SPAN&gt;&lt;SPAN&gt;, Status);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;P&gt;Please help on this&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;Jagdish Gorain&lt;/P&gt;</description>
      <pubDate>Wed, 22 Jan 2025 07:16:01 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Processor-Expert-Software/SPI-Communication-Issue-with-DSPI-MasterTransferBlocking-on/m-p/2032084#M5902</guid>
      <dc:creator>Jagdish837</dc:creator>
      <dc:date>2025-01-22T07:16:01Z</dc:date>
    </item>
    <item>
      <title>Re: SPI Communication Issue with DSPI_MasterTransferBlocking on MK10DN512VLK10</title>
      <link>https://community.nxp.com/t5/Processor-Expert-Software/SPI-Communication-Issue-with-DSPI-MasterTransferBlocking-on/m-p/2038987#M5917</link>
      <description>&lt;P&gt;Hi,&lt;SPAN&gt;Jagdish837&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;Thank you for contacting us.&lt;/P&gt;
&lt;P&gt;According to the RM of&amp;nbsp;MK10DN512VLK10,&amp;nbsp;SPI frames longer than 16 bits can be supported using the continuous selection format, make sure your MK10DN512VLK10 using&amp;nbsp;the continuous selection format when you send&amp;nbsp;&lt;SPAN&gt;more bytes of data using SPI.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;In addition ,Check the configuration on the FPGA side. Since single-byte transfers work correctly but multi-byte transfers fail, this may indicate an issue with how the FPGA handles multi-byte transfers. Ensure that the SPI slave configuration on the FPGA supports multi-byte transfers.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;BR&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Joey&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 06 Feb 2025 03:51:37 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Processor-Expert-Software/SPI-Communication-Issue-with-DSPI-MasterTransferBlocking-on/m-p/2038987#M5917</guid>
      <dc:creator>Joey_z</dc:creator>
      <dc:date>2025-02-06T03:51:37Z</dc:date>
    </item>
  </channel>
</rss>

