1   2   3   4   5   6   7
Ім'я файлу: Арх_комп_КСД12_Гайдук_КР.pdf
Розширення: pdf
Розмір: 997кб.
Дата: 13.02.2022
скачати
Пов'язані файли:
пояснительная_записка.doc
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ УКРАИНЫ ДОНЕЦКИЙ НАЦИОНАЛЬНЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ Кафедра автоматизированных систем управления ПОЯСНИТЕЛЬНАЯ ЗАПИСКА к курсовому проекту по дисциплине "Архитектура компьютеров" на тему "Проектирование вычислительного ядра микропроцессорной системы наведения и суточного ведения телескопа" Выполнил ст. гр. КСД-12
_____________________ Гайдук К.С. подпись)
(Ф.И.О.) Руководитель
_____________________
Шатохин ПА. подпись)
(Ф.И.О.) Дата защиты
_______________ Оценка
_______________ Красноармейск, 2015 г.

2 Оглавление Введение ........................................................................................................................................................... 3 1. Постановка задачи ....................................................................................................................................... 3 2. Краткие теоретические сведения о предметной области ......................................................................... 5 3. Представление вещественных чисел в памяти ЭВМ ............................................................................. 11 4. Выбор микроконтроллера ......................................................................................................................... 17 5. Определение регистров ............................................................................................................................. 18 6. Арифметические операции с вещественными числами ......................................................................... 19 6.1 Вспомогательные функции ................................................................................................................. 19 6.2 Сложение .............................................................................................................................................. 21 6.3 Вычитание ............................................................................................................................................ 23 6.4 Умножение ........................................................................................................................................... 25 6.5 Деление ................................................................................................................................................. 27 7. Некоторые стандартные математические функции ................................................................................ 29 7.1 Взятие модуля от числа ....................................................................................................................... 29 7.2 Взятие целой части от числа ............................................................................................................... 29 8. Некоторые стандартные функции для работы с числами ...................................................................... 30 8.1 Преобразование целого числа в вещественное ................................................................................. 30 8.2 Преобразование вещественного числа в целое ................................................................................. 32 9. Определение констант ............................................................................................................................... 33 10. Подпрограммы пересылки данных ........................................................................................................ 34 11. Некоторые тригонометрические функции и корень квадратный ....................................................... 36 11.1 Вычисление квадратного корня вещественного числа .................................................................. 36 11.2 Вычисление синуса ............................................................................................................................ 37 11.3 Вычисление косинуса ........................................................................................................................ 39 11.4 Вычисление арктангенса ................................................................................................................... 41 12. Расчет часового угла ................................................................................................................................ 46 12.1 Преобразование времени из формата HH:MM:SS в формат HH,hh ............................................. 46 12.2 Формирование даты по формату DD,dd .......................................................................................... 47 12.3 Представление номера года в вещественном виде ......................................................................... 48 12.4 Вычисление юлианской даты поместному времени ..................................................................... 48 12.5 Расчет поясного времени .................................................................................................................. 51 12.6 Расчет всемирного времени .............................................................................................................. 51 12.7 Расчет юлианских столетий .............................................................................................................. 51 12.8 Расчет звездного времени по Гринвичу на момент начала суток ................................................. 52 12.9 Приведение времени к интервалу 24 ч. ........................................................................................... 54 12.10 Получение поясного времени в формате HH,hh ........................................................................... 54 12.11 Представление долготы в формате DD,dd ..................................................................................... 55 12.12 Преобразование угловой меры (градусы) в часовую ................................................................... 56

