Informatics Point

Информатика и проектирование

Работа по шине I2C

Как и любое устройство, работающее по интерфейсу I2C, датчик имеет свой собственный уникальный адрес для работы. HMC5883L присвоен адрес 0х1E. С восьмым битом записи/чтения адрес будет 0х3D для чтения и 0х3C для записи.

Карта регистров датчика представлена в таблице ниже (Рис.6):

Рис.6

Как видно, для настройки датчика доступны регистры (это те, куда можно что-то записать) находящиеся на адресах 00 (configuration register A), 01 (configuration register B) и 02 (mode register).

Configuration Register A (CRA)

Рис.7. Регистр конфигурации А

Первый из доступных, для настройки датчика, регистров. Каждый бит имеет свое имя, для того чтобы было видно с каким еще битом в регистре он связан (например, биты CRA6 и CRA5 имеют общее имя MA1 и MA0 соответственно, так как отвечают за один и тот же параметр) CRA7 - зарезервированный бит и пока не используется CRA6|CRA5 - устанавливают число замеров (семплов) перед выдачей результата измерения. Эти биты могут принимать значения: 00 = 1(Default); 01 = 2; 10 = 4; 11 = 8 Пример: чтобы установить 4 семпла записываем в CRA6 единицу, a в CRA5 ноль. CRA4|CRA3|CRA2 - устанавливают с какой скоростью будут записываться данные в регистры считывания данных (Data Output Registers). 000 - 0,75 Гц 001 - 1,5 Гц 010 - 3 Гц 011 - 7,5 Гц 100 - 15 Гц (дефолтное значение) 101 - 30 Гц 110 - 75 Гц 111 - зарезервировано Пример: для того чтобы увеличить скорость записи данных до 75 Гц записываем в CRA4 единицу, в CRA3 единицу, в CRA2 ноль. CRA1|CRA0 - настраивают тип измерения. Тут какие-то технические заморочки с импедансом в магниторезистивной нагрузке датчика в каждой из осей. Оставили значение регистров по умолчанию (00 - нормальный режим измерения) . Пример: настроим полностью регистр А, установим количество семплов равным 8 , скорость записи данных 3 Гц, нормальный тип измерения. Для этого мы должны отправить в регистр 8 бит данных, в двоичном представлении это будет: &b01101000.

Configuration Register B (CRB)

Рис.8. Регистр конфигурации В

В регистре B настраивается чувствительность датчика к магнитному полю. За эти установки отвечают биты CRB7|CRB6|CRB5. Остальные 5 бит не используются, но для корректной работы они должны быть забиты нулями. Зависимость чувствительности (Lsb/Gauss) датчика от установленных битов CRB7|CRB6|CRB5

-1370 001 -1090 (дефолтное значение) 010 - 820 011 - 660 100 - 440 101 - 390 110 - 330 111 - 230 Пример: установим максимальную чувствительность датчика, для этого отправим в регистр B бинарное значение &b00000000 3.3. Mode Register (MR)

Рис.9 Режим регистрации

В последнем оставшемся регистре, настраиваются такие параметры как скорость работы на шине I2C и режим работы датчика. Высокоскоростной режим работы I2C (3400 кГц) устанавливается записью в бит MR7 единицы. MD1|MD0 устанавливают режим работы датчика: 00 - режим непрерывного измерения. 01 - режим единичного измерения (в этом режиме датчик работает по умолчанию). После измерения и записи результата в регистр вывода данных датчик уходит в режим ожидания (Idle) 10 - погружает датчиков режим ожидания. Потребление в этом режиме падает до 2 мкА 11 - также погружает датчик в режим ожидания.

Пример: установим высокоскоростное соединение датчика с микроконтроллером на скорости 3400кГц и запустим режим непрерывного измерения. Для этого запишем в регистр бинарное значение &b10000000. Измеренные по трем осям данные забираются из соответствующих регистров, для каждой из осей данные состоят из двух байт - старшего и младшего. Для получения результата их необходимо сложить, но это уже очевидные вещи поэтому приступим непосредственно к коду и железу. Для того чтобы самостоятельно не паять можно купить вот такую готовую печатную плату, представлена на (Рис.10):

Рис.10.Печатная плата

Стоимость 5$ и помимо минимально необходимой обвязки содержит стабилизатор питания и схему преобразователя уровней. Поэтому эту плату можно подключать к 5-и вольтовой схеме без опасности спалить сенсор. Подключается плата с датчиком напрямую к микроконтроллеру, подтягивающие резисторы ставить не нужно, они уже имеются на плате (Рис.11):

Перейти на страницу: 1 2

Лучшие статьи по информатике

Проектирование волоконно-оптической линии связи протяженностью 557 км
С течением времени роль информации в жизни человека становилась все существеннее. Нужно было изучать и понимать уже не только законы природы, но и понятия и ...

Технология спутникового и эфирного телевидения на основе предприятия ООО Антенн-Сервис
антенна сеть В связи с быстрым развитием технологий и научных открытий всё более актуальной становится проблема недостачности информации. Одним из средств пе ...

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

Меню сайта