Акселерометр с интеллектом
Акселерометр LIS3DSH, созданный компанией STMicroelectronics, является старшим братом популярного недорогого акселерометра с малым потреблением LIS3DH.
Обе модели обладают рядом схожих свойств:
- малое потребление энергии
- совместимость по выводам
- одинаковые диапазоны измерений ускорений
- наличие FIFO буфера глубиной 32 * 16 бит для записи измерений
Главное отличие этих двух моделей заключается в присутствии Машины Состояний (State Machine) у LIS3DSH. Эта особенность позволяет акселерометру самостоятельно обрабатывать некоторые события ускорений и реагировать только на ограниченный набор воздействий. Последнее обстоятельство позволяет ещё снизить потребление энергии: теперь пробуждение внешнего хост-контроллера будет происходить только в случае реальной необходимости после регистрации интересующего события. Например, можно настроить реакцию акселерометра на двойной щелчок. Как будет происходить обработка события в классическом акселерометре? После первого щелчка стандартный акселерометр пробудит хост контроллер, который будет ожидать второго события в течение некоторого времени. При поступлении второго щелчка хост-контроллер начнёт реагировать на «двойной клик». Однако акселерометр LIS3DSH поступит иначе: по лекалам ожидаемого события при поступлении первого щелчка он запустит таймер ожидания. Если до переполнения таймера не поступит 2-го щелчка, то акселерометр вернётся в исходное состояние, иначе – пробудит внешний контроллер, который знает, что событие «двойной щелчок» только что произошло.
Пример простой и показательный, однако следует учесть, что события, на которые контроллер должен реагировать, могут быть намного сложнее. Чтобы это понять, достаточно перечислить, что LIS3DSH имеет две машины состояний по 16 шагов в каждой:
Пример простой и показательный, однако следует учесть, что события, на которые контроллер должен реагировать, могут быть намного сложнее. Чтобы это понять, достаточно перечислить, что LIS3DSH имеет две машины состояний по 16 шагов в каждой:
Вторая машина может быть независимой, продолжением состояний первой, либо являться процедурой, вызываемой первой машиной состояний. Исходными воздействиями машины состояний могут быть датчики ускорений по любой из осей и таймеры.
Каждое состояние характеризуется условием перехода в следующее либо в начальное состояние:
Каждое состояние характеризуется условием перехода в следующее либо в начальное состояние:
Для лёгкого освоения программирования акселерометра STMicroelectronics предлагает воспользоваться программой Unico. В визуализированной графической форме можно ввести свою программу, либо модифицировать уже имеющуюся, написанную инженерами STMicroelectronics, после чего испытать её на стандартной отладочной плате.