С stm32f103 на телевизор (полный TV сигнал)

igorborby_76
Offline
Зарегистрирован: 07.01.2022

время отклика 1 мкс, а это не многовато ли
и верхняя частота рабочая 3 Мгц, согласно мануала. ответ сам собой.
даже у кт315 и 361 верхняя 250Мгц, только у одной вроде Ж и то 150Мгц
на какой работает формирователь импульсов OSC ногодрыг, - больше 3 Мгц.

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Logik пишет:

Выбираем правильно кристалл под задачу.

Угу. Motorola MC6845.

igorborby_76
Offline
Зарегистрирован: 07.01.2022

andriano пишет:

Logik пишет:

Выбираем правильно кристалл под задачу.

Угу. Motorola MC6845.

ценник кристала 12-13 вечно зеленых, плюс логика, и пзу, которую над прошить
и это Вы называете проще

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Я не утверждал, что это проще, я лишь интересовался, то ли это самое, что Лоджик подразумевает "правильно кристалл под задачу".

igorborby_76
Offline
Зарегистрирован: 07.01.2022

stm32f103c устраивает на ура, помните Радио-86РК с текстовым режимом и "графичесской картой" аналог мотороловской.
что имеем мы:
-работает шустро;
-разрешение нормалек и стабильность изображения тоже;
-есть кодировки и несколько шрифтов;
-есть графика;
-230400 скорость UART на ура;
что можно доделать:
- прикрутить eeprom небольшую и по опрелененной команде можно
прикрутить 'подкачать' псевдографику любую ну разумеется шрифты;
- прикрутив до нее atmegu16(32) (с клавой ps/2, опрос напруги, часы RTC) , получается полноценный терминал, а как формирует изображение
атмега не проблема, и связать её можно с внешним миром хоть i2c (как в журнале радио за 21 год) , хоть spi, softvare uart или 8 парралель, как
в компе шину организовать

если берем корпуса smd, то это все с разъемами уместится в спичечный коробочек,
и цена с обвесом баксов 10

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

igorborby_76 пишет:
- прикрутить eeprom небольшую и по опрелененной команде можно прикрутить 'подкачать' псевдографику любую ну разумеется шрифты;

Это не выйдет - "подкачивать" что-либо некуда - вся память занята под видеобуфер.

Цитата:
- прикрутив до нее atmegu16(32) (с клавой ps/2, опрос напруги, часы RTC) , получается полноценный терминал...10
А здесь непонятно, зачем вообще нужна Атмега. Даже RTC в Блупилле встроенные.

igorborby_76
Offline
Зарегистрирован: 07.01.2022

не добавлять массивы, а использовать имеющиеся под шрифты, обозвав их all, и менять как угодно,
а хватит ли ресусов проца по времени на встроенный RTC

я про похожее у других людей:
- https://www.serasidis.gr/circuits/TV_terminal/Small_TV_terminal.htm (пробовал, работает на ура, кварц 20, но мало букавак)
- https://youtu.be/jR-SqXLgBNo (не пошли мои кристаллы, кварц 24)

b707
Онлайн
Зарегистрирован: 26.05.2017

igorborby_76 пишет:
а хватит ли ресусов проца по времени на встроенный RTC

встроенный RTC у стм представляет собой обычный счетчик, который тикает от отдельного таймера, так что этот RTC ресурсов контроллера не тратит вовсе и уж точно меньше, чем внешний

ЕЕПРОМ внешнюю тоже не обязательно прикоучивать, флеш СТМ можно использовать как ЕЕПРОМ

igorborby_76
Offline
Зарегистрирован: 07.01.2022

тем более

Logik
Offline
Зарегистрирован: 05.08.2014

andriano пишет:

Я не утверждал, что это проще, я лишь интересовался, то ли это самое, что Лоджик подразумевает "правильно кристалл под задачу".

Не. Не то.

В твоей задаче - 

andriano пишет:

Ну, например, есть у меня Orange Zero. Непроверенный. Потому как без видеоконтроллера, но с TTL UART. Так что можно было бы использовать подобную конструкцию в качестве видеотерминала.

Скорей провода хватило бы. Зеро имеет видеовыход на плате не хуже чем то что ты сделал. Нафига горбатишься два года - непонятно. https://pcminipro.ru/os/kak-vklyuchit-analogovyj-videovyhod-rca-v-orangepi/ - как настроить.

