реклама на сайте
подробности

 
 
3 страниц V   1 2 3 >  
Reply to this topicStart new topic
> Как должна происходить синхронизация сигналов?
Артем Бум
сообщение May 27 2008, 05:44
Сообщение #1





Группа: Новичок
Сообщений: 11
Регистрация: 27-05-08
Пользователь №: 37 836



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

МК должен начать принимать информацию от Арбитра после того как на С1 появится 1-ный сигнал.
После этого появится 8 1-ных сигналов на С2.
По этим сигналам через DATA МК должен принять от Арбитра байт (последовательно).

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

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

---------
Вопрос:

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

- когда МК должен подавать обратно "ГОТОВ": после появления единички на С1?
- как МК поймёт, что Арбитр уже начал посылать ему информацию. В какой момент он должен начать её принимать?
Прикрепленные изображения
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
adc
сообщение May 27 2008, 06:04
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 409
Регистрация: 29-10-07
Пользователь №: 31 836



Мало входных данных. Что за Арбитр? Есть ли возможность изменять алгоритм его работы?
Цитата
- когда МК должен подавать обратно "ГОТОВ": после появления единички на С1?

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

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


--------------------
Умный программист пишет тупым кодом гениальные вещи, а не наоборот...
Go to the top of the page
 
+Quote Post
Dog Pawlowa
сообщение May 27 2008, 06:11
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823



Цитата(Артем Бум @ May 27 2008, 08:44) *
Я не понимаю как должна происходить синхронизация МК с Арбитром.

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

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


--------------------
Уходя, оставьте свет...
Go to the top of the page
 
+Quote Post
Артем Бум
сообщение May 27 2008, 06:25
Сообщение #4





Группа: Новичок
Сообщений: 11
Регистрация: 27-05-08
Пользователь №: 37 836



Спасибо! По Вашим советам узнал логику синхронизации у преподавателя.
Go to the top of the page
 
+Quote Post
defunct
сообщение May 27 2008, 12:09
Сообщение #5


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(Dog Pawlowa @ May 27 2008, 09:11) *
В синхронном есть специальные сигналы, где приемник сообщает передатчику, что он принял данные - например, LPT. На вашей схеме такого сигнала нет.
Асинхронный порт обходится без сигналов, но временная диаграмма определена заранее и передатчик и приемник работают, чтобы обеспечить известную обоим временную диаграмму. Например,UART.

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

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

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

UART асинхронный не потому что должен придерживаться заданной временной диаграммы, а потому что он может ее не придерживаться!!! Разность частот между передатчиком и приемником UART'a может достигать аж 10% без риска искажения данных.
Go to the top of the page
 
+Quote Post
Dog Pawlowa
сообщение May 27 2008, 12:32
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823



Цитата(defunct @ May 27 2008, 15:09) *
А не наоборот?

Я с памятью работал давно, еще с помощью READY и TEST smile.gif Так что особенно спорить не буду. Параллельный интерфейс через LPT содержит сигнал строба от передатчика и сигнал подтверждения от приемника. Как называть его - синхронный или асинхронный?
Мне лично кажется, что любое согласование дополнительными сигналами - это синхронность.
Для Ваших примеров с памятью это не так. Что будем делать?

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


--------------------
Уходя, оставьте свет...
Go to the top of the page
 
+Quote Post
defunct
сообщение May 27 2008, 12:40
Сообщение #7


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(Dog Pawlowa @ May 27 2008, 15:32) *
LPT содержит сигнал строба от передатчика и сигнал подтверждения от приемника. Как называть его - синхронный или асинхронный?

Если скорость передачи одного кадра не меняется (интервал времени затрачиваемый на пересылку кадра постоянный) тогда интерфейс синхронный. Если меняется - асинхронный.
У LPT ведь разные режимы работы есть SPP / EPP / ECP, асинхронно-синхронный?

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

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

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

Вот это и делает его асинхронным. smile.gif
Go to the top of the page
 
+Quote Post
VladimirYU
сообщение May 27 2008, 12:42
Сообщение #8


Местный
***

Группа: Свой
Сообщений: 426
Регистрация: 5-04-07
Из: Санкт-Петербург
Пользователь №: 26 782



