Показано с 1 по 8 из 8

Тема: СРВ на основе формулы.

  1. #1
    Старый знакомый
    Автор темы
    Аватар для DrLithium
    Регистрация
    24.12.2006
    Адрес
    SPb
    Сообщений
    652

    По умолчанию СРВ на основе формулы.

    Раз уж дело зашло до конкретной реализации, то пора вывести свою ветку.

    Пока не понятно чем дело закончится, но выдавать "сырое" нет ни какого желания, будем "варить"!

    Тут буду стараться отписываться о ходе продвижения и попутно описывать принятые форматы данных и методы взаимодействия узлов. Планы реализации (чего и как конкретно) буду давать позже.

    Текущее положение следующее: есть каркас (программа), есть мотор (ядро расчёта), есть чуть-чуть периферии (вывод на ДИ, USART и т.п.). Приемлемого вывода данных пока не получено. Проблема в данных - скачут. Впереди обдумывание и дописывание функционала, создание инструментов, решение попутных проблем. Работы ещё навалом...

    Ссыль на теорию.

    Справка.


    Данные могут меняться!

    Нажмите на изображение для увеличения. 

Название:	Пакет_03.jpg 
Просмотров:	48 
Размер:	135.5 Кб 
ID:	422377
    Предварительная версия описания пакета ленты.

    Нажмите на изображение для увеличения. 

