|
|
  |
LPC2478 + LCD = cтранные проблемы с синхронизацией. |
|
|
|
Sep 9 2008, 17:25
|

Профессионал
    
Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555

|
Цитата(muravei @ Sep 9 2008, 17:16)  Что делать?! Что делать?!  А мне что выбрать?  А это сложно физически? у ЕА платы есть разьем специальный, думаю у OLIMEX тоже - нужно просто сделать переходник. обычно самое сложное подключить backlight ( обычно получается внешний использвать ) IMHO получается проще вообще купить SK-MLPC2478 за 1500 руб и не париться. ( правда скорее всего чип придется перепаять на 78)
|
|
|
|
|
Sep 9 2008, 17:51
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
Цитата(KRS @ Sep 9 2008, 19:25)  IMHO получается проще вообще купить SK-MLPC2478 за 1500 руб и не париться. ( правда скорее всего чип придется перепаять на 78) 1.Перепаивать не на что. 2.Памяти там 512KB 16bit статика 3.Разводка - пракически 1:1 выводы по периметру чипа - подключать максимально неудобно.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Sep 10 2008, 01:31
|
Частый гость
 
Группа: Участник
Сообщений: 80
Регистрация: 5-09-06
Из: Nsk
Пользователь №: 20 094

|
Цитата(Dog Pawlowa @ Sep 8 2008, 01:27)  На той плате Olimex, что получил я, стоят две микросхемы SDRAM, то есть шина 32-разрядная. Индикатор 24 bpp, может поэтому. Причем на форумах видел фотографии этой же платы Olimex, но с одной микросхемой. Повезло  Ситуация с U-link & ucLinux аналогичная - все есть, но ковыряться в бездне исходников - тяжелый, изнурительный труд. Есть еще пример работы с LCD, который я и мучаю. Инициализация дисплея расписана болгарином очень корректно и понятно. Уважаю. То, что Вы пишете, сняло камень с души  , поскольку уже жалел, что поторопился и заказал Olimex вместо Embedded Artist. Да и расписанная в Embedded возможность быстро начать программирование под Linux навевала мысли о том, что вот, наконец-то можно ничего не делать. В принципе запустить LCD не так то сложно, а примеры поддержки других узлов выложены на Olimex для других плат. Но путь не пройден, просто имеется такое направление  Нельзя узнать как точно называется ваша плата у Olimex?
|
|
|
|
|
Sep 10 2008, 05:52
|
Гуру
     
Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823

|
Цитата(KRS @ Sep 9 2008, 20:25)  у ЕА платы есть разьем специальный, думаю у OLIMEX тоже - нужно просто сделать переходник. обычно самое сложное подключить backlight ( обычно получается внешний использвать ) На настоящий момент это выглядит вот так. Старткит на обратной стороне рукотворного изделия. http://forum.sparkfun.com/viewtopic.php?t=10334Цитата(dmtr @ Sep 10 2008, 04:31)  Нельзя узнать как точно называется ваша плата у Olimex? А на сайт Olimex заглядывали? Там невозможно перепутать - больше с LPC2478 ничего нет.
--------------------
Уходя, оставьте свет...
|
|
|
|
|
Sep 10 2008, 12:28
|

Профессионал
    
Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555

|
Цитата(KRS @ Sep 6 2008, 15:22)  А то вчера получили Ebmedded Artists - там 16 битная Samsug одна стоит и все. Я был не прав. На моем модуле стоит 32 битный BGA samsung меня просто схема с толку сбила. У них по схеме - samsung 16 битный, а микрон 32 битный. а на плате стоит samsung 32 битный mobile sdram, который на схеме вообще не упоминается.
|
|
|
|
|
Sep 11 2008, 07:15
|
Частый гость
 
Группа: Участник
Сообщений: 80
Регистрация: 5-09-06
Из: Nsk
Пользователь №: 20 094

|
Цитата(Dog Pawlowa @ Sep 10 2008, 12:52)  А на сайт Olimex заглядывали? Там невозможно перепутать - больше с LPC2478 ничего нет. А есть на диске к киту готовый U-boot для загрузки uCLinux через Ethernet ?
|
|
|
|
|
Sep 11 2008, 07:45
|
Гуру
     
Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823

