<?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: LPC1788 and EMC write/read issues in LPC Microcontrollers</title>
    <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC1788-and-EMC-write-read-issues/m-p/517426#M2181</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by ImaginationStation on Wed Nov 20 16:52:17 MST 2013&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;I believe I fixed the problem, but I haven't been testing it for long enough to see if that did the trick. I did the changes around 10am EST and it has been working well since then.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Since no one suggested any options I continued digging around on the net. I was lead back to 2 posts. One of them was here where this person was told by a few to change his Data lines to Repeater mode.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;A href="http://http://www.lpcware.com/content/forum/sdram-working-prototype-not-production"&gt;http://www.lpcware.com/content/forum/sdram-working-prototype-not-production&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I tried changing my Data lines to repeater mode and that did not work. I then tried changing the data lines as well as the address lines, signal lines and all SDRAM related signal lines to Repeater mode. It still did not work.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I also read elsewhere (I can't remember the exact source. I believe it may have been a datasheet) that said to make sure all Data lines are pulled low. So I set all of my Data lines to pull low and that still didn't work. I then set all of the address lines, signal lines and Data lines to pull low and that did the trick.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;So all IOCON registers related to any SDRAM pin became 0x29.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Hopefully this continues to work.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 15 Jun 2016 17:29:18 GMT</pubDate>
    <dc:creator>lpcware</dc:creator>
    <dc:date>2016-06-15T17:29:18Z</dc:date>
    <item>
      <title>LPC1788 and EMC write/read issues</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC1788-and-EMC-write-read-issues/m-p/517425#M2180</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by ImaginationStation on Mon Nov 18 10:01:21 MST 2013&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hello, I am using an LPC1788 and a 128MB SDRAM chip IS42S32400E-6TL&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The problem is that information is either written or read incorrectly on the SDRAM and it only does it when the board with the chips are cold. It also did the same thing with other brand SDRAM chips.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I started working with this combination about 6 months ago. At the time my workbench was in a warm area where the temperatures were commonly above 25C. At the time there was not a problem, it ran flawlessly. I recently moved and my work area ended up in the basement where temperatures range between 18C and 21C. Now once the board is started up from cold it always has the problem, and if the board temperatures get high enough it will stop reading/writing to the EMC incorrectly.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I’m having a hard time figuring out if it is on the read or the write. I believe the issue may be isolated to the reads only and here’s why I believe that. In my application I initialize the EMC to be able to display things on the LCD. When I write to the memory area that maps the display area it displays correctly. But if I read from anything on the display area and rewrite to that same address some of the pixels will display incorrectly.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Since the problem doesn’t exist when it’s warm I believe it could have something to do with my SDRAM setup/initialization.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Here is my initialization sequence:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt;static void _EMC_Init(void) {
&amp;nbsp; volatile uint32_t CmdDly;
&amp;nbsp; volatile uint32_t Dummy;
&amp;nbsp; volatile uint32_t i;

&amp;nbsp; LPC_SC-&amp;gt;PCONP&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |= (1 &amp;lt;&amp;lt; 11);&amp;nbsp;&amp;nbsp; // Turn on EMC peripheral clock
&amp;nbsp; LPC_SC-&amp;gt;EMCDLYCTL&amp;nbsp; = 0x00001010;
&amp;nbsp; LPC_EMC-&amp;gt;Control&amp;nbsp;&amp;nbsp; = 1;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // EMC enable
&amp;nbsp; LPC_EMC-&amp;gt;Config&amp;nbsp;&amp;nbsp;&amp;nbsp; = 0;
&amp;nbsp; //
&amp;nbsp; // Port init
&amp;nbsp; //

