реклама на сайте
подробности

 
 
> I2C Slave на STM32F103, нестабильная работа
Demeny
сообщение Aug 3 2015, 07:20
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 648
Регистрация: 11-02-06
Из: Санкт-Петербург
Пользователь №: 14 237



Добрый день!
На контроллере STM32F103 реализовано I2C Slave устройство, которое принимает от "внешнего мира" команды, обрабатывает их, и по запросу чтения выдает ответ. Всё это работает на 90% выпущенных плат.
На 10% тех же плат (из той же произведенной серии) наблюдается следующая картина - I2C Slave аппаратно не подтверждает свой адрес, то есть не выдает ACK на первый (адресный) байт со стороны мастера. В качестве мастера для теста используется компьютер с простейшим адаптером на LPT порт, который имитирует программно работу мастера (выдает команды по I2C и получает ответ).
Картина, наблюдаемая логическим анализатором, доподлинно следующая - мастер правильно формирует старт-условие, адресный байт, не получает от I2C Slave ACK, снова формирует старт, адрес и т. д. много-много раз (несколько десятков раз), и вот в какой-то момент адрес подтверждается (ACK), контроллер получает команду, обрабатывает её и готов отдать ответ. Далее та же петрушка начинается с чтением - старт, адрес + бит чтения = NACK до посинения, потом, наконец, STM32 формирует ACK и выдает правильный ответ мастеру.
Примечательный момент - если встать на любую линию SCL или SDA щупом осциллографа, то работа слейва сразу стабилизируется, он начинает работать четко и формирует ACK сразу после первого же запроса.
Что это может быть? В чём ошибка? Почему 90% плат работают, а 10% ведут себя так?


--------------------
Сделано в Китае. Упаковано в России.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Demeny   I2C Slave на STM32F103   Aug 3 2015, 07:20
- - 1113   ваше устройство только с компьютером связано или с...   Aug 3 2015, 07:23
- - Golikov A.   и с подтяжками шин... уровни логические, питание,...   Aug 3 2015, 07:31
- - Demeny   Цитата(1113 @ Aug 3 2015, 10:23) ваше уст...   Aug 3 2015, 07:58
- - 1113   посмотрите осциллографом на землю компьютера относ...   Aug 3 2015, 08:00
|- - Demeny   Цитата(1113 @ Aug 3 2015, 11:00) посмотри...   Aug 3 2015, 08:09
- - Golikov A.   Может 3.3 вольт не хватать компьютеру для 1? У как...   Aug 3 2015, 08:09
|- - Demeny   Цитата(Golikov A. @ Aug 3 2015, 11:09) Мо...   Aug 3 2015, 08:21
|- - Timmy   Согласен с iosifk, это могут быть короткие пички н...   Aug 3 2015, 08:25
|- - iosifk   Цитата(Demeny @ Aug 3 2015, 11:21) Это я ...   Aug 3 2015, 08:28
|- - Demeny   Цитата(iosifk @ Aug 3 2015, 11:28) Потому...   Aug 3 2015, 08:40
|- - scifi   Цитата(iosifk @ Aug 3 2015, 11:28) Потому...   Aug 3 2015, 08:51
|- - iosifk   Цитата(scifi @ Aug 3 2015, 11:51) Вообще-...   Aug 3 2015, 09:05
- - iosifk   Цитата(Demeny @ Aug 3 2015, 10:20) Примеч...   Aug 3 2015, 08:13
- - Golikov A.   ЦитатаВ линии стоят последовательные резисторы 100...   Aug 3 2015, 09:04
- - Demeny   Вести с полей. Не веря ни в какие "пички...   Aug 4 2015, 15:47
|- - scifi   По спецификации I2C Fast Mode для Start Condition ...   Aug 4 2015, 17:21
- - Golikov A.   а вы уверены что дело в том что вы сдвинули фронты...   Aug 4 2015, 16:56
- - Demeny   Цитата(Golikov A. @ Aug 4 2015, 19:56) а ...   Aug 4 2015, 17:24
- - scifi   Цитата(Demeny @ Aug 4 2015, 20:24) У меня...   Aug 4 2015, 17:33


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 22:51
Рейтинг@Mail.ru


Страница сгенерированна за 0.01357 секунд с 7
ELECTRONIX ©2004-2016