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

 
 
> Глюки с 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
Ответов
HardEgor
сообщение Apr 29 2018, 15:19
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 223
Регистрация: 3-03-06
Из: Tomsk
Пользователь №: 14 925



Цитата(Allregia @ Apr 29 2018, 21:12) *
Есть идеи?

Каких идей вы хотите?
Если вы не можете пошагово пройти настройку тактовой частоты, то научить вас пользоваться дебаггером?
Go to the top of the page
 
+Quote Post
Allregia
сообщение Apr 29 2018, 17:24
Сообщение #3


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

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



Цитата(HardEgor @ Apr 29 2018, 16:19) *
Каких идей вы хотите?


Например - почему работа одной и той-же прошивки, отличается под дебаггером и не под дебаггером Кейла?

Цитата
Если вы не можете пошагово пройти настройку тактовой частоты, то научить вас пользоваться дебаггером?


А что, от этого текст программы поменяется?
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Apr 29 2018, 17:36
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(Allregia @ Apr 29 2018, 20:24) *
Например - почему работа одной и той-же прошивки, отличается под дебаггером и не под дебаггером Кейла?

Например, по причине отсутствия барьеров в нужных местах.
Go to the top of the page
 
+Quote Post
Allregia
сообщение Apr 29 2018, 18:17
Сообщение #5


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

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



Цитата(aaarrr @ Apr 29 2018, 18:36) *
Например, по причине отсутствия барьеров в нужных местах.



Это для 1-го глюка или второго?

Если второго, то в тестовой программе ничего нет кроме систика, в котором мащется ножкой.
А в основной - просто чтение блока из I2C устройства.
Чтение едет правильно, только частота клока I2C на порядок ниже.
Как такое может быть - он же аппратно формируется. Не мжет же делитель зависеть от того, что проц под дебаггером запустили?

А с первым глком еще не понятнее - устройство не первой свежести, выпущено приличное количество, и никогда небыло никких проблем. А под дебаггером - связь с еепромкой не работает. Ну это ладно, я еще посмотрю, интереснее второй глюк - коллега там уже в ступроре полном.
Ну не ногодрыгом-же I2C делать! Хотя, в том режиме у него больше ничего не делается - проц периодически считывает блок по i2c, небольшая обраткока и отсылает в аурт. Так что, можно и ногодрыгом (на него я надеюсь, дебаггер никаки не повлияет!), в крайнем случае. Но непонятна причина.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Apr 29 2018, 19:21
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(Allregia @ Apr 29 2018, 21:17) *
Это для 1-го глюка или второго?

Да для обоих подойдет.

Цитата(Allregia @ Apr 29 2018, 21:17) *
Не мжет же делитель зависеть от того, что проц под дебаггером запустили?

Может, если его запись осуществляется некорректно.

Цитата(Allregia @ Apr 29 2018, 21:17) *
Ну не ногодрыгом-же I2C делать!

Только так и делаю. У меня нет ни времени ни желания искать обходы для 100500 аппаратных
глюков модулей I2C на дюжине используемых платформ. Софтовый же абсолютно надежен
и предсказуем, там не приходится ждать приколов типа "мы не поддерживаем clock stretching
и repeated start". Все вышесказанное, разумеется, относится к режиму master.

Единственный приличный аппаратный контроллер I2C, который я встречал, использовался в
мелких AVR типа ATmega48 и процессорах LPC13xx (автор один). Вот там можно было смело
полагаться на железо.
Go to the top of the page
 
+Quote Post
jcxz
сообщение Apr 30 2018, 05:22
Сообщение #7


Гуру
******

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



Цитата(aaarrr @ Apr 29 2018, 22:21) *
Только так и делаю. У меня нет ни времени ни желания искать обходы для 100500 аппаратных
глюков модулей I2C на дюжине используемых платформ.

А другие интерфейсы (UART, SPI, ...) на этой дюжине тоже ногодрыгом реализуете? smile3046.gif
В чём разница между I2C и каким-то другим последовательным интерфейсом?

Цитата(aaarrr @ Apr 29 2018, 22:21) *
Софтовый же абсолютно надежен и предсказуем,

мрак.... ногодрыг в наше время на современных МК на вдоль и поперёк изъезженном I2C???... полный мрак... smile3009.gif
Писал драйвера I2C на LPC23xx, LPC17xx, OMAP-L137, STM32F4, XMC4500, MSP430 - везде использовал встроенный I2C-контроллер, кое-где - с DMA, кое-где - на шине висела гроздь устройств. Коллеги писали на Tiva TM4C129 - тоже аппаратно.
Ни разу не возникло необходимости или желания заниматься ногодрыгом.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Apr 30 2018, 10:47
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(jcxz @ Apr 30 2018, 08:22) *
А другие интерфейсы (UART, SPI, ...) на этой дюжине тоже ногодрыгом реализуете? smile3046.gif

Нет.

Цитата(jcxz @ Apr 30 2018, 08:22) *
В чём разница между I2C и каким-то другим последовательным интерфейсом?

Правильный вопрос. Разница в том, что I2C в большинстве случаев используется для однократной
записи незначительного количества информации.

Цитата(jcxz @ Apr 30 2018, 08:22) *
мрак.... ногодрыг в наше время на современных МК на вдоль и поперёк изъезженном I2C???... полный мрак... smile3009.gif

Эмоции, вижу, просто зашкаливают biggrin.gif
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Allregia   Глюки с I2C   Apr 29 2018, 14:12
||- - serglg   Цитата(aaarrr @ Apr 30 2018, 01:21) Да дл...   Apr 30 2018, 04:23
|- - 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
- - ViKo   Допустимый диапазон частот на входе PLL описан в д...   May 1 2018, 10:37
|- - Allregia   Цитата(ViKo @ May 1 2018, 11:37) Допустим...   May 1 2018, 11:05
|- - jcxz   Цитата(Allregia @ May 1 2018, 14:05) И за...   May 1 2018, 11:15
||- - Allregia   Цитата(jcxz @ May 1 2018, 12:15) "Об...   May 1 2018, 11:26
||- - 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
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 


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


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