вот тот TVOUT и распаяй. Я когда то коди именно на зеро лепил, к ТВ подключали. Забавно получилось.

Но уж если оранж и видеовыход - то сейчас HDMI необходим. Выкинь зеро и возьми на шаг выше, хотяб такое https://aliexpress.ru/item/1005001689076700.html?sku_id=12000017165686654&spm=a2g2w.productlist.0.0.6aa47a875lG5bZ И забудь о нехватке ОЗУ, мегагерц и всего сразу...

Но если именно с СТМ видяху хочется - так бери ж шото поприличней чтоб не плакатся через абзац что ресурсов нету. Например весьма бюджетно https://aliexpress.ru/item/4001049840288.html?item_id=4001049840288&sku_id=12000023739161603&spm=a2g2w.productlist.0.0.720d3647JOqoCE

заметь, по ссылке 2 контроллера, у того что покруче 100МГц. А между прочим 100/16=6,25МГц ;)

b707
Онлайн
Зарегистрирован: 26.05.2017

Logik пишет:

заметь, по ссылке 2 контроллера, у того что покруче 100МГц. А между прочим 100/16=6,25МГц ;)

а причем тут 16?

Logik
Offline
Зарегистрирован: 05.08.2014

16 почти не причем, разве как степень двойки , делить удобно, а про 6,25МГц см. #8

igorborby_76
Offline
Зарегистрирован: 07.01.2022

это и темы, возьми готовое и подключи (где мого то то то...)
есть у меня опельсинка с Н5 алвинер, она удачна для других целей, это уже немного не то. Понятно, что в ней много усяго

igorborby_76
Offline
Зарегистрирован: 07.01.2022

форм фактор уже немного не то
к слову 2 и 3 ссылки не фупычат.
тогда над запускать spi и по нему скидывать инфу, скорость ваааауууу. и потребление уухх
осталось за малым:
взять оранжа,
прокачать линух,
прокачать настройки GPIO,
и чутка написать прогу, которая по spi принимает в буфер, их сделать два, и выводит на 4к видео ;-)
я ни чего ни забыл
правда инет, вайфай и т д в холостую
Стоит совсем другая задача, взять мизер и выжать из него максимум

Logik
Offline
Зарегистрирован: 05.08.2014

ссылки фупычат, проверил. На форуме такое встречается, увы.

//я ни чего ни забыл

Не. Ты ниче не понял. какие два буфера, что принимать по spi... Но ты тут чел, я вижу новый (или старый под новым ником - позже разберем))),  простительно.

На словах все крутые линуксоиды с 1913года, а как конфигу поправить - так это задача "прокачать линух,прокачать настройки GPIO" )))

Logik
Offline
Зарегистрирован: 05.08.2014

igorborby_76 пишет:
это и темы, возьми готовое и подключи (где мого то то то...) есть у меня опельсинка с Н5 алвинер, она удачна для других целей, это уже немного не то. Понятно, что в ней много усяго

А у меня есть мультиварка мулинех, тоже удачна для других целей.. Флудим дальше?

Я написал как девайс ТС к ТВ подключить и что делать если "чешется" именно СТМ. Нипонятно?

igorborby_76
Offline
Зарегистрирован: 07.01.2022

вопрос вот в чем, человек сделал именно на stm32f103c8t6 , выложил с исходниками, с предложением подпилить, допилить а не переделать на другом

b707
Онлайн
Зарегистрирован: 26.05.2017

igorborby_76 пишет:
вопрос вот в чем, человек сделал именно на stm32f103c8t6 , выложил с исходниками, с предложением подпилить, допилить а не переделать на другом

ну так подпили :) я как-то не вижу, чтоб ты что пилил, бухтишь только, как и мы

igorborby_76
Offline
Зарегистрирован: 07.01.2022

.

igorborby_76
Offline
Зарегистрирован: 07.01.2022

andriano

можете рассписать и скинуть мне на мыло, алгоритм формирования видео, меня интерресует момент когда поступает поток данных на вывод по uart. хочу завтра и в выходные, по мере свободного времени помучить на счет мусора

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

