Вопрос программистам
Re: Вопрос программистам
[uquote="TovarishAleksey",url="/forum/viewtopic.php?p=4640431#p4640431"]Сфс, а у меня нашлась как раз такая, с вайфаем.[/uquote]
Ну схема там есть, прошивка тоже)
Добавлено after 2 hours 28 minutes 51 second:
[uquote="Adrift",url="/forum/viewtopic.php?p=4640435#p4640435"]Если ESP, то надо сразу ESP32S3 брать, там аппаратно все поддерживается. Лично я не фанат ESP, особенно которые на Xtensa, но если сравнивать готовые платки, то будет дешевле, чем STM32H7.[/uquote]
Ну вга там нет))
Но если хочется поковыряться, то есть ещё вот. https://github.com/klad-me/RK8266
Ну схема там есть, прошивка тоже)
Добавлено after 2 hours 28 minutes 51 second:
[uquote="Adrift",url="/forum/viewtopic.php?p=4640435#p4640435"]Если ESP, то надо сразу ESP32S3 брать, там аппаратно все поддерживается. Лично я не фанат ESP, особенно которые на Xtensa, но если сравнивать готовые платки, то будет дешевле, чем STM32H7.[/uquote]
Ну вга там нет))
Но если хочется поковыряться, то есть ещё вот. https://github.com/klad-me/RK8266
- Реклама
Re: Вопрос программистам
[uquote="SfS",url="/forum/viewtopic.php?p=4640444#p4640444"]Ну вга там нет))[/uquote]
VSYNC, HSYNC и 16 бит данных там есть, что еще нужно для VGA? R-2R и вперед. Для сравнения модуль LTDC из STM32H7:

Pico2 даже R-2R не нужен, 8 резисторов и будет 24-х битных цвет через HDMI/DVI-D.
VSYNC, HSYNC и 16 бит данных там есть, что еще нужно для VGA? R-2R и вперед. Для сравнения модуль LTDC из STM32H7:
Pico2 даже R-2R не нужен, 8 резисторов и будет 24-х битных цвет через HDMI/DVI-D.
- Вложения
-
- ltdc.png
- (71.99 КБ) 283 скачивания
Re: Вопрос программистам
[uquote="Adrift",url="/forum/viewtopic.php?p=4640491#p4640491"][uquote="SfS",url="/forum/viewtopic.php?p=4640444#p4640444"]Ну вга там нет))[/uquote]
VSYNC, HSYNC и 16 бит данных там есть, что еще нужно для VGA? R-2R и вперед. Для сравнения модуль LTDC из STM32H7:
Pico2 даже R-2R не нужен, 8 резисторов и будет 24-х битных цвет через HDMI/DVI-D.[/uquote]
Ну синки ладно. А как цифровой цвет в аналоговый ВГА без ЦАП?
Добавлено after 6 minutes 29 seconds:
Вот здесь все ж резисторами сделали:
https://github.com/fdivitto/FabGL

VSYNC, HSYNC и 16 бит данных там есть, что еще нужно для VGA? R-2R и вперед. Для сравнения модуль LTDC из STM32H7:
Pico2 даже R-2R не нужен, 8 резисторов и будет 24-х битных цвет через HDMI/DVI-D.[/uquote]
Ну синки ладно. А как цифровой цвет в аналоговый ВГА без ЦАП?
Добавлено after 6 minutes 29 seconds:
Вот здесь все ж резисторами сделали:
https://github.com/fdivitto/FabGL

Последний раз редактировалось SfS Пт окт 25, 2024 14:42:48, всего редактировалось 1 раз.
Re: Вопрос программистам
Говорю же R-2R. Я H7 подключал по RGB444.

Можно проще, но тогда двумя номиналами резисторов не обойтись

