[an error occurred while processing this directive]
[an error occurred while processing this directive]
|
Последовательный интерфейс.
Нужно замешивать в однобитный поток служебную комбинацию, соответствующую началу слова. Естественно, полезный поток будет меньше, чем позволяет тактовая частота, и если эта потеря недопустима, то (самое простое), можно передавать данные по двум фронтам CLK. Например, разные значения под положительным и отрицательным перепадом будут соответствовать коду ‘начало’, после чего проходит N информационных бит, отличительной чертой которых являются совпадающие значения под перепадами. ‘Начало’, сформированное на передающем конце, выделяется при помощи XOR на приемном. Для преобразования параллельного кода в последовательный (на передающем) и последовательного в параллельный (на приемном), применяются сдвиговые регистры с параллельной загрузкой и параллельным выходом (в Альтере это соответствующим образом сконфигурированные lpm_shiftreg). В первом случае используются Data[] и shiftout, во втором shiftin и q[]. ‘Накопленные’ данные записываются в регистр (lpm_ff) по очередному импульсу ‘начало’.
E-mail: info@telesys.ru