igorborby_76, что Вы подразумеваете под "алгоритмом формирования видео"? Там, вроде, все более или менее по ГОСТу (ну, кроме небольшой погрешности в задании частоты, о чем я писал в этой теме).

igorborby_76
Offline
Зарегистрирован: 07.01.2022

я не про гост, интерресует момент когда формируется вывод на экран каждого пикселя и по uart приходят данные для записи их в массив, из которого читаются для вывода, приостанавливается ли их запись в массив. вывод ведь построчный, а запись в массив сразу на всю высоту всего символа!?
и не из за этого ли выскакивают артефакты. на счет pa1 и pa5 посмотреть не могу, нужен осциллограф или логический анализатор, паказометр чайны не прокатит, чтоб увидеть формы сигналов. Попробую поставить два транзистора, чтоб меандр сформировали и посмотрю чего получиться. Бывает ситуатция, что на определенных частотах на выходе не меандр а ломаная синусоида, из за неё могут быть проблемы по фронту и спаду, маловероятно но может

форма реального сигнала выглядит вот так:
https://yandex.by/images/touch/search?p=5&source=tabbar&text=%D1%84%D0%B...

что приводит к таким картинкам:
https://yandex.by/images/touch/search?p=6&source=tabbar&text=%D1%84%D0%B...

но скорее всего, при работе и настройке таймеров при формировании 0 и 1, где то вместо одного, проскакивает другое, вот для чего я хочу посмотреть алгоритм

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

igorborby_76, я сейчас навскидку не скажу о приоритете прерываний, но мне кажется, что приоритет часов и USB выше, чем у прерываний таймеров, а у последовательного порта, напротив, меньше.

Напомню, что прием символов производится в основном цикле (т.е. с минимальным приоритетом), а формирование ПТС - в прерываниях, которые задает таймер 4.

Если это так, то прием данных по порту не может приводить к помехам на изображении. В самом неблагоприятном случае один символ будет выведен в два полукадра, т.е. с задержкой 20 мс, что на взгляд совершенно незаметно, а если бы и было заметно, все равно не портило бы картинку. Даже если прерывание таймера придется на вертикальный скроллинг, помеха будет малозаметной и "некритичной" т.е. не вызывающей дискомфорта при восприятии.

Неприятные помехи (т.е. сбои в отображении строк растра, сопровождающиеся их сдвижкой на экране вправо и появлением засвеченных точек там, где их быть не должно), вероятнее всего связаны с тем, что прерывания таймера прерываются прерываниями более высокого приоритета, т.е. часами и USB. USB мы отключаем, после чего количество помех существенно снижается, т.к. остаются только прерывания от таймера.

Останавливать таймер - как-то, на мой взгляд, слишком радикальное решение. Мне кажется, помех можно избежать, если строка растра будет формироваться не программно - в прерывании от таймера 4, а аппаратно - непосредственно сигналами от таймера 4 и с выхода SPI, которые будут смешиваться на микросхемах средней степени интеграции. Ну и тактирование SPI тоже будет не постоянно от таймера 2, а только в отрезок времени, соответствующий видимой части строки.

 

PS. Что Вы хотели сказать двумя ссылками на "простыню" Яндекса, не понял. От слова "совсем".

igorborby_76
Offline
Зарегистрирован: 07.01.2022

сижу читаю листинг и мануал контроллера про прерывания, маскирования прерываний
1. Приостановка низкоприоритетного прерывания
В этой ситуации, обработка низкоприоритетного прерывания прекращается. Следующие 12 циклов выполняется сохранение в стек нового набора данных и запускается обработка высокоприоритетного прерывания. После его обработки, содержимое стека автоматически извлекается и возобновляется обработка низкоприоритетного прерывания.
Больших отличий от прерывания основной программы не наблюдается.

2. Непрерывная обработка прерываний
Эта ситуация может возникнуть в двух случаях: если два прерывания имеют одинаковый приоритет и возникают одновременно, если низкоприоритетное прерывание возникает во время обработки высокоприоритетного.
В этом случае, промежуточные операции над стеком не производятся. Происходит только загрузка адреса обработчика низкоприоритетного прерывания и переход к его выполнению. Отказ от операций над стеком экономит 6 тактов. Переход к следующему прерыванию происходит не за 12 тактов, а всего за 6.