Осознав, что данное устройство дает ошибку в 95% вычислений,
я начал задумываться о начальной автоматизации. Для начала необходимо было
разработать схему, по которой будут происходить процессы. Для начала, я решил
автоматизировать память, т.к. именно там были обнаружены все ошибки. До этого
уже была создана память для Х и У, а так же их первичная автоматизация. Но для
того чтобы число записалось правильно нам нужно получить устойчивый сигнал
длиной в ~2с.
А теперь главное свойство – эта машина имеет ввод значений в виде коротких импульсов. Т.е. нет большого
количества рычагов, которые имеют постоянный сигнал. Если сделать систему на
них, то потребуется около 45 рычагов, дополнительные 3 линии входа и т.д.. Т.е.
мы получим линейную схему, которая возможно будет работать быстрее, но из-за
большого количества рычагов потеряет смысл в управлении системой (все операции
будет выполнять человек, а это уже не компьютер).
Первое что я сделал, это были регистры первой и второй
цифры. При вычислениях эта память временно хранит значения Х1, Х2, У1, У2, а
записью, чтением, очисткой памяти руководит счетчик.
Счетчик – важнейшая часть моего калькулятора. Как он
работает? Относительно просто. Если через него проходит сигнал, то счетчик
меняет свое состояние, например из 1 в 2, из 2 в 3 и т.д.
Счетчик в моем устройстве имеет один вход и два выхода,
которые я вывел через дешифратор как сигналы Х, У, 1, 2. Эти сигналы находятся
всегда в паре, значит, мы получаем возможные значения: Х1, Х2, У1, У2. Следовательно,
у нас есть возможность управлять всеми регистрами системы, которые так или
иначе связаны с этими значениями.
Теперь мы знаем, каким образом разрешается или запрещается
запись в регистры 1 и 2. Но наша основная цель – правильная запись в память Х и
У. И мы не должны забывать про необходимость устойчивого сигнала на этом
участке. Для этой цели из регистров 1 и 2 производится чтение длительностью ~2с.,
а после этого запрещение на чтение, сброс и только после этого ячейки 1 и 2
готовы работать с новыми сигналами.
Но это еще не все. При проходе участка от регистров 1 и 2 через декодер из 2(10) в 2 код до памяти Х и У сигналы идут с разной скоростью, поэтому перед
регистром Х и У необходимо сделать таймер, который будет убирать возникающие помехи (ложные
сигналы) Теоретически просто, но не на практике. На это я потратил трое суток времени.
Общий вид системы:
Изменилась клавиатура и дисплей:
Двоичный код ответа, временно выведенный на дисплей:
Первая попытка сделать вывод ответа в 10 коде:
Самый ранний вариант регистров 1 и 2:
Сигналы выхода из счетчика:
Счетчик:
Новые возможности: вывод ответа в виде изображения 2 кода (очень высокий % ошибок из-за отсутствия полной автоматизации); регистры 1 и 2 дают основу для дальнейшего проектирования
Следите за появлением новых новостей! Ваш iBorjomi.
16.12.12
|