реклама на сайте
подробности

 
 
87 страниц V  « < 63 64 65 66 67 > »   
Reply to this topicStart new topic
> AVR и Siemens M55
sasamy
сообщение May 3 2009, 21:17
Сообщение #961


Знающий
****

Группа: Участник
Сообщений: 783
Регистрация: 22-11-08
Пользователь №: 41 858



Цитата(Doniak @ May 3 2009, 21:17) *
Имеется дисплей LPH88 (Siemens CX65) на мега16 инициализировал нормально.
Подключил к АТ91SAM7S32 не удаётся запустить sad.gif
в архиве исходник может подскажетев чом ошибка ?


Не силен в самах, первое что бросилось в глаза - разве там будет pio переключаться когда вы порт перевели в режим периферии ?

AT91F_PIO_CfgPeriph(AT91C_BASE_PIOA, AT91C_PA12_MISO | AT91C_PA13_MOSI | >>>AT91C_PA11_NPCS0<<< | AT91C_PA14_SPCK,0);
а потом:
void CSpuls(void){
AT91F_PIO_SetOutput( AT91C_BASE_PIOA, AT91C_PIO_PA11);
AT91F_PIO_ClearOutput( AT91C_BASE_PIOA, AT91C_PIO_PA11);
}
Потом под рукой даташита нет - в коментах написано
// SPI Init: CS0, Master, >>>16 Bit<<<, Clock/ 0x10
а работаете как с 8-битными данными.
Go to the top of the page
 
+Quote Post
Doniak
сообщение May 4 2009, 05:24
Сообщение #962





Группа: Участник
Сообщений: 13
Регистрация: 3-05-09
Пользователь №: 48 574



Цитата(sasamy @ May 4 2009, 00:17) *
Не силен в самах, первое что бросилось в глаза - разве там будет pio переключаться когда вы порт перевели в режим периферии ?

AT91F_PIO_CfgPeriph(AT91C_BASE_PIOA, AT91C_PA12_MISO | AT91C_PA13_MOSI | >>>AT91C_PA11_NPCS0<<< | AT91C_PA14_SPCK,0);
а потом:
void CSpuls(void){
AT91F_PIO_SetOutput( AT91C_BASE_PIOA, AT91C_PIO_PA11);
AT91F_PIO_ClearOutput( AT91C_BASE_PIOA, AT91C_PIO_PA11);
}
Потом под рукой даташита нет - в коментах написано
// SPI Init: CS0, Master, >>>16 Bit<<<, Clock/ 0x10
а работаете как с 8-битными данными.

Цитата
AT91C_PA11_NPCS0

AT91C_PA11_NPCS0 - пробывал не переводить результата нет

Цитата
Потом под рукой даташита нет - в коментах написано
// SPI Init: CS0, Master, >>>16 Bit<<<, Clock/ 0x10

исходник настройки SPI брал с дисплея LS020 коменты сохранились но настройки сделал на 8бит , Clock/4

Шурила спасиба за исходник долго по интернету искал подобное под АТ91.
Цитата
Не разбирался. Но здесь мой код для АТ91SAM7S64 под дисплей LPH88 (IAR 5.2). Может поможет.
Схема у меня на сайте.

а функцыи как в либе KEILa оО
Не могли бы объяснить вот эту функцию что она делает ( её внутренности ) spi_pld (0);

Сообщение отредактировал Doniak - May 4 2009, 06:11
Go to the top of the page
 
+Quote Post
Шурила
сообщение May 4 2009, 06:30
Сообщение #963


Частый гость
**

Группа: Свой
Сообщений: 81
Регистрация: 28-07-07
Из: Кишинев
Пользователь №: 29 434



Цитата(Doniak @ May 4 2009, 08:24) *
...
Не могли бы объяснить вот эту функцию что она делает ( её внутренности ) spi_pld (0);

spi_pld (0); - это обращение к другому CS SPI (в данном случае CS PLD с которой общение тоже по SPI), соответственно CS дисплея ставится в "1".
Как бы понятно из названия функции lcd_cshigh();
Go to the top of the page
 
+Quote Post
Doniak
сообщение May 4 2009, 08:50
Сообщение #964





Группа: Участник
Сообщений: 13
Регистрация: 3-05-09
Пользователь №: 48 574



Цитата(Шурила @ May 4 2009, 09:30) *
spi_pld (0); - это обращение к другому CS SPI (в данном случае CS PLD с которой общение тоже по SPI), соответственно CS дисплея ставится в "1".
Как бы понятно из названия функции lcd_cshigh();


