t
Q=Q3 t
Рис. 11. Тактовая диаграмма сдвигового регистра в режиме последовательной передачи данных
При коэффициенте заполнения тактового сигнала в районе 50%, устройство, принимающее такую битовую посылку, может запоминать поступающие биты как по фронту, так и по срезу C на тактах 1-4. Если передача данных происходит в рамках одной цифровой схемы, то обычно и смена битов, и их запоминание происходят по одному и тому же событию, чаще по фронту. Если передача данных происходит между разными блоками какого-то устройства, то для надежности обычно смена битов на передатчике и их защелкивание на приемнике происходят по разным фронтам. Например, если схема, показанная на Рис. 51, сменяет биты по фронту, то приемнику битовой посылки следует срабатывать по срезу C.
Количественное описание такой «надежности» работы синхронных последовательностных схем сводится для каждой микросхемы к двум временам, называемым в англоязычной литературе «setup time» (время установки) и «hold time» (время удержания). В синхронной логике по каждому фронту происходят, фактически, два события. Бит от предыдущего логического блока в «конвейере» принимается на обработку следующим блоком (в примере сдвигового регистра речь идет всего лишь о триггерах). Через некоторое время, связанное лишь с быстродействием блока, предыдущий логический блок сменяет выходной бит и он становится равен значению, которое будет обработано следующим блоком на следующем такте. Непосредственно во время фронта тактового сигнала смены бита на информационном входе логической последовательностной схемы быть не должно: бит должен быть неизменен в течение времени установки до фронта тактового сигнала, и в течение времени удержания после него. В современной скоростной логике оба этих времени измеряются единицами наносекунд и меньше. Если при передаче денных при помощи сдвиговых регистров разнести моменты смены и запоминания битов по разным фронтам (переднему и заднему, или срезу), то большой запас по времени установки и удержания гарантируется естественным путем – они примерно равны половине периода тактового сигнала.
В практических схемах передача данных ведется байтами (по 8 бит), а для приема и передачи используются интегральные сдвиговые регистры с параллельной записью. Дополнительные схемы формируют сигнал стробирования: он переходит в активный уровень перед первым тактом, синхронно с которым передается первый бит данных, и обратно в неактивный, когда закончена передача последнего бита. Сигнал стробирования используется приемником, чтобы определить, когда началась передача байта, и когда закончилась. Это необходимо при передаче больших массивов данных, когда высок риск рассинхронизации. Рассинхронизация заключается в том, что в момент передачи первого бита передатчиком, счетчик принятых битов приемника не стоит на нуле, т.е. по окончании восьми тактов в
сдвиговом регистре приемника хранится часть старого байта, и часть нового. В интерфейсах ПК такая ошибка называется «Framing Error».
Чаще всего передача данных между устройствами осуществляется сразу в двух направлениях, т.е. за 8 тактов передается по байту данных в двух направлениях. Такие интерфейсы передачи данных называют дуплексными, а обмен байтами сводится к обмену содержимым сдвиговых регистров. Именно так устроен чрезвычайно популярный в микропроцессорной цифровой технике интерфейс SPI – Serial Peripheral Interface.
Простейшая модификация схемы сдвигового регистра позволяет создать устройство, называемое кольцевым счетчиком. Для этого следует всего лишь замкнуть выход старшего триггера схемы Q3 со входом младшего триггера D0 (см. Рис. 12) .
Рис. 12. Схема 4-разрядного кольцевого счетчика
При подаче тактового сигнала такая схема начинает сдвигать биты A, B, C и D слова, хранящегося в триггерах, на одну позицию (на каждый такт), при этом старший бит слова всякий раз переносится в младшую позицию.
С t
Достарыңызбен бөлісу: |