We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
Good morning, I'm working with a LPC2478 and I designed my system that use different periphericals at the same time but a noticed some conflict on SD memory and LCD controller.
My system works correctly, I mean it read/write on SD and shows my messages on display, but during few second of writing or reading on a SD memory, I can see a very unpleasant flickering on display. It seems that the access on RAM memory to read the status of each singular pixel is in conflict with the bus access to manage the SD operation.
In the past I had the exactly the same problem on FLASH memory access, and I solved it introducing delaies on SPI routines, but the SD is controlled by keil FS_ARM_L.lib, so I can't modify it.
Does exist some priority rules to control the BUS used for both periphericals?Or some PIN status to check if is possible to access to bus or not?
Thanks in advance for any suggestions.
Stefano
We have encountered this too. Our solution was to dynamically change the clock source of the LCD peripheral. I don't remember the details, you need to check the user manual!
Have a look at the latest user manual for the LPC2478. Another solution that worked was to change the bus arbitration priorities, like this:
// give LCD the highest priority when accessing the AHB1 bus AHBCFG1 &= ~1 ; AHBCFG1 |= (3<<12) ; AHBCFG1 |= (4<<16) ; AHBCFG1 |= (2<<20) ; AHBCFG1 |= (1<<24) ; AHBCFG1 |= (5<<28) ;