Проектирование прибора измеряемого длительность импульсаРефераты >> Программирование и компьютеры >> Проектирование прибора измеряемого длительность импульса
Алгоритм подпрограмма перевода двоичного шестнадцати разрядного числа в двоично-десятичное
Арифметико-логическое устройство AVR-микроконтроллеров (как и других микропроцессоров) выполняет элементарные арифметические и логические операции над числами, представленными в двоичном коде. В двоичном коде считываются результаты преобразования АЦП, в двоичном коде (в формате целых чисел или чисел с плавающей точкой) удобно выполнять обработку результатов измерения. Однако, когда окончательный результат отображается на индикаторе, он должен быть преобразован в десятичный формат, удобный для восприятия человеком.
Форматы представления десятичных чисел
В настоящее время распространены два формата представления десятичных чисел в микропроцессорах - упакованный двоично-десятичный код (BCD-Binary-Coded Decimal).
Упакованный BCD-код - это такое представление десятичного числа, когда каждая десятичная цифра представляется 4-х битным двоичным позиционным кодом 8-4-2-1. При этом байт содержит две десятичные цифры. Младшая десятичная цифра занимает правую тетраду (биты 3 : 0), старшая - левую тетраду (биты 7 : 4). Многоразрядные BCD-числа занимают несколько смежных байт. Если число является знаковым, то для представления знака в BCD-формате отводится старшая тетрада старшего байта
Алгоритм подпрограммы bin16bcd5 заключается в следующем. Предположим, что имеется целое беззнаковое 16-битное число (диапазон от 0 до 65535). Очевидно, что необходимо найти 5 десятичных цифр. Способ преобразования заключается в том, чтобы, вычитая из исходного числа число 10000, сначала определить десятичную цифру десятков тысяч. Затем находится цифра тысяч последовательным вычитанием числа 1000 и т. д. Вычитание каждый раз производится до получения отрицательной разности с подсчетом числа вычитаний. При переходе к определению каждого следующего десятичного разряда в регистрах исходного числа восстанавливается последняя положительная разность. После того, как будет найдена десятичная цифра десятков, в регистрах исходного числа останется десятичная цифра единиц.
Графический алгоритм работы программы представлен в п.1
3. РАЗРАБОТКА И РАСЧЕТ ЭЛЕМЕНТОВ ПРИНЦИПИАЛЬНОЙ ЭЛЕКТРИЧЕСКОЙ СХЕМЫ
3.1 Выбор микропроцессорного комплекта
В соответствии с ТЗ ядром измерительного прибора послужила однокристальная микро-ЭВМ AVR90S8515 фирмы Atmel.
Основные характеристики однокристальной микро-ЭВМ AVR90S8515:
• AVR RISC архитектура - архитектура высокой производительности и малого потребления
• 120 команд, большинство которых выполняется за один машинный цикл
• 8 Кбайта Flash ПЗУ программ, с возможностью внутрисистемного перепрограммирования и загрузки через SPI последовательный канал, 1000 циклов стирание/запись
• 512 байтов ЭСППЗУ данных, с возможностью внутрисистемной загрузки через SPI последовательный канал, 100000 циклов стирание/запись
• 512 байтов встроенного СОЗУ
• 32 x 8 бит регистра общего назначения
• 32 программируемых линий ввода/вывода
• 16-разрядный и 32-разрядный формат команд
• Диапазон напряжений питания от 2,7 В до 6,0 В
• Полностью статический прибор - работает при тактовой частоте от 0 Гц до 8 МГц
• Длительность командного цикла: 125 нс, при тактовой частоте 8 МГц
• 8-разрядный и 16-разрядный (с режимами сравнения и захвата) таймеры/счетчики
• Сдвоенный ШИМ с 8, 9 или 10-разрядным разрешением
• Программируемый полный дуплексный UART
• Два внешних и десять внутренних источников сигнала прерывания
• Программируемый сторожевой таймер с собственным встроенным генератором
• Встроенный аналоговый компаратор
• Режимы энергосбережения: пассивный (idle) и стоповый (power down)
• Блокировка режима программирования
• Промышленный (-40°C .85°C) и коммерческий (0°C .70°C) диапазоны температур
• 40-выводной корпус PDIP и 44-выводные корпуса TQFP и PLCC
КМОП микроконтроллер AT90S8515 реализован по AVR RISC архитектуре
(Гарвардская архитектура с раздельной памятью и раздельными шинами для памяти программ и данных) и совместим по исходным кодам и тактированию с 8-разрядными микроконтроллерами семейства AVR (AT90SXXX). Выполняя команды за один тактовый цикл, прибор обеспечивает производительность, приближающуюся к 1 MIPS/МГц. AVR ядро объединяет мощную систему команд с 32 8-разрядными регистрами общего назначения и конвейерное обращение к памяти программ. Шесть из 32 регистров могут использоваться как три 16-разрядных регистра-указателя при косвенной адресации пространства памяти. Выполнение относительных переходов и команд вызова реализуется с прямой адресацией всех 4К адресного пространства. Адреса периферийных функций содержатся в пространстве памяти ввода/вывода. Архитектура эффективно поддерживает как языки высокого уровня, так и программы на языках ассемблера. Встроенная загружаемая Flash память обеспечивает внутрисистемное перепрограммирование с использованием интерфейса SPI (в последовательном Встроенная загружаемая Flash память обеспечивает внутрисистемное перепрограммирование с использованием интерфейса SPI (в последовательном низко вольтовом режиме) или с использованием стандартных программаторов энергонезависимой памяти (в 12-вольтовом параллельном режиме). Потребление прибора в активном режиме составляет 3,5 мА и в пассивном режиме 1 мА (при VCC =3 В и f=4 МГц). В стоповом режиме, при работающем сторожевом таймере, микроконтроллер потребляет 50 мкА. низко вольтовом режиме) или с использованием стандартных программаторов энергонезависимой памяти (в 12-вольтовом параллельном режиме). Потребление прибора в активном режиме составляет 3,5 мА и в пассивном режиме 1 мА (при VCC =3 В и f=4 МГц). В стоповом режиме, при работающем сторожевом таймере, микроконтроллер потребляет 50 мкА.
3.1.1 Выбор кварцевого резонатора
Для работы МП необходим кварцевый резонатор который подключается к выводам XTAL1 и XTAL2 (см. графическую часть курсового проекта)
Рабочая частота кварцевого резонатора непосредственно связана с точностью измерения длительности импульса (из рис. 2 видно, что чем больше частота синхронизации тем точнее измерение длительности) для заданной погрешности измерения достаточно, чтобы частота резонатора была равна fрез=8 МГц
Рисунок 2
3.1.1.1 Определение погрешности от источника синхронизации
Погрешность от кварцевого резонатора возникает в следствии нестабильности его частоты во время работы.
Нестабильность частоты кварцевого резонатора МА406 примерно равно 0.00001 от частоты синхронизации, исходя из этого погрешность возникающая в следствии нестабильности частоты можно определить по формуле
где К - нестабильность частоты кварцевого резонатора
К=0.00001*8000000=80 Гц
fBQ – частота кварцевого резонатора