|
Цитата(dmtr @ Sep 11 2008, 10:15)  А есть на диске к киту готовый U-boot для загрузки uCLinux через Ethernet ? А вот сами посмотрите.
u_boot_manual.pdf ( 235.27 килобайт )
Кол-во скачиваний: 464У меня достучаться до платы по Ethernet не получилось вообще, но мне это особенно и не нужно.
--------------------
Уходя, оставьте свет...
|
|
|
|
|
Sep 11 2008, 09:38
|
Частый гость
 
Группа: Участник
Сообщений: 80
Регистрация: 5-09-06
Из: Nsk
Пользователь №: 20 094

|
Цитата(Dog Pawlowa @ Sep 11 2008, 14:45)  У меня достучаться до платы по Ethernet не получилось вообще, но мне это особенно и не нужно. Это плохо... Может и U-boot выложите?
|
|
|
|
|
Sep 11 2008, 12:03
|

Профессионал
    
Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555

|
Цитата(Dog Pawlowa @ Sep 7 2008, 22:27)  На той плате Olimex, что получил я, стоят две микросхемы SDRAM, то есть шина 32-разрядная. А у вас на какой частоте SDRAM работает? А то у EA написано Цитата There is one known limitation of the LPC2478 OEM Board and that is that the clock frequency to the external SDRAM must not exceed 57.6 MHz. This limitation only applies to boards with 32-bit external databus width. Boards with 16-bit databus can run at full speed. И действительно на 72 Мгц память глючит  попробовал 48 работает. Еще не понятно - они предлагают получить 57.6 Mhz таким образом Цитата Normally the internal PLL frequency is set to 288 MHz (the external 12 MHz crystal frequency multiplied by 24). Dividing 288 MHz with 5 gives a core frequency of 57.6 MHz and dividing with 4 gives 72 MHz. Но ведь в даташите написано что можно делить только на четное число. Придется обратно прошить и посмотрю что в оригинале было выставлено. В общем посмотрел я. В оргинале CCLKCFG = 4; что ЗАПРЕЩЕНО в даташите. т.е частота получается 57.6 У меня получилось что SDRAM работает до 66 Мгц ( на 68 уже глючит, но меньше чем на 72). Похоже бага в разводке, потому что ошибка всегда в старших битах (16 - 31)
Сообщение отредактировал KRS - Sep 11 2008, 13:49
|
|
|
|
|
Sep 12 2008, 07:14
|
Гуру
     
Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823

