Начав свой проект, я не знал как, где, и в какой
последовательности будут находится будущие элементы. Следовательно, я не
заботился о синхронизации процессов. Осознав, что следующая моя проблема лежит
именно в этом, я решил заново собрать свое устройство. Так как у меня были все
составляющие части в это машине, то я извлек их, чтобы снова собрать, но
улучшив, уменьшив размеры и убрав лишние блоки. Все это дало положительный
результат, но забрало время.
Перестраивая систему, я так же делал акцент на то, чтобы
каждый отдельный сигнал прошел свой путь от т.А до т.Б за самый короткий срок.
Но это оказалось ошибкой, которую я понял намного позже. Процент ошибок по
разным причинам составлял уже приблизительно 60-80% вычислений. Основной
причиной такого большого показателя является почти полное отсутствие
синхронизации взаимодействия регистров 1,2 и Х,У, системы ввода и записи в
регистры 1,2, а так же отсутствие элемента который убирает помехи (ложные
сигналы) перед регистром Х,У.
Я убрал все элементы, которые не работали, и начал проверку
тех элементов, которые остались. Это привело к обнаружению некоторого
количества ошибок. Исправив их, я удостоверился, что каждый элемент (по
отдельности) правильно и выполняет свою функцию. По частям складывая систему в
единое целое, я заново выводил все провода управления, которые нельзя было
переместить из старого варианта. А это дало возможность увидеть лишние схемы.
Например, число регистров для знака было сокращено в 2 раза, следовательно,
было убрано и управление лишними регистрами.
Далее я начал поочередно соединять отдельные аппаратные
блоки с системами управления, ввода, записи, чтения, обнуления и т.д. Первое
что я сделал, на этом этапе, была синхронизация ввода, счетчика и регистров
1,2. Т.е. когда мы вводим цифру, она одновременно идет по таким путям:
- в
декодер из 10 в 7 для отображения изображения цифры на дисплее
- при
любом введенном значении (от 0 до 9) сигнал идет в счетчик, который
руководит разрешением на запись в регистры 1,2
- получив
разрешение на запись, сигнал записывается в регистры 1,2
Это усложняется тем, что все три действия должны произойти
согласованно, т.к. длина входного сигнала у нас равняется 1с.
На первом этапе минимизации я очень грубо, но все-таки
настроил автоматизацию данных процессов. Кол-во ошибок составляло не более 10-20%.
Более точная настройка была произведена в последующих этапах.
Первая часть перестройки:
Вторая часть перестройки:
Третья часть перестройки:
Изменины регистры 1 и 2 цифры:
Изменились вид и расположение клавиатуры:
P.S.: В названии темы сказано: "Этап
1”. На
самом же деле все вышесказанное происходило в три этапа, причем третий этап
имел свои варианты. Но я решил их объединить т.к. они затрагивают общие
проблемы.
Нововведения: создана основа для дальнейшей автоматизации.
Следите за появлением новых новостей! Ваш iBorjomi.
18.12.12
|