Спасиба всё заработало проблема оказалась в том что неправельно дёргал ногой CS. В настройках выбрал переменую переферию и теперь меняю её при вызове функцые CSpuls(); и всё работает smile.gif
Немного не ясно какой должна быть фаза синхрон сигнала вродибы в любой работает...
Go to the top of the page
 
+Quote Post
bolt
сообщение May 4 2009, 13:52
Сообщение #965


Участник
*

Группа: Участник
Сообщений: 20
Регистрация: 11-03-09
Пользователь №: 45 975



пользуя инфу от Juras Pr. малость перекроил инициализацию для LS020. Хуже не стало, но желательно перепроверить
Код
//-- step 1 ------------
send(0xef00);//set bank 00h
send(0xee0c);
send(0x1b04);
send(0xef90);//set bank 90h
send(0x4a04);
send(0x7f1f);//8 bit color
send(0x4306);//
del_us(2600);//~7ms

//-- step 2 ------------
send(0x0a00);//X start
send(0x0800);//Y start
send(0x0baf);//X end
send(0x0983);//Y end
send(0x0500);//vertical
send(0x0600);//RAM cursor Y=0
send(0x0700);//X=0
send(0x0080);//?
send(0xefb0);//set bank b0h
send(0x4902);//positive

send(0xef00);//set bank 00h
send(0x7f01);
send(0xe276);
send(0xe183);
send(0x8001);// OSC on
del_us(1800);//~5ms - end init

//-- RAM to TFT --------

send(0xef90);//set bank 90
send(0x0000);// display RAM

RS=1, CS распаян на GND, Reset - на RC. После подачи питания задержка 10ms

Сообщение отредактировал bolt - May 4 2009, 13:55
Go to the top of the page
 
+Quote Post
Шурила
сообщение May 4 2009, 14:18
Сообщение #966


Частый гость
**

Группа: Свой
Сообщений: 81
Регистрация: 28-07-07
Из: Кишинев
Пользователь №: 29 434



Цитата(Doniak @ May 4 2009, 11:50) *
Немного не ясно какой должна быть фаза синхрон сигнала вродибы в любой работает...

Эта инфа есть в Using_the_Siemens_S65_Display.pdf
картинка из этого документа. Надо сделать так как на картинке, иначе могут быть казусы, ну например при изменении температуры или питания.
Прикрепленное изображение
Go to the top of the page
 
+Quote Post
bolt
сообщение May 4 2009, 14:28
Сообщение #967


Участник
*

Группа: Участник
Сообщений: 20
Регистрация: 11-03-09
Пользователь №: 45 975



Глупость какая! Всегда CS глухо распаивал на всех LCD. Пока чип на шине один - харчами можно не перебирать. Аналогично и RS - пин считывается на последнем такте, но удобно выставить направление до передачи данных.
Или извольте обосновать:
Цитата
..могут быть казусы, ну например при изменении температуры или питания


Сообщение отредактировал bolt - May 4 2009, 14:32
Go to the top of the page
 
+Quote Post
Шурила
сообщение May 4 2009, 14:44
Сообщение #968


Частый гость
**

Группа: Свой
Сообщений: 81
Регистрация: 28-07-07
Из: Кишинев
Пользователь №: 29 434



Цитата(bolt @ May 4 2009, 17:28) *
Глупость какая! ...

Вообще то речь шла о данных и клоке biggrin.gif
И если эту времянку не соблюсти, то тогда и проявляется "визит эффект" - вчера работало, а сегодня нет.
Так что не разобравшись... не стОит...
Go to the top of the page
 
+Quote Post
Doniak
сообщение May 4 2009, 15:15
Сообщение #969





Группа: Участник
Сообщений: 13
Регистрация: 3-05-09
Пользователь №: 48 574



Цитата(Шурила @ May 4 2009, 17:44) *
Вообще то речь шла о данных и клоке biggrin.gif
И если эту времянку не соблюсти, то тогда и проявляется "визит эффект" - вчера работало, а сегодня нет.
Так что не разобравшись... не стОит...

Не бывало у вас такова что при иницыализацые дисплэй становился серым(тусклым), а при повторном запускался нормально?
Go to the top of the page
 
+Quote Post
Шурила
сообщение May 4 2009, 15:50
Сообщение #970


Частый гость
**

Группа: Свой
Сообщений: 81
Регистрация: 28-07-07
Из: Кишинев
Пользователь №: 29 434



Цитата(Doniak @ May 4 2009, 18:15) *
Не бывало у вас такова что при иницыализацые дисплэй становился серым(тусклым), а при повторном запускался нормально?

