Перейти к содержанию

Частота выдачи данных (ODR)

Цифровой датчик не измеряет непрерывно: он выдаёт отсчёты с определённой частотой, и читать его чаще бессмысленно — придут те же данные. Эту частоту называют ODR. Разбираем, как она задаётся у двух популярных датчиков и как связана с фильтрами и потреблением.

Обновлено Редакция GAW

Частота выдачи данных (output data rate, ODR) — сколько новых отсчётов в секунду выдаёт цифровой датчик. Это частота, с которой обновляются его выходные регистры: читать их чаще можно, но новых данных не будет. ODR связана с частотой Найквиста — сигналы быстрее половины ODR датчик передать не может.

Как задаётся у MPU-6050

В MPU-6050 частоту задаёт делитель в регистре SMPLRT_DIV (RM-MPU-6000A-00, разд. 4.2):

fODR=fгироскопа1+SMPLRT_DIV,f_\text{ODR} = \frac{f_\text{гироскопа}}{1 + \text{SMPLRT\_DIV}},

где базовая частота гироскопа — 8 кГц при выключенном цифровом фильтре нижних частот и 1 кГц при включённом. Акселерометр выдаёт данные с частотой 1 кГц, и при большем ODR его отсчёты повторяются. Цифровой фильтр задаётся регистром CONFIG: от полосы 260 Гц без задержки до 5 Гц с задержкой около 19 мс (разд. 4.3). Полосу выбирают меньше половины ODR.

Как задаётся у BMP280

У BMP280 отдельного делителя нет: в нормальном режиме цикл состоит из измерения и паузы tstandby, а время измерения зависит от передискретизации (разд. 3.8):

РежимПередискретизация давления / температурыВремя измерения, тип. / макс.
Ultra low power×1 / ×15,5 / 6,4 мс
Standard resolution×4 / ×111,5 / 13,3 мс
Ultra high resolution×16 / ×237,5 / 43,2 мс

ODR примерно равна 1 / (время измерения + tstandby): для режима ultra high resolution с паузой 62,5 мс Bosch даёт 10,0 Гц, с паузой 0,5 мс — 26,3 Гц (табл. 13 и 15; формула — наше пояснение, она сходится с таблицей). Шум дополнительно сглаживает БИХ-фильтр датчика, но он работает по отсчётам и потому тоже зависит от ODR.

Как выбрать

ODR выбирают по самому быстрому полезному изменению сигнала с запасом не меньше двух раз. Повышать её сверх нужного невыгодно: потребление растёт пропорционально числу измерений (BMP280, табл. 12), а программа тратит время на лишние чтения. Чтобы не опрашивать датчик впустую, используют вывод готовности данных или прерывание, если датчик их поддерживает.

Частые вопросы

Как задать частоту отсчётов MPU-6050?

Регистром SMPLRT_DIV (25): Sample Rate = базовая частота / (1 + SMPLRT_DIV). Базовая частота гироскопа — 8 кГц при выключенном цифровом ФНЧ и 1 кГц при включённом (RM-MPU-6000A-00, разд. 4.2). Например, при включённом ФНЧ и SMPLRT_DIV = 9 получается 100 Гц (наш пересчёт). Акселерометр обновляется не чаще 1 кГц, поэтому при большей частоте его отсчёты повторяются.

Зачем снижать ODR, если можно читать чаще?

Ради потребления и шума. У BMP280 ток пропорционален числу измерений в секунду: Bosch нормирует потребление на 1 Гц и предлагает умножать на фактический ODR (табл. 12). Для погодной станции хватает одного измерения в минуту в принудительном режиме (табл. 15), а лишние отсчёты только тратят батарею.

Какой ODR нужен, чтобы ничего не пропустить?

Хотя бы вдвое выше самой быстрой составляющей сигнала, которая вам нужна, — это частота Найквиста. Bosch приводит пример: колебания давления от открытых окон медленнее 5 Гц, поэтому ODR 10 Гц достаточно (BMP280, разд. 3.3.3). Составляющие выше половины ODR надо подавить фильтром до выборки, иначе они наложатся на полезный сигнал.

Источники

  1. TDK InvenSense. MPU-6000 and MPU-6050 Register Map and Descriptions (RM-MPU-6000A-00, Revision 4.2, 19 августа 2013) — разд. 4.2, регистр 25 SMPLRT_DIV: Sample Rate = Gyroscope Output Rate / (1 + SMPLRT_DIV), выходная частота гироскопа 8 кГц при выключенном цифровом ФНЧ (DLPF_CFG = 0 или 7) и 1 кГц при включённом; выходная частота акселерометра 1 кГц, при Sample Rate выше 1 кГц один и тот же отсчёт акселерометра выдаётся повторно; по Sample Rate обновляются регистры датчиков, FIFO и DMP; разд. 4.3, регистр 26 CONFIG: полосы цифрового ФНЧ от 260 до 5 Гц для акселерометра и от 256 до 5 Гц для гироскопа, задержка от 0 до 19,0 мс
  2. Bosch Sensortec. BMP280 Digital Pressure Sensor: Data sheet (BST-BMP280-DS001-26, revision 1.26, October 2021) — разд. 3.3.3 (БИХ-фильтр), сноска 6: колебания давления от открывания окон медленнее 5 Гц, поэтому ODR 10 Гц достаточно по теореме Найквиста; разд. 3.7, табл. 12: потребление нормировано на ODR 1 Гц и умножается на фактический ODR; разд. 3.8: в принудительном режиме частота зависит от передискретизации, в нормальном — от передискретизации и паузы tstandby; табл. 13: время измерения 5,5 / 6,4 мс (×1), 7,5 / 8,7 (×2), 11,5 / 13,3 (×4), 19,5 / 22,5 (×8), 37,5 / 43,2 мс (×16 давление, ×2 температура), типичное / максимальное; табл. 15: «ultra high resolution» с tstandby 62,5 мс — ODR 10,0 Гц, с tstandby 0,5 мс — 26,3 Гц

Нашли ошибку?