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

I2C снифер на stm32

здравствуйте

возникла необходимость в готовом устройстве прослушать обмен между хостмикроконтроллером и i2c eeprom микросхемой.

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

спасибо.

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


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

что-то мне говорит что нет.

А частоты большие?

ИМХО можно на прерыванияx по изменению состояния ног чисто программно забацать, если времянка позволяет.

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


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

что-то мне говорит что нет.

А частоты большие?

ИМХО можно на прерыванияx по изменению состояния ног чисто программно забацать, если времянка позволяет.

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

на програмную слушалку надо время - код писать. а задача как обычно - пожар, нада тушить а не изучать как шнанг устроен ;).

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


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

можно заставить работать модуль i2c у stm32 в пассивном режиме?

А если подключить и SCL и SDA через приличные резисторы, чтобы собственная активность STM-ки не влияла на обмен?

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


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

Так напишите уж сразу эмулятор EEPROM. Сниффер тогда и не понадобится.

 

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

 

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

 

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


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

А если подключить и SCL и SDA через приличные резисторы, чтобы собственная активность STM-ки не влияла на обмен?
Мысль интересная. Единственный нюанс вижу, что STM'ка будет в режиме slave и ей не получится затягивать CLK, если по каким либо причинам ей это потребуется.

Так что SCL можно напрямую подключить, а SDA через барьер. Ведь клоки только мастер генерит...

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


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

Мысль интересная. Единственный нюанс вижу, что STM'ка будет в режиме slave и ей не получится затягивать CLK, если по каким либо причинам ей это потребуется.

Так что SCL можно напрямую подключить, а SDA через барьер. Ведь клоки только мастер генерит...

 

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

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


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

че? програмно ловить стоп старт и фронты синхронизации.... а как еще?

А чем не понравился мой вариант?

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


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

А чем не понравился мой вариант?

ыыы.. мессага пришла както - щас только прочитал. идея наверно реальная - поставить буфер от SDA в направлении sda пина через хороший резичтор. но както это не по изящному. как обычно:)

 

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


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

на програмную слушалку надо время - код писать. а задача как обычно - пожар, нада тушить а не изучать как шнанг устроен
лучше купите китайский клон Saleae за 15..20$, с их софтом под линух приятно работать

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


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

но както это не по изящному. как обычно:)

Дык, временное, разовое решение и не должно быть изящным, а должно быть по возможности быстрым, и главное - рабочим:)

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


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

На LPC эмулятор сделан, с прерываниями

Спокойно себе так работает. Единственное - только чтение, надобности в записи в эту "EEPROM" нет

Но и с этим не проблема

Больше подготавливался, с даташитом по состояниям I2C контроллера и по 24C64 - два часа где-то ушло

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


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

Всем спасибо. сделал я этот снифер на двух лапках и прерываниях. работает. если скорость понадобится немереная тогда попробую переделать по идее

AHTOXИ. теперь полезем в прибор и будем ломать протокол....

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


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

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

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

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

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

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

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

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

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

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