Перейти к содержанию
    

Как должна происходить синхронизация сигналов?

Задача

Имеется микроконтроллер (МК) как представлено на прикрепленной картинке

 

МК должен начать принимать информацию от Арбитра после того как на С1 появится 1-ный сигнал.

После этого появится 8 1-ных сигналов на С2.

По этим сигналам через DATA МК должен принять от Арбитра байт (последовательно).

 

Если значение байта равно 98 (это адрес МК среди других МК) МК должен подать Арбитру через DATA байт со значением 80 (это обозначает что МК "ГОТОВ" принимать информацию).

 

После этого МК получит от Арбитра по DATA последовательность бит (информацию какую-то), завершающуюся последовательностью "конец передачи".

 

---------

Вопрос:

 

Я не понимаю как должна происходить синхронизация МК с Арбитром.

 

- когда МК должен подавать обратно "ГОТОВ": после появления единички на С1?

- как МК поймёт, что Арбитр уже начал посылать ему информацию. В какой момент он должен начать её принимать?

post-37836-1211867048.jpg

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Мало входных данных. Что за Арбитр? Есть ли возможность изменять алгоритм его работы?

- когда МК должен подавать обратно "ГОТОВ": после появления единички на С1?

"Арбитр" должен после передачи адреса МК (98) "слушать" линию данных на предмет ответа от запрашиваемого МК. Как в Вашем случае поступает арбитр пока это не известно.

- как МК поймёт, что Арбитр уже начал посылать ему информацию. В какой момент он должен начать её принимать?

После того как "арбитр" и МК "разобрались" кто с кем общается и нашли общий язык :-) (после посылки команды 98 контроллер переходит в режим приема данных) МК ожидает прихода импульса на "С1" и принимает уже данные.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я не понимаю как должна происходить синхронизация МК с Арбитром.

Существует два базовых принципа синхронозации - с синхронизацией и без нее :)

Вспомните порты - бывают синхронные и асинхронные.

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

Асинхронный порт обходится без сигналов, но временная диаграмма определена заранее и передатчик и приемник работают, чтобы обеспечить известную обоим временную диаграмму. Например,UART.

 

В Вашем описании задачи ни сигналов нет, ни описания временной диаграммы нет, ни логики взаимодействия между передатчиком и приемником нет. Ну так придумайте или спросите у препода, и реализуйте.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Асинхронный порт обходится без сигналов, но временная диаграмма определена заранее и передатчик и приемник работают, чтобы обеспечить известную обоим временную диаграмму. Например,UART.

А не наоборот?

Специальные сигналы могут быть как у синхронного так и у асинхронного интерфейса, также как их может и не быть и там и там. (Синхронизация напр в HDLC осуществляется потоком данных).

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

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

 

Взять напр. синхронный и асинхронный доступ к памяти:

Синхронный подразумевает строб R/W заранее заданной длительности T (не менее реакции самого медленного модуля памяти), за время которого гарантируется что любой модуль памяти успеет выставить данные. Временная диаграмма жесткая.

 

Асинхронный подразумевает строб R/W и квитирование завершения записи/чтения по сигналу RD от модуля памяти, т.о. с быстрым модулем памяти обмен будет происходить быстрее, с медленным - медленнее (нет постоянства - это и есть "асинхронный"). Временная диаграмма гибкая и зависит от модулей памяти.

 

UART асинхронный не потому что должен придерживаться заданной временной диаграммы, а потому что он может ее не придерживаться!!! Разность частот между передатчиком и приемником UART'a может достигать аж 10% без риска искажения данных.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А не наоборот?

Я с памятью работал давно, еще с помощью READY и TEST :) Так что особенно спорить не буду. Параллельный интерфейс через LPT содержит сигнал строба от передатчика и сигнал подтверждения от приемника. Как называть его - синхронный или асинхронный?

Мне лично кажется, что любое согласование дополнительными сигналами - это синхронность.

Для Ваших примеров с памятью это не так. Что будем делать?

 

Да, скорость передачи по LPT со стробами и подтверждениями может меняться от нуля до мегабайтов в секунду. Вот уж где не придерживается заданной временной диаграммы :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

LPT содержит сигнал строба от передатчика и сигнал подтверждения от приемника. Как называть его - синхронный или асинхронный?