&amp;nbsp; LPC_IOCON-&amp;gt;P3_0&amp;nbsp; = 1;&amp;nbsp; // D0
&amp;nbsp; LPC_IOCON-&amp;gt;P3_1&amp;nbsp; = 1;&amp;nbsp; // D1
&amp;nbsp; LPC_IOCON-&amp;gt;P3_2&amp;nbsp; = 1;&amp;nbsp; // D2
&amp;nbsp; LPC_IOCON-&amp;gt;P3_3&amp;nbsp; = 1;&amp;nbsp; // D3
&amp;nbsp; LPC_IOCON-&amp;gt;P3_4&amp;nbsp; = 1;&amp;nbsp; // D4
&amp;nbsp; LPC_IOCON-&amp;gt;P3_5&amp;nbsp; = 1;&amp;nbsp; // D5
&amp;nbsp; LPC_IOCON-&amp;gt;P3_6&amp;nbsp; = 1;&amp;nbsp; // D6
&amp;nbsp; LPC_IOCON-&amp;gt;P3_7&amp;nbsp; = 1;&amp;nbsp; // D7
&amp;nbsp; LPC_IOCON-&amp;gt;P3_8&amp;nbsp; = 1;&amp;nbsp; // D8
&amp;nbsp; LPC_IOCON-&amp;gt;P3_9&amp;nbsp; = 1;&amp;nbsp; // D9
&amp;nbsp; LPC_IOCON-&amp;gt;P3_10 = 1;&amp;nbsp; // D10
&amp;nbsp; LPC_IOCON-&amp;gt;P3_11 = 1;&amp;nbsp; // D11
&amp;nbsp; LPC_IOCON-&amp;gt;P3_12 = 1;&amp;nbsp; // D12
&amp;nbsp; LPC_IOCON-&amp;gt;P3_13 = 1;&amp;nbsp; // D13
&amp;nbsp; LPC_IOCON-&amp;gt;P3_14 = 1;&amp;nbsp; // D14
&amp;nbsp; LPC_IOCON-&amp;gt;P3_15 = 1;&amp;nbsp; // D15
&amp;nbsp; LPC_IOCON-&amp;gt;P3_16 = 1;&amp;nbsp; // D16
&amp;nbsp; LPC_IOCON-&amp;gt;P3_17 = 1;&amp;nbsp; // D17
&amp;nbsp; LPC_IOCON-&amp;gt;P3_18 = 1;&amp;nbsp; // D18
&amp;nbsp; LPC_IOCON-&amp;gt;P3_19 = 1;&amp;nbsp; // D19
&amp;nbsp; LPC_IOCON-&amp;gt;P3_20 = 1;&amp;nbsp; // D20
&amp;nbsp; LPC_IOCON-&amp;gt;P3_21 = 1;&amp;nbsp; // D21
&amp;nbsp; LPC_IOCON-&amp;gt;P3_22 = 1;&amp;nbsp; // D22
&amp;nbsp; LPC_IOCON-&amp;gt;P3_23 = 1;&amp;nbsp; // D23
&amp;nbsp; LPC_IOCON-&amp;gt;P3_24 = 1;&amp;nbsp; // D24
&amp;nbsp; LPC_IOCON-&amp;gt;P3_25 = 1;&amp;nbsp; // D25
&amp;nbsp; LPC_IOCON-&amp;gt;P3_26 = 1;&amp;nbsp; // D26
&amp;nbsp; LPC_IOCON-&amp;gt;P3_27 = 1;&amp;nbsp; // D27
&amp;nbsp; LPC_IOCON-&amp;gt;P3_28 = 1;&amp;nbsp; // D28
&amp;nbsp; LPC_IOCON-&amp;gt;P3_29 = 1;&amp;nbsp; // D29
&amp;nbsp; LPC_IOCON-&amp;gt;P3_30 = 1;&amp;nbsp; // D30
&amp;nbsp; LPC_IOCON-&amp;gt;P3_31 = 1;&amp;nbsp; // D31

