-
- Ну тут еще накладываются косяки i2c в стм32ф1хх... POV_(1435 знак., 07.10.2020 23:19, )
- Да синей проблем не особо много - только нуженосцилограф/логический
анализатор , и все можно быстро понять - OlegPowerC(08.10.2020 08:01)
- Channel 2 - строб программно формируется "вокруг" чтения... POV_(136 знак., 08.10.2020 11:15, , картинка, картинка)
- Так я понимаю - там на 20 мс кто-то держит SCL в нуле линию. А кто
и почему вдруг начал это делать - хз. - POV_(08.10.2020 10:24, )
- Медленный слэйв держит. Имеет право. Мастер должен как раз ждать,
пока линия SCL не перейдёт в единицу. - FDA(08.10.2020 12:46)
- Имеет конечно же. Но две платы с одинаковым компонентами, но разных
ревизий. И по-разному работают... POV_(243 знак., 08.10.2020 13:29, )
- Так в чём в итоге косяк-то был? Откуда эти 20 мс? - FDA(08.10.2020 13:57)
- stm так себя вёл. - POV_(08.10.2020 17:10, )
- А ссылкой на упомянутую статейку не поделитесь? - OlegPowerC(09.10.2020 10:41)
- stm так себя вёл. - POV_(08.10.2020 17:10, )
- Так в чём в итоге косяк-то был? Откуда эти 20 мс? - FDA(08.10.2020 13:57)
- Имеет конечно же. Но две платы с одинаковым компонентами, но разных
ревизий. И по-разному работают... POV_(243 знак., 08.10.2020 13:29, )
- Медленный слэйв держит. Имеет право. Мастер должен как раз ждать,
пока линия SCL не перейдёт в единицу. - FDA(08.10.2020 12:46)
- А вспомнил тут, какие то слейвы, оставляли SDA в низком уровне , если их начать читать сразу после сброса , добавил инициализацию другой переферии в начало и этого хватило - OlegPowerC(08.10.2020 08:15)
- Я использую программный I2C. Контролирую все подтверждения слэйвом
и ситуации, когда он притормаживает обмен. Иногда у меня на плате
на одной шине по 4-5 разных микрух. Всё работает нормально. Самое
главное, что полностью предсказуемо! И развести шину можно на любые
две ноги. - FDA(08.10.2020 07:36)
- Полностью монопольно ядро ARM на 70 МГц дергает ногами? - VLLV(08.10.2020 07:47)
- Я использую пики, в основном 18 серию. Ясное дело, что при обращении к I2C происходит пауза. Но это и вписывается в основной алгоритм. Например, СКУД - считали карту и выполнили поиск в I2C флешке. Тут нах не нужна никакая асинхронность. Или реализация Web-морды. Точно так же. При запросе читаем страничку из флеша, попутно вставляя дин. переменные. Лично у меня 99.9% таких задач. - FDA(08.10.2020 08:40)
- ЕМНИП, I2C в мастере терпит произвольные паузы в любой момент. Или нет? - SciFi(08.10.2020 07:56)
- Да, это понятно, но меня интересуют подробности реализации. У меня
тоже есть программный I2C на MSP430 в простеньком приборе, но если
уж стоит ARM, то обычно его производительность востребована на
что-то реально нужное, и это нужное не так-то просто положить фоном
к I2C в прерывания. Или автомат программного I2C засунут в
прерывание таймера, или так стреляют из пушки по воробьям. - VLLV(08.10.2020 08:12)
- Стоит ARM теперь зачастую и там где он нахрен не нужен просто стильно модно молодёжно и дёшево - OlegPowerC(08.10.2020 08:23)
- Да, это понятно, но меня интересуют подробности реализации. У меня
тоже есть программный I2C на MSP430 в простеньком приборе, но если
уж стоит ARM, то обычно его производительность востребована на
что-то реально нужное, и это нужное не так-то просто положить фоном
к I2C в прерывания. Или автомат программного I2C засунут в
прерывание таймера, или так стреляют из пушки по воробьям. - VLLV(08.10.2020 08:12)
- Полностью монопольно ядро ARM на 70 МГц дергает ногами? - VLLV(08.10.2020 07:47)
- "i2c в стм32 такой говённый или мои мозги" — ну ты уже
догадываешься, каков ответ на этот вопрос. i2c там не фонтан,
конечно, но косяки описаны в официальных доках. Нужно лишь
прочитать, осмыслить (обратите внимание на слово "осмыслить") и
применить на практике. И нет, раскидывание задержек по-пионерски в
разных местах таки не канает. - SciFi(08.10.2020 06:53)
- Ну, с мозгами разобрались. А как быть с зависающим блоком питания,
из еепром которого требуется выгрести данные - после чего он
наглухо вешает шину? Таких примеров в силу разнородности i2c
устройств на плате вагон и три тележки. - POV_(08.10.2020 09:08, )
- Завести много каналов i2c - OlegPowerC(08.10.2020 13:04)
- Ну, с мозгами разобрались. А как быть с зависающим блоком питания,
из еепром которого требуется выгрести данные - после чего он
наглухо вешает шину? Таких примеров в силу разнородности i2c
устройств на плате вагон и три тележки. - POV_(08.10.2020 09:08, )
- вот я тоже i2c не люблю никогда , одним словом "болгарин", поэтому
за i2c ничего говорить не буду! Да и по честному вешать флешку на
i2c это надо быть сам себе буратиной - Aleksey_75(07.10.2020 23:34)
- Так а куда вешать девайс (представляющий часть инфы как флешка на
256 байт) если у него окромя i2c нет ничего? - POV_(07.10.2020 23:41, )
- девайс имеет i2c но не имеет spi ?? что за девайс то ? - Aleksey_75(07.10.2020 23:43)
- SFP - POV_(07.10.2020 23:52, )
- А что вы такое делаете? - OlegPowerC(08.10.2020 08:05)
- Я занят маршрутизатором.. кусочком. - POV_(08.10.2020 09:04, )
- И да, запишите меня тестером :-) я ж в основном сетевой инженер :-) могу кучу пожеланий высказать - OlegPowerC(08.10.2020 10:43)
- Я за вас рад. Это круто. SFP по I2C сам все время шью - OlegPowerC(08.10.2020 10:32)
- Я занят маршрутизатором.. кусочком. - POV_(08.10.2020 09:04, )
- А что вы такое делаете? - OlegPowerC(08.10.2020 08:05)
- SFP - POV_(07.10.2020 23:52, )
- девайс имеет i2c но не имеет spi ?? что за девайс то ? - Aleksey_75(07.10.2020 23:43)
- Так а куда вешать девайс (представляющий часть инфы как флешка на
256 байт) если у него окромя i2c нет ничего? - POV_(07.10.2020 23:41, )
- Да синей проблем не особо много - только нуженосцилограф/логический
анализатор , и все можно быстро понять - OlegPowerC(08.10.2020 08:01)
- Ну тут еще накладываются косяки i2c в стм32ф1хх... POV_(1435 знак., 07.10.2020 23:19, )