<?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>topic Re: QSPI flash timing issue in LPC546xx in LPC Microcontrollers</title>
    <link>https://community.nxp.com/t5/LPC-Microcontrollers/QSPI-flash-timing-issue-in-LPC546xx/m-p/949906#M37743</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi &lt;A class="jx-jive-macro-user" href="https://community.nxp.com/people/xiangjun.rong"&gt;xiangjun.rong&lt;/A&gt;‌,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;There is a huge difference between your result and mine.Your method seems the most accurate one. Is there anything wrong wih my procedure?. Iam using high resolution Digital oscilloscope for timing measurement.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks and best regards,&lt;/P&gt;&lt;P&gt;Prasanna&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Sat, 08 Jun 2019 04:15:11 GMT</pubDate>
    <dc:creator>prasannanaik</dc:creator>
    <dc:date>2019-06-08T04:15:11Z</dc:date>
    <item>
      <title>QSPI flash timing issue in LPC546xx</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/QSPI-flash-timing-issue-in-LPC546xx/m-p/949901#M37738</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;I am using LPC546 development board OM13092 for evaluation of QSPI flash. I have used "spifi_dma_transfer" driver example code as reference. I have toggled port PIO2_0 for timing verification. All the settings are same as&amp;nbsp;&lt;SPAN&gt;&amp;nbsp;"spifi_dma_transfer" code only port pin has been toggled in the code for timing verification.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;While checking the driver example code i had following observations:&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;1)&amp;nbsp;1 sector erase time: 3.64 msec&amp;nbsp;&amp;nbsp;&lt;/STRONG&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;GPIO_PinWrite(GPIO, 2, 0, 1);/*PORT PIN HIGH*/&lt;BR /&gt; /* Write enable */&lt;BR /&gt; SPIFI_SetCommand(EXAMPLE_SPIFI, &amp;amp;command[WRITE_ENABLE]);&lt;BR /&gt; /* Set address */&lt;BR /&gt; SPIFI_SetCommandAddress(EXAMPLE_SPIFI, 0U);&lt;BR /&gt; /* Erase sector */&lt;BR /&gt; SPIFI_SetCommand(EXAMPLE_SPIFI, &amp;amp;command[ERASE_SECTOR]);&lt;/P&gt;&lt;P&gt;/* Check if finished */&lt;BR /&gt; check_if_finish();&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;GPIO_PinWrite(GPIO, 2, 0, 0);/*PORT PIN LOW*/&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;2) 1 sector write time: 2.24 msec&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;GPIO_PinWrite(GPIO, 2, 0, 1);/*PORT PIN HIGH*/&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt; while (page &amp;lt; (SECTOR_SIZE / PAGE_SIZE))&lt;BR /&gt; {&lt;BR /&gt; SPIFI_SetCommand(EXAMPLE_SPIFI, &amp;amp;command[WRITE_ENABLE]);&lt;BR /&gt; SPIFI_SetCommandAddress(EXAMPLE_SPIFI, page * PAGE_SIZE);&lt;BR /&gt; SPIFI_SetCommand(EXAMPLE_SPIFI, &amp;amp;command[PROGRAM_PAGE]);&lt;BR /&gt; xfer.data = g_buffer;&lt;BR /&gt; xfer.dataSize = PAGE_SIZE;&lt;BR /&gt; SPIFI_TransferSendDMA(EXAMPLE_SPIFI, &amp;amp;handle, &amp;amp;xfer);&lt;BR /&gt; while (!finished)&lt;BR /&gt; {&lt;BR /&gt; }&lt;BR /&gt; finished = false;&lt;BR /&gt; page++;&lt;BR /&gt; check_if_finish();&lt;BR /&gt; }&lt;BR /&gt; GPIO_PinWrite(GPIO, 2, 0, 0);/*PORT PIN LOW*/&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;3) 1 sector erase and then write time: 47 msec&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;GPIO_PinWrite(GPIO, 2, 0, 1);/*PORT PIN HIGH*/&lt;BR /&gt; /* Write enable */&lt;BR /&gt; SPIFI_SetCommand(EXAMPLE_SPIFI, &amp;amp;command[WRITE_ENABLE]);&lt;BR /&gt; /* Set address */&lt;BR /&gt; SPIFI_SetCommandAddress(EXAMPLE_SPIFI, 0U);&lt;BR /&gt; /* Erase sector */&lt;BR /&gt; SPIFI_SetCommand(EXAMPLE_SPIFI, &amp;amp;command[ERASE_SECTOR]);&lt;/P&gt;&lt;P&gt;/* Check if finished */&lt;BR /&gt; check_if_finish();&lt;/P&gt;&lt;P&gt;/* Program page */&lt;BR /&gt; while (page &amp;lt; (SECTOR_SIZE / PAGE_SIZE))&lt;BR /&gt; {&lt;BR /&gt; SPIFI_SetCommand(EXAMPLE_SPIFI, &amp;amp;command[WRITE_ENABLE]);&lt;BR /&gt; SPIFI_SetCommandAddress(EXAMPLE_SPIFI, page * PAGE_SIZE);&lt;BR /&gt; SPIFI_SetCommand(EXAMPLE_SPIFI, &amp;amp;command[PROGRAM_PAGE]);&lt;BR /&gt; xfer.data = g_buffer;&lt;BR /&gt; xfer.dataSize = PAGE_SIZE;&lt;BR /&gt; SPIFI_TransferSendDMA(EXAMPLE_SPIFI, &amp;amp;handle, &amp;amp;xfer);&lt;BR /&gt; while (!finished)&lt;BR /&gt; {&lt;BR /&gt; }&lt;BR /&gt; finished = false;&lt;BR /&gt; page++;&lt;BR /&gt; check_if_finish();&lt;BR /&gt; }&lt;BR /&gt; GPIO_PinWrite(GPIO, 2, 0, 0);/*PORT PIN LOW*/&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Why is the sector erase and write time so high?&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks and best regards,&lt;/P&gt;&lt;P&gt;Prasannna&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 05 Jun 2019 06:37:56 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/QSPI-flash-timing-issue-in-LPC546xx/m-p/949901#M37738</guid>
      <dc:creator>prasannanaik</dc:creator>
      <dc:date>2019-06-05T06:37:56Z</dc:date>
    </item>
    <item>
      <title>Re: QSPI flash timing issue in LPC546xx</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/QSPI-flash-timing-issue-in-LPC546xx/m-p/949902#M37739</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi, Prasanna,&lt;/P&gt;&lt;P&gt;Regarding your question, as you know that the SPI flash MX25R6435FM2IL0 is used on OM13092, you can download the data sheet of the spi flash from the link:&lt;/P&gt;&lt;P&gt;&lt;A class="link-titled" href="http://www.macronix.com/Lists/Datasheet/Attachments/7428/MX25R6435F,%20Wide%20Range,%2064Mb,%20v1.4.pdf" title="http://www.macronix.com/Lists/Datasheet/Attachments/7428/MX25R6435F,%20Wide%20Range,%2064Mb,%20v1.4.pdf"&gt;http://www.macronix.com/Lists/Datasheet/Attachments/7428/MX25R6435F,%20Wide%20Range,%2064Mb,%20v1.4.pdf&lt;/A&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The erasing/programming time is dependent on the spi flash itself rather than the processor.&lt;/P&gt;&lt;P&gt;Pls refer to following figure, you can see that sector erase time is from 40ms to 240ms, you test the sector erasing time as 47ms, it is okay.&lt;/P&gt;&lt;P&gt;Hope it can help you&lt;/P&gt;&lt;P&gt;BR&lt;/P&gt;&lt;P&gt;XiangJun Rong&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="pastedImage_2.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/85401i5EA1EFC0924F341D/image-size/large?v=v2&amp;amp;px=999" role="button" title="pastedImage_2.png" alt="pastedImage_2.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 05 Jun 2019 07:52:25 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/QSPI-flash-timing-issue-in-LPC546xx/m-p/949902#M37739</guid>
      <dc:creator>xiangjun_rong</dc:creator>
      <dc:date>2019-06-05T07:52:25Z</dc:date>
    </item>
    <item>
      <title>Re: QSPI flash timing issue in LPC546xx</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/QSPI-flash-timing-issue-in-LPC546xx/m-p/949903#M37740</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi &lt;A class="jx-jive-macro-user" href="https://community.nxp.com/people/xiangjun.rong"&gt;xiangjun.rong&lt;/A&gt;‌,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Thanks for your help.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;The datasheet helps in understanding the 47 msec time but why am i getting 3.64 msec sector erase time when i am just testing the sector erase as mentioned in case 1 of&amp;nbsp; my query. Even that time should be 40 msec ?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks and best regards,&lt;/P&gt;&lt;P&gt;Prasanna&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 05 Jun 2019 08:36:56 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/QSPI-flash-timing-issue-in-LPC546xx/m-p/949903#M37740</guid>
      <dc:creator>prasannanaik</dc:creator>
      <dc:date>2019-06-05T08:36:56Z</dc:date>
    </item>
    <item>
      <title>Re: QSPI flash timing issue in LPC546xx</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/QSPI-flash-timing-issue-in-LPC546xx/m-p/949904#M37741</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi, Prasanna,&lt;/P&gt;&lt;P&gt;I suspect you test the wrong elapsing time with GPIO timing for the flash erasing/programming time, can you use a Timer to get the accurate tick number?&lt;/P&gt;&lt;P&gt;BR&lt;/P&gt;&lt;P&gt;Xiangjun Rong&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 06 Jun 2019 05:15:29 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/QSPI-flash-timing-issue-in-LPC546xx/m-p/949904#M37741</guid>
      <dc:creator>xiangjun_rong</dc:creator>
      <dc:date>2019-06-06T05:15:29Z</dc:date>
    </item>
    <item>
      <title>Re: QSPI flash timing issue in LPC546xx</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/QSPI-flash-timing-issue-in-LPC546xx/m-p/949905#M37742</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi, Prasanna,&lt;/P&gt;&lt;P&gt;For your issue to test the erasing/programming time, I develop an example to use CTimer to test the erasing and programming time based on my LPC54618 board. Pls refer to the attached code.&lt;/P&gt;&lt;P&gt;The section(4KB) erasing time is tick number is (3981018-6947)*(1/12000000)=330mS, the section programming time is (4244825-3981018)=21uS.&lt;/P&gt;&lt;P&gt;Hope it can help you&lt;/P&gt;&lt;P&gt;BR&lt;/P&gt;&lt;P&gt;Xiangjun Rong&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 06 Jun 2019 09:49:13 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/QSPI-flash-timing-issue-in-LPC546xx/m-p/949905#M37742</guid>
      <dc:creator>xiangjun_rong</dc:creator>
      <dc:date>2019-06-06T09:49:13Z</dc:date>
    </item>
    <item>
      <title>Re: QSPI flash timing issue in LPC546xx</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/QSPI-flash-timing-issue-in-LPC546xx/m-p/949906#M37743</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi &lt;A class="jx-jive-macro-user" href="https://community.nxp.com/people/xiangjun.rong"&gt;xiangjun.rong&lt;/A&gt;‌,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;There is a huge difference between your result and mine.Your method seems the most accurate one. Is there anything wrong wih my procedure?. Iam using high resolution Digital oscilloscope for timing measurement.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks and best regards,&lt;/P&gt;&lt;P&gt;Prasanna&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 08 Jun 2019 04:15:11 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/QSPI-flash-timing-issue-in-LPC546xx/m-p/949906#M37743</guid>
      <dc:creator>prasannanaik</dc:creator>
      <dc:date>2019-06-08T04:15:11Z</dc:date>
    </item>
    <item>
      <title>Re: QSPI flash timing issue in LPC546xx</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/QSPI-flash-timing-issue-in-LPC546xx/m-p/949907#M37744</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi, Prasanna,&lt;/P&gt;&lt;P&gt;I suggest you use different GPIO to test the erase time and program time&amp;nbsp; lest you confuse erase and program time.&lt;/P&gt;&lt;P&gt;BR&lt;/P&gt;&lt;P&gt;XiangJun Rong&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 10 Jun 2019 08:27:00 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/QSPI-flash-timing-issue-in-LPC546xx/m-p/949907#M37744</guid>
      <dc:creator>xiangjun_rong</dc:creator>
      <dc:date>2019-06-10T08:27:00Z</dc:date>
    </item>
  </channel>
</rss>