3 12.13 Расчет местного звездного времени ............................................................................................... 56 12.14 Перевод временной меры в радианную ......................................................................................... 58 12.15 Представление широты в формате DD,dd ..................................................................................... 58 12.16 Конвертация градусов в радианы ................................................................................................... 59 12.17 Представление склонения в формате DD,dd ................................................................................. 59 12.18 Представление прямого восхождения в формате HH,hh ............................................................. 60 12.19 Расчет часового угла ........................................................................................................................ 61 13. Расчет горизонтальнвых координат ....................................................................................................... 62 13.1 Расчет вспомогательных величин x, y, z ......................................................................................... 62 13.2 Расчет азимута и высоты ................................................................................................................... 63 14. Определение количества шагов каждого из двигателей ...................................................................... 65 15. Индикация количества шагов двигателей ............................................................................................. 67 16. Основная программа ................................................................................................................................ 70 Заключение ..................................................................................................................................................... 71 Литература ...................................................................................................................................................... 72 Приложение 1. Программа преобразования десятичных чисел в машинный код .................................. 72 Приложение 2. Программа преобразования чисел из машинного кода в десятичное представление .. 74 Приложение 3. Подпрограммы пересылки данных .................................................................................... 77 Введение Как в практике астрономов-любителей, таки профессионалов, едва лине ежедневной задачей выступает наведение телескопа на нужную область небесной сферы по заданным экваториальным координатам. Как правило, исходными данными являются именно экваториальные координаты, которые еще нужно преобразовать в горизонтальные, дабы выставить необходимый азимут (угол поворота зрительной трубы в горизонтальной плоскости) и высоту (угол поворота зрительной трубы в вертикальной плоскости. Ввиду обилия различных "десктопных" компьютерных программа также онлайн-сервисов для выполнения основных астрономических расчетов, задача преобразования экваториальной системы координат в горизонтальную не представляет особой сложности. Тем не менее, все же удобнее возложить всю муторную работу по преобразованию координат и наведению телескопа на вычислительное устройство, уделив больше времени и внимания творческой стороне астрономической практики. Рассматриваемое в данной работе вычислительное ядро для наведения и суточного ведения телескопа призвано решить именно эту задачу.
1. Постановка задачи Разработать вычислительное ядро микропроцессорной системы (МПС) для наведения и суточного ведения телескопа.

4 Наведение телескопа Входные данные
1. дата в формате YY.MM.DD, где YY – номер года, не считая тысяч (например, не 2015, а 15),
MM – номер месяца (от 01 до 12), DD – день месяца (от 01 до 31);
2. местное время в формате HH:MM:SS, где HH – часы (от 00 до 23), MM – минуты (от 00 до
59), SS – секунды (от 00 до 59);
3. географическая долгота в формате S:DDD:MM:SS, где S – знак, DDD – градусы (от 000 до
180), MM – угловые минуты (от 00 до 59), SS – угловые секунды (от 00 до 59);
4. географическая широта в формате S:DD:MM:SS, где S – знак, DD – градусы (от 00 до 90),
MM – угловые минуты (от 00 до 59), SS – угловые секунды (от 00 до 59);
5. номер часового пояса в формате TT от 00 до 23;
6. признак перехода на летнее время 0 – поясное время, 1 – летнее
7. склонение в формате S:DD:MM:SS, где S – знак, DD – градусы (от 00 до 90), MM – угловые минуты (от 00 до 59), SS – угловые секунды (от 00 до 59);
8. прямое восхождение в формате HH:MM:SS, где HH – часы (от 00 до 23), MM – минуты (от 00 до 59), SS – секунды (от 00 до 59);
9. угловое перемещение шаговых двигателей (
шаг) в формате D1.D2 – где D1 – целая часть числа, D2 – дробная например, угловое перемещение 1,8 шаг будет представлено в виде 18. Выходные данные
1. количество шагов двигателя навигации в горизонатльной плоскости (от –P/2 до +P/2, где P – количество шагов двигателя на полный оборот
2. количество шагов двигателя навигации в вертикальной плоскости (от 0 до P/2, где P – количество шагов двигателя на полный оборот. По входным данным МПС должна рассчитать координаты для наведения телескопа в горизонтальной системе координат, и соответствующим образом направить оптическую ось (трубу) телескопа. Положим, что начальное положение оптической оси следующее высота (труба лежит параллельно плоскости горизонта, азимут (труба направлена на юг. Наведение осуществляется путем изменения угла наклона трубы в вертикальной плоскости (регулируем высоту) ив горизонтальной плоскости (регулируем азимут. В движение труба должна приводиться с помощью двух шаговых двигателей достаточной мощности. Программа для ОМК должна быть написана на языке ассемблера, с использованием IDE AVR
Studio. Расчет значений иррациональных и трансцендентных функций (корень квадратный, тригонометрические функции) должен выполняться с помощью их разложения вряд Тейлора либо иной сходящийся ряд. Все основные вычисления должны выполняться в числах с плавающей запятой одинарной точности. Предполагается, что оба двигателя (для наведения в горизонтальной плоскости и для наведения в вертикальной плоскости) имеют одинаковое шаговое перемещение

5 Суточное ведение телескопа Дабы после наведения телескопа на светило оно через некоторое время не исчезло из поля зрения, направление трубы телескопа нужно корректировать синхронно с суточным движением небесной сферы. С этой целью необходимо через некоторый (достаточно малый) промежуток времени инкрементировать значение часового угла и заново выполнять наведение телескопа. В случае, если входе ведения светило скрылось за горизонтом (h <= 0), либо достигло некоторой минимальной высоты (например, скрылось за элементами ландшафта, то ведение необходимо прекратить (то, должно быть установлено пороговое значение высоты. Примечание данная система пригодна только для ведения звезд или светил, движущихся вдоль небесного экватора, и непригодна для ведения светил с произвольной траекторией (планеты, кометы и т.д.).
МПС может находиться в следующих возможных состояниях
1. выключенное состояние
2. режим ввода и редактирования входных данных
3. режим наведения
4. режим ведения
5. режим ожидания. Работа МПС должна быть протестирована в программе Proteus.
2. Краткие теоретические сведения о предметной области Видимое суточное движение звезд по небу является отражением вращения Земли вокруг своей оси. При этом, если наблюдатель смотрит в направлении юга, то для него звезды будут вращаться почасовой стрелке. Следовательно, Земля вращается против часовой стрелки, если смотреть с позиции северного полюса (рис. 2.1 и 2.2). Рис. 2.1 – Для наблюдателя, смотрящего в сторону юга, звезды в своем суточном движении будут двигаться почасовой стрелке.

6 Рис. 2.2 – Земля вращается против часовой стрелки, если смотреть со стороны северного полюса. Дабы абстрагироваться от реальных расстояний до небесных объектов, в астрономии вводят понятие небесной сферы – окружности произвольного радиуса (условно принимаемого за единицу) с центром в глазу наблюдателя (рис. 2.3). Применение данной модели позволяет оперировать лишь угловыми величинами, не заботясь о метрических соотношениях. Рис. 2.3 – Небесная сфера, а также некоторые ее основные точки и линии. Линия, параллельная оси вращения Земли, проходящая через точку, в которой находится наблюдатель, называется осью мира. Плоскость, параллельная плоскости земного экватора, и проходящая через наблюдателя, называется небесным экватором. В масштабах Солнечной системы и более радиус Земли несущественен, ив ряде случаем точку наблюдателя и центр Земли совмещают следовательно, плоскость небесного экватора в таком случае будет совпадать с плоскостью земного экватора, а ось мира будет совпадать с осью суточного вращения Земли. Однако, если требуется высокая точность, то подобное совмещение недопустимо, и требуется учитывать радиус Земли, а также несферическую форму Земли.

7 Рассмотрим теперь основные линии и точки небесной сферы (рис. 2.4). Рис. 2.4 – Основные линии и точки небесной сферы (часть 1). Точка, находящаяся прямо над наблюдателем, называется зенит, прямо под ним – надир, линия, их соединяющая, называется отвесной линией. Ось мира пересекает небесную сферу в точках северного полюса мира и южного полюса мира. Плоскость, перпендикулярная отвесной линии, и проходящая через наблюдателя, называется математическим горизонтом (в отличие от физического, математический горизонт идеально плоский. Небесный экватор пересекает математический горизонт вдоль линии, соединяющей точки востока E и запада W. Линия, соединяющая точки юга S и севера N, называется полуденной линией, - вдоль нее направлена тень от предметов в истинный полдень (когда солнце достигло максимальной высоты. Окружность, проведенная через точки юга, зенит, северный полюс мира, север, надир и южный полю мира, называется небесным меридианом – соответствующая плоскость параллельна и совпадает с плоскостью земного меридиана, на котором находится наблюдатель. Угол между северным направлением оси мира и плоскостью мат. горизонта равен широте данной местности, в чем нетрудно убедиться при анализе рис. 2.3. Рассмотрим теперь способы задания положения светила на небесной сфере – иначе говоря, системы координат (будут рассмотрены лишь три системы горизонтальная (рис. 2.5), первая экваториальная, вторая экваториальная. Рис. 2.5 – Горизонтальная система координат.

8 В горизонтальной системе координат положение светила описывается двумя координатами высотой над уровнем горизонта h и угловым расстоянием между небесным меридианом и окружностью, проведенной через зенит, светило Q и надир (отсчет от юга почасовой стрелке, но бывают случаи и отсчета от севера (тоже почасовой стрелке, что оговаривается в литературе) – азимут A. Недостатком данной системы координат является то, что в один и тот же момент времени одно и тоже светило для наблюдателей в разных точках земного шара будет иметь различные координаты. Прежде, чем перейти к рассмотрению экваториальных систем координат, вспомним, как движется Земля вокруг Солнца входе своего годичного движения (рис. 2.6). Рис. 2.6 – Годовое движение Земли вокруг Солнца. Плоскость орбиты Земли называется эклиптика, иона пересекает небесный экватор в точках весеннего равноденствия (обозначена символом Овна) и осеннего равноденствия (обозначена символом Весов) (рис. 2.7). В точку весеннего равноденствия Солнце проецируется на небесной сфере примерно 21 марта (вдень весеннего равноденствия, а в точку осеннего равноденствия – примерно 24 сентября (вдень осеннего равноденствия. Угол между небесным экватором и эклиптикой ε равен углу наклона эклиптики – углу между плоскостями земного (соответственно, и небесного) экватора и плоскостью орбиты, что можно видеть из рис. 2.6. Перпендикулярно плоскости эклиптики проходит ось эклиптики, проходящая и через наблюдателя (точка О, и пересекающая небесную сферу в точках Э и Э' – северном и южном полюсах эклиптики соответственно.

9 Рис. 2.7 – Плоскость эклиптики пересекает небесный меридиан вдоль линии, соединяющей точки весеннего и осеннего равноденствий. Взглянем теперь на рис. 2.8. Окружность, проведенная через точки северного полюса мира, светила и южного полюса, называется кругом склонений. Угол между плоскостью небесного экватора и направлением на светило δ называется склонением небесного светила. Если угол откладывается к северному полюсу, то склонение положительное, если к южному, то отрицательное. Угол между небесным меридианом и кругом склонения t называется часовым углом. Склонение и часовой угол вместе образуют первую экваториальную систему координат. Очевидно, что со временем часовой угол меняется, а поэтому первая экв. система координат имеет тот же недостаток, что и горизонтальная. Этого недостатка лишена вторая экваториальная система координат. Рис. 2.8 – Первая и вторая экваториальные системы координат. Угол между плоскостью, проведенной через точки северного и южного полюсов мира, а также точку весеннего равноденствия, называется прямым восхождением α. Прямое восхождение и склонение вместе образуют вторую экваториальную систему координат. Координаты данной системы крайне медленно меняются стечением времени (в среднем, несколько угловых секунд или минут за столетие, а потому пригодны для четкого задания положения светила на небесной сфере.

10 Преобразование экваториальных координат в горизонтальные выполняется на основании правил сферической тригонометрии
(2.1)
(2.2)
(2.3)
(2.4)
(2.5)

(2.6) где – азимут (отсчет от севера, - высота, – прямое восхождение, – склонение, – географическая широта места наблюдения, – часовой угол, – звездное время, , и – вспомогательные величины. Если – отрицательное число, добавить 360 . Со всеми перечисленными выше величинами мы уже знакомы. Со всеми, кроме одной – звездного времени. Дабы выяснить, что это за величина, рассмотрим вначале несколько вопросов об измерении времени в астрономии. Оперировать обычным представлением даты и времени
(Год:Месяц:День
Часы:Минуты:Секунды) в астрономии неудобно, т.к. мы, например, не можем удобным для нас способом вычесть из одной даты другую, или прибавить к дате некоторый временной отрезок. Для решения данной трудности была введена т. н. юлианская дата, выражающая дату и время одним числом. Например, 1 января 1900 г. 0 ч. 0 мин. 0 сек. (по Гринвичскому времени) будет представлено в виде числа
JD = 2415020.500. Алгоритм преобразования даты и времени по григорианскому календарю в юлианскую дату будет рассмотрен в разделе 0. Время, которым мы пользуемся в повседневности, называется средним солнечным. Если от него отнять номер часового пояса, то мы получим всемирное время (UT, Universal Time) – это среднее солнечное время нам меридиане (Гринвич. Средним это время называется потому, что в расчетах принимается средняя скорость движения Солнца по эклиптике на небесной сфере (или, что тоже самое, - средняя скорость движения Земли вокруг Солнца, поскольку реальная скорость в течение года варьирует. Здесь также стоит учитывать, что в разных странах может действовать летнее время, декретное время (использовалось некогда в Советском Союзе, а также то, что в различных регионах одной и той же страны могут существовать свои положения о счете времени те, поясное время может не соответствовать реальной географической долготе. Среднее солнечное время часто выражают в юлианских столетиях, прошедших с момента 1 января 1900 г. 0 ч. 0 мин. 0 сек. по Гринвичскому времени, и тогда оно рассчитывается по формуле
(2.7)

11 Звездное время – это часовой угол точки весеннего равноденствия. Использование этого времени является весьма удобным в астрономических расчетах, и определяется следующим образом
(2.8)
(2.9) где
– среднее звездное время для 0 ч. на Гринвиче (в часах и долях часа,
– всемирное время, – географическая долгота, выраженная в часовой мере.

  1   2   3   4   5   6   7

скачати

© Усі права захищені
написати до нас