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

 
 
> STM32F103 + 24LC256, I2C модуль в реальной среде
OVladimir
сообщение Jan 21 2009, 21:17
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 40
Регистрация: 10-01-07
Из: Вильнюс
Пользователь №: 24 290



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

Есть готовое изделие, один из элементов которого является ЕЕПРОМ 24LC256 производителя МАЙКРОЧИП с которым общается STM32F103 через I2C. Изделие питается от другого изделия и обменивается информацией с ним через 4х проводную нестандартную магистраль (GND, +12V, Data, CLK). На столе, вне зависимости от длины магистрали пишет и читает ЕЕПРОМ хорошо, но в реальных условиях (магистраль проложена в помещении и отчётливо наблюдаются (~300 mV) наводки 50Hz на жилах питания +12) работа с ЕЕПРОМ (в основном чтение) проходит с множеством ошибок, в остальных задачах всё в порядке. Напряжение 3V3 стабильное.
Может кто-нибудь сможет определить в какую сторону копать?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
sonycman
сообщение Jan 22 2009, 13:15
Сообщение #2


Любитель
*****

Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695



Недавно ковырялся с I2C тут у себя, макетка с проводниками длинной около 20 см, подтягивающие резисторы номиналом ~2.5к, питание 3.3 вольт.
При этом был весьма пологий нарастающий фронт, и частота вместо 400 около 370 кГц.

Интересно, в интерфейсе заложен механизм автоматического снижения частоты от качества сигнала?
Go to the top of the page
 
+Quote Post
rezident
сообщение Jan 22 2009, 13:49
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(sonycman @ Jan 22 2009, 18:15) *
Интересно, в интерфейсе заложен механизм автоматического снижения частоты от качества сигнала?
Нет. В спецификации I2C только нормируется максимальная емкость линий шины и времена нарастания/спада сигналов при максимальной частоте тактирования (100кГц или 400кГц или 3,4МГц).
Go to the top of the page
 
+Quote Post
sonycman
сообщение Jan 22 2009, 14:06
Сообщение #4


Любитель
*****

Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695



Цитата(rezident @ Jan 22 2009, 17:49) *
Нет. В спецификации I2C только нормируется максимальная емкость линий шины и времена нарастания/спада сигналов при максимальной частоте тактирования (100кГц или 400кГц или 3,4МГц).

Ну вот в моём случае время нарастания сигнала SCL превышало 300 нс (на всём участке от 0 до 3.3 вольт).
Это могло способствовать снижению частоты?
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Jan 22 2009, 21:38
Сообщение #5


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(sonycman @ Jan 22 2009, 16:06) *
Это могло способствовать снижению частоты?
Если мастер грамотный - то могло. Мастер отпускает SCL и какое-то время считывает с нее ноль. Он воспринимает это как попытку слейва попридержать CLK.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
cebotor
сообщение Jan 22 2009, 22:10
Сообщение #6


Частый гость
**

Группа: Свой
Сообщений: 135
Регистрация: 6-04-07
Из: Бронницы
Пользователь №: 26 809



Цитата(Сергей Борщ @ Jan 23 2009, 00:38) *
Если мастер грамотный - то могло. Мастер отпускает SCL и какое-то время считывает с нее ноль. Он воспринимает это как попытку слейва попридержать CLK.

проверено придерживая вручную - останавливается передача корректно возобновляясь потом именно на этом камне - это значит что мастер здесь грамотный так ?


--------------------
если еррата пуста - это не хорошо а плохо
Go to the top of the page
 
+Quote Post
rezident
сообщение Jan 22 2009, 22:15
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(cebotor @ Jan 23 2009, 03:10) *
проверено придерживая вручную - останавливается передача корректно возобновляясь потом именно на этом камне - это значит что мастер здесь грамотный так ?
Это всего лишь соответствие спецификации I2C. Шина I2C полностью статическая, т.е. минимальная частота тактирования допускается вплоть до 0Гц.
Go to the top of the page
 
+Quote Post
cebotor
сообщение Jan 23 2009, 12:22
Сообщение #8


Частый гость
**

Группа: Свой
Сообщений: 135
Регистрация: 6-04-07
Из: Бронницы
Пользователь №: 26 809



Цитата(rezident @ Jan 23 2009, 01:15) *
Это всего лишь соответствие спецификации I2C. Шина I2C полностью статическая, т.е. минимальная частота тактирования допускается вплоть до 0Гц.

вопрос в том что тактирует мастер а тактовую приостанавливает слэйв(тормозит фронт CLK на нуле ), и мастер должен не слепо долбить дальше а остановиться, пока на реальном проводе не возникнет единица. так что толковый мастер будет тактировать и тактироваться одновременно (ИМХО) . Это есть в спецификации ? или это просто толковая реализация мастера ?


--------------------
если еррата пуста - это не хорошо а плохо
Go to the top of the page
 
+Quote Post
rezident
сообщение Jan 23 2009, 12:55
Сообщение #9


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(cebotor @ Jan 23 2009, 17:22) *
Это есть в спецификации ? или это просто толковая реализация мастера ?
Сергей Борщ, уже ответил. Но мне странно, что у вас возникают такие вопросы. Я же вам дал ссылку на спецификацию I2C в посте #5. Вы ее читали?
Go to the top of the page
 
+Quote Post
cebotor
сообщение Jan 23 2009, 13:32
Сообщение #10


Частый гость
**

Группа: Свой
Сообщений: 135
Регистрация: 6-04-07
Из: Бронницы
Пользователь №: 26 809



Цитата(rezident @ Jan 23 2009, 15:55) *
Сергей Борщ, уже ответил. Но мне странно, что у вас возникают такие вопросы. Я же вам дал ссылку на спецификацию I2C в посте #5. Вы ее читали?

Извините этот пост был ответом не мне и конкретное место спецификации,которое процитировал Сергей Борщ не было мной вспомнено, пока я не прочитал цитату.( вопросы задавали два разных человека а не один "медленный газ":)


--------------------
если еррата пуста - это не хорошо а плохо
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- OVladimir   STM32F103 + 24LC256   Jan 21 2009, 21:17
- - sgrig   Для начала ГОСТ Р 51522—99 (МЭК 61326-1—97) и Дж.Б...   Jan 22 2009, 09:51
- - Сергей Борщ   Подтяжки на I2C есть? И если есть, какого номинала...   Jan 22 2009, 12:17
|- - Сергей Борщ   Цитата(cebotor @ Jan 23 2009, 14:22) Это ...   Jan 23 2009, 12:40
- - sonycman   Цитата(rezident @ Jan 23 2009, 02:15) Это...   Jan 23 2009, 14:30
- - rezident   Цитата(sonycman @ Jan 23 2009, 19:30) Так...   Jan 23 2009, 16:21
- - sonycman   Цитата(rezident @ Jan 23 2009, 20:21) EEP...   Jan 23 2009, 16:55


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

 


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


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