Если скорость передачи одного кадра не меняется (интервал времени затрачиваемый на пересылку кадра постоянный) тогда интерфейс синхронный. Если меняется - асинхронный.

У LPT ведь разные режимы работы есть SPP / EPP / ECP, асинхронно-синхронный?

 

Мне лично кажется, что любое согласование дополнительными сигналами - это синхронность.

Ну а как насчет HDLC? Синхронный? Да. И нет упр. сигналов.

 

Да, скорость передачи по LPT со стробами и подтверждениями может меняться от нуля до мегабайтов в секунду. Вот уж где не придерживается заданной временной диаграммы

Вот это и делает его асинхронным. :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Разность частот между передатчиком и приемником UART'a может достигать аж 10% без риска искажения данных.

 

Это интересно как? Обычная арифметика подсказывает, что при передачи 8бит +1старт+1стоп разность не может быть больше 4%.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Со скоростью кадра - допустим, есть USART и UART, оба передают кадры со отклонением скорости 0,1%.

Так они оба синхронные, оба асинхронные, или таки разные?

 

У LPT ведь разные режимы работы есть SPP / EPP / ECP, асинхронно-синхронный?

А там во всех случаях есть сигналы хэндшэйкинга, они отличаются количеством направлений и DMA и еще "мелочами".

 

Вот это и делает его асинхронным. :)

И мне смешно :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Это интересно как? Обычная арифметика подсказывает, что при передачи 8бит +1старт+1стоп разность не может быть больше 4%.

5-N-2 / 6-N-2 - суммарная ошибка бит интервала будет до 50%, что приемлемо для устойчивого приема.

По старту приемник синхронизируется с передатчиком, т.о. 1-й бит данных всегда будет принят верно.

На каждый последующий бит данных действует смещение в разность частот (10%) для 5-N-2 имеем 40% отклонение для 6-N-2 - 50%.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Господа, есть есть сигнал, по стробу которого происходит передача данных - то синхронный. В противном случае - асинхронный :)

 

Что-то всем смешно :):):)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Со скоростью кадра - допустим, есть USART и UART, оба передают кадры со отклонением скорости 0,1%. Так они оба синхронные, оба асинхронные, или таки разные?

Разные, отличие не в передатчиках (хотя и в них тоже), а в приемниках.

 

А там во всех случаях есть сигналы хэндшэйкинга, они отличаются количеством направлений и DMA и еще "мелочами".

И мне смешно :)

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

У LPT порта есть сигнал ACK, но используется ли он для квитирования передачи каждого байта?

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

 

Господа, есть есть сигнал, по стробу которого происходит передача данных - то синхронный. В противном случае - асинхронный :)

Асинхронный тоже может быть со стробом.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Это интересно как? Обычная арифметика подсказывает, что при передачи 8бит +1старт+1стоп разность не может быть больше 4%

Обычная арифметика говорит немного иное. Погрешность из-за нестабильности частоты приёмника при приёме абсолютно точно сформированного по времени сигнала составит ±0.5/8.5=0.059 или ±5.9%, поскольку последний отсчёт делается при t=8.5*To, а допустимые временные рамки не превышают ±0.5*То. Так что РАЗНОСТЬ может доходить до 5.9%.

 

Однако частота передатчика гуляет независимо от частоты приёмника. Если предположить, что передатчик и приёмник имеют похожие генераторы, то погрешность приёмника (как и передатчика) надо уменьшить вдвое. Таким образом, имеем допустимую погрешность частот расстройки передатчика и приёмника, равную ±2.9%.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Обычная арифметика говорит немного иное. Погрешность из-за нестабильности частоты приёмника....

 

:) Студенту задали SPI интерфейс реализовать, а вы тут арифметику разводите...

 

Анатолий.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

:) Студенту задали SPI интерфейс реализовать, а вы тут арифметику разводите...

 

Анатолий.

 

Как по мне , то больше на TWI смахивает - по дата-проводу гоняются данные туда/сюда по тактированию с 2-го провода..

Вот только не пойму зачем им такие хитрые реализации, свои протоколы - стандартных не хватает ?

В той же меге 2-х проводной присутствует...

 

Или всё таки идея - замучать студента в конец ??

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...