|
Акселерометр ADXL362 |
|
|
|
Mar 4 2014, 07:54
|

Гуру
     
Группа: Модераторы
Сообщений: 10 983
Регистрация: 23-11-05
Пользователь №: 11 287

|
Цитата(SM @ Mar 4 2014, 06:50)  А что, "это" ? В даташите стоит "Reserved", а у ТС #define XL362_MEASURE_1D 0x01 Я так подозреваю, что они хотели сделать 1D-режим, но не получилось, не заработал, и в даташите обозвали Reserved. Возможно, ну и что? К проблемам автора это какое имеет отношение? Если он подключал акселерометр по даташиту, то и работать он должен был в соответствии с даташитом. А как ему помогло то, что он раскопал в каких-то апнотах - осталось непонятным.
|
|
|
|
|
Mar 4 2014, 08:09
|
Гуру
     
Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881

|
Цитата(Herz @ Mar 4 2014, 11:54)  А как ему помогло то, что он раскопал в каких-то апнотах - осталось непонятным. Кому непонятным? Очень даже понятным. Он, по видимому случайно, включил этот самый 1D-режим недокументированный, и у него пошли выборки только по оси X, а каналы Y и Z отключились. А теперь, спасибо ему, мы все знаем об интересном полунедокументированном режиме (скорее всего, экономящем питание, если не нужны все 3 оси, а хватает одной, неплохо бы проверить)
|
|
|
|
|
Mar 4 2014, 10:45
|

Гуру
     
Группа: Модераторы
Сообщений: 10 983
Регистрация: 23-11-05
Пользователь №: 11 287

|
Цитата(SM @ Mar 4 2014, 10:09)  Кому непонятным? Очень даже понятным. Он, по видимому случайно, включил этот самый 1D-режим недокументированный, и у него пошли выборки только по оси X, а каналы Y и Z отключились. А теперь, спасибо ему, мы все знаем об интересном полунедокументированном режиме (скорее всего, экономящем питание, если не нужны все 3 оси, а хватает одной, неплохо бы проверить) В том-то и дело: непонятно, как это произошло. Ведь раньше, по утверждению автора, всё работало. И логично было бы сверять установки с даташитом, а не искать какие-то объяснения отказу устройства работать в нештатном режиме. Другое дело, что раньше, возможно, этот режим 1D поддерживался и автор ожидал от новой партии аналогичного поведения. Но он об этом ничего не написал, а наоборот, высказался в том духе, что: Цитата И с него считываются данные ускорений по осям X Y Z (регистры 0х08, 0х09, 0х0А). Точнее должны считываться. Потому что приходит информация только о значении по оси Х. Читаю и по очереди и списком. Раньше всё работало. Подскажите, что это может быть. То есть, логично предположить, что и раньше "всё" - это значило "все три координаты". В общем, неясно, чего искал автор. А режим я проверю, благо плата на столе. Но с экономией питания разработчики и так перестарались, ИМХО.  Вот если бы FIFO можно было бы заполнять одной или двумя координатами да ещё выбирать 8-битный режим, это была бы экономия.
|
|
|
|
|
Mar 4 2014, 11:28
|
Гуру
     
Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881

|
Цитата(Herz @ Mar 4 2014, 14:45)  В том-то и дело: непонятно, как это произошло. Ведь раньше, по утверждению автора, всё работало. Ну тут уж да, как именно это произошло на физическом уровне, это мы не узнаем (да и автор, тоже вряд ли  ). Например, случайно цифру не ту нажал и не заметил, когда что-то исправлял... Но ясно то, что по какой то нелепой случайности в регистр занеслось значение Reserved, а раньше было правильное. И оно показало, что на самом деле режим 1D есть и работает. Вопрос на сколько нормально он работает, и почему не описан в ДШ, но описан в апноте...
|
|
|
|
|
Mar 4 2014, 14:50
|

Гуру
     
Группа: Модераторы
Сообщений: 10 983
Регистрация: 23-11-05
Пользователь №: 11 287