&amp;nbsp; LPC_IOCON-&amp;gt;P4_0&amp;nbsp; = 1;&amp;nbsp; // A0
&amp;nbsp; LPC_IOCON-&amp;gt;P4_1&amp;nbsp; = 1;&amp;nbsp; // A1
&amp;nbsp; LPC_IOCON-&amp;gt;P4_2&amp;nbsp; = 1;&amp;nbsp; // A2
&amp;nbsp; LPC_IOCON-&amp;gt;P4_3&amp;nbsp; = 1;&amp;nbsp; // A3
&amp;nbsp; LPC_IOCON-&amp;gt;P4_4&amp;nbsp; = 1;&amp;nbsp; // A4
&amp;nbsp; LPC_IOCON-&amp;gt;P4_5&amp;nbsp; = 1;&amp;nbsp; // A5
&amp;nbsp; LPC_IOCON-&amp;gt;P4_6&amp;nbsp; = 1;&amp;nbsp; // A6
&amp;nbsp; LPC_IOCON-&amp;gt;P4_7&amp;nbsp; = 1;&amp;nbsp; // A7
&amp;nbsp; LPC_IOCON-&amp;gt;P4_8&amp;nbsp; = 1;&amp;nbsp; // A8
&amp;nbsp; LPC_IOCON-&amp;gt;P4_9&amp;nbsp; = 1;&amp;nbsp; // A9
&amp;nbsp; LPC_IOCON-&amp;gt;P4_10 = 1;&amp;nbsp; // A10
&amp;nbsp; LPC_IOCON-&amp;gt;P4_11 = 1;&amp;nbsp; // A11
&amp;nbsp; LPC_IOCON-&amp;gt;P4_12 = 1;&amp;nbsp; // A12
&amp;nbsp; LPC_IOCON-&amp;gt;P4_13 = 1;&amp;nbsp; // A13
&amp;nbsp; LPC_IOCON-&amp;gt;P4_14 = 1;&amp;nbsp; // A14
&amp;nbsp; LPC_IOCON-&amp;gt;P4_15 = 1;&amp;nbsp; // A15
&amp;nbsp; LPC_IOCON-&amp;gt;P4_16 = 1;&amp;nbsp; // A16
&amp;nbsp; LPC_IOCON-&amp;gt;P4_17 = 1;&amp;nbsp; // A17
&amp;nbsp; LPC_IOCON-&amp;gt;P4_18 = 1;&amp;nbsp; // A18
&amp;nbsp; LPC_IOCON-&amp;gt;P4_19 = 1;&amp;nbsp; // A19
&amp;nbsp; LPC_IOCON-&amp;gt;P4_20 = 1;&amp;nbsp; // A20
&amp;nbsp; LPC_IOCON-&amp;gt;P4_21 = 1;&amp;nbsp; // A21
&amp;nbsp; //LPC_IOCON-&amp;gt;P4_22 = 1;&amp;nbsp; // A22
&amp;nbsp; //LPC_IOCON-&amp;gt;P4_23 = 1;&amp;nbsp; // A23

