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

Спасибо за ответ. Почему она тогда в отсоединённом состоянии (от мастера) показывает 0,5 В? Люди советуют делать подтяжку на +5 В резистором 10к. Попробовал, но фронты сильно завалены.

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


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

Спасибо за ответ. Почему она тогда в отсоединённом состоянии (от мастера) показывает 0,5 В? Люди советуют делать подтяжку на +5 В резистором 10к. Попробовал, но фронты сильно завалены.

Потому что рекомендуется делать подтяжку на стороне мастера, иначе, паралельное включение подтяжек на слейвах приведет к малому сопротивлению, которое мастер не сможет прокачать.

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


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

Народ, подскажите, может кто знает, какой-нибудь доступный (freeware) инструмент под WinXP, кабель-переходник (желательно USB) с помощью которого можно было бы читать/писать по I2C(типа мастера шины), ну и соответствующий софт позволяющий просто всем этим делом управлять (делать дампы, записывать обратно, анализировать и т.п.) ?

 

Под WinXP не знаю, а под Linux рекомендую i2ctools.

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


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

Здравствуйте, уважаемые форумчане. Опять куча вопросов про SPI. Точнее про одну из реализаций.

 

Сейчас разбираю, как общаются два устройства (собственно мастер и слэйв) по SPI в третьем режиме. Особенно заинтересовал сигнал Clock. Начало понятное - вначале 1, затем происходит спад с 1 на 0, затем восемь фронтов с 0 на 1. Так вот, там есть ещё один цикл, девятый, по длительности примерно равный всему байту. Фото осциллографа - в пристёжке. Это что - сигнал самосинхронизации? И как его учитывать, если я хочу написать программный слэйв? У меня сейчас сделано определение начала по длительности сигнала, когда 1.

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


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

Здравствуйте, уважаемые форумчане. Опять куча вопросов про SPI. Точнее про одну из реализаций.

 

Сейчас разбираю, как общаются два устройства (собственно мастер и слэйв) по SPI в третьем режиме. Особенно заинтересовал сигнал Clock. Начало понятное - вначале 1, затем происходит спад с 1 на 0, затем восемь фронтов с 0 на 1. Так вот, там есть ещё один цикл, девятый, по длительности примерно равный всему байту. Фото осциллографа - в пристёжке. Это что - сигнал самосинхронизации? И как его учитывать, если я хочу написать программный слэйв? У меня сейчас сделано определение начала по длительности сигнала, когда 1.

чета фото не видно

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


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

post-73591-1373363337_thumb.jpg

 

Жёлтый - это как раз сигнал клок. Видно, что после меандра идёт ещё спад длительностью равный примерно один байт.

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


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

в середине чипселект?

какая микросхема такие клоки формирует? больше похоже на самопального программного мастер-SPI .

в любом случае никакой самосинхронизации нет в природе. слэйв на прием представляет из себя примитивный сдвиговый регистр. появился чипселект и такты-по каждому такту записывается 1 бит.Тоже самое на передачу. по каждому такту содержимое сдвигового регистра выдвигается наружу на мисо.

Изменено пользователем ZASADA

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


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

Жёлтый – CLK

Розовый - MISO

Зелёный – MOSI

 

 

Показано начало обмена, пока ещё слэйв нули выдаёт.

 

Линии "чипселект" там нет. Поскольку мастер и слэйв "заточены" друг под друга.

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


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

значит кривая реализация программного мастер-SPI.

и по осциллограмме кажется, что слэйв переводит MISO в 3 состояние по 9 срезу. может там обмен 9 бит?

Изменено пользователем ZASADA

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


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

post-73591-1373365581_thumb.jpg

 

В обрывках документации пишется про 8 битные данные.

 

Насколько я знаю, в 3-м режиме данные читаются по фронту.

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


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

на укрупненной осциллограмме видно, что 8 бит. мастер пишет 1011 0000, слейв отвечает 0000 0000 и переходит в 3 состояние

лишний такт или ошибка реализации мастера (скорее всего) или специально сделан для самольномого протокола обмена.

на стандартном SPI его быть не должно.

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


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

Да, спасибо. Я и говорю, что это один из вариантов реализации SPI.

Я вот просто думаю, зачем разработчики это всё сделали. Или это выдержка минимальной необходимой для слэйва паузы или так клоком какой-то управляющий сигнал для слэйва передаётся. Хотя может сам слэйв линию клока захватывает. Аналогично как в I2C.

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


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

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

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


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

И ещё вопрос интересный. Если писать программный SPI для третьего режима. Там ведь захват данных по фронту клока. А когда мы включаем SPI, мы тоже выставляем на клоке единицу как начальное состояние. Если мы пишем монитор данных, как мы отличим фронт начального состояния от "рабочего" фронта?

 

И ещё вопрос интересный. Если писать программный SPI для третьего режима. Там ведь захват данных по фронту клока. А когда мы включаем SPI, мы тоже выставляем на клоке единицу как начальное состояние. Если мы пишем монитор данных, как мы отличим фронт начального состояния от "рабочего" фронта?

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


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

И ещё вопрос интересный. Если писать программный SPI для третьего режима. Там ведь захват данных по фронту клока. А когда мы включаем SPI, мы тоже выставляем на клоке единицу как начальное состояние. Если мы пишем монитор данных, как мы отличим фронт начального состояния от "рабочего" фронта?

в нормальном SPI все проблемы с ложными клоками решает сигнал чипселект. Более того, есть много микросхем, которые без чипселекта просто не работают.

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


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

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

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

Гость
Ответить в этой теме...

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

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

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

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

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

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