Перейти к содержанию
    

LPC2478 + LCD = cтранные проблемы с синхронизацией.

Что делать?! Что делать?! :crying: А мне что выбрать? :(

 

А это сложно физически?

у ЕА платы есть разьем специальный, думаю у OLIMEX тоже - нужно просто сделать переходник.

обычно самое сложное подключить backlight ( обычно получается внешний использвать )

 

IMHO получается проще вообще купить SK-MLPC2478 за 1500 руб и не париться. ( правда скорее всего чип придется перепаять на 78)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

IMHO получается проще вообще купить SK-MLPC2478 за 1500 руб и не париться. ( правда скорее всего чип придется перепаять на 78)

1.Перепаивать не на что.

2.Памяти там 512KB 16bit статика

3.Разводка - пракически 1:1 выводы по периметру чипа - подключать максимально неудобно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

На той плате Olimex, что получил я, стоят две микросхемы SDRAM, то есть шина 32-разрядная. Индикатор 24 bpp, может поэтому. Причем на форумах видел фотографии этой же платы Olimex, но с одной микросхемой. Повезло :)

Ситуация с U-link & ucLinux аналогичная - все есть, но ковыряться в бездне исходников - тяжелый, изнурительный труд.

Есть еще пример работы с LCD, который я и мучаю. Инициализация дисплея расписана болгарином очень корректно и понятно. Уважаю.

То, что Вы пишете, сняло камень с души :) , поскольку уже жалел, что поторопился и заказал Olimex вместо Embedded Artist. Да и расписанная в Embedded возможность быстро начать программирование под Linux навевала мысли о том, что вот, наконец-то можно ничего не делать.

В принципе запустить LCD не так то сложно, а примеры поддержки других узлов выложены на Olimex для других плат. Но путь не пройден, просто имеется такое направление :)

Нельзя узнать как точно называется ваша плата у Olimex?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

у ЕА платы есть разьем специальный, думаю у OLIMEX тоже - нужно просто сделать переходник.

обычно самое сложное подключить backlight ( обычно получается внешний использвать )

На настоящий момент это выглядит вот так. Старткит на обратной стороне рукотворного изделия.

http://forum.sparkfun.com/viewtopic.php?t=10334

 

Нельзя узнать как точно называется ваша плата у Olimex?

А на сайт Olimex заглядывали? Там невозможно перепутать - больше с LPC2478 ничего нет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

проще вообще купить SK-MLPC2478 за 1500 руб и не париться.

Размышлял на эту тему, в этом памяти маловато, да и хотелось бы динамическую, а в том что подороже ПЛИСка приделана , смысл вообще теряется, можно контроллер дисплея на ней заморочить.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А то вчера получили Ebmedded Artists - там 16 битная Samsug одна стоит и все.

Я был не прав. На моем модуле стоит 32 битный BGA samsung

меня просто схема с толку сбила.

У них по схеме - samsung 16 битный, а микрон 32 битный.

а на плате стоит samsung 32 битный mobile sdram, который на схеме вообще не упоминается.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А на сайт Olimex заглядывали? Там невозможно перепутать - больше с LPC2478 ничего нет.

А есть на диске к киту готовый U-boot для загрузки uCLinux через Ethernet ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А есть на диске к киту готовый U-boot для загрузки uCLinux через Ethernet ?

А вот сами посмотрите. u_boot_manual.pdf

У меня достучаться до платы по Ethernet не получилось вообще, но мне это особенно и не нужно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У меня достучаться до платы по Ethernet не получилось вообще, но мне это особенно и не нужно.

 

Это плохо... Может и U-boot выложите?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

На той плате 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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Это плохо... Может и 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--);
}

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Это плохо... Может и U-boot выложите?

Я могу diff от EA выложить для uboot.

Собственно он и здесь поместится ( прилагаю)

u_boot_1.1.6_ea_v1_8_1.diff.gz

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

на самом деле 24 bpp && display resolution >= 640x480, 800x600, and 1024x768 работать не могут.

а тошибовски ARM9 TMPA910 не посмотрели ?

http://www.spoerle.com/cda/semiconhotoffer...74,4522,00.html

http://www.toshiba-components.com/microcon...SKTOPAS910.html

Spoerle и Glyn для Вас недалеко.

Изменено пользователем proba

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

а тошибовски ARM9 TMPA910 не посмотрели ?

...

Spoerle и Glyn для Вас недалеко.

 

Для меня и ARM7 в общем то ново, поэтому встревать в ARM9 не хотелось бы.

Видео не требуется, а статические картинки я как-нибудь поборю. Пусть даже ценой уменьшения количества битов на точку. Лучшее - враг хорошему.

 

А в век глобализации все всем близко :) Безусловно, стало приятно работать - можно позвонить локальному представителю известного производителя микросхем и получить образцы микросхем и старкиты бесплатно навсегда или во временное пользование. Вот только для игры с этим всем требуется время.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

а тошибовски ARM9 TMPA910 не посмотрели ?

Чтото я не одного + у него не заметил.

Частота маленькая. Etherent, CAN нету. Где их покупать тоже не совсем понятно.

IMHO лучше уж Atmel 9263 взять, там хоть шины две! И с документацией и доставабельностью все понятно.

А так для нормальной работы с большими разрешениями нужно что то посерьезней. А главное пропускная сопсобность памяти побольше.

 

У меня тут коллеги заказли плату с MPC5121 - двуядерный PPC + PowerVR ( 3D ускоритель ) + еще DSP.

Одно огорчает - доков на PowerVR нет ( это кстати и OMAP3 касается но у OMAP3 с переферией туго ) и на DSP тоже доков нету.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...