Например TDA7294

Форум РадиоКот • Просмотр темы - STM32 и альтернативная функция портов I2C
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Вт апр 23, 2024 15:55:59

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 6 ] 
Автор Сообщение
Не в сети
 Заголовок сообщения: STM32 и альтернативная функция портов I2C
СообщениеДобавлено: Вт сен 26, 2017 20:18:57 
Собутыльник Кота
Аватар пользователя

Карма: 29
Рейтинг сообщений: 645
Зарегистрирован: Сб май 14, 2011 21:16:04
Сообщений: 2694
Откуда: г. Чайковский
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Доброго времени суток. В общем то я проблему свою решил, но хотелось бы ее обсудить.

Есть STM32F103 и есть в том числе внешняя периферия сидящая на I2c в количестве 1шт (BMP180 на платке, со своим стабилизатором и подтягивающими R). Дорожки до датчика около 15мм длиной, на разных сторонах платы. Рядом ничего активного и шумящего нет.

Длинную историю как и чего делал рассказывать не буду. Сразу по существу.

В наличии есть три MК. Если порты I2C настроить на альтернативную функцию и только потом инициализировать I2C. Первый МК работает нормально, второй не захотел формировать событие старт (по краней мере не было этого флага), третий сначала работал некоторое время, но потом стал так же как второй. Однако если задеть пальцем, подпаять антенку-проводок на SDA или подсадить туда кондер на 1нф и землю все работало. Если встать осциллом, никаких плохих сигналов не видно, но и опять при наличии щупа на SDA все работает, а SCL на такое никак не реагировало. После всяких мытарств, многократного поиска где же я дурак, выяснилось что если сначала включить тактирование модуля I2C , уже потом включить альтернативную функцию портов и уже потом проводя настройку остального в I2C все проблемы на всех МК ушли).

Вопрос. Прописано ли где-то, что альтернативные функции должны включаться только после включения тактирования периферии? Относится ли это ко всем перифериям?

_________________
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32 и альтернативная функция портов I2C
СообщениеДобавлено: Вт сен 26, 2017 20:47:17 
Друг Кота
Аватар пользователя

Карма: 30
Рейтинг сообщений: 155
Зарегистрирован: Пн июл 28, 2008 22:12:01
Сообщений: 3604
Рейтинг сообщения: 3
Чем танцевать ритуальные танцы, выкачайте спецификацию на i2c, приведите схему в порядок рассчитав пуллапы исходя из длины шины, скорости и ёмкости. Определитесь с таймингами ,
Все рассчеты есть а RM.А так же обратите внимание на настройку скорости пинов.
Здесь для F4 http://mcu.goodboard.ru/viewtopic.php?id=14


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32 и альтернативная функция портов I2C
СообщениеДобавлено: Вт сен 26, 2017 20:50:07 
Друг Кота
Аватар пользователя

Карма: 1
Рейтинг сообщений: 157
Зарегистрирован: Пн окт 11, 2010 19:00:08
Сообщений: 3328
Рейтинг сообщения: 3
Errata посмотрите. В МК есть несколько аппаратных ошибок модуля I2C.


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: STM32 и альтернативная функция портов I2C
СообщениеДобавлено: Вт сен 26, 2017 22:04:03 
Собутыльник Кота
Аватар пользователя

Карма: 29
Рейтинг сообщений: 645
Зарегистрирован: Сб май 14, 2011 21:16:04
Сообщений: 2694
Откуда: г. Чайковский
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
dosikus писал(а):
Определитесь с таймингами
С таймингами вроде как все просто и частота тактирововния получилась расчетная, проверял осциллом. Форма сигнала тоже как положено. Спад четкий, фронт нарастает менее 1мкс.
Мурик писал(а):
Errata посмотрите.
В еррате действительно много текста про I2C, все время про этот документ забываю. Надо будет покурить его.

_________________
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.


Вернуться наверх
 
Выбираем схему BMS для заряда литий-железофосфатных (LiFePO4) аккумуляторов

Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: STM32 и альтернативная функция портов I2C
СообщениеДобавлено: Вс окт 01, 2017 11:32:20 
Собутыльник Кота
Аватар пользователя

Карма: 29
Рейтинг сообщений: 645
Зарегистрирован: Сб май 14, 2011 21:16:04
Сообщений: 2694
Откуда: г. Чайковский
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Терпеть ненавижу незаконченных тем, потому резюмирую, чтобы не путать честной народ.

Данный "глюк контроллера", являющийся по факту как всегда криворукостью, решался очередностью инициализации портов и IIC чисто случайно. Видимо чтобы по закону подлости еще более ввести в заблуждение.

На самом деле далее стали появляться другие грабли. Я долго и мужество сражался с мельницей :) :facepalm:. Дело в том что у меня два кода - загрузчик и основной. Я почему то решил, что указатель стека в обоих случаях будет стоять на вершине памяти, но компилятор со мной был не согласен и сделал совершенно разные значения, по причине ему ведомые. При передаче управления от одного кода другому корректировка указателя все решила. Так все банально, что аж стыдно :oops:

_________________
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.


Вернуться наверх
 
Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: STM32 и альтернативная функция портов I2C
СообщениеДобавлено: Вс окт 01, 2017 12:35:57 
Друг Кота
Аватар пользователя

Карма: 30
Рейтинг сообщений: 155
Зарегистрирован: Пн июл 28, 2008 22:12:01
Сообщений: 3604
Рейтинг сообщения: 0
И на старуху бывает проруха...
Я обычно, при подобных заторах, создаю новый проект и стараюсь воспроизвести глюк в минимальном коде...


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 6 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: john1770 и гости: 20


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y