Название:	speed_01.jpg 
Просмотров:	55 
Размер:	64.1 Кб 
ID:	422379
    Справочка по скоростям. Назначение - указав на пинах МК с ЛПМ текущее значение скорости, сузит поиск до среди пакетов имеющих то же значение.
    Тут конечно побаловался и дал лишних скоростей. Управлять состояниями пинов МК можно через диоды завязанные на ключи или выводы логики ЛПМ. Уровни TTL, пины требуют внешней подтяжки к питанию, резисторами по 10кОм. Распиновка МК будет дана позже.

    [свернуть]

    Инструменты.


    Инструменты могут измениться!

    EEP_01.xls
    Сборщик EEP-файла (для прошивки энергонезависимой памяти МК) из добавленных данных. Данные вставляем в лист "ВВОД_ДАННЫХ", начиная с ячейки "R2C2"/"B2". Опции выставляются в отдельном файле, после копируются сюда, в инструмент сборки, в строку "ОПЦИИ". Пакеты получаем в отдельном файле для конкретной ленты, после копируем в строку "ПАКЕТ N".
    В "природе" д.б. подобные инструменты, но хочется привязать пользователя к Excel-у, дав возможность работать с данными в одной среде. Писалось на версии Excel-а 2003 года, с целью сохранения совместимости для удобства пользователя. Сам файл сохранён в формате: "97-2003 и 5.0/95".
    [свернуть]
    Последний раз редактировалось DrLithium; 09.07.2022 в 17:12.

  2. #2
    Старый знакомый
    Автор темы
    Аватар для DrLithium
    Регистрация
    24.12.2006
    Адрес
    SPb
    Сообщений
    652

    По умолчанию Re: СРВ на основе формулы.

    Закончил версию 0.8 (файл прошивки: 16946 байт, около 6 кбайт программной памяти МК):
    ввел альтернативный буфер, для вывода текста на дисплей до/после/во время основного счёта;
    добавил реакцию на команды по USART (можно изменять уровень логирования, выводить альтернативные или основные данные на дисплей);

    Перехожу к следующей версии. Решил изменить, т.с. навести "марафет", т.к. регулярное добавление функционала к существующему коду, выглядит как костыли. Главное, что хочу изменить - сократить время прерываний. То, что у меня как-то работало - уже не устраивает. Пора переосмыслить подход и отшлифовать существующие решения.

    Кольцевой буфер, для решения проблемы эксцентриситета крыльчатки, одновременно и решает проблему и создаёт новую. При этом результат по решаемой проблеме ещё не совсем нравится. Именно подозрительные, на предмет внесения погрешности в замеры, места - надо зарубить на корню. Причин м.б. несколько: долгие прерывания (оптика+USART+таймеры...) + эксцентриситет + разный размер лопастей крыльчатки + пульсации и наводки питания оптики. Суммарно получается многовато. Есть смысл писать так, что б можно было провести какой-то тест замеров, для сравнения при изменении одного их слагаемых.

    Придётся перетряхивать всю "схему" программы, исключая только ядро и писать начисто, а после перекраивать существующие алгоритмы...

    ---------- Сообщение добавлено 21:37 ----------

    Прорабатываю динамическую индикацию. Т.к. она сложнее, но выгоднее, то начинаю с неё. Статика будет, но позже.

    При 16 сигнальных вывода на двух 595-х, можно получить шесть разрядов, знак минуса, управление двоеточием и точкой (разделение разрядов). Думаю, что последние два есть смысл одновременно активировать при демонстрации счёта (если точка востребована и есть в наличии). Для персональной разводки сигналов с 595-х на индикатор, выделяю 16+16 байт под переменные в ОЗУ, которые будут заполняться из ПЗУ. Предусматриваю смену значении в ПЗУ через прошивку или по команде из терминала. Для набивки данными 595-х для текущего разряда, пришёл к выводу, что можно просто проверить переменные и если данные указаны, то заполнить соответствующий сегмент в соответствующей 595-й. Звучит жутко, но реализуется просто.

    Распишу подробнее.
    Имеются два буфера с данными. Один - это сами значения счётчика, второй - доп. инф-ция (текст). По событиям происходит их переключение на вывод. Знакогенератор задаётся жёстко, константами. Переменные в ОЗУ нужны для связи каждого из сегментов знака с выводом одного их 595-х регистров. При загрузке константы из ПЗУ копируются в переменные в ОЗУ, для работы без лишних вызовов из ПЗУ при регенерации дисплея. Разводку пинов с 595-х можно развести как удобнее под ваше железо, а программно можно подогнать соответствие сегментов дисплея, под сегменты знакогенератора. Т.к. каждый сигнал м.б. пришит к одной из двух 595-х, то полный набор переменных имеет каждая. И если значение оставлено по умолчанию, т.е. "FF", то такая переменная игнорируется. Указанием значения "0-7", задаётся привязка к выводу. Пример: L_HY = 0x02 и H_HY = 0xFF, привязывает сигнал минуса к выводу 2 второй 595-й. Генерить знакогенератор под каждый случай можно, но это может быть не удобно. При этом и для статики тоже придётся издеваться над знаками. Выбрать связь сигнала/сегмента с выводом, вроде как нагляднее. В случае изменения на разводке двух проводов, достаточно будет изменить два значения, а не каждый символ знакогенератора.


    Сразу надо сварганить конфиг под выбор: динамика/статика, ОК/ОА, кол-во разрядов и т.п. Т.е. универсальное по максимуму для лечения "заболевших" аппаратов или для вживления с нуля.

    Вариантов реализации будет 2-3. Позже распишу своё видение версий.
    Последний раз редактировалось DrLithium; 02.07.2022 в 13:05.

  3. #3
    Завсегдатай Аватар для Turbo_man
    Регистрация
    06.04.2010
    Адрес
    Moscow
    Сообщений
    5,553

    По умолчанию Re: СРВ на основе формулы.

    Тема увлекательная. Но всё уходит в описание частностей. А надо про формулы. А дальше каждый способный сам себе сделает. Монетизация у тебя займёт десяток лет. Если хватит усердия и настойчивости.

    ---------- Сообщение добавлено 23:17 ---------- Предыдущее сообщение было 23:10 ----------

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

    ---------- Сообщение добавлено 23:20 ---------- Предыдущее сообщение было 23:17 ----------

    Ну или можно приводить примеры кода на асме для интересных мест. Тогда и станет интересно читать. Типа вот пример, как я сделал то или это.
    Последний раз редактировалось Turbo_man; 23.06.2022 в 23:30.

  4. #4
    Старый знакомый
    Автор темы
    Аватар для DrLithium
    Регистрация
    24.12.2006
    Адрес
    SPb
    Сообщений
    652

    По умолчанию Re: СРВ на основе формулы.

    Цитата Сообщение от Turbo_man Посмотреть сообщение
    А надо про формулы. А дальше каждый способный сам себе сделает.
    Не сделают, судя по тому, сколько тут чего надо собрать и что б не мешало друг другу. Вариться надо долго, а чисто спецов-программеров, не много. При этом надо математику знать, я вот не знаю (хотя с меня списывали всю учёбу на 5, мне ставили из-за почерка, 3), но нашёл и понял. Хотя мне ещё надо будет разбираться, что б сделать инструмент конвертации данных в набор байт для выведенной формулы, т.с. чёрный ящик для пользователя.

    Я этот момент вижу по другому:
    даю инструменты;
    даю описание форматов и того что и как делать;
    даю конфиг для прошивки, конфиг мне, я делаю сборку, проверяю, если что не так то допиливаю, шью, отправляю железо с прошивкой;
    пользователь сам сможет изменить какие-то доступные настройки без перепрошивки по USART;
    пользователь сам сможет прошить МК (получив другую прошивку) в случае исправления бага в новой версии или при изменении конфига;
    пользователь сам сможет собрать данные с ленты и получить данные для пакета с формулой для записи в ПЗУ(EEPROM);
    пользователь сам сможет собрать файл с данными для ПЗУ и зашить в МК;

    Для разных вариантов реализации что-то м.б. по другому. Но суть в том, что б сделать универсальный конструктор подкреплённый инструментарием и поддержкой.
    В максимальной версии (по ID) предполагаю, что данные будут записаны на SD-карту, а не в ПЗУ - нет проблемы с местом под данные, скорости чтения хватит.

    Сам модуль СРВ д.б. работать на дисплей сам, только в младшей версии, на динамическую или статическую индикацию. Иначе, нужен доп. модуль управляющий всем остальным и получающий данные от СРВ.


    Цитата Сообщение от Turbo_man Посмотреть сообщение
    Монетизация у тебя займёт десяток лет. Если хватит усердия и настойчивости.
    Тут абсолютно не парюсь. Главный вопрос, отсеять тех, кому не очень нужно. Ну и за бесплатно оказывать поддержку - врагу не пожелаешь. Меня и так постоянно дёргают по компам, даже когда завязал с этим неблагодарным занятием. А остальное дело только в интересе, т.с. спорт, смочь решить - точнее, быстрее, удобнее!


    Цитата Сообщение от Turbo_man Посмотреть сообщение
    А если не про формулы, то для меня не хватает фото того, что уже получается на дисплее.
    Да я понял - просто весёлых картинок не хватает. Хорошо. Буду давать больше картинок, но надо что б что-то устаканилось. На самом дисплее пока скука, дам что-то другое... Но и рутину тоже надо делать. И да - самому не интересно, когда нужно просто "класть кирпичи", а не "ваять фасад".


    Цитата Сообщение от Turbo_man Посмотреть сообщение
    Ну или можно приводить примеры кода на асме для интересных мест.
    Можно кусочки давать, но мало кому будет это понятно и актуально. Я не против что-то дать по коду, но куда полезнее давать работу периферии. Могу дать USART с описанием подключения, основу брал с easyelectronics и чуть поправил. Работа динамической индикации и так есть везде, работа с EEPROM И TWI то же. Самое интересное в том как обходить подводные камни. Вот тут есть смысл что-то давать.

    А теперь слайды!Нажмите на изображение для увеличения. 

