Half working external SDRAM

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Half working external SDRAM

Jump to solution
1,330 Views
chicob
Contributor I

Hello,

I'm having some problems with the ISSI 42-45S16100H external SDRAM. The microcontroller that i'm using is the LPC54607.

The SDRAM contains 2 memory banks, but it seems that i can only write and read properly to bank 0. If I write, for example, 2048 bytes to bank 0 and read and verify the data back, the data is OK. If I write 2048 bytes to bank 1, the data that I read back all have the same value: 0xFFFFFFFF. BUT if I write 128 bytes to bank 1 and read and verify the data back, the data is OK. If I write 2048 bytes to bank 1 in blocks of 128 bytes, and verify the data after every block, the data is OK. But after writing the 2048 bytes, when verifying the 2048 bytes, the data all has the same value 0xFFFFFFFF.

So i'm able to write and read to bank 0, but with bank 1 i'm having some problems.

I've initialised the SDRAM and the EMC peripheral with the NXP EMC driver functions. The clock supplied to the SDRAM is configured to 48 MHz. The initialise procedure of the SDRAM and some tests are provided in the file attached. I've also provided the datasheet of the SDRAM.

Can somebody help me?

Best regards,

Chico

Labels (1)
Tags (2)
0 Kudos
Reply
1 Solution
1,066 Views
victorjimenez
NXP TechSupport
NXP TechSupport

Hello Chico,

I've seen this problem a lot of times, most of the time is due to the bad connection of the pin A11 (Bank select address) of the memory that you are using, to which pin of the MCU are you connecting the pin A11 of the memory? 

In the user manual, section 33.13.19 you can see the following information. 

The SDRAM bank select pins BA1 and BA0 are connected to address lines A14 and A13, respectively.

In your case, you only have BA0 (A11 of your memory) so you have to connect this to the pin A13 of the LPC. 

You can use as a guide to verify your connections the schematics of the OM13098 development board.

 pastedImage_4.jpg

Link to the user manual. 

Link to the schematics of the development board.

Hope it helps!

Victor.

-----------------------------------------------------------------------------------------------------------------------

Note: If this post answers your question, please click the Correct Answer button. Thank you!

----------------------------------------------------------------------------------------------------------------------- 

View solution in original post

0 Kudos
Reply
3 Replies
1,066 Views
chicob
Contributor I

Hello Victor,

Thank you very much for your answer. We had indeed connected the ISSI A11 pin with the LPC A11 pin. Now we've connected the ISSI A11 pin to the LPC A13 and it works fine!

Edit:

It works fine in BRC mode. If I select RBC mode, the A13 pin of the LPC doesn't change anymore when writing data to the SDRAM. After some measuring it seems like the bank select is now performed with pin A14. The selected configuration is 16Mbits (1M x 16bits) with 2 banks. So the bank select should only be done with A13 (BA0) right? Or am I missing something?

Best regards,

Chico

0 Kudos
Reply
1,066 Views
victorjimenez
NXP TechSupport
NXP TechSupport

Hello Chico,

You are right, the bank selection should be done only with A13 pin. How are you making the configurations of the OFFSET when entering RBC mode? It seems that the behavior you are facing is due to a bad configuration of the OFFSET value. I recommend you check the section 33.11.1 of the user manual. 

Regards,

Victor. 

0 Kudos
Reply
1,067 Views
victorjimenez
NXP TechSupport
NXP TechSupport

Hello Chico,

I've seen this problem a lot of times, most of the time is due to the bad connection of the pin A11 (Bank select address) of the memory that you are using, to which pin of the MCU are you connecting the pin A11 of the memory? 

In the user manual, section 33.13.19 you can see the following information. 

The SDRAM bank select pins BA1 and BA0 are connected to address lines A14 and A13, respectively.

In your case, you only have BA0 (A11 of your memory) so you have to connect this to the pin A13 of the LPC. 

You can use as a guide to verify your connections the schematics of the OM13098 development board.

 pastedImage_4.jpg

Link to the user manual. 

Link to the schematics of the development board.

Hope it helps!

Victor.

-----------------------------------------------------------------------------------------------------------------------

Note: If this post answers your question, please click the Correct Answer button. Thank you!

----------------------------------------------------------------------------------------------------------------------- 

0 Kudos
Reply