Можно проще, но тогда двумя номиналами резисторов не обойтись
- Вложения
-
- r2r.png
- (50.51 КБ) 263 скачивания
Последний раз редактировалось Adrift Пт окт 25, 2024 14:44:53, всего редактировалось 1 раз.
Re: Вопрос программистам
Все-таки R2R это цап) Понятно.
- Реклама
- TovarishAleksey
- Потрогал лапой паяльник
- Сообщения: 313
- Зарегистрирован: Вс сен 22, 2024 12:16:47
- Откуда: Село Лютенька
Re: Вопрос программистам
Что такое ЦАП, и почему он даёт больше цветов? Как мне сделать 16 цветов?
"Умный может зарабатывать триста рублей, а проживать три тысячи"
Re: Вопрос программистам
ЦАП - это Цифро-Аналоговый Преобразователь. На входе - цифра, на выходе - аналог, или так: на входе - нулики-единички, на выходе - соответствующий уровень напряжения.
16 цветов... Ну вот стандартный РГБ вход, это ты 3 бита выводишь. И ещё четвёртый к каждому из этих сигналов резистором подмешай - типа повышенная яркость. Все возможные сочетания этих 4 бит и дадут тебе 16 цветов.
16 цветов... Ну вот стандартный РГБ вход, это ты 3 бита выводишь. И ещё четвёртый к каждому из этих сигналов резистором подмешай - типа повышенная яркость. Все возможные сочетания этих 4 бит и дадут тебе 16 цветов.
Re: Вопрос программистам
[uquote="Adrift",url="/forum/viewtopic.php?p=4640416#p4640416"]Похоже вы опытный товарищ, подскажите ТС что в таком случае ему нужно делать? )[/uquote]
я уже подсказал - отказаться от таймеров и писать на чистом асме.
1/16МГц = 62,5нс один такт ардуины.
в строке VGA есть "рабочее поле"... куда мы запихиваем наши пиксели)) остальное это импульсы синхронизации и гашения... сколько можно запихнуть в одну строку пикcелей ?
25,17 мкс / 62,5 нс = максимум 402 пикселя...
а сколько строк в кадре ? 480 значит мы можем вывести с ардуины на экран картинку разрешением максимум 402 x 480
а всего у нас получается 402 * 480 = 192960 пикcеля)) объём буфера...

я уже подсказал - отказаться от таймеров и писать на чистом асме.
что значит примерно ? ))SfS писал(а):при разрешении 320, на один пиксель по горизонтали приходится 78,6нс примерно
1/16МГц = 62,5нс один такт ардуины.
в строке VGA есть "рабочее поле"... куда мы запихиваем наши пиксели)) остальное это импульсы синхронизации и гашения... сколько можно запихнуть в одну строку пикcелей ?
25,17 мкс / 62,5 нс = максимум 402 пикселя...
а сколько строк в кадре ? 480 значит мы можем вывести с ардуины на экран картинку разрешением максимум 402 x 480
а всего у нас получается 402 * 480 = 192960 пикcеля)) объём буфера...
Re: Вопрос программистам
[uquote="roman.com",url="/forum/viewtopic.php?p=4640521#p4640521"]я уже подсказал - отказаться от таймеров и писать на чистом асме.[/uquote]
На прошлой странице вы утверждали, что на таймерах уже все сделали и я задолбаюсь высчитывать машинные такты с NOP, а теперь агитируете отказаться от таймеров? )
На прошлой странице вы утверждали, что на таймерах уже все сделали и я задолбаюсь высчитывать машинные такты с NOP, а теперь агитируете отказаться от таймеров? )
Re: Вопрос программистам
опять всё смешали в кучу...
на таймерах уже сделали синхронизацию... строчную...
задолбаюсь высчитывать машинные такты с NOP если писать на си и с++...
поэтому нужны таймеры...
если отказаться от таймеров и си и с++ и писать на чистом асме... то не задолбаетесь.
ещё раз перечитайте...
будет картинка на пол экрана... но в целом работать будет))

