Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
CEC.docx
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
650 Кб
Скачать

2. Реализация поставленной задачи

Проанализировав условия задания, аппаратные и программные средства можно приступить к реализации поставленной задачи. Для начала следует рассчитать границы длительности периодов сигнала, для этого воспользуемся выражением (3):

(3)

откуда получим значения и :

– будет соответствовать минимальной скорости, – cсоответственно минимальной. Именно условившись будем производить расчет дискреты на основании выражения (4):

откуда получаем:

Получив время длительности одного опроса можно вычислить его частоту исходя из выражения (5):

следовательно:

Получив значение частоты опроса и зная тактовую частоту микропроцессора можно вычислить количество тактов k в течении которых необходимо осуществить один опрос порта.

Используя выражение (6) получим:

.

Теперь следует разработать и проанализировать программу опроса порта, исходя из количества минимально необходимых тактов для её выполнения можно будет судить о возможности получить заданную точность расчетов.

И так, основная необходимая нам команда получения данных с порта – IN port, далее что бы определить уровень сигнала необходимо выделить нулевой бит, для этого будет использовать команду – ANA S. Получив данные о уровне сигнала следует зафиксировать опрос в счетчике для чего будет использована команда – INX B. И главное отслеживать изменение уровня сигнала, для чего будет служить команда условного перехода JZ или JNZ в зависимости от того какой сигнал отслеживается в данный момент.

Сведем данные в таблицу:

Таблица 2 – Количество тактов МП при выполнении цикла опроса порта

Мнемокод

Назначение

Число тактов

IN port

Ввод из внешнего ус-ва

10

INX B

Инкрементирование содержимого регистровой пары

4

ANA S

Логическое «И» содержимого аккумулятора и содержимого регистра

5

JNZ

Переход при выполнении условия

10

В итоге получаем общую сумму в 29 тактов – это минимально возможное число, следовательно помимо опроса в нашем распоряжении остается 31 такт. Очевидно, что в данных программных условиях не представляется возможным осуществить описанные выше (1) вычисления за 31 такт.

Отметим, что по заданным условиям диапазон скоростей не велик:

;

и как видим составляет лишь 90 значений, следовательно можно составить заранее рассчитанный массив данных, который будет содержать все возможные значения угловых скоростей двигателя в зависимости от числа импульсов. Но прежде следует принять алгоритм получения импульсов и вывода значения скорости.

Рисунок 3. Принцип дискретизации входящего сигнала

На рис. 3 представлена временная диаграмма на которой обозначена основная логика по которой будет реализована программа. Счет опросов будет проводиться в течении половины периода, при изменении уровня сигнала будет происходить выдача информации из массива данных, выдаваемая информация будет соответствовать текущей скорости. Данный подход позволит реализовать максимальную чувствительность к изменению скорости и максимальную скорость обработки данных. Самое главное, что следует учесть – это число циклов, за которое будет выполняться обработка и выдача информации, оно должно быть кратно числу циклов алгоритма опроса, это необходимо для возможности учета пропущенных опросов, в нашем случае предполагается, что их будет два.

Примем новую дискрету равную 34тактам (18. мкс) и произведем расчеты массива данных угловой скорости двигателя с учетом данной дискреты, а также удостоверимся, что все вычисления лежат в пределах допустимой ошибки.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]