Теоретический вопрос о часах

8

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

Обычный тактовый сигнал с данными (ниже):

Нормальные часы

Случайный тактовый сигнал с данными (данные все еще синхронизированы с часами) (ниже):

Случайные часы

Будет ли чип (вообще любой чип, но, как пример, последовательный параллельный сдвиговый регистр) работать нормально с более случайным тактовым сигналом? Если нет, то почему?

Опять же, не то, что я планирую сделать это, но теоретически есть ли какая-то причина, по которой я не мог использовать стандартный вывод на Raspberry Pi / Arduino в качестве часов, а другой вывод в качестве данных?

Пример псевдокода:

fakeClockPin = 1;
dataPin = 2;

setPin(dataPin, HIGH);
setPin(fakeClockPin, HIGH);
sleep(1); //1ms
setPin(fakeClockPin, LOW);
sleep(1); //1ms

setPin(dataPin, LOW);
setPin(fakeClockPin, HIGH);
sleep(1); //1ms
setPin(fakeClockPin, LOW);
sleep(1); //1ms

setPin(dataPin, HIGH);
setPin(fakeClockPin, HIGH);
sleep(1); //1ms
setPin(fakeClockPin, LOW);
sleep(1); //1ms

setPin(dataPin, LOW);
setPin(fakeClockPin, HIGH);
sleep(1); //1ms
setPin(fakeClockPin, LOW);
sleep(1); //1ms
vimist
источник
Не все часы симметричны. Некоторым старым микропроцессорам требовался тактовый цикл 66% (если я правильно помню).
HL-SDK
1
Техника, описанная вашим псевдокодом, называется бит-бэнгингом , и это вполне законная вещь.
Фил Фрост

Ответы:

12

Ваш тактовый сигнал запускает фронты, в ваших примерах положительный фронт. Вы можете сказать, потому что данные должны быть стабильными незадолго до фронта часов ( время установки ), и если часы будут фиксироваться на падающем фронте, это совпадет с изменением ваших данных.

За исключением времени установки, есть несколько ограничений: часы могут оставаться высокими столько, сколько захотят. Тем не менее, вам нужно будет иметь минимальное минимальное время до следующего нарастающего фронта.

Radagast
источник
7

Микросхема будет вести себя нормально до тех пор, пока вы используете ее в «параметрах нормальной работы», как указано в техническом описании. Большинство чипов предъявляют только требования к минимальному времени между фронтами тактового сигнала и временем настройки (данные устойчивы к активному фронту тактового сигнала). Ни один не нарушается растяжением часов.

На практике сгенерированный программным способом тактовый сигнал всегда будет иметь большие вариации синхронизации. Важным моментом является то, что вы не делаете вещи слишком быстро для внешнего чипа. Но время типичного сдвигового регистра выражается в 10-х из нс, что на несколько порядков быстрее, чем за 1 мс, которую вы наблюдаете.

Воутер ван Оойен
источник
1

Простая микросхема с «тактовой булавкой» не заботится о том, когда наступает край тактовой частоты, только о том, что она делает. Даже изохронные импульсы более полезны для программного обеспечения или более сложного аппаратного обеспечения, например устройств на основе ФАПЧ.

Игнасио Васкес-Абрамс
источник