на таймерах уже сделали синхронизацию... строчную...
задолбаюсь высчитывать машинные такты с NOP если писать на си и с++...
поэтому нужны таймеры...
если отказаться от таймеров и си и с++ и писать на чистом асме... то не задолбаетесь.
ещё раз перечитайте...
TovarishAleksey писал(а):Выводить буду картинки 256x192пкс
замечательно))roman.com писал(а):мы можем вывести с ардуины на экран картинку разрешением максимум 402 x 480
будет картинка на пол экрана... но в целом работать будет))
Re: Вопрос программистам
[uquote="roman.com",url="/forum/viewtopic.php?p=4640521#p4640521"][uquote="Adrift",url="/forum/viewtopic.php?p=4640416#p4640416"]Похоже вы опытный товарищ, подскажите ТС что в таком случае ему нужно делать? )[/uquote]
я уже подсказал - отказаться от таймеров и писать на чистом асме.
1/16МГц = 62,5нс один такт ардуины.
в строке VGA есть "рабочее поле"... куда мы запихиваем наши пиксели)) остальное это импульсы синхронизации и гашения... сколько можно запихнуть в одну строку пикcелей ?
25,17 мкс / 62,5 нс = максимум 402 пикселя...
а сколько строк в кадре ? 480 значит мы можем вывести с ардуины на экран картинку разрешением максимум 402 x 480
а всего у нас получается 402 * 480 = 192960 пикcеля)) объём буфера...
[/uquote]
1 такт это хорошо. но надо же ещё и считать выводимую информацию. Из памяти. А за один такт считать и записать не получится.
я уже подсказал - отказаться от таймеров и писать на чистом асме.
что значит примерно ? ))SfS писал(а):при разрешении 320, на один пиксель по горизонтали приходится 78,6нс примерно
1/16МГц = 62,5нс один такт ардуины.
в строке VGA есть "рабочее поле"... куда мы запихиваем наши пиксели)) остальное это импульсы синхронизации и гашения... сколько можно запихнуть в одну строку пикcелей ?
25,17 мкс / 62,5 нс = максимум 402 пикселя...
а сколько строк в кадре ? 480 значит мы можем вывести с ардуины на экран картинку разрешением максимум 402 x 480
а всего у нас получается 402 * 480 = 192960 пикcеля)) объём буфера...
1 такт это хорошо. но надо же ещё и считать выводимую информацию. Из памяти. А за один такт считать и записать не получится.
- TovarishAleksey
- Потрогал лапой паяльник
- Сообщения: 313
- Зарегистрирован: Вс сен 22, 2024 12:16:47
- Откуда: Село Лютенька
Re: Вопрос программистам
Фунтик, понял, спасибо.
Роман, да мне даже меньше требуется. Только как рассчитать задержки, это вопрос.
В принципе, использовать нопы будет проще, но на чистом асме писать - нет программатора, тем более я уже почти изучил прерывания по таймерам.
Вот то что картинка на пол экрана как раз мне и не нравится. Какое-то решение должно быть, хотя бы расстянуть картинку, пусть она и не ровной будет.

пример из библиотеки VGAX. Разрешение 120 на 60, а растянуто на весь экран..
Роман, да мне даже меньше требуется. Только как рассчитать задержки, это вопрос.
В принципе, использовать нопы будет проще, но на чистом асме писать - нет программатора, тем более я уже почти изучил прерывания по таймерам.
Вот то что картинка на пол экрана как раз мне и не нравится. Какое-то решение должно быть, хотя бы расстянуть картинку, пусть она и не ровной будет.