Да, было, да и к сожалению бывает. Но пока так и не понял где проблема.
Т.е. понятно, что в инициализации проблема, но? что где портится не определил.
Причем после изменения программы (в общем совсем другом месте, к инициализации не относящимся) дисплей начинает работать правильно или наоборот сбоит.
Возможно каким то образом влияет оптимизация. cranky.gif
Go to the top of the page
 
+Quote Post
bolt
сообщение May 4 2009, 15:53
Сообщение #971


Участник
*

Группа: Участник
Сообщений: 20
Регистрация: 11-03-09
Пользователь №: 45 975



что данные читаются по фронту CLK сообщается практически во всех dsh. С температурной компенсацией неправильная передача данных связи не имеет wink.gif
Цитата
Не бывало у вас такова что при иницыализацые дисплэй становился серым(тусклым), а при повторном запускался нормально?

Если короткие задержки, то так и будет. Для LS020 они все могут быть по 10мс.
Еще такой эффект можно получить поставив задержку до
Код
send(0xef90);//set bank 90h
send(0x4a04);
send(0x7f1f);//8 bit color
send(0x4306);//

хотя банк 90 к питанию, по идее, отношения не имеет.

Сообщение отредактировал bolt - May 4 2009, 15:59
Go to the top of the page
 
+Quote Post
Doniak
сообщение May 4 2009, 15:57
Сообщение #972





Группа: Участник
Сообщений: 13
Регистрация: 3-05-09
Пользователь №: 48 574



Цитата
Если короткие задержки, то так и будет. Для LS020 они все могут быть по 10мс.

между чем короткие задержки?


Может причина в длине проводников от МК к дисплэю. Заметил такую закономерность если перегнуть шлейф дисплэй крайне редко запускается нормально,а если выпрямить то ровно через раз. При этом ево надо выключять програмно :
lcd_comtype(0x0D);
lcd_comdat(0x05,0x05);
lcd_comtype(0x0E);
lcd_comdat(0x1D,0x1F);
lcd_comtype(0x03);
lcd_comdat(0x00,0x00);

Сообщение отредактировал Doniak - May 4 2009, 16:03
Go to the top of the page
 
+Quote Post
bolt
сообщение May 4 2009, 17:24
Сообщение #973


Участник
*

Группа: Участник
Сообщений: 20
Регистрация: 11-03-09
Пользователь №: 45 975



Цитата
между чем короткие задержки?

Между установкой напряжения и следующей командой. В dsh который к сожалению для LR38826 отсутствует, все это расписано. В моей версии инициализации задержек три - после подачи питания, первого шага и запуска встроенного генератора.

У Вас дисплей и так запускается через раз, что свидетельствует о багах программы или монтажа. Гляньте скопом сигналы на CLK & SDA.

Сообщение отредактировал bolt - May 4 2009, 17:27
Go to the top of the page
 
+Quote Post
Doniak
сообщение May 4 2009, 17:50
Сообщение #974





Группа: Участник
Сообщений: 13
Регистрация: 3-05-09
Пользователь №: 48 574



Цитата
У Вас дисплей и так запускается через раз, что свидетельствует о багах программы или монтажа. Гляньте скопом сигналы на CLK & SDA.

Запускается то он всегда, а вот "нормально" через раз. В тусклых тонах он работает медленно, цветопередача неправильная всё серым кажется. пробивал ставить задержки перед SPCK, между последовательными передачами, без результатно или вообще не запускается. Нужно будит еще попробовать задержку поменять между выбора микросхемы

Сообщение отредактировал Doniak - May 4 2009, 17:52
Go to the top of the page
 
+Quote Post
bolt
сообщение May 4 2009, 20:33
Сообщение #975


Участник
*

Группа: Участник
Сообщений: 20
Регистрация: 11-03-09
Пользователь №: 45 975



может это поможет
Код
send(0xef00);//bank PWR
send(0xee0f);//Vlcd (contrast)
send(0x1b04);//Boost Level?
send(0xef90);//bank DC1
send(0x4a04);//bias (яркость)
send(0x7f1f);//8 bit color
send(0x4306);//V?
del_us(2300);//10ms
......
send(0xef00);//bank PWR
send(0x7f01);//Vsinc flag
send(0xe276);
send(0xe183);
send(0x8001);//OSC on
del_us(2300);//10ms - end init


значения в 1b & 43 регистре как раз здорово влияют на цветопередачу. А CS можешь смело соединять с GND.

Сообщение отредактировал bolt - May 4 2009, 20:35
Go to the top of the page
 
+Quote Post

87 страниц V  « < 63 64 65 66 67 > » 
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 09:57
Рейтинг@Mail.ru


Страница сгенерированна за 0.01495 секунд с 7
ELECTRONIX ©2004-2016