|
AT91SAM9XE + LCD controller, Выбор внешнего LCD контроллера |
|
|
|
Mar 16 2008, 08:30
|
Участник

Группа: Участник
Сообщений: 53
Регистрация: 12-09-07
Пользователь №: 30 498

|
Цитата(aaarrr @ Mar 16 2008, 12:13)  P.S. А почему Вы решили выбрать SAM9XE? Это же тот же самый SAM9260 только с маленькой флеш внутри, и пока еще он только в стадии разработки, что у Атмела может затянуться на пару лет. Я знаю об SAM9261 со встроенным LCD. Но выбор SAM9XE по причине того, что проектируется универсальная ( development board) плата. В самой простой конфигурации это будет просто "микроконтроллерная" плата ( без внешней SDRAM и др). Только SAM9XE. В полной комплектации это будет "микропроцессорная" плата с 64M SDRAM, MicroSD, Ethernet, LCD. Размеры платы будут 60x60мм. Поэтому все очень сложно втиснуть. Подумываю об установке FPGA в качестве LCD контроллера. Посмотрел на RoadMap от Epson. http://media.digikey.com/pdf/Data%20Sheets...0Controller.pdfВ принципе для QVGA было бы достаточно S1D13A05B00B200 ( 256KB встроенной памяти)
|
|
|
|
|
Mar 16 2008, 09:14
|
Гуру
     
Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448

|
Цитата(MiniMax @ Mar 16 2008, 11:30)  Я знаю об SAM9261 со встроенным LCD. Но выбор SAM9XE по причине того, что проектируется универсальная ( development board) плата. В самой простой конфигурации это будет просто "микроконтроллерная" плата ( без внешней SDRAM и др). Только SAM9XE. В полной комплектации это будет "микропроцессорная" плата с 64M SDRAM, MicroSD, Ethernet, LCD. Размеры платы будут 60x60мм. Поэтому все очень сложно втиснуть. Подумываю об установке FPGA в качестве LCD контроллера. SAM9261 тоже можно использовать без SDRAM - 160Кбайт SRAM вполне достаточно даже для не очень мелких задач, загружаться можно с DataFlash. Цитата(MiniMax @ Mar 16 2008, 11:30)  Посмотрел на RoadMap от Epson. http://media.digikey.com/pdf/Data%20Sheets...0Controller.pdfВ принципе для QVGA было бы достаточно S1D13A05B00B200 ( 256KB встроенной памяти) Он один стоит дороже, чем SAM9263 (который перекроет все Ваши потребности, включая Ethernet), и с наличием глухо.
|
|
|
|
|
Mar 16 2008, 17:52
|
Участник

Группа: Участник
Сообщений: 53
Регистрация: 12-09-07
Пользователь №: 30 498

|
Цитата(dmtr @ Mar 16 2008, 21:18)  Небольшой вопрос, хотя не совсем в тему... А можно на платах на SAM9260 впоследствии запаиваивать SAM9XE, т.е. совпадают ли они по ногам ? Да, можно. DEVKIT для SAM9XE должен появиться в продаже только в апреле. Пока рекомендуют покупать DEVKIT для 9260 и просто запаять туда новый 9XE. По выводам все попадает
|
|
|
|
|
Jan 23 2010, 14:51
|
Частый гость
 
Группа: Свой
Сообщений: 142
Регистрация: 13-12-08
Пользователь №: 42 444

|
Оживляю вопрос, поскольку микросхемы доступны и тема актуальна.
Мне как раз подходит AT91SAM9XE512 по всем параметрам, за исключением отсутствия контроллера дисплея. Можно подключить дисплей с 16-битным CPU интерфейсом, как это сделано на плате EVK 1105 для AT32UC3A0512.
Остается главный вопрос - можно ли будет запустить графический интерфейс Linux и использовать какие-либо готовые библиотеки?
--------------------
Мы в любой заготовке обязаны увидеть деталь
|
|
|
|
|
Jan 23 2010, 17:43
|
Участник

Группа: Участник
Сообщений: 53
Регистрация: 12-09-07
Пользователь №: 30 498

|
Я подключил MTF-TQ24NN731-LB. Дисплей имеет встроенный контроллер. Готового драйвера не нашел. Пришлось написать самому fb драйвер для ILI9325 контроллера. В принципе, не особо сложно. Программная пересылка FrameBuffer из SDRAM в память LCD контроллера 25 раз в секунду. Процессор не нагружается Запускал Minigui Фотографии можно посмотреть здесь
|
|
|
|
|
Jan 24 2010, 09:33
|
Участник

Группа: Участник
Сообщений: 53
Регистрация: 12-09-07
Пользователь №: 30 498

|
Цитата(sasamy @ Jan 24 2010, 03:23)  Забавно - а данные из sdram в lcd чертик из табакерки перекидывает 25 раз в секунду ?  Да, 25 раз в секунду Дисплей имеет 18-bit шину. Процессор пишет 32-bit словами. Старшие 14 разрядов не используются. Организация FB подогнана под железо, чтобы цикл записи был оптимизирован по скорости Код .... static struct fb_var_screeninfo mmarm9_ili9325_var __devinitdata = { .xres = X_RES, .yres = Y_RES, .xres_virtual = X_RES, .yres_virtual = Y_RES, .height = -1, .width = -1, .activate = FB_ACTIVATE_NOW, .vmode = FB_VMODE_NONINTERLACED, .bits_per_pixel = B_PP, .red = {12, 6, 0 }, .green = { 6, 6, 0 }, .blue = { 0, 6, 0 }, .nonstd = 0, }; .....
static int mmarm9_ili9325_thread(void *param) { int ndx; u32 *videodata; struct mmarm9_ili9325_info *sinfo = (struct mmarm9_ili9325_info *)param; printk(KERN_ALERT "ILI9325 Thread Enter\n"); while(!kthread_should_stop()) { videodata = (u32*)sinfo->buffer; /* X=0,Y=0 */ iowrite32(0x40,sinfo->ir); iowrite32(0x0,sinfo->dr); iowrite32(0x42,sinfo->ir); iowrite32(0x0,sinfo->dr); iowrite32(0x44,sinfo->ir); /* Update LCD VIDEO RAM from FrameBuffer */ for ( ndx=0; ndx< MEM_LEN>>2; ndx++) iowrite32(*videodata++,sinfo->dr); /* Frames Per Second = 25 */ schedule_timeout_interruptible(HZ/25); } printk(KERN_ALERT "ILI9325 Thread Exit\n"); return 0; } ....
|
|
|
|
|
Jan 24 2010, 10:54
|
Участник

Группа: Участник
Сообщений: 53
Регистрация: 12-09-07
Пользователь №: 30 498

|
Цитата(aaarrr @ Jan 24 2010, 12:56)  Просто общественность удивила фраза "процессор не нагружается", в то время как именно ему и приходится за всех отдуваться. Процессор показывает загрузку 0%. Я это имел ввиду. Т.е. время пересылки очень маленькое и не тормозит другие задачи.
|
|
|
|
|
Jan 24 2010, 16:31
|
Участник

Группа: Участник
Сообщений: 53
Регистрация: 12-09-07
Пользователь №: 30 498

|
Цитата(aaarrr @ Jan 24 2010, 14:51)  Показывать он может все что угодно, но пересылка 7.32Мбайт/с не самым эффективным способом не грузить его не может. Это понятно что грузит. Но практически это не влияет на работу других приложений. Конечно-же все работало бы более эффективно при наличии DMA "memory-memory". Но в этом контроллере его нет. И вообще этот конроллер ( 9260) не для мультимедиа. Никто не собирается крутить на нем кино Для простого GUI все работает удовлетворительно
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|