|
|
  |
Как должна происходить синхронизация сигналов? |
|
|
|
May 27 2008, 16:31
|
Знающий
   
Группа: Участник
Сообщений: 596
Регистрация: 26-05-06
Из: Москва
Пользователь №: 17 484

|
Цитата(Kuzmi4 @ May 27 2008, 19:37)  Как по мне , то больше на TWI смахивает - по дата-проводу гоняются данные туда/сюда по тактированию с 2-го провода.. Вот только не пойму зачем им такие хитрые реализации, свои протоколы - стандартных не хватает ? В той же меге 2-х проводной присутствует...
Или всё таки идея - замучать студента в конец ?? C1 это CS C2 это CLK Data - 2-х направленая шина данных. Анатолий.
|
|
|
|
|
May 27 2008, 19:41
|
Участник

Группа: Участник
Сообщений: 25
Регистрация: 8-03-08
Пользователь №: 35 744

|
Цитата(_dem @ May 27 2008, 16:28)  Думаю не так! Синхронный способ передачи -передача непрерывно с постоянной скоростью(HDLC), асинхронный- остальное( UART 8N1- асинхронные кадры, но биты в пределах кадра-синхронны). Для синхронного способа не нужен сигнал синхронизации, скорее он нужен для асинхронного ( в случае UART- самосинхронизация)
|
|
|
|
|
May 27 2008, 20:45
|

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

|
Давайте чтобы поставить точку в определении синхронных/асинхронных интерфейсов обратимся к интернету  Вот такое определение синхронных интерфейсов предлагается в статье Volker Soffel'a Microcontroller Interfaces Part1: Synchronous interfaces are characterized by the presence of a dedicated receive/transmit clock signal. A "Master" device usually outputs a clock signal that is received by all "Slave" devices to receive and transmit data in synch. The advantage: Each device works with the transmit/receive clock of the master independent of any oscillator variations of each individual device; so these interfaces are very suitable for use with cheap oscillators that have large frequency variations от туда же определение асинхронных интерфейсов: Asynchronous Interfaces While synchronous interfaces transmit and receive data in sync with a dedicated receive/transmit clock signal, asynchronous interfaces embed the clock information into the data stream. Therefore they are characterized by the absence of a dedicated receive/transmit clock signal. For devices to communicate in sync with each other, they need to agree on the same transmission speed (kbits/sec), the same protocol (number of data bits, stop bits, parity, etc), and they need to constantly re-sync to the clock embedded into the data stream. Re-syncing is usually achieved through start and stop bits (or frames) at defined positions in the data stream. To keep in synch, it is also required that the devices' system clock is stable within a few percent - simple R/C oscillators with +-25% tolerances or more will not work. В контексте интерфейсов МК, я с такими определениями абсолютно согласен. Получается Dog Pawlowa практически прав, за исключением одной мелочи, которая и подтолкнула меня к поискам истины  Цитата(Dog Pawlowa @ May 27 2008, 09:11)  В синхронном есть специальные сигналы, где приемник сообщает передатчик, что он принял данные - например, LPT. Заменить "приемник сообщает передатчику, что он принял данные" (что есть составной частью асинхронных интерфейсов) на "передатчик генерит клок для приемника, приемник(ки) должен успеть в рамках этого клока принять/передать данные", и все станет на свои места.
|
|
|
|
|
May 28 2008, 05:58
|
Гуру
     
Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823

|
Цитата(defunct @ May 27 2008, 23:45)  Вот такое определение синхронных интерфейсов предлагается в статье Volker Soffel'a Я тоже стал искать в интернете, но не хватило терпения. В статье написано логично, но всегда можно найти к чему придраться  : Цитата To keep in synch, it is also required that the devices' system clock is stable within a few percent - simple R/C oscillators with +-25% tolerances or more will not work. Если вырвать эту фразу из контекста обычного асинхронного последовательного интерфейса, она не совсем справедлива, поскольку есть десятки других интерфейсов, где частота может меняться долговременно в десятки раз - например интерфейс радиоприемников фирмы Linx. Цитата Получается Dog Pawlowa практически прав, за исключением одной мелочи, которая и подтолкнула меня к поискам истины  Заменить "приемник сообщает передатчику, что он принял данные" (что есть составной частью асинхронных интерфейсов) на "передатчик генерит клок для приемника, приемник(ки) должен успеть в рамках этого клока принять/передать данные", и все станет на свои места. Угу, синхронизация от передатчика к приемнику несомненно важнее. Но если есть еще и обратная синхронизация ...назовем это суперсинхронным интерфейсом?
--------------------
Уходя, оставьте свет...
|
|
|
|
|
May 28 2008, 06:16
|
Местный
  
Группа: Свой
Сообщений: 426
Регистрация: 5-04-07
Из: Санкт-Петербург
Пользователь №: 26 782

|
Цитата(defunct @ May 27 2008, 17:23)  5-N-2 / 6-N-2 - суммарная ошибка бит интервала будет до 50%, что приемлемо для устойчивого приема. По старту приемник синхронизируется с передатчиком, т.о. 1-й бит данных всегда будет принят верно. На каждый последующий бит данных действует смещение в разность частот (10%) для 5-N-2 имеем 40% отклонение для 6-N-2 - 50%. ИМХО Вы все же занижаете требования. Как правило УАРТ при считьывании бита оцениваются три центральные выборки и мажорирование результатов, поэтому при длинном фрейме 10бит (без паритета) ( 1+8+1) 10% многовато. Об этом, кстати, указано в DS на USART на любой МК AVR ( пример: ATmega128 таблицы 75 и 76).
|
|
|
|
|
May 28 2008, 10:21
|

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

