QUOTE (kovigor @ Dec 3 2014, 18:26)

Самодельный ? Если да, то насколько корректно он сделан, включая разводку ПП ? Можно ли его заменить, например, аккумулятором ?
Нет, увы - не самодельный, иначе бы я хоть представлял разводку его платы.
Смысл такой - моя плата связана по I2C с готовым модулем, содержащим 3 "рэка". Каждый рэк содержит 3 независимых импульсника. Каждый импульсник имеет I2C для чтения его параметров.
это я вообще описываю устройство. Я сейчас работаю только с одним рэком, внутри которого установлен только один импульсник.
Плата питается от отдельного лабораторного источника.
Подтягивающие резисторы установлены на плате, на ее питание 5В.
Сама проблема. Рэки есть 2-х типов.
Первый - каждый блок питания, входящий в рэк, имеет отдельный коннектор для подключения I2C, и соединение SCL, SDA выполнено отдельным внешним кабелем. С этим рэком проблем нет.
Второй тип рэка имеет один коннектор, и соединения SCL, SDA выполнены на внутренней печатной плате, в которую вставлены источники. Разводка этой платы мне не известна - но понятно, что соединения выполнены длинными дорожками на всю длину рэка (сантиметрое 40). Вот с этим типом рыка появляется проблема, что при чтении серии байтов - начиная с какого-то момента, я получаю "FF". Сннхронизируя скоп, я вижу, что перед этим произошел как-бы "clock stretching", т.е. положительный фронт клока как бы задержан на пол-периода... И видимо, начиная с этого момента, "slave" останавливает обмен, а мастер - ничего не подозревая, продолжает гнать клок, давать ACK и т.д.
Кстати, этот момент может наступить в совершенно случайном месте - например, при выдаче мастером адреса слэйва - тогда просто мастер, не получив ACK, завершает обмен по таймауту.
Мастер - процессор STM32F407.
Вот такая проблема...