|
Зачем в SPI синхронизация по разным фронтам |
|
|
|
 |
Ответов
(1 - 13)
|
Sep 17 2015, 18:39
|

Местный
  
Группа: Участник
Сообщений: 492
Регистрация: 12-11-11
Пользователь №: 68 264

|
Кстати, нашел еще кое-что связанное с этим, метастабильностью называется. Подобный изврат с SPI - что-то типа один из методов борьбы с ним... http://geektimes.ru/post/254934/ - тут подробнее. Интересно, конечно, как в железе реализуется раздельное управление фронтами. Думаю, я еще вернусь к этому вопросу =)
|
|
|
|
|
Sep 18 2015, 03:36
|

Adept
     
Группа: Свой
Сообщений: 3 469
Регистрация: 6-12-04
Из: Novosibirsk
Пользователь №: 1 343

|
QUOTE (Arlleex @ Sep 17 2015, 23:29)  Я ищу в этом логику в поиске какого-то утаенного от меня скрытого смысла. Ну я думал в этом есть какой-то хитрый план, начиная от помехозащищенности и заканчивая универсализацией... QUOTE (Arlleex @ Sep 17 2015, 23:46)  Herz, конкретика - лучшее, что может быть сейчас =) И зачем убирать задержку распространения? Без нее и сдвиговый регистр работать не будет. Не очень понятно, что вас смущает. Устроено, как раз, по здравому смыслу: один фронт клока DRIVE EDGE, второй - SAMPLE EDGE, по DRIVE EDGE и мастер, и слейв выставляют свои данные на линии (MOSI и MISO соответственно), по SAMPLE EDGE забирают. Никаких коллизий не возникает, все успевают, всё работает слаженно. А если один фронт, то представьте себе, что, например, мастер выдаёт и забирает данные по одному и тому же фронту: вот выставил он данные на MOSI, выдал фронт на SCK, но в этот момент - если этот же фронт для мастера является и семплирующим - данные от слейва на MISO уже должны уверенно (т.е. соблюдением tSU и учётом tPD) стоять! Как слейв в этой ситуации узнает, что он должен выдавать данные - он ведь не может телепатировать от мастера, что тот сейчас будет выдавать фронт? В этом случае просто придётся от слейва данные гнать с задержкой на один такт. Это ни разу не упрощение, а наоборот усложнение логики и ухудшение скорости обмена. Вот как-то так. Если, конечно, я правильно понял ваш вопрос. Если нет, не обессудьте.
--------------------
«Отыщи всему начало, и ты многое поймёшь» К. Прутков
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|