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

 
 
87 страниц V  « < 13 14 15 16 17 > »   
Reply to this topicStart new topic
> AVR и Siemens M55
_sR_
сообщение Feb 27 2007, 01:02
Сообщение #211


Участник
*

Группа: Участник
Сообщений: 70
Регистрация: 25-07-05
Из: Екатеринбург
Пользователь №: 7 077



удалось запустить свой код програмного SPI
отличие состояло в функции вывода слова по SPI
зацените
код из исходника satellite-plus
CODE

void sendCMD( unsigned short word )
{
rs=1;
cs=0;
sclk=0;if (word & 32768) sdata=1;else sdata=0;sclk=1;
sclk=0;if (word & 16384) sdata=1;else sdata=0;sclk=1;
sclk=0;if (word & 8192) sdata=1;else sdata=0;sclk=1;
sclk=0;if (word & 4096) sdata=1;else sdata=0;sclk=1;
sclk=0;if (word & 2048) sdata=1;else sdata=0;sclk=1;
sclk=0;if (word & 1024) sdata=1;else sdata=0;sclk=1;
sclk=0;if (word & 512) sdata=1;else sdata=0;sclk=1;
sclk=0;if (word & 256) sdata=1;else sdata=0;sclk=1;
sclk=0;if (word & 128) sdata=1;else sdata=0;sclk=1;
sclk=0;if (word & 64) sdata=1;else sdata=0;sclk=1;
sclk=0;if (word & 32) sdata=1;else sdata=0;sclk=1;
sclk=0;if (word & 16) sdata=1;else sdata=0;sclk=1;
sclk=0;if (word & 8) sdata=1;else sdata=0;sclk=1;
sclk=0;if (word & 4) sdata=1;else sdata=0;sclk=1;
sclk=0;if (word & 2) sdata=1;else sdata=0;sclk=1;
sclk=0;if (word & 1) sdata=1;else sdata=0;sclk=1;
cs=1;
}

а теперь мой вариант
CODE

void s65_driver_send_word( unsigned short word )
{
rs=1;
cs=0;
unsigned short mask = 0x8000;
for( unsigned char bit_counter=0; bit_counter<16; bit_counter++ )
{
sclk = 0;
// __no_operation();
if( word & mask )
{
sdata = 1;
}
else
{
sdata = 0;
}
sclk = 1;
mask >>= 1;
// __no_operation();
}
cs=1;
}

т.е. в первом варианте этот цикл просто развернут
обнаружился такой прикол
если раскоментировать одну из строчек (__no_operation()), то все перестанет работать
если раскоментировать обе - работает
такое ощущение, что эта зараза контролирует скважность CLK
но вот зачем - загадка...
Go to the top of the page
 
+Quote Post
Nanobyte
сообщение Feb 27 2007, 01:22
Сообщение #212


За битами по регистрам гоняюсь
***

Группа: Свой
Сообщений: 457
Регистрация: 24-04-06
Из: Таганрог
Пользователь №: 16 446



Цитата(_sR_ @ Feb 26 2007, 23:11) *
... ЗАРАБОТАЛО!

Мои поздравления !!! Таки вы его победили. biggrin.gif

Цитата(sonycman @ Feb 26 2007, 16:47) *
...То есть при частоте SCLK 10 Мгц? Или даже 5 Мгц?
У меня частота SCLK 12 Мгц, и при перегибе шлейфа (длиной 10 см) дисплей перестаёт реагировать на сигналы, так как искажения формы сигнала CLK (да и других сигналов) становятся велики. ...

Частота SCK была 10 МГц, шлейф я не перегибал. На осциллографе все сигналы нормальные, без завалов. Пробовал я и низкие частоты SPI, всё работает.
По поводу задержек. Переписал я инициализацию на ASM, задержки варьировал в широких пределах, ничего не изменилось, норма. Может, L2F50xx более толерантный, нежели LS020?


--------------------
Курсор влево, курсор вправо - считается хакерством. FORMAT C: производится без предупреждения
Go to the top of the page
 
+Quote Post
sonycman
сообщение Feb 27 2007, 04:57
Сообщение #213


Любитель
*****

Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695



Цитата(_sR_ @ Feb 27 2007, 02:02) *
если раскоментировать одну из строчек (__no_operation()), то все перестанет работать
если раскоментировать обе - работает
такое ощущение, что эта зараза контролирует скважность CLK
но вот зачем - загадка...

Вот и прекрасно.
Я же говорил, что всё должно быть "красиво" и ровно, а не бог весть как smile.gif
Успехов.
Go to the top of the page
 
