Bill (02.08.2013 10:41, просмотров: 703) ответил Vit на К сожалению нет. Ловить просто уровни это один гипертрофированный случай. По пинам обычно ловятся изменения. Бывает, что их порядок/количество не очень важны, но это опять же редкость. Т.к. для автомата входной сигнал это не пин, а его состояние в
Все правильно, именно это я и имел в виду. Любой синхронный автомат (а именно о них и идет речь) работает по своему автоматному времени. При этом смена состояния автомата происходит в дискретные моменты времени по сигналам синхронизации. Что происходит в паузах между сигналами не имеет значения. Предположим, что период тактовых импульсов составляет 1 мкс и смена состояния автомата будет происходить в зависимости от значений на его входах, которые определяются в данный момент времени все одновременно. Так происходит в случае аппаратной реализации автомата. С другой стороны, допустим, что имеется некий, процессор, который выполняет команду за 1 нс, и для того, чтобы определить состояния всех входов программным способом ему потребуется 500 команд, т.е. время выполнения такой (под)программы составит 0.5 мкс. Сама программа опроса запускается по сигналам "синхронизации" с периодом в 1 мкс. Естественно, состояния входов будут определяться последовательно, но к моменту появления следующего "импульса" синхронизации значения всех входных сигналов будут определены. Поэтому для программного автомата значения входных сигналов могут быть определены как одновременные.
Другой пример. На "борту" многих МК имеется UART, который представляет собой конечный автомат, реализованный аппаратно, и работающий независимо от процессора. Но бывают случаи, когда МК не имеет аппаратного UARTа, и тогда для организации связи с другим устройством по последовательной линии UART в данном устройстве реализуется программно. Естественно, программная реализация UART не всегда возможна в случае больших скоростей обмена. Но в случаях малых скоростей на другой стороне, участвующей в обмене, вряд ли можно будет определить как именно реализован UART: аппаратно или программно. Или нет?