|
Цитата(VladimirYU @ May 28 2008, 09:16)  ИМХО Вы все же занижаете требования. Нисколько, я рассматривал предельные возможности на стандартных 5-ти битовых посылках (5-N-2). Цитата Как правило УАРТ при считьывании бита оцениваются три центральные выборки и мажорирование результатов, поэтому при длинном фрейме 10бит (без паритета) ( 1+8+1) 10% многовато. Об этом, кстати, указано в DS на USART на любой МК AVR ( пример: ATmega128 таблицы 75 и 76). Не буду спорить насчет 8-N-1 - для такого включения 10% многовато. Цитата Но если есть еще и обратная синхронизация ...назовем это суперсинхронным интерфейсом?  Вы же работали с памятью асинхронно  TEST / READY. зачем же изобретать новые названия, когда для квитирования уже существует название - асинхронный  только в МК таких интерфейсов (с квитированием от приемника) нет. Скажете а как же ACK в I2C? Это немного ни то, ACK от слейва в I2C формируется как обычный бит данных, он не может ускорить или замедлить процесс приема/передачи (повлиять на скважность клока).
|
|
|
|
|
May 28 2008, 10:51
|
Гуру
     
Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823

|
Цитата(defunct @ May 28 2008, 13:21)  зачем же изобретать новые названия, когда для квитирования уже существует название - асинхронный  только в МК таких интерфейсов (с квитированием от приемника) нет. Хм, что такое МК? Помните 8080+8255? Это можно отнести к МК или уже все? Так вот, 8255 в режиме 2 обеспечивала аппаратно прямую (от передатчика в приемник) и обратную (от приемника в передатчик) синхронизацию. Надеюсь, мой склероз меня не опозорит
--------------------
Уходя, оставьте свет...
|
|
|
|
|
May 28 2008, 12:38
|

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

|
Цитата(Dog Pawlowa @ May 28 2008, 13:51)  Хм, что такое МК? Помните 8080+8255? Это можно отнести к МК или уже все? МК - это однокристалка, с набортной памятью и набортной периферией + шинами памяти опционально, готовая система в одном корпусе. 8080 это все же МП, т.к. нет набортной памяти/периферии, и наружу выведен local bus, разработчику предоставляется возможность самому подобрать "чип-сет" под свою систему. Цитата Так вот, 8255 в режиме 2 обеспечивала аппаратно прямую (от передатчика в приемник) и обратную (от приемника в передатчик) синхронизацию. Надеюсь, мой склероз меня не опозорит  8255 со стороны подключения к CPU я бы сказал имеет асинхронный интерфейс, за счет наличия RD.
|
|
|
|
|
May 28 2008, 13:29
|
Местный
  
Группа: Свой
Сообщений: 263
Регистрация: 2-02-07
Из: CN, Ukraine
Пользователь №: 24 970

|
Цитата ( UART 8N1- асинхронные кадры, но биты в пределах кадра-синхронны). Добавьте к UART сигнал CLK, как это делают в ISO смарт-картах, и вы получите уже синхронный интерфейс  т.е. USRT
|
|
|
|
|
May 29 2008, 07:29
|

Профессионал
    
Группа: Свой
Сообщений: 1 940
Регистрация: 16-12-07
Из: Москва
Пользователь №: 33 339

|
Цитата(Артем Бум @ May 27 2008, 09:44)  Задача Имеется микроконтроллер (МК) как представлено на прикрепленной картинке
МК должен начать принимать информацию от Арбитра после того как на С1 появится 1-ный сигнал. После этого появится 8 1-ных сигналов на С2. По этим сигналам через DATA МК должен принять от Арбитра байт (последовательно).
Если значение байта равно 98 (это адрес МК среди других МК) МК должен подать Арбитру через DATA байт со значением 80 (это обозначает что МК "ГОТОВ" принимать информацию).
После этого МК получит от Арбитра по DATA последовательность бит (информацию какую-то), завершающуюся последовательностью "конец передачи".
--------- Вопрос:
Я не понимаю как должна происходить синхронизация МК с Арбитром.
- когда МК должен подавать обратно "ГОТОВ": после появления единички на С1? - как МК поймёт, что Арбитр уже начал посылать ему информацию. В какой момент он должен начать её принимать? Синхронный режим всегда требует наличие CLK дабы раделять биты данных Ассинхронный требует наличие маркеров начала и конца передачи данных и использует внутренную синхронизацию приемника Ваша задачка не имеет логического решения . Даже , если производить запуск приёма по C2 вы врядли различите биты информации , кроме случая меандра. Т.е если передается чисдо 0x55 или 0xAA Если это Ваш случай - то проблема решаема
--------------------
Закон Мерфи:
Чем тщательнее составлен проект, тем больше неразбериха, если что-то пошло не так
|
|
|
|
|
May 29 2008, 10:47
|
Гуру
     
Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823

|
Цитата(defunct @ May 29 2008, 13:09)  Ну почему же  ... Асинхронно это когда клок ведущего устройства регулируется ведомым устройством. ... Нет уж, стоп, это отход от определения, найденного в инете! Консенсус был достигнут, не стоит его размывать опять!  Там ничего про регулировку не говорилось. Ведомое устройство не влияет на суть происходящего - прием данных, существующих на момент фронта сигнала записи (т.е. строба, который формируется мастером). А уж способы достижения валидности данных второстепенны и асинхронной сути не добавляют.
--------------------
Уходя, оставьте свет...
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|