|
Мне лично неясен мотив поисков, ведь всего-то нужно было проверить цифирьки... Указанный дефайн присутствует в коде неизвестного автора, датируемом 2011 годом: Цитата File Name : XL362.h Author : MPD Application Team Version : V0.0.1 Date : 12/12/2011 Description : XL362 Registers and bits values File ID : $Id: xl362.h,v 1.1.1.1 2012/01/10 15:18:18 jlee11 Exp $
Analog Devices ADXL 362 digital output accellerometer with advanced digital features.
Based on preliminary data sheet Rev 12b
© 2008 Analog Devices application support team. xxx@analog.com В хедере ADXL362.h автора DNechita (Dan.Nechita@analog.com) от 2012г. режим 1D уже не упоминается. Я попробовал, действительно в этом случае обновляется только регистр координаты Х. Уменьшается ли потребление - пока не проверял. Полезна ли эта информация? Сомневаюсь. Не зря, видно, Девицы отказались от этой опции, ведь она, по крайней мере, не помешала бы. Видимо, с ней есть проблемы. Девайс и так получился уж очень трепетным. Вот с регистрами INTMAP настоящие чудеса. Если записывать их до включения измерений так: Код AD_W_Reg(INTMAP2, 0x01); // INT2 pin is active high, data ready status AD_W_Reg(INTMAP1, 0x01); // INT1 pin is active high, data ready status AD_W_Reg(POWER, 0x06); // measurement mode, normal operation, autosleep mode то регистры не прописываются и акселерометр не работает. Вообще. То же самое, если писать только второй. Если писать только первый: Код //AD_W_Reg(INTMAP2, 0x01); // INT2 pin is active high, data ready status AD_W_Reg(INTMAP1, 0x01); // INT1 pin is active high, data ready status AD_W_Reg(POWER, 0x06); // measurement mode, normal operation, autosleep mode то он получает нужное значение (можно проверить чтением), акселерометр работает, но пин остаётся в третьем состоянии. Если же писать второй (или оба) после включения режима измерений, то возникает ошибка, как я писал выше, и акселерометр - мёртв. Запись первого после включения измерений проходит, опять же, успешно, но никак не проявляется. Монтаж проверил уже пятьдесят раз. Перепаивать вручную очень пока не хочется. Жаль, что автор пропал. Интересно, не было ли у него чего похожего...
|
|
|
|
|
Mar 4 2014, 15:08
|
Гуру
     
Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881

|
Цитата(Herz @ Mar 4 2014, 18:50)  Полезна ли эта информация? Сомневаюсь. Не зря, видно, Девицы отказались от этой опции, ведь она, по крайней мере, не помешала бы. Ну это как сказать... Много чего недокументированного оказывается полезным в реальной работе  По секрету скажу, что, к примеру, работа эмуляторов TI XDS510 старых, ISA и PCI, до сих пор базируется на недокументированных возможностях Windows. И работает до сих пор во всех ОС  Так что, если этот режим работает, то и может быть полезен кому нибудь... Он ведь явно был в "preliminary data sheet Rev 12b". По поводу INTMAP, это пожалуй в техподдержку обращаться надо, подробно описав вопрос и приложив примеры.
|
|
|
|
|
Mar 4 2014, 18:22
|
Гуру
     
Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881

|
Цитата(Herz @ Mar 4 2014, 22:03)  Но ведь наверняка убрали не без причины. Казалось бы, лишний плюс... Мы вряд ли догадаемся, зачем и почему это сделано. Может быть, например, точность в этом режиме падает ниже описанной, или еще какой глючок-с, а может быть просто из маркетинговых соображений, чтобы какие-то другие продукты, не трехосевые, тоже продавались... Причем маркетинг не менее вероятен, чем глюк...
|
|
|
|
|
Mar 6 2014, 12:40
|

Гуру
     
Группа: Модераторы
Сообщений: 10 983
Регистрация: 23-11-05
Пользователь №: 11 287

|
Проверил, наконец, другой экземпляр. Как и следовало ожидать, всё в порядке. Проблема с прерываниями, похоже, крылась в "сопле" между выводами 9 и 10 под корпусом чипа. 10-й это "Reserved" как-бы... Эх, ну почему для макетирования не выпускать микросхемы в нормальных корпусах?! Ох, уж эта погоня за размером! Ладно бы, но дайте альтернативу, а то ведь без breakout board под каждый элемент - уже никуда...
|
|
|
|
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|