+Quote Post
011119xx
сообщение Feb 27 2007, 10:54
Сообщение #214


Местный
***

Группа: Свой
Сообщений: 381
Регистрация: 5-07-05
Из: Уфа
Пользователь №: 6 544



2 sonycman И компрессию не использовал - двухцветным шрифтам это не надо.

Вот это мне не понятно. 2 цвета это цвет букв и фон? Или 2 цвета букв и фон? И что такое padding кто знает? А кто знает как заставить Хагеновский конвертер шрифтов делать шрифт с компрессией?
Go to the top of the page
 
+Quote Post
sonycman
сообщение Feb 27 2007, 16:50
Сообщение #215


Любитель
*****

Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695



Цитата(011119xx @ Feb 27 2007, 11:54) *
2 sonycman И компрессию не использовал - двухцветным шрифтам это не надо.

Вот это мне не понятно. 2 цвета это цвет букв и фон? Или 2 цвета букв и фон? И что такое padding кто знает? А кто знает как заставить Хагеновский конвертер шрифтов делать шрифт с компрессией?

Да, двухцветным - я имел ввиду монохромные шрифты - 1 bit per pixel.
Просто выразился не правильно smile.gif

Теперь насчёт Padding (как это понял я):
Структура сжатого шрифта у Хагена:
Код
struct _FONT_ {
       uint16_t   font_Size_in_Bytes_over_all_included_Size_it_self;
       uint8_t    font_Width_in_Pixel_for_fixed_drawing;
       uint8_t    font_Height_in_Pixel_for_all_Characters;
       uint8_t    font_Bits_per_Pixels;
       uint8_t    font_First_Char;
       uint8_t    font_Last_Char;
       uint8_t    font_Char_Widths[font_Last_Char - font_First_Char +1];
       uint8_t    font_Byte_Padding;
       uint8_t    font_RLE_Table[3];
       uint8_t    font_Char_Size_in_Bytes[font_Last_Char - font_First_Char +1];
       uint8_t    font_data[];
    }

Как видно, font_Char_Size_in_Bytes[] имеет размер 8 бит, то есть размер (в байтах) каждого символа не может превышать 256 байт. Это может привести к проблеме, если используется шрифт большого размера, у которого символ (даже сжатый) "весит" больше 256 байт.
Это решается с помощью Padding. Вычисление размера символа сводится к: font_Char_Size_in_Bytes[x] * Padding. То есть, если padding=2, то символ может иметь размер до 512 байт и т. д.

Честно говоря, я не использовал пока сжатые шрифты, так как для монохромных шрифтов небольшого размера компрессия RLE у Хагена неэффективна и приводит к увеличению исходного размера, а не к уменьшению.

Видел два варианта редактора шрифтов Хагена: старый - автоматически принимает решение, производить компрессию, или нет; и новый (http://www.mikrocontroller.net/attachment/20837/FontEditor_BitmapConverter.zip) - там добавлен чекбокс для принудительной активации компрессора.
Go to the top of the page
 
+Quote Post
sonycman
сообщение Feb 27 2007, 17:40
Сообщение #216


Любитель
*****

Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695



Цитата(Nanobyte @ Feb 27 2007, 02:22) *
По поводу задержек. Переписал я инициализацию на ASM, задержки варьировал в широких пределах, ничего не изменилось, норма. Может, L2F50xx более толерантный, нежели LS020?

Наверное, дисплеи, всё-же, разные.
Стартовая последовательность для L2F50:
6.4 RECOMMENDED SEQUENCE
-1) * turn on system power (VDDI,VDDL))
-2) * system reset - XRES="L")
-3) (execute following commands)
* DISCTL
* GCP64
* GCP16
* CASET
* PASET
* ASCSET (P1=0d, P2=175d, P3=175d, P4=3d)
* SCSTART (P1=0d)
* DATCTL
and other commands to be changed
-4) * execute SLPOUT command after more than 100us (TBD) from system reset
-5) * wait around 1ms (TBD)
-6) * transfer display data to the display data RAM
RAMWR (command + required parameters)
-7) * execute DISON command after over 80ms (TBD) from SLPOUT

Интересно, Display On выполняется в последнюю очередь, после полной инициализации контроллера и GRAM.
Значит ли это, что есть возможность избежать появления на экране "цветного мусора" сразу после включения?

ЗЫ: Блин, по-моему, надо изменить название темы на AVR и Siemens S65, так как про M55 давно уже никто слова не сказал smile.gif
Go to the top of the page
 