Цитата(defunct @ May 27 2008, 16:09) *
Разность частот между передатчиком и приемником UART'a может достигать аж 10% без риска искажения данных.


Это интересно как? Обычная арифметика подсказывает, что при передачи 8бит +1старт+1стоп разность не может быть больше 4%.
Go to the top of the page
 
+Quote Post
Dog Pawlowa
сообщение May 27 2008, 13:06
Сообщение #9


Гуру
******

Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823



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

Цитата(defunct @ May 27 2008, 15:40) *
У LPT ведь разные режимы работы есть SPP / EPP / ECP, асинхронно-синхронный?

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

Цитата(defunct @ May 27 2008, 15:40) *
Вот это и делает его асинхронным. smile.gif

И мне смешно smile.gif


--------------------
Уходя, оставьте свет...
Go to the top of the page
 
+Quote Post
defunct
сообщение May 27 2008, 13:23
Сообщение #10


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(VladimirYU @ May 27 2008, 15:42) *
Это интересно как? Обычная арифметика подсказывает, что при передачи 8бит +1старт+1стоп разность не может быть больше 4%.

5-N-2 / 6-N-2 - суммарная ошибка бит интервала будет до 50%, что приемлемо для устойчивого приема.
По старту приемник синхронизируется с передатчиком, т.о. 1-й бит данных всегда будет принят верно.
На каждый последующий бит данных действует смещение в разность частот (10%) для 5-N-2 имеем 40% отклонение для 6-N-2 - 50%.
Go to the top of the page
 
+Quote Post
_dem
сообщение May 27 2008, 13:28
Сообщение #11


Местный
***

Группа: Свой
Сообщений: 263
Регистрация: 2-02-07
Из: CN, Ukraine
Пользователь №: 24 970



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

Что-то всем смешно smile.gifsmile.gifsmile.gif
Go to the top of the page
 
+Quote Post
defunct
сообщение May 27 2008, 13:40
Сообщение #12


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(Dog Pawlowa @ May 27 2008, 16:06) *
Со скоростью кадра - допустим, есть USART и UART, оба передают кадры со отклонением скорости 0,1%. Так они оба синхронные, оба асинхронные, или таки разные?

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

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

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

Цитата(_dem @ May 27 2008, 16:28) *
Господа, есть есть сигнал, по стробу которого происходит передача данных - то синхронный. В противном случае - асинхронный smile.gif

Асинхронный тоже может быть со стробом.
Go to the top of the page
 
+Quote Post
=GM=
сообщение May 27 2008, 14:42
Сообщение #13


Ambidexter
*****

Группа: Свой
Сообщений: 1 589
Регистрация: 22-06-06
Из: Oxford, UK
Пользователь №: 18 282



Цитата(VladimirYU @ May 27 2008, 11:42) *
Это интересно как? Обычная арифметика подсказывает, что при передачи 8бит +1старт+1стоп разность не может быть больше 4%

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

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


--------------------
Делай сразу хорошо, плохо само получится
Go to the top of the page
 
+Quote Post
aesok
сообщение May 27 2008, 14:47
Сообщение #14


Знающий
****

Группа: Участник
Сообщений: 596
Регистрация: 26-05-06
Из: Москва
Пользователь №: 17 484



Цитата(=GM= @ May 27 2008, 18:42) *
Обычная арифметика говорит немного иное. Погрешность из-за нестабильности частоты приёмника....


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

Анатолий.
Go to the top of the page
 
+Quote Post
Kuzmi4
сообщение May 27 2008, 15:37
Сообщение #15


Гуру
******

Группа: Свой
Сообщений: 3 304
Регистрация: 13-02-07
Из: 55°55′5″ 37°52′16″
Пользователь №: 25 329



Цитата(aesok @ May 27 2008, 17:47) *
smile.gif Студенту задали SPI интерфейс реализовать, а вы тут арифметику разводите...

Анатолий.


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

Или всё таки идея - замучать студента в конец ??
Go to the top of the page
 
+Quote Post

3 страниц V   1 2 3 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 20:04
Рейтинг@Mail.ru


Страница сгенерированна за 0.01485 секунд с 7
ELECTRONIX ©2004-2016