Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: ИК-термометр MLX90614
Форум разработчиков электроники ELECTRONIX.ru > Аналоговая и цифровая техника, прикладная электроника > Метрология, датчики, измерительная техника
Mityan
Кто работал с этой микросхемой? Поделитесь, пожалуйста, опытом, как она запускается.

Во всех примерах кодов для нее идет просто инициализация И2Си, затем чтение в цикле, все как в протоколе SMBus и написано.
У меня же она находится в сбросе. Т.е. на все запросы всех регистров шлет 0xFF, и CRC8 - последний РЕС-байт тоже.
Только на команду READ_FLAGS отвечает 0x10 0x00 0x3B, что соответствует одному выставленному биту в диагностическом регистре -
POR initialization routine is still ongoing. Low active. + правильное CRC.

Какие хитрости необходимы по вводу ее в работу?
SDA_Low на 90 мс пробовал - не помогает.

Спасибо.
Mityan
В общем, третий день мучаюсь, и вроде разобрался. Зарегистрировался на сайте производителя - Melexis.
Там вычитал, что у них Repeated START - это вовсе не рестарт SMBus, а просто Старт, т.е. после отправки адреса устройства и адреса регистра для чтения надо не рестарт делать, а просто условие Старта опять генерировать, и тогда все работает.
А при чтении флагов эта процедура (повторный старт) не нужна, поэтому оно у меня проходило.
IDL
Всех приветствую.
Я тоже мучаюсь с этим датчиком, но у меня проблема иная. Допустим хочу прочитать регистр с температурой, формирую старт, отправляю адрес датчика, получаю от него АСК, отправляю адрес регистра, которой хочу прочитать, получаю от датчика АСК. Формирую повторный старт, отправляю адрес и в ответ не получаю АСК. Что я делаю не так?

Спасибо.
IDL
Разобрался, надо было лучше читать даташит на stm32.
HelicopterX
Тут лежат сэмплы для этого датчика
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.