+Quote Post
011119xx
сообщение Feb 28 2007, 11:14
Сообщение #217


Местный
***

Группа: Свой
Сообщений: 381
Регистрация: 5-07-05
Из: Уфа
Пользователь №: 6 544



В каких-то немецких исходниках видел команду на выключение LS020 типа 0x8000. Но у меня ни какого эффекта не имела. Кто что знает про это?
Go to the top of the page
 
+Quote Post
sonycman
сообщение Feb 28 2007, 13:43
Сообщение #218


Любитель
*****

Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695



Цитата(011119xx @ Feb 28 2007, 12:14) *
В каких-то немецких исходниках видел команду на выключение LS020 типа 0x8000. Но у меня ни какого эффекта не имела. Кто что знает про это?

Меня, честно говоря, меньше всего заботит выключение дисплея.
Обрубил ему питание, да и всё biggrin.gif
Ничего с ним не случится.
А сдохнет - туда ему и дорога. Больше не буду связываться с девайсами без даташитов sad.gif
Go to the top of the page
 
+Quote Post
viael
сообщение Feb 28 2007, 14:13
Сообщение #219


Местный
***

Группа: Свой
Сообщений: 200
Регистрация: 10-04-06
Из: Украина,Запорожье
Пользователь №: 15 979



Цитата(sonycman @ Feb 28 2007, 14:43) *
Цитата(011119xx @ Feb 28 2007, 12:14) *

В каких-то немецких исходниках видел команду на выключение LS020 типа 0x8000. Но у меня ни какого эффекта не имела. Кто что знает про это?

Меня, честно говоря, меньше всего заботит выключение дисплея.
Обрубил ему питание, да и всё biggrin.gif
Ничего с ним не случится.
А сдохнет - туда ему и дорога. Больше не буду связываться с девайсами без даташитов sad.gif

А насколько сильно видна прорисовка? Если делать на нем осцилограф сильно мельтешить будет?
Сколько FPS на нем можно получить?
Go to the top of the page
 
+Quote Post
sonycman
сообщение Feb 28 2007, 15:03
Сообщение #220


Любитель
*****

Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695



Цитата(viael @ Feb 28 2007, 15:13) *
А насколько сильно видна прорисовка? Если делать на нем осцилограф сильно мельтешить будет?
Сколько FPS на нем можно получить?

Это всё зависит от частоты SPI, по которому вы будете передавать данные.
На частоте, близкой к максимальной - 12 Мгц - никакого "мельтешения" нет, есть только что-то типа "фликера", так как отсутствует вертикальная синхронизация.
При такой частоте получается около 31 полного (176 на 132) кадра в секунду, но это чистая передача, без учёта времени на формирование картинки.

ЗЫ: ИМХО, для осциллографа можно найти дисплеи "полегче" - с меньшим кол-вом цветов, чтобы не тратить кучу времени на передачу 16-битных слов...
Go to the top of the page
 
+Quote Post
viael
сообщение Feb 28 2007, 15:16
Сообщение #221


Местный
***

Группа: Свой
Сообщений: 200
Регистрация: 10-04-06
Из: Украина,Запорожье
Пользователь №: 15 979



Цитата(sonycman @ Feb 28 2007, 16:03) *
Цитата(viael @ Feb 28 2007, 15:13) *

А насколько сильно видна прорисовка? Если делать на нем осцилограф сильно мельтешить будет?
Сколько FPS на нем можно получить?

Это всё зависит от частоты SPI, по которому вы будете передавать данные.
На частоте, близкой к максимальной - 12 Мгц - никакого "мельтешения" нет, есть только что-то типа "фликера", так как отсутствует вертикальная синхронизация.
При такой частоте получается около 31 полного (176 на 132) кадра в секунду, но это чистая передача, без учёта времени на формирование картинки.

ЗЫ: ИМХО, для осциллографа можно найти дисплеи "полегче" - с меньшим кол-вом цветов, чтобы не тратить кучу времени на передачу 16-битных слов...


Полегче в плане цены наврядли, а у меня это пунктик №1. Еще вопрсы:
Какая максимальная частота SPI(у дисплея)?
Почему вы не использовали модуль SPI+DMA(имеется в виду SAM7)?
Дисплей оригинальный или лиценция( говорят что те что по лицензии погано показуют -"мутные")?
Конкретно у вас какой контроллер(LS020.....)?
Go to the top of the page
 
+Quote Post
Nanobyte
сообщение Feb 28 2007, 18:56
Сообщение #222