&amp;nbsp; LPC_IOCON-&amp;gt;P4_24 = 1;&amp;nbsp; // OE
&amp;nbsp; LPC_IOCON-&amp;gt;P4_25 = 1;&amp;nbsp; // WE
&amp;nbsp; LPC_IOCON-&amp;gt;P4_26 = 1;&amp;nbsp; // BLS0
&amp;nbsp; LPC_IOCON-&amp;gt;P4_27 = 1;&amp;nbsp; // BLS1
&amp;nbsp; LPC_IOCON-&amp;gt;P4_28 = 1;&amp;nbsp; // BLS2
&amp;nbsp; LPC_IOCON-&amp;gt;P4_29 = 1;&amp;nbsp; // BLS3
&amp;nbsp; LPC_IOCON-&amp;gt;P4_30 = 1;&amp;nbsp; // CS0
&amp;nbsp; LPC_IOCON-&amp;gt;P4_31 = 1;&amp;nbsp; // CS1
&amp;nbsp; LPC_IOCON-&amp;gt;P2_14 = 1;&amp;nbsp; // CS2
&amp;nbsp; LPC_IOCON-&amp;gt;P2_15 = 1;&amp;nbsp; // CS3
&amp;nbsp; LPC_IOCON-&amp;gt;P2_16 = 1;&amp;nbsp; // CAS
&amp;nbsp; LPC_IOCON-&amp;gt;P2_17 = 1;&amp;nbsp; // RAS
&amp;nbsp; LPC_IOCON-&amp;gt;P2_18 = 1;&amp;nbsp; // CLKOUT0
&amp;nbsp; //LPC_IOCON-&amp;gt;P2_19 = 1;&amp;nbsp; // CLKOUT1
&amp;nbsp; LPC_IOCON-&amp;gt;P2_20 = 1;&amp;nbsp; // DYCS0
&amp;nbsp; //LPC_IOCON-&amp;gt;P2_21 = 1;&amp;nbsp; // DYCS1
&amp;nbsp; //LPC_IOCON-&amp;gt;P2_22 = 1;&amp;nbsp; // DYCS2
&amp;nbsp; //LPC_IOCON-&amp;gt;P2_23 = 1;&amp;nbsp; // DYCS3
&amp;nbsp; LPC_IOCON-&amp;gt;P2_24 = 1;&amp;nbsp; // CKEOUT0
&amp;nbsp; //LPC_IOCON-&amp;gt;P2_25 = 1;&amp;nbsp; // CKEOUT1
&amp;nbsp; //LPC_IOCON-&amp;gt;P2_26 = 1;&amp;nbsp; // CKEOUT2
&amp;nbsp; //LPC_IOCON-&amp;gt;P2_27 = 1;&amp;nbsp; // CKEOUT3
&amp;nbsp; LPC_IOCON-&amp;gt;P2_28 = 1;&amp;nbsp; // DQMOUT0
&amp;nbsp; LPC_IOCON-&amp;gt;P2_29 = 1;&amp;nbsp; // DQMOUT1
&amp;nbsp; LPC_IOCON-&amp;gt;P2_30 = 1;&amp;nbsp; // DQMOUT2
&amp;nbsp; LPC_IOCON-&amp;gt;P2_31 = 1;&amp;nbsp; // DQMOUT3
&amp;nbsp; //
&amp;nbsp; // Setup EMC config for SDRAM, timings for 60MHz bus
&amp;nbsp; //
&amp;nbsp; LPC_EMC-&amp;gt;DynamicConfig0&amp;nbsp;&amp;nbsp;&amp;nbsp; = 0x00005500;&amp;nbsp; // 128MB, 4Mx32, 4 banks, 12 rows, 9 columns, buffers disabled
&amp;nbsp; LPC_EMC-&amp;gt;DynamicRasCas0&amp;nbsp;&amp;nbsp;&amp;nbsp; = 0x00000202;&amp;nbsp; // 2 RAS, 2 CAS latency */
&amp;nbsp; LPC_EMC-&amp;gt;DynamicReadConfig = 0x00000001;&amp;nbsp; // Command delayed strategy, using EMCCLKDELAY
&amp;nbsp; LPC_EMC-&amp;gt;DynamicRP&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 0x00000001;&amp;nbsp; // n + 1 clock cycles
&amp;nbsp; LPC_EMC-&amp;gt;DynamicRAS&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 0x00000003;&amp;nbsp; // n + 1 clock cycles
&amp;nbsp; LPC_EMC-&amp;gt;DynamicSREX&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 0x00000005;&amp;nbsp; // n + 1 clock cycles
&amp;nbsp; LPC_EMC-&amp;gt;DynamicAPR&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 0x00000002;&amp;nbsp; // n + 1 clock cycles
&amp;nbsp; LPC_EMC-&amp;gt;DynamicDAL&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 0x00000003;&amp;nbsp; // n&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; clock cycles
&amp;nbsp; LPC_EMC-&amp;gt;DynamicWR&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 0x00000001;&amp;nbsp; // n + 1 clock cycles
&amp;nbsp; LPC_EMC-&amp;gt;DynamicRC&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 0x00000004;&amp;nbsp; // n + 1 clock cycles
&amp;nbsp; LPC_EMC-&amp;gt;DynamicRFC&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 0x00000004;&amp;nbsp; // n + 1 clock cycles
&amp;nbsp; LPC_EMC-&amp;gt;DynamicXSR&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 0x00000005;&amp;nbsp; // n + 1 clock cycles
&amp;nbsp; LPC_EMC-&amp;gt;DynamicRRD&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 0x00000001;&amp;nbsp; // n + 1 clock cycles
&amp;nbsp; LPC_EMC-&amp;gt;DynamicMRD&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 0x00000001;&amp;nbsp; // n + 1 clock cycles
&amp;nbsp; _DelayMs(100);
&amp;nbsp; LPC_EMC-&amp;gt;DynamicControl&amp;nbsp;&amp;nbsp;&amp;nbsp; = 0x00000183;&amp;nbsp; // Issue NOP command
&amp;nbsp; _DelayMs(200);
&amp;nbsp; LPC_EMC-&amp;gt;DynamicControl&amp;nbsp;&amp;nbsp;&amp;nbsp; = 0x00000103;&amp;nbsp; // Issue PALL command
&amp;nbsp; LPC_EMC-&amp;gt;DynamicRefresh&amp;nbsp;&amp;nbsp;&amp;nbsp; = 0x00000002;&amp;nbsp; // n * 16 clock cycles
&amp;nbsp; for (i = 0; i &amp;lt; 0x80; i++);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Wait 128 AHB clock cycles
&amp;nbsp; LPC_EMC-&amp;gt;DynamicRefresh&amp;nbsp;&amp;nbsp;&amp;nbsp; = 0x0000003A;&amp;nbsp; // n * 16 clock cycles
&amp;nbsp; //
&amp;nbsp; // Init SDRAM
&amp;nbsp; //
&amp;nbsp; LPC_EMC-&amp;gt;DynamicControl = 0x00000083;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Issue MODE command
Dummy = *((volatile uint32_t*)(SDRAM_BASE_ADDR | (0x22 &amp;lt;&amp;lt; (10))));&amp;nbsp; // 4 burst, 2 CAS latency
&amp;nbsp; //Dummy = *((volatile uint32_t*)(SDRAM_BASE_ADDR | (0x22 &amp;lt;&amp;lt; (2+2+9))));&amp;nbsp; // 4 burst, 2 CAS latency
&amp;nbsp; LPC_EMC-&amp;gt;DynamicControl = 0x00000000;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Issue NORMAL command
&amp;nbsp; LPC_EMC-&amp;gt;DynamicConfig0 = 0x00085500;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // 128MB, 4Mx32, 4 banks, 12 rows, 9 columns, buffers (re-)enabled
&amp;nbsp; //
&amp;nbsp; // Auto calibrate timings
&amp;nbsp; //
&amp;nbsp; CmdDly = _CalibrateOsc();
&amp;nbsp; //
&amp;nbsp; // Find best delay values
&amp;nbsp; //
&amp;nbsp; _FindDelay(0);&amp;nbsp; // EMCDLY
&amp;nbsp; _FindDelay(1);&amp;nbsp; // FBCLKDLY
&amp;nbsp; _AdjustEMCTiming(CmdDly);
}
&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 17:29:17 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC1788-and-EMC-write-read-issues/m-p/517425#M2180</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T17:29:17Z</dc:date>
    </item>
    <item>
      <title>Re: LPC1788 and EMC write/read issues</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC1788-and-EMC-write-read-issues/m-p/517426#M2181</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by ImaginationStation on Wed Nov 20 16:52:17 MST 2013&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;I believe I fixed the problem, but I haven't been testing it for long enough to see if that did the trick. I did the changes around 10am EST and it has been working well since then.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Since no one suggested any options I continued digging around on the net. I was lead back to 2 posts. One of them was here where this person was told by a few to change his Data lines to Repeater mode.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;A href="http://http://www.lpcware.com/content/forum/sdram-working-prototype-not-production"&gt;http://www.lpcware.com/content/forum/sdram-working-prototype-not-production&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I tried changing my Data lines to repeater mode and that did not work. I then tried changing the data lines as well as the address lines, signal lines and all SDRAM related signal lines to Repeater mode. It still did not work.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I also read elsewhere (I can't remember the exact source. I believe it may have been a datasheet) that said to make sure all Data lines are pulled low. So I set all of my Data lines to pull low and that still didn't work. I then set all of the address lines, signal lines and Data lines to pull low and that did the trick.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;So all IOCON registers related to any SDRAM pin became 0x29.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Hopefully this continues to work.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 17:29:18 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC1788-and-EMC-write-read-issues/m-p/517426#M2181</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T17:29:18Z</dc:date>
    </item>
  </channel>
</rss>

