Аппаратная часть→трёхфазная реализация троичного сигнала
Есть разные мнения о том, как передавать трит информации по проводнику(-ам), то ли использовать один провод и три значения урвоня напряжения (+U,0,-U или 0,+U,+2U не суть важно) или использовать пару проводов с двумя значениями на каждом.
В первом случае неизбежно возникает такая пара состояний, переход между которыми проходит через третье, что создаёт проблемы в осуществлении такого подхода в реальном устройстве.
Во втором случае для передачи одного трита требуется два провода и возникает проблема запрещённой комбинации сигналов на них, хотя ту комбинацию и можно использовать для разных целей (внесение ECC-info, обозначение высокоимпедансного состояния, прочие возможности), но двойное увеличение количества проводников само по себе достаточно плохо.
Давеча посетила меня мысль использовать один провод, в котором нести информацию будет синусоида (обычно бывает достаточно трёх периодов на такт сигнала) имеющая разный угол сдвига фаз, лучше всего взять -120, 0, +120 градусов (как фазы A,B,C в трёхфазной сети питания). В результате требуется один проводник и нет пары состояний путь между которыми проходит через третье.
По первым прикидкам реализовать можно хотя-бы так:
формируются единые (на всю ЭВМ или любую её часть, работающую на единой тактовой частоте) три опорные фазы, а нуждающийся в посылке данных троичный элемент должен иметь три выхода, с разрешёнными состояниями 100, 010, 001, при этом каждый из выходов пропускает одну из фаз на общий единый выход. Дешифрация такого сигнала тоже будет достаточно проста, не вижу смысла её описывать.
kvas,
Мнения
001 Наконец-то :)
004 А я как-то не очень понял, как это работает - видимо знаний не хватает
Можете пожалуйста поподробнее объяснить, как будут строиться логические элементы и триггеры при таком подходе? Желательно иллюстрировано))005 Как это сделать внутри - воврос второй, скорее всего внутри будет обычная ТТЛ, схем на этом сайте полно. Моя идея больше для реализации выхода на более-менее протяжённую шину предназначена, где важно кол-во проводов уменьшить и устойчивость передачи сигнала обеспечить.
Пусть элемент построен так, что имеет три выхода, означающих -1, 0, +1 соответственно. Каждый из выходов управляет через ключ (тоже ТТЛ) подачей одной из фаз на общий для всех трёх выход. В итоге на общем выходе формируется одно из трёх значений:
1) синусоида
2) синусоида, с запаздыванием на 120 градусов (т.е. на треть полного цикла)
3) синусоида, с запаздыванием 240 градусов (что эквивалентно 120 градусам опережения006 Есть один вопрос: как "приемник" сигнала будет определять то, что волна отстает или запаздывает. Получается нужен второй сигнал для синхронизации, который постоянно (или через определенные периоды времени) будет сообщать "приемнику", какая фаза соответствует, например, синусоиде, обозначающей нолЬ.
007 Если передача внутри одной системы (читай: на едином БП), то те же самые три опорных фазы приходят на все элементы. Разницу между сигналом и парой/тройкой опорок получить не проблема, следовательно легко получаем двух- или трёхпроводной сигнал на входе приёмника. Но это решение "на вскидку", вполне может быть что если подумать, то и лучше варианты смогут нарисоваться.
Если передача вне единой системы, то и тут человечество навыдумывало самосинхронизирующихся сигналов, от RS-232 и до CHDB-3. Если это было возможно для двоички - почему для троички не получится по аналогии?
008 По поводу реализации троичных (на «физическом» уровне) систем — существуют такие варианты:
амплитудная;
пороговая;
фазовая (временная);
поляризационная (свет);
частотная…009 Если предложеный способ передачи троичных (или любых трёхзначных) данных применяется там, где синхронизироваться с опорными фазами A,B,C не представляется возможным, то возникает необходимость использования какой-либо иной синхронизации. Желательно, чтобы такая синхронизация:
1) не требовала дополнительных проводников
2) не увеличивала количества состояний сигнала в линии передачи данных.
На мой взгляд самосинхронизирующийся вариант трёхфазной передачи даных может быть построен так:
сначала передаётся трит синхронизации, он может быть передан любой из трёх фаз, затем идут триты данных, причём опорной (т.е. нулевой) фазой для определения значений всех тритов данной посылки считается та, в которой был передан трит синхронизации.
Как вариант этой схемы можно для каждого трита в качестве опорной фазы выбирать фазу предшествовавшего ему трита, а не трита синхронизации всей посылки. Наверное будут несколько выше требования к ширине полосы пропускания линии, но сильно облегчится синхронизация внутри посылки.010 А как различать трит синхронизации от данных?
011 Для принимающей стороны - он первый после длительного отсутствия чего-либо в этой линии.
014 и чего народ прицепился к этому промежуточному третьему состоянию через которое надо обязательно пройти при переходе между конечными состояниями? в нормальной цифровой схеме всё равно без синхронизации не обойтись, т.к. сигналы идущие параллельно по более чем одному проводу всё-равно разбегаются по времени...