Название:	СРВ@LM6402A-048.jpg 
Просмотров:	84 
Размер:	433.2 Кб 
ID:	421907
    Эта схема взята временно, для сокращении времени разработки. Пока варюсь в ней, далее будет дана другая.
    Сразу не думал, что будет очень надо использовать RX (пин 30 приём по USART) и не сделал джампер. Тупо перебил проводник и навесил перемычку. Выводов не хватает, если будут 328PB, то хватит. Позже сделаю новую плату. Прошивка: снял плату индикации (счётчик ZX9-ой из двух плат), посадил на разъём SPI программатора, зашил, отключил и навесил обратно индикацию. Синий модуль сначала делал с ключами на биполярных, а разряды на полевиках. А когда получил индикаторы, то понял что не нужно совсем. Полевики, в малиновом блоке, заменил на биполярные, а в синем оставил только резисторы.
    Последний раз редактировалось DrLithium; 02.07.2022 в 12:59.

  5. #5
    Старый знакомый
    Автор темы
    Аватар для DrLithium
    Регистрация
    24.12.2006
    Адрес
    SPb
    Сообщений
    652

    По умолчанию Re: СРВ на основе формулы.

    Поправил шапочку.
    Теперь, определив минимальный набор данных в EEPROM, могу заняться самой прошивкой. И ясен пень, что-то или всё, может ещё поменяться. Решил пока не связываться с конфигом, а определять опции исключительно как данные в энергонезависимой памяти.

    Первое, что буду делать, это динамическая индикация на основе опций заданных в EEPROM. Далее, статическая индикация. Далее, поддержка остальных опции. Тогда смогу собрать инструмент для выбора опций и выложить в шапочку.

  6. #6
    Завсегдатай Аватар для Turbo_man
    Регистрация
    06.04.2010
    Адрес
    Moscow
    Сообщений
    5,553

    По умолчанию Re: СРВ на основе формулы.

    У тебя ошибка в скоростях VHS аппаратов. Скорости в см/сек приведены в колонке дюйм/сек.
    Надо исправить.

    ---------- Сообщение добавлено 23:32 ---------- Предыдущее сообщение было 23:29 ----------

    PAL SP это 2.339см/сек. Перепроверь.

  7. #7
    Старый знакомый
    Автор темы
    Аватар для DrLithium
    Регистрация
    24.12.2006
    Адрес
    SPb
    Сообщений
    652

    По умолчанию Re: СРВ на основе формулы.

    Цитата Сообщение от Turbo_man Посмотреть сообщение
    PAL SP это 2.339см/сек. Перепроверь.
    Спасибо. Дёргал из разных мест, мог ошибиться. Параллельно ещё 7 дел делал.
    Как разберусь - поправлю...
    ====================================================
    Поправил.
    У меня в таблице, куда кидал данные из сети, вообще всё, что относилось к видео и цифре на ленте, попало в дюймовую колонку. Надо было делить на 2.54, а я ещё и умножил. Голова идёт кругом, после нескольких часов сбора инф-ции.
    Последний раз редактировалось DrLithium; 07.07.2022 в 02:43.

  8. #8
    Старый знакомый
    Автор темы
    Аватар для DrLithium
    Регистрация
    24.12.2006
    Адрес
    SPb
    Сообщений
    652

    По умолчанию Re: СРВ на основе формулы.

    Поправил в шапочке инструмент для сборки "EEP" - "EEP_01.xls".
    Была не верная адресация: из 60 байт в редактор попадало только... 44. С начала было отъедено 16 байт, т.к. адрес был не с нуля, а с "0x10". Т.е. то, что предназначалось следующей строке, попадало в текущую. При этом начало записи блока данных не верно считалось, из текущей суммы всех учтённых байт должна вычитаться сумма байт текущей строки, что б попасть на точный адрес начала записи блока. А вычиталось константа - 16 байт, адрес последней строки получался битым. Теперь в "Atmel Studio 6.2" попадают все данные из "EEP" и могу продолжать...
    Нажмите на изображение для увеличения. 

Название:	EEP60.jpg 
Просмотров:	46 
Размер:	46.6 Кб 
ID:	422500 Нажмите на изображение для увеличения. 

Название:	EEP60_2.jpg 
Просмотров:	44 
Размер:	58.1 Кб 
ID:	422499

Социальные закладки

Социальные закладки

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •