|
TE-LPC2478LCD, Документация и примеры к плате |
|
|
3 страниц
1 2 3 >
|
 |
Ответов
(1 - 34)
|
Feb 2 2010, 20:19
|
Участник

Группа: Участник
Сообщений: 62
Регистрация: 5-05-06
Из: Геленджик
Пользователь №: 16 811

|
Есть диск от нее, ничего там правда хорошего, схема в DWG и PDF, PDF ы на все комплектующие. Есть пример прграммы для IAR с инициализацией диплея и SDRAM. Драйвер FTDI. DWGTrueViev видимо чтобы схему посмотреть. FlashMagic и IAR V5.20. И какието тесты в виде HEX файла. Все в куче 435 мег. Если что нужно пришлю. Или завтра в инет выложу в виде архива и дам ссылку. Брал одну из первых. Кстати они исправили свою ошибку с АЦП или так и продают с неработающим тачскрином ?
|
|
|
|
|
Feb 3 2010, 09:36
|
Местный
  
Группа: Свой
Сообщений: 316
Регистрация: 22-10-05
Пользователь №: 9 976

|
Цитата(Nick Nickl's @ Feb 2 2010, 23:19)  Брал одну из первых. Кстати они исправили свою ошибку с АЦП или так и продают с неработающим тачскрином ? Не знаю о каком именно ките Вы говорите и какую ошибку АЦП имеете в виду, но у меня TE-LPC2478LCD5.6, на которой по сигналам от тачскрина идет помеха частотой около 10 кГц. В итоге показания тачскрина сильно "дергаются". Я с этой проблемой особо не разбирался, поскольку сейчас нет необходимости в тачскрине, но мне просто интересно как другие решают этот вопрос.
|
|
|
|
|
Feb 3 2010, 13:24
|
Группа: Участник
Сообщений: 3
Регистрация: 27-05-09
Пользователь №: 49 610

|
В прикрепленном файле лежит пример работы платы TE-LPC2478 с платой TE-ADS1241. Вывод на экран измерений, выбор канала АЦП и коэффициента усиления, работа и калибровка тачскрина. Проект под ECLIPSE.
|
|
|
|
|
Feb 3 2010, 16:16
|
Местный
  
Группа: Свой
Сообщений: 316
Регистрация: 22-10-05
Пользователь №: 9 976

|
Цитата(VVS_2009 @ Feb 3 2010, 16:24)  В прикрепленном файле лежит пример работы платы TE-LPC2478 с платой TE-ADS1241. Вывод на экран измерений, выбор канала АЦП и коэффициента усиления, работа и калибровка тачскрина. И в каком же месте там калибровка и работа с тачскрином?
|
|
|
|
|
Feb 3 2010, 19:23
|
Участник

Группа: Участник
Сообщений: 62
Регистрация: 5-05-06
Из: Геленджик
Пользователь №: 16 811

|
Vref небыл никуда не подключен. Я обсуждал это с ними в коференции на сайте терры. Ониже там и признались в ошибке. http://www.terraelectronica.ru/board/index...=1306&st=38. Про 10кгц не знал. Но на лицо есть помеха. По горизонтали ее так и не отфильтровал, но для тыканья в крупные кнопки не мешает.
Сообщение отредактировал Nick Nickl's - Feb 3 2010, 19:35
|
|
|
|
|
Feb 4 2010, 14:56
|
иногда заглядывающий
   
Группа: Свой
Сообщений: 900
Регистрация: 18-05-05
Из: Зеленоград
Пользователь №: 5 170

|
Воопщем пол дня пытаемся запустить NOR внешнюю- дохлый номер. На нашем диске вообще никаких примеров по работе с ней нет, даже тестовых, а вот на том диске что в этой теме выкладывали выше есть вот такой пример: I520_SBCL2478P100_SDRAMFLASH.hex(смотрите аттач) Результат выполнения этой проги валит в терминал: Цитата **********Terraelectronica********** Board: SBC_L2478_Axxx ************************************ TestSystem: TEST INTERRUPT OK! TEST SDRAM ... TEST SDRAM OK! TEST FLASH ... Manufacturer Code: 00FF Device Code: FFFF TEST NOR FLASH FAILD! Сами пытались кое-что с нуля запустить, закончилось так же чтением кода производителя 0x00FF и кода девайса 0xFFFF. Воопщем не отладка а садо-маза какая-то выходит...
|
|
|
|
|
Feb 5 2010, 07:39
|
Участник

Группа: Участник
Сообщений: 62
Регистрация: 5-05-06
Из: Геленджик
Пользователь №: 16 811

|
Да работает. Я туда экранную заставку запихнул. Уже не помню где взял код, кажется из примеров IAR
//------------------------------------------------------------------------------
#define NOR_FLASH_SIZE 0x00400000 // M29DW323DT, 32Mbit(2M x 16 bit). #define NOR_FLASH_BASE 0x80000000 // 0x8000 0000 - 0x803F FFFF NOR FLASH
#define GET_ADDR(addr) (volatile WORD *)(NOR_FLASH_BASE | (addr<<1))
//#define SECTOR_SIZE 0x800 /* Must be 2048 ??? words for M29DW323D */ #define BLOCK_SIZE 0x10000 /* Must be 64K words for M29DW323D */
//#define SST_ID 0xBF /* SST Manufacturer's ID code */ //#define SST_39VF160 0x234B /* SST 39VF160 device code */
#define SST_ID 0x20 /* SST Manufacturer's ID code */ #define SST_M29DW323D 0x225F /* SST M29DW323DB device code */
#define PROGRAM_TIMEOUT 0x08000000
extern void NORFLASHInit( void ); extern void NORFLASHErase( void ); extern DWORD NORFLASHCheckID( void ); extern DWORD NORFLASHWriteWord( DWORD Addr, WORD Data ); extern DWORD ToggleBitCheck( DWORD Addr, WORD Data );
/***************************************************************************** ** Function name: NORFLASHInit ** ** Descriptions: initialize external NOR FLASH memory ** ** parameters: None ** ** Returned value: None ** *****************************************************************************/
void NORFLASHInit( void ) { // ************************************************************************** // * Initialize EMC for NOR FLASH // ************************************************************************** EMC_CTRL = 0x00000001;
PCONP |= 0x00000800; // Turn On EMC PCLK PINSEL4 = 0x50000000; PINSEL5 = 0x05050555; PINSEL6 = 0x55555555; PINSEL8 = 0x55555555; PINSEL9 = 0x50555555;
delayMs(1, 100); // use timer 1 EMC_STA_CFG0 = 0x00000081; EMC_STA_WAITWEN0 = 0x2; EMC_STA_WAITOEN0 = 0x2; EMC_STA_WAITRD0 = 0x1f; EMC_STA_WAITPAGE0 = 0x1f; EMC_STA_WAITWR0 = 0x1f; EMC_STA_WAITTURN0 = 0xf; delayMs(1, 10); // use timer 1 return; }
/***************************************************************************** ** Function name: ToggleBitCheck ** ** Descriptions: Toggle Bit check if the data is written or erased ** ** parameters: Address and Expected data ** ** Returned value: done(TRUE) or timeout(FALSE) ** *****************************************************************************/ DWORD ToggleBitCheck( DWORD Addr, WORD Data ) { volatile WORD *ip; WORD temp1, temp2; DWORD TimeOut = PROGRAM_TIMEOUT;
while( TimeOut > 0 ) { ip = GET_ADDR(Addr); temp1 = *ip; ip = GET_ADDR(Addr); temp2 = *ip; if ( (temp1 == temp2) && (temp1 == Data) ) { return( TRUE ); } TimeOut--; } return ( FALSE ); }
/***************************************************************************** ** Function name: NORFLASHCheckID ** ** Descriptions: Check ID from external NOR FLASH memory ** ** parameters: None ** ** Returned value: Flash ID read is correct or not ** *****************************************************************************/ DWORD NORFLASHCheckID( void ) { volatile WORD *ip; WORD SST_id1, SST_id2;
/* Issue the Software Product ID code to 39VF160 */ ip = GET_ADDR(0x5555); *ip = 0x00AA; ip = GET_ADDR(0x2AAA); *ip = 0x0055; ip = GET_ADDR(0x5555); *ip = 0x0090; delay(10);
/* Read the product ID from 39VF160 */ ip = GET_ADDR(0x0000); SST_id1 = *ip & 0x00FF; ip = GET_ADDR(0x0001); SST_id2 = *ip;
/* Issue the Soffware Product ID Exit code thus returning the 39VF160 */ /* to the read operating mode */ ip = GET_ADDR(0x5555); *ip = 0x00AA; ip = GET_ADDR(0x2AAA); *ip = 0x0055; ip = GET_ADDR(0x5555); *ip = 0x00F0; delay(10);
/* Check ID */ if ((SST_id1 == SST_ID) && (SST_id2 ==SST_M29DW323D)) return( TRUE ); else return( FALSE ); }
/***************************************************************************** ** Function name: NORFLASHErase ** ** Descriptions: Erase external NOR FLASH memory ** ** parameters: None ** ** Returned value: None ** *****************************************************************************/ void delayMs(U32 delayInMs); void NORFLASHErase( void ) { volatile WORD *ip;
ip = GET_ADDR(0x5555); *ip = 0x00AA; ip = GET_ADDR(0x2AAA); *ip = 0x0055; ip = GET_ADDR(0x5555); *ip = 0x0080; ip = GET_ADDR(0x5555); *ip = 0x00AA; ip = GET_ADDR(0x2AAA); *ip = 0x0055; ip = GET_ADDR(0x5555); *ip = 0x0010; delayMs(100); /* Use timer 1 */ return;
}
/***************************************************************************** ** Function name: NORFLASHWriteWord ** ** Descriptions: Program one 16-bit data into external NOR FLASH memory ** This "WORD" for the external flash is 16 bits!!! ** ** parameters: DWORD address and WORD data ** ** Returned value: Written successful or not ** *****************************************************************************/ DWORD NORFLASHWriteWord( DWORD Addr, WORD Data ) { volatile WORD *ip;
ip = GET_ADDR(0x5555); *ip = 0x00AA; ip = GET_ADDR(0x2aaa); *ip = 0x0055; ip = GET_ADDR(0x5555); *ip = 0x00A0; ip = GET_ADDR(Addr); /* Program 16-bit word */ *ip = Data; return ( ToggleBitCheck( Addr, Data ) ); }
/******************************************************************************** * ** End Of File ******************************************************************************** */
Сообщение отредактировал Nick Nickl's - Feb 5 2010, 07:44
|
|
|
|
|
Feb 5 2010, 07:56
|
Участник

Группа: Участник
Сообщений: 62
Регистрация: 5-05-06
Из: Геленджик
Пользователь №: 16 811

|
Не секрет. Сгенерил двоичный файл на SD/MMC и от туда переписываю в NOR. Пришлось еще прикуртить библиотеку с FAT32 и работу с MCI. В общем с миру по нитке. Пользовательский интерфейс сдлал из microwindows. Чтобы все совестить с scmRTOS, ну и вобще потом чтобы не мучатся все перелопатил на С++. Все сырое, но работает. Могу скинуть проект. Мне не жалко. На Visual C++ сделал имитатор системы и пользовательский интерфейс microwindows можно тестировать на обычном компе.
|
|
|
|
|
Feb 5 2010, 10:23
|
Участник

Группа: Участник
Сообщений: 62
Регистрация: 5-05-06
Из: Геленджик
Пользователь №: 16 811

|
Чем залить можно через JLink ваш HEX файл. Segger овский лоадер лицензию вымогает ... LPC2000 Flash utility тоже с этой платой похоже не дружит.
Сообщение отредактировал Nick Nickl's - Feb 5 2010, 10:40
|
|
|
|
|
Feb 5 2010, 11:03
|
иногда заглядывающий
   
Группа: Свой
Сообщений: 900
Регистрация: 18-05-05
Из: Зеленоград
Пользователь №: 5 170

|
Цитата(Nick Nickl's @ Feb 5 2010, 13:23)  Чем залить можно через JLink ваш HEX файл. Segger овский лоадер лицензию вымогает ... LPC2000 Flash utility тоже с этой платой похоже не дружит. FlashMagic через виртуальный комп порт, тот что на FT232RL сделан заливается на раз. А так через J-link при помощи JFlash. Если первым вариантом будут какие-то проблемы, то в личку адрес эл.почты пиши. Кстати попробовал прошить плату через J-link через J-flash, в режиме авто не находит чип внешней памяти. В режиме, когда четко указываешь тип внешней памяти говорит что ID внешней памяти не тот что нужно, и что вместо 0x20225F имеет ID 0xFFFFFF.
|
|
|
|
|
Feb 5 2010, 20:02
|
Местный
  
Группа: Участник
Сообщений: 257
Регистрация: 10-06-06
Из: Ставрополь
Пользователь №: 17 955

|
Цитата Не секрет. Сгенерил двоичный файл на SD/MMC и от туда переписываю в NOR. Пришлось еще прикуртить библиотеку с FAT32 и работу с MCI. Скиньте проектик, пожалуйста, желательно и ранний вариант без С++
|
|
|
|
|
Feb 7 2010, 10:17
|
Участник

Группа: Участник
Сообщений: 62
Регистрация: 5-05-06
Из: Геленджик
Пользователь №: 16 811

|
Для отладки интерфейса можно использовать вот это: http://79.143.76.226/files/GFX_device_test.zip
Сообщение отредактировал Nick Nickl's - Feb 7 2010, 10:36
|
|
|
|
|
Mar 22 2010, 10:02
|

Местный
  
Группа: Участник
Сообщений: 217
Регистрация: 31-07-09
Из: Москва
Пользователь №: 51 684

|
Модулей TE-LPC2478LCD5.6 произведено немало, опытные заказчики закупают партии. Мы проверяем продукцию, но иногда дефект проявляется после проверки, это гарантийный случай.
Если у вас по каким-то причинам не заработала та или иная периферия, звоните, пишите в техническую поддержку support@terraelectronica.ru. На данный момент "детские болезни" схемы и топологии выявлены при эксплуатации и устранены.
Сейчас производятся платы серии v102. Если вам не понятен код программы, мы его прокомментируем. Если у вас проблемы с быстрым запуском, приезжайте к нам, мы вам запустим и обсудим проблемы или затруднения. Если вы находитесь далеко – звоните/пишите и мы Вам перезвоним!
Об отечественных средствах: технически сложные изделия и у ведущих мировых производителей вначале сопровождаются документами типа Errata. Наш модуль имеет оптимальное соотношение себестоимости и функционала по сравнению с зарубежными аналогами. Отличительная особенность – наличие основных интерфейсов коммутации (SDCARD, CAN, UART, USBdevice, USBHost, Ethernet), доступность всех выводов микроконтроллера, наличие 5.6 LCD 15бит (обновление экрана 15Гц), память SDRAM 32MB и NORFLASH 4MB. Микроконтроллер LPC2478 является уникальным среди семейства ARM7 в виду развитой периферии и LCD-контроллера, EMC-контроллера внешней памяти.
--------------------
|
|
|
|
|
Mar 30 2010, 05:30
|
Группа: Участник
Сообщений: 3
Регистрация: 27-05-09
Пользователь №: 49 610

|
Исходные тексты работы сенсорного экрана и его калибровки: Проект под IAR:
te_lcd5.6_touchscreen_iar.zip ( 58.99 килобайт )
Кол-во скачиваний: 295Под GCC:
te_lcd5.6_touchscreen_gcc.zip ( 15.93 килобайт )
Кол-во скачиваний: 168Схема TE-LPC2478LCD56:
TE_LPC2478LCD56.zip ( 291.55 килобайт )
Кол-во скачиваний: 590
|
|
|
|
|
Apr 15 2010, 10:41
|
Группа: Участник
Сообщений: 3
Регистрация: 27-05-09
Пользователь №: 49 610

|
На сайте Терраэлектроника стал доступен для скачивания проект показывающий работу стека протоколов TCP/IP и проверку работы порта Ethernet на плате TE-LPC2478LCD56. Проект работает под FreeRTOS. Ссылки доступны на странице описания платы TE-LPC2478LCD56.
|
|
|
|
|
Jul 5 2010, 12:03
|
Группа: Новичок
Сообщений: 2
Регистрация: 26-03-10
Из: Москва
Пользователь №: 56 217

|
Nick Nickl's , спасибо за архив TE-LPC2478LCD56.zip, очень помогает. У меня в наличии модуль TE-LPC2478LCD3.5. немного переделал Init_LCD_controller по примеру терроэлектроники, экран заработал. Теперь не получается сенсорный экран. Понимаю, что подключен он к другим пинам, а именно P0_24 стал P2_30, P3_29 стал P0_12, P0_26 стал P4_23, P3_28 стал P1_31, при соответствующей замене кода реагирует только на нажатие, т.е. acZp=1, либо 0 когда нажат экран, с координатами беда. Если не трудно, объясните как переписать строку FIO3DIR=(FIO3DIR&~((1<<29)|(1<<28)))|(1<<28);
|
|
|
|
|
Jul 5 2010, 14:08
|
Частый гость
 
Группа: Свой
Сообщений: 163
Регистрация: 16-02-07
Из: Харьков
Пользователь №: 25 425

|
Цитата(Pniiis @ Jul 5 2010, 15:03)  Если не трудно, объясните как переписать строку FIO3DIR=(FIO3DIR&~((1<<29)|(1<<28)))|(1<<28); хоть я и не в теме, но предположу, что таким образом (FIO3DIR=(FIO3DIR&~((1<<29)|(1<<28)))|(1<<28)  сбрасываются в ноль пины №29, №28 и опять №28 (это в приведенной Вами строке, может быть там 26-й должен быть) порта FIO3DIR. Вам надо сделать по аналогии.
|
|
|
|
|
Jul 5 2010, 14:44
|
Частый гость
 
Группа: Участник
Сообщений: 99
Регистрация: 29-06-09
Пользователь №: 50 730

|
Цитата У меня в наличии модуль TE-LPC2478LCD3.5. немного переделал Init_LCD_controller по примеру терроэлектроники, экран заработал. Теперь не получается сенсорный экран. Понимаю, что подключен он к другим пинам, а именно P0_24 стал P2_30, P3_29 стал P0_12, P0_26 стал P4_23, P3_28 стал P1_31, Нет под руками схемы TE-LPC2478LCD3.5, но что-то с вашей схемой не так! на этих портах ТАЧ работать небудет(ИМХО) посмотрите внимательней! А вообще я переделал тач по схеме IAR_LPC2478_STK. Тогда все ИАРовские и некотороые другие примеры работают(только рихтануть)
|
|
|
|
|
Jul 6 2010, 06:25
|
Группа: Новичок
Сообщений: 2
Регистрация: 26-03-10
Из: Москва
Пользователь №: 56 217

|
Схемы подключения согласно документации 1 TE-LPC2478LCD56  2 TE-LPC2478LCD35  Цитата А вообще я переделал тач по схеме IAR_LPC2478_STK diqlook, это с используя drv_touch_scr.c ?
|
|
|
|
|
Jul 6 2010, 09:03
|
Частый гость
 
Группа: Участник
Сообщений: 99
Регистрация: 29-06-09
Пользователь №: 50 730

|
QUOTE diqlook, это с используя drv_touch_scr.c ? Я не понял о чем Вы, вот фрагмент схемы по которой я переподключил(проводочкамии еще одним разьемом) при таком подключении PowerPakовские приеры должны запустится без переделок(графика и тач), тоже самое порт от uCOS Micrum.по вашей схеме придется перелопатить код
Сообщение отредактировал IgorKossak - Jul 6 2010, 09:14
Эскизы прикрепленных изображений
|
|
|
|
|
Dec 15 2011, 20:48
|
Группа: Новичок
Сообщений: 1
Регистрация: 14-12-11
Пользователь №: 68 858

|
Может у кого-то получилось прошить внешнюю флэш M29DW323DB через JTAG? Пробовал J-Link-ом через программу J-Flash - не опознается флэшка, и все тут. Да, сама флэш исправна, через последовательный порт шьется нормально, но очень медленно. Хотелось бы побыстрее
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|