пример из библиотеки VGAX. Разрешение 120 на 60, а растянуто на весь экран..
"Умный может зарабатывать триста рублей, а проживать три тысячи"
Re: Вопрос программистам
не связанные между собой вещи.TovarishAleksey писал(а):но на чистом асме писать - нет программатора
каждый пиксель повторяется несколько раз по горизонтали, каждая сторчка несколько раз - по вертикали.TovarishAleksey писал(а):Разрешение 120 на 60, а растянуто на весь экран..
Re: Вопрос программистам
мы пока не знаем что и куда и как мы будем выводить...SfS писал(а):1 такт это хорошо. но надо же ещё и считать выводимую информацию. Из памяти.
мы пота только посчитали теоретический предел ардуины при 1/16МГц = 62,5нс.
А за один такт получится только вывести... статичную картинку... например чёрный квадрат малевича))SfS писал(а):А за один такт считать и записать не получится.
Re: Вопрос программистам
[uquote="roman.com",url="/forum/viewtopic.php?p=4640535#p4640535"]опять всё смешали в кучу...
на таймерах уже сделали синхронизацию... строчную..[/uquote]
Я задал конкретный вопрос, что делать для избежания джиттера после попадания в прерывание от таймера по HSYNC или ожидания флага таймера в простейшей цикле на ассме, вы ответили, что отказаться от таймеров и писать все на ассме ) А знаете как борются с джиттером в той же VGAX, пикты от которой вы постили? Добавляя третий таймер )
на таймерах уже сделали синхронизацию... строчную..[/uquote]
Я задал конкретный вопрос, что делать для избежания джиттера после попадания в прерывание от таймера по HSYNC или ожидания флага таймера в простейшей цикле на ассме, вы ответили, что отказаться от таймеров и писать все на ассме ) А знаете как борются с джиттером в той же VGAX, пикты от которой вы постили? Добавляя третий таймер )
Re: Вопрос программистам
не знаю... не пробовал... не думал...Adrift писал(а):А знаете как борются с джиттером в той же VGAX... Добавляя третий таймер
я пишу на ассме потому что у меня нет лишних тактов... и прерываний на асме у меня нет... это пустая трата тактов))
а что ещё можно вывести за один такт ? да много чего ! ))
цветные полосы))
Код: Выделить всё
//красный
OUT PORTD, R21 // -1 такт
OUT PORTD, R21 // -1 такт
OUT PORTD, R21 // -1 такт
...
//зелёный
OUT PORTD, R22 // -1 такт
OUT PORTD, R22 // -1 такт
OUT PORTD, R22 // -1 такт
...
//синий
OUT PORTD, R23 // -1 такт
OUT PORTD, R23 // -1 такт
OUT PORTD, R23 // -1 такт
...
О ! Уже прогресс ! ))
а вы говорили ничего работать не будет))
- TovarishAleksey
- Потрогал лапой паяльник
- Сообщения: 313
- Зарегистрирован: Вс сен 22, 2024 12:16:47
- Откуда: Село Лютенька
Re: Вопрос программистам
Фунтик, скачивал atmel studio. Чтоб писать на avr asm программатор не нужен, а вот чтобы залить этот код в микроконтроллер - без него никак. Мою ардуину программа не видела.
Роман, так здесь 9 тактов.
Роман, так здесь 9 тактов.
"Умный может зарабатывать триста рублей, а проживать три тысячи"
Re: Вопрос программистам
так это не важно... они зациклены))TovarishAleksey писал(а):Роман, так здесь 9 тактов.
Код: Выделить всё
_1:
//красный
OUT PORTD, R21 // -1 такт
OUT PORTD, R21 // -1 такт
OUT PORTD, R21 // -1 такт
...
//зелёный
OUT PORTD, R22 // -1 такт
OUT PORTD, R22 // -1 такт
OUT PORTD, R22 // -1 такт
...
//синий
OUT PORTD, R23 // -1 такт
OUT PORTD, R23 // -1 такт
OUT PORTD, R23 // -1 такт
...
RJMP _1[uquote="TovarishAleksey",url="/forum/viewtopic.php?p=4640565#p4640565"]чтобы залить этот код в микроконтроллер - без него никак.[/uquote]
блин... как же ты собрался делать копутер на куче AVR без программатора...
сделай... из старой ардуины))
Re: Вопрос программистам
+1roman.com писал(а):сделай... из старой ардуины))
- TovarishAleksey
- Потрогал лапой паяльник
- Сообщения: 313
- Зарегистрирован: Вс сен 22, 2024 12:16:47
- Откуда: Село Лютенька
Re: Вопрос программистам
Обойдусь пока без программатора, а то ещё на неделю затянется.
Объясните как из этого получается 256:
TCCR1B = (1 << CS12);
Говорят, что CS12 это 2, непонятно почему, соответственно мы сдвигаем двойку на 1 бит в лево и должны получить 4, но получаем 256.
Объясните как из этого получается 256:
TCCR1B = (1 << CS12);
Говорят, что CS12 это 2, непонятно почему, соответственно мы сдвигаем двойку на 1 бит в лево и должны получить 4, но получаем 256.
"Умный может зарабатывать триста рублей, а проживать три тысячи"