За битами по регистрам гоняюсь
***

Группа: Свой
Сообщений: 457
Регистрация: 24-04-06
Из: Таганрог
Пользователь №: 16 446



Цитата(viael @ Feb 28 2007, 14:13) *
... А насколько сильно видна прорисовка? Если делать на нем осцилограф сильно мельтешить будет? ...

Прорисовка как таковая не видна совсем, только когда сильно меняется фон всего изображения. При выводе осциллограмм (сгенерированных линий) изображение нормальное. В момент вывода по SPI я не заметил никакого срыва развёртки. Если линии выводятся в разные места, то это смотрится как мельтешение на обычном осциллографе.


--------------------
Курсор влево, курсор вправо - считается хакерством. FORMAT C: производится без предупреждения
Go to the top of the page
 
+Quote Post
viael
сообщение Feb 28 2007, 19:08
Сообщение #223


Местный
***

Группа: Свой
Сообщений: 200
Регистрация: 10-04-06
Из: Украина,Запорожье
Пользователь №: 15 979



Цитата(Nanobyte @ Feb 28 2007, 19:56) *
Цитата(viael @ Feb 28 2007, 14:13) *
... А насколько сильно видна прорисовка? Если делать на нем осцилограф сильно мельтешить будет? ...

Прорисовка как таковая не видна совсем, только когда сильно меняется фон всего изображения. При выводе осциллограмм (сгенерированных линий) изображение нормальное. В момент вывода по SPI я не заметил никакого срыва развёртки. Если линии выводятся в разные места, то это смотрится как мельтешение на обычном осциллографе.


Надежда имеется biggrin.gif
Go to the top of the page
 
+Quote Post
sonycman
сообщение Mar 1 2007, 00:51
Сообщение #224


Любитель
*****

Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695



Цитата(viael @ Feb 28 2007, 16:16) *
Полегче в плане цены наврядли, а у меня это пунктик №1. Еще вопрсы:
1. Какая максимальная частота SPI(у дисплея)?
2. Почему вы не использовали модуль SPI+DMA(имеется в виду SAM7)?
3. Дисплей оригинальный или лиценция( говорят что те что по лицензии погано показуют -"мутные")?
Конкретно у вас какой контроллер(LS020.....)?

1. По даташиту - 13 Mbit/s, то есть 13 Мгц. Где-то писали, что работает до 16, но не проверено.
2. А почему вы так решили? smile.gif
Действительно, пока не использовал. За ненадобностью. Макс. скорости можно достичь и без DMA.
3. А чёрт его знает. У меня LS020 (конкретно - LS0208UD06). Не нравятся пока только две вещи - невозможность кадровой синхронизации и слегка светловатые цвета. Всё это, возможно, решается, но только при наличии полной документации.
А чёткость картинки превосходная, если вы это имели ввиду под словом "мутные". smile.gif
Go to the top of the page
 
+Quote Post
viael
сообщение Mar 1 2007, 01:17
Сообщение #225


Местный
***

Группа: Свой
Сообщений: 200
Регистрация: 10-04-06
Из: Украина,Запорожье
Пользователь №: 15 979



Цитата(sonycman @ Mar 1 2007, 01:51) *
Цитата(viael @ Feb 28 2007, 16:16) *

Полегче в плане цены наврядли, а у меня это пунктик №1. Еще вопрсы:
1. Какая максимальная частота SPI(у дисплея)?
2. Почему вы не использовали модуль SPI+DMA(имеется в виду SAM7)?
3. Дисплей оригинальный или лиценция( говорят что те что по лицензии погано показуют -"мутные")?
Конкретно у вас какой контроллер(LS020.....)?

1. По даташиту - 13 Mbit/s, то есть 13 Мгц. Где-то писали, что работает до 16, но не проверено.
2. А почему вы так решили? smile.gif
Действительно, пока не использовал. За ненадобностью. Макс. скорости можно достичь и без DMA.
3. А чёрт его знает. У меня LS020 (конкретно - LS0208UD06). Не нравятся пока только две вещи - невозможность кадровой синхронизации и слегка светловатые цвета. Всё это, возможно, решается, но только при наличии полной документации.
А чёткость картинки превосходная, если вы это имели ввиду под словом "мутные". smile.gif

cheers.gif thank
Go to the top of the page
 
+Quote Post

87 страниц V  « < 13 14 15 16 17 > » 
Reply to this topicStart new topic
15 чел. читают эту тему (гостей: 15, скрытых пользователей: 0)
Пользователей: 0

 


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


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