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

 
 
> Глюки с I2C
Allregia
сообщение Apr 29 2018, 14:12
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 1 047
Регистрация: 28-06-07
Из: Israel
Пользователь №: 28 763



Глюк 1:

Мне тут нужно было в одном относительно старом проекте, который делался на 4-м Кейле, поменять некоторые дефолтные настройки. К I2C оно не относится, но глюк я поймал именно с I2C!
Сейчас на компе только 5-й, 4-го нет.
Проц - тот-же F103, к нему по I2C подключена 24LC16.

Запускаю под дебаггером (JLink-Lite подключен, причем настоящий) - ничего не работает, бне входя в деббагер (но с подключенный JLinkом) - все прекрасно работает.

Отставил старую программу, набросал в калокубе с халом только работу с I2C и епромкой - абсолютно тоже самое! Под дебаггаром все функции I2C выходят по таймауту, с еепромки читабтся нули и в нее ничего не пишется.
Без входа в дебаггер - все ОК.

WTF?!


Глюк 2:
это коллега тут возится с девайсом на STM32L452 и жалуется. Просил спросить:
Для тактирования используется MSI + PLL.
I2C настроен на 400кгц, тактируется от системного клока.

На одной плате, запускаешь под дебаггером - есть 400кгц. Включаешь ее без дебаггера - там около 40кгц.
Из 5-ти плат, так ведет себя одна, 4 другие в - вообще кто в лес, кто по дрова.
ТЕперь самое интересное - для проверки "на какой- частоте проц работате," вывели махание ножкой в систике - так там четко, 1мс.

Есть идеи?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
ViKo
сообщение May 1 2018, 10:37
Сообщение #2


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Допустимый диапазон частот на входе PLL описан в документации.
Go to the top of the page
 
+Quote Post
Allregia
сообщение May 1 2018, 11:05
Сообщение #3


Профессионал
*****

Группа: Свой
Сообщений: 1 047
Регистрация: 28-06-07
Из: Israel
Пользователь №: 28 763



Цитата(ViKo @ May 1 2018, 11:37) *
Допустимый диапазон частот на входе PLL описан в документации.



И что? Там от 4 до 16, 4Мгц в него не попадает?
К тому-же куб бы красным отметил если бы что-то "не то" было.

Цитата(k155la3 @ May 1 2018, 11:52) *
Насчет "балагана" непонятно. И частоты тоже. SCL характеризуется не частотой, а периодом,


А меня 40 лет назал еще в школе учили, что частота это 1/период sm.gif
И задается в I2C обычно именно часто клока (100,400, 1000).


Цитата
тк между фреймами могут быть паузы.
Поэтому смотрите период SCL в ждущем режиме. Оптимально - синхровать осц. (в начале приема или передачи блока) от внешнего сигнала, можно ногодрыгом.


Я даже не в "ждущем" а в стопе смотрю, и не то что скоп померял, а меряю сам курсорами.

Цитата
Намного более удобно пользоваться лог. анализаторм, где есть разборщик протокола I2C, а не рыться в осцилограмме.


Смотрел конечно. Он вообщето и в самом осциллографе есть, с таким-же точно "разборщиком протоколов", холтя в данном случае мне было удобнее китайским прибамбасом с Saleae смотреть.

Все там в порядке. Да и с передачей данных нет пробем, все корректно читается и пишется (я про глюк №2, 1-й меня сейчас не интересует, им я потом займусь).

А дальше все еще чудесатее. Я тут уже как фокусник sm.gif Следите за руками:

- я в коде, без всяких калокубов меня ДЕЛИТЕЛЬ МСО.

который, согласно всем даташитам НЕ ВЛИЯЕТ НИ НА ЧТО, происходящее внутри процессора,.
И частота SCL меняется в 2 раза, причем в обратную сторону!.

Т.е. при делителе на 8 имеем: MSI_8, DIV=8: MCO=0.98 MHz, SCL100 = 38 kHz, SCL400 = 155 kHz.

после изменения делителя на 16 имеем такое: MSI_8, DIV=16: MCO=0.49 MHz, SCL100 = 76 kHz, SCL400 = 310 kHz.


вот уж точно - WTF?
Go to the top of the page
 
+Quote Post
jcxz
сообщение May 1 2018, 11:15
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(Allregia @ May 1 2018, 14:05) *
И задается в I2C обычно именно часто клока (100,400, 1000).

"Обычно"? А кроме куба вы что-то ещё знаете? biggrin.gif
Обычно - в разных МК по-разному.
А ещё - почитайте хоть немного, что такое I2C. И что такое "clock stretching" в нём.
Из-за него получаемая на SCL частота, может быть ниже, чем выставляемая через регистры I2C - это вполне нормально. А чтобы проверить правильность выставления частоты, нужно отключить все слэйвы и перевести SCL в push-pull-режим.
Go to the top of the page
 
+Quote Post
Allregia
сообщение May 1 2018, 11:26
Сообщение #5


Профессионал
*****

Группа: Свой
Сообщений: 1 047
Регистрация: 28-06-07
Из: Israel
Пользователь №: 28 763



Цитата(jcxz @ May 1 2018, 12:15) *
"Обычно"? А кроме куба вы что-то ещё знаете? biggrin.gif
Обычно - в разных МК по-разному.