|
Цитата(dmtr @ Sep 11 2008, 12:38)  Это плохо... Может и U-boot выложите? Даже не спрашиваю зачем, потому что мазохистов не спрашивают, зачем им плетка  Я начал выкладывать, но 12 метров, и что-то сбойнуло. Попробую еще раз. Нет, не дает, большой файл. По SDRAM: Код #define SYS_FREQ (72MHZ) ... #if SYS_FREQ == (72MHZ) #define SDRAM_PERIOD 13.8 // 72MHz #elif SYS_FREQ == (57MHZ) #define SDRAM_PERIOD 17.4 // 57.6MHz #elif SYS_FREQ == (48MHZ) #define SDRAM_PERIOD 20.8 // 48MHz #elif SYS_FREQ == (36MHZ) #define SDRAM_PERIOD 27.8 // 36MHz #elif SYS_FREQ == (24MHZ) #define SDRAM_PERIOD 41.7 // 24MHz #else #error Frequency not defined #endif
#define P2C(Period) (((Period<SDRAM_PERIOD)?0:(Int32U)((Flo32)Period/SDRAM_PERIOD))+1)
#define SDRAM_REFRESH 7813 #define SDRAM_TRP 20 #define SDRAM_TRAS 45 #define SDRAM_TAPR 1 #define SDRAM_TDAL 3 #define SDRAM_TWR 3 #define SDRAM_TRC 65 #define SDRAM_TRFC 66 #define SDRAM_TXSR 67 #define SDRAM_TRRD 15 #define SDRAM_TMRD 3
/************************************************************************* * Function Name: SDRAM_Init * Parameters: none * * Return: none * * Description: SDRAM controller and memory init * *************************************************************************/ void SDRAM_Init (void) { // Assign pins to SDRAM controller PINSEL5 &= BIN32(11110000,11111100,11111100,11000000); PINSEL5 |= BIN32(00000101,00000001,00000001,00010101); PINMODE5&= BIN32(11110000,11111100,11111100,11000000); PINMODE5|= BIN32(00001010,00000010,00000010,00101010); PINSEL6 = BIN32(01010101,01010101,01010101,01010101); PINMODE6 = BIN32(10101010,10101010,10101010,10101010); PINSEL8 &= BIN32(11000000,00000000,00000000,00000000); PINSEL8 |= BIN32(00010101,01010101,01010101,01010101); PINMODE8&= BIN32(11000000,00000000,00000000,00000000); PINMODE8|= BIN32(00101010,10101010,10101010,10101010); PINSEL9 &= BIN32(11111111,11110011,11111111,11111111); PINSEL9 |= BIN32(00000000,00000100,00000000,00000000); PINMODE9&= BIN32(11111111,11110011,11111111,11111111); PINMODE9|= BIN32(00000000,00001000,00000000,00000000);
// Init SDRAM controller // Enable EMC clock PCONP_bit.PCEMC = 1; EMCCONTROL = 1; // enable EMC EMCDINAMICRDCFG = 1; EMCDYNAMICRASCAS0_bit.CAS = 3; EMCDYNAMICRASCAS0_bit.RAS = 3; EMCDYNAMICRP = P2C(SDRAM_TRP); EMCDYNAMICRAS = P2C(SDRAM_TRAS); EMCDYNAMICSREX = P2C(SDRAM_TXSR); EMCDYNAMICAPR = SDRAM_TAPR; EMCDYNAMICDAL = SDRAM_TDAL+P2C(SDRAM_TRP); EMCDYNAMICWR = SDRAM_TWR; EMCDYNAMICRC = P2C(SDRAM_TRC); EMCDYNAMICRFC = P2C(SDRAM_TRFC); EMCDYNAMICXSR = P2C(SDRAM_TXSR); EMCDYNAMICRRD = P2C(SDRAM_TRRD); EMCDYNAMICMRD = SDRAM_TMRD; EMCDYNAMICCFG0 = 0x0000680; // 13 row, 9 - col, SDRAM // JEDEC General SDRAM Initialization Sequence // DELAY to allow power and clocks to stabilize ~100 us // NOP EMCDINAMICCTRL = 0x0183; for(volatile Int32U i = 200*30; i;i--); // PALL EMCDINAMICCTRL_bit.I = 2; EMCDINAMICRFR = 1; for(volatile Int32U i= 128; i; --i); // > 128 clk EMCDINAMICRFR = P2C(SDRAM_REFRESH) >> 4; // COMM EMCDINAMICCTRL_bit.I = 1; // Burst 8, Sequential, CAS-2 volatile unsigned long Dummy = *(volatile unsigned short *) ((Int32U)&SDRAM_BASE_ADDR + (0x33UL << (12))); // NORM EMCDINAMICCTRL = 0x0000; EMCDYNAMICCFG0_bit.B = 1; for(volatile Int32U i = 10000; i;i--); }
--------------------
Уходя, оставьте свет...
|
|
|
|
|
Sep 15 2008, 07:23
|
Гуру
     
Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823

|
Цитата(proba @ Sep 13 2008, 10:09)  а тошибовски ARM9 TMPA910 не посмотрели ? ... Spoerle и Glyn для Вас недалеко. Для меня и ARM7 в общем то ново, поэтому встревать в ARM9 не хотелось бы. Видео не требуется, а статические картинки я как-нибудь поборю. Пусть даже ценой уменьшения количества битов на точку. Лучшее - враг хорошему. А в век глобализации все всем близко  Безусловно, стало приятно работать - можно позвонить локальному представителю известного производителя микросхем и получить образцы микросхем и старкиты бесплатно навсегда или во временное пользование. Вот только для игры с этим всем требуется время.
--------------------
Уходя, оставьте свет...
|
|
|
|
|
Sep 15 2008, 08:18
|

Профессионал
    
Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555

|
Цитата(proba @ Sep 13 2008, 11:09)  а тошибовски ARM9 TMPA910 не посмотрели ? Чтото я не одного + у него не заметил. Частота маленькая. Etherent, CAN нету. Где их покупать тоже не совсем понятно. IMHO лучше уж Atmel 9263 взять, там хоть шины две! И с документацией и доставабельностью все понятно. А так для нормальной работы с большими разрешениями нужно что то посерьезней. А главное пропускная сопсобность памяти побольше. У меня тут коллеги заказли плату с MPC5121 - двуядерный PPC + PowerVR ( 3D ускоритель ) + еще DSP. Одно огорчает - доков на PowerVR нет ( это кстати и OMAP3 касается но у OMAP3 с переферией туго ) и на DSP тоже доков нету.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|