Способы завершения транзакций

в начало

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

1. Способ завершения транзакции задатчиком: заключается в следующем. Задатчик инициализирует завершение транзакции, когда сигнал FRAME# сброшен, а IRDY# установлен. Это указывает исполнителю, что наступает последняя фаза данных. Последняя передача данных происходит, когда установлены и IRDY#, и TRDY#. Транзакция завершается, когда и FRAME#, и IRDY# сброшены (состояние холостого хода шины).

Задатчик может прекращать транзакцию этим способом по двум причинам:

- когда задатчик заканчивает начатую им транзакцию;

- когда линия разрешения захвата шины задатчиком GRN cброшена и наступил момент Тайм-аут, когда исчерпано время, задаваемое Таймером задержки и транзакция прерывается.

Модифицированная версия этого способа завершения транзакции задатчиком используется тогда, когда исполнитель не отвечает на его адресацию сигналом DEVSEL#.

2.Способ завершения транзакции исполнителем: заключается в следующем. В этом случае используется сигнал STOP#. Исполнитель выдает сигнал STOP#, чтобы запросить завершение транзакции от задатчика. После установки, STOP# сохраняет активное значение до момента сброса FRAME#. Взаимосвязь между IRDY# и TRADY# не зависит от взаимодействия между STOP# и FRAME#. Поэтому данные могут быть переданы или не переданы до конца в текущей транзакции. Это зависит единственно от состояния IRDY# и TRDY#. Однако, когда STOP# установлен, а TRDY# сброшен, это указывает на невозможность дальнейшей передачи данных исполнителя. В этом случае, задатчик не ждет последней передачи данных, а немедленно завершает транзакцию.