"обычно" - это в стандартах I2C.

Цитата
А ещё - почитайте хоть немного, что такое I2C.



Году в 96-м, переводил я филипсовскую доку по I2C, до сих пор по Сети ходит.....


Цитата
И что такое "clock stretching" в нём.
Из-за него получаемая на SCL частота, может быть ниже, чем выставляемая через регистры I2C - это вполне нормально.



"Нормально что", что частота 38 килогерц вместо 100? При слейве, умеющим по даташиту работать на 400, и реально прекрасно работающем и на 550?
(на частоту SCL никто бы и не посмотрел бы, если бы незаметили что килобайт даных читается что-то уж больно долго).
Или что частота SCL меняется вдвое при изменении делителя выхода MCO? Это тоже "нормально"?

Цитата
Может джиттерр "в особо крупных" ?


а в не особо крупных - не вижу.

Цитата
При PLL его наличие и значение будет зависеть от соотношения частот настройки PLL
и опорной частоты. Оптимальній вариант - их кратность.


Так при изменении делителя МСО, все это не менялось.
Да оно и при переключении источников клока не менялось!
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Allregia   Глюки с I2C   Apr 29 2018, 14:12
- - HardEgor   Цитата(Allregia @ Apr 29 2018, 21:12) Ест...   Apr 29 2018, 15:19
|- - Allregia   Цитата(HardEgor @ Apr 29 2018, 16:19) Как...   Apr 29 2018, 17:24
|- - aaarrr   Цитата(Allregia @ Apr 29 2018, 20:24) Нап...   Apr 29 2018, 17:36
||- - Allregia   Цитата(aaarrr @ Apr 29 2018, 18:36) Напри...   Apr 29 2018, 18:17
||- - aaarrr   Цитата(Allregia @ Apr 29 2018, 21:17) Это...   Apr 29 2018, 19:21
||- - serglg   Цитата(aaarrr @ Apr 30 2018, 01:21) Да дл...   Apr 30 2018, 04:23
||- - jcxz   Цитата(aaarrr @ Apr 29 2018, 22:21) Тольк...   Apr 30 2018, 05:22
||- - aaarrr   Цитата(jcxz @ Apr 30 2018, 08:22) А други...   Apr 30 2018, 10:47
|- - HardEgor   Цитата(Allregia @ Apr 30 2018, 00:24) А ч...   Apr 30 2018, 10:33
|- - Allregia   Цитата(HardEgor @ Apr 30 2018, 11:33) Так...   Apr 30 2018, 11:01
|- - HardEgor   Цитата(Allregia @ Apr 30 2018, 18:01) Кол...   Apr 30 2018, 11:33
- - ViKo   Сделал работу i2c для некоего мелкого STM32 (конкр...   Apr 30 2018, 04:33
- - Arlleex   Да ни при чем тут барьеры... Не надо никаких прогр...   Apr 30 2018, 07:40
|- - Allregia   Цитата(Arlleex @ Apr 30 2018, 08:40) Каса...   Apr 30 2018, 07:44
|- - jcxz   Цитата(Allregia @ Apr 30 2018, 10:44) К т...   Apr 30 2018, 08:04
- - KnightIgor   Цитата(Allregia @ Apr 29 2018, 15:12) Мне...   Apr 30 2018, 15:08
|- - serglg   Цитата(KnightIgor @ Apr 30 2018, 21:08) С...   May 1 2018, 04:52
|- - Allregia   Цитата(serglg @ May 1 2018, 05:52) Когда ...   May 1 2018, 10:22
|- - k155la3   Цитата(Allregia @ May 1 2018, 13:22) . . ...   May 1 2018, 10:52
|- - HardEgor   Цитата(Allregia @ May 1 2018, 17:22) Т.е....   May 1 2018, 16:18
||- - k155la3   Цитата(Allregia @ May 1 2018, 14:26) . . ...   May 1 2018, 11:29
|||- - Allregia   Цитата(k155la3 @ May 1 2018, 12:29) Захва...   May 1 2018, 11:33
||- - jcxz   Цитата(Allregia @ May 1 2018, 14:26) ...   May 1 2018, 12:22
||- - Allregia   Цитата(jcxz @ May 1 2018, 13:22) Если Вам...   May 1 2018, 12:52
||- - jcxz   Цитата(Allregia @ May 1 2018, 15:52) Вас ...   May 1 2018, 17:10
||- - Allregia   Цитата(jcxz @ May 1 2018, 18:10) ЦитатаВа...   May 1 2018, 17:17
|- - k155la3   Цитата(Allregia @ May 1 2018, 14:05) . . ...   May 1 2018, 11:20
- - Arlleex   Во многих микроконтроллерах указывается именно пер...   May 1 2018, 13:36
- - aaarrr   Цитата(Arlleex @ May 1 2018, 16:36) GPIO_...   May 1 2018, 14:00
|- - Arlleex   Цитата(aaarrr @ May 1 2018, 17:00) Зачем?...   May 1 2018, 14:16
|- - AVI-crak   Кхм... хотел скорости, а получил звон на линии......   May 1 2018, 14:37
- - Allregia   Цитатаотсюда общая частота, замеряемая осциллограф...   May 1 2018, 14:49


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

 


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


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