1. Микроконтроллер

В качестве микроконтроллера будем использовать микросхему AT89S8252 фирмы Atmel. Это высокопроизводительный, низкопотребляющий, восьмибитный CMOS микроконтроллер. Основными характеристиками которого являются:

  • 100000 Циклов перезаписывания

  • От 4 до 6В рабочий диапазон.

  • Диапазон частот от 0 до 24МГц

  • Три уровня запирания памяти

  • 256*8 бит внутренняя ОЗУ

  • 32 Программируемых линий ввода/вывода

  • Низкое потребление

  • Восстановление в рабочий режим по прерыванию

Рис. 2.14 Микросхема AT89S8252, вид сверху

Описание выводов:

VCC – напряжение питания.

GND – общий.

Port 0 – открытый, двунаправленный восьмибитный порт ввода/вывода. Порт 0 может быть настроен для работы с совмещённой шиной адреса и данных.

Port 1 – восьмибитный двунаправленный порт с внутренней подтяжкой до третьего состояния.

Port 2 - восьмибитный двунаправленный порт с внутренней подтяжкой до третьего состояния. Используется как порт адреса.

Port 3 – восьмибитный двунаправленный порт ввода-вывода с подтяжкой до третьего состояния. Также можут быть использован для передачи информации по последовательному каналу.

RST – Сброс.

ALE/PROG – Address Latch Enable.

PSE – читает строб в память программы.

EA/VPP – Включение внешнего адреса.

XTAL1 – вход инвертирующего усилителя.

XTAL2 – выход из инвертирующего усилителя.

Таблица 2.18

Описания дополнительных функций выводов порта 1 и 3микросхемы AT89S8252

Мнемоника

Описание

P1.0

Т2 синхо выход

P1.1

Т2 дополнительный синхро выход

P1.4

Выход выбора подчиненного порта

P1.5

Главный выход данных, подчиненный вход данных для SPIканала

P1.6

Главный вход данных, подчиненный выход данных для SPIканала

P1.7

Главный выход синхронизации, подчиненный выход синхронизации для SPIканала

P3.0

RXD (для последовательного канала)

P3.1

TXD (для последовательного канала)

P3.2

Внешнее прерывание 0

P3.3

Внешнее прерывание 1

P3.4

Таймер 0, внешний вход

P3.5

Таймер 1, внешний вход

P3.6

Строб записи

P3.7

Строб чтения

    1. Принцип работы модуля инерционного сенсора

ПЛИС генерирует на выход сигнала сброса сигнал «меандр», схема сброса по положительным и отрицательным фронтам этого сигнала подаёт на вход сброса магниторезистивного сенсора сигнал с большим током, заставляя домены магниторезистивного сенсора переориентироваться в одном направлении. В промежутки времени между положительными и отрицательными фронтами сигнала сброса ПЛИС с частотой 2кГц опрашивает последовательно магниторезистивный сенсор, первый и второй акселерометры и температурный датчик , записывая их показания в 7 12-и разрядных регистров.

  1. Регистр оси Х магниторезистивного сенсора.

  2. Регистр оси Y магниторезистивного сенсора.

  3. Регистр оси Z магниторезистивного сенсора.

  4. Регистр оси X акселерометров.

  5. Регистр оси Y акселерометров.

  6. Регистр оси Z акселерометров.

  7. Регистр показаний температуры.

Сразу после включения схемы ПЛИС подаёт на масштабирующие входы магниторезистивного сенсора калибровочные коэффициенты, необходимые для масштабирования и линейного выравнивания показаний магниторезистивного сенсора.

Микроконтроллер с частотой 2кГц производит считывание данных из первых 6-и вышеупомянутых регистров ПЛИС. Проводит масштабную и линейную корректировку показаний акселерометров. Раз в минуту микроконтроллер производит считывание показаний температурного датчика и использует его показания для температурной корректировки показаний акселерометров и магниторезистивных сенсоров в соответствии с таблицей поправок зашитой в микроконтроллере. После снятия и корректировки показаний акселерометров и магниторезистивных сенсоров, микроконтроллер производит первичную фильтрацию этих показаний алгоритмом скользящего среднего, с размеров скользящего окна равным 16.

При поступлении сигнала с интерфейса RS-232C микроконтроллер проверяет присланный байт. Если он равен 55h, то микроконтроллер начинает последовательно отсылать корректированные и отфильтрованные показания акселерометров и магниторезистивных сенсоров через интерфейс RS-232C в КПК. Последовательность посылки такая:

  1. Первые 8 бит показаний оси X магниторезистивного сенсора.

  2. Последние 4 бита показаний оси X магниторезистивного сенсора дополненные нулями в старших разрядах.

  3. Первые 8 бит показаний оси Y магниторезистивного сенсора.

  4. Последние 4 бита показаний оси Y магниторезистивного сенсора дополненные нулями в старших разрядах.

  5. Первые 8 бит показаний оси Z магниторезистивного сенсора.

  6. Последние 4 бита показаний оси Z магниторезистивного сенсора дополненные нулями в старших разрядах.

  7. Первые 8 бит показаний оси X акселерометров.

  8. Последние 4 бита показаний оси X акселерометров дополненные нулями в старших разрядах.

  9. Первые 8 бит показаний оси Y акселерометров.

  10. Последние 4 бита показаний оси Y акселерометров дополненные нулями в старших разрядах.

  11. Первые 8 бит показаний оси Z акселерометров.

  12. Последние 4 бита показаний оси Z акселерометров дополненные нулями в старших разрядах.

Тут вы можете оставить комментарий к выбранному абзацу или сообщить об ошибке.

Оставленные комментарии видны всем.

Соседние файлы в папке Skyn (дата сдачи